diff --git a/.cursor/rules/cursor-rules.mdc b/.cursor/rules/cursor-rules.mdc new file mode 100644 index 0000000..3839b4d --- /dev/null +++ b/.cursor/rules/cursor-rules.mdc @@ -0,0 +1,71 @@ +--- +description: How to add or edit Cursoro rules in our project +globs: +alwaysApply: false +--- +--- +description: How to add or edit Cursor rules in our project +globs: +alwaysApply: false +--- +# Cursor Rules Location + +How to add new cursor rules to the project + +1. Always place rule files in PROJECT_ROOT/.cursor/rules/: + ``` + .cursor/rules/ + ├── your-rule-name.mdc + ├── another-rule.mdc + └── ... + ``` + +2. Follow the naming convention: + - Use kebab-case for filenames + - Always use .mdc extension + - Make names descriptive of the rule's purpose + +3. Directory structure: + ``` + PROJECT_ROOT/ + ├── .cursor/ + │ └── rules/ + │ ├── your-rule-name.mdc + │ └── ... + └── ... + ``` + +4. Never place rule files: + - In the project root + - In subdirectories outside .cursor/rules + - In any other location + +5. Cursor rules have the following structure: + +```` +--- +description: Short description of the rule's purpose +globs: optional/path/pattern/**/* +alwaysApply: false +--- +# Rule Title + +Main content explaining the rule with markdown formatting. + +1. Step-by-step instructions +2. Code examples +3. Guidelines + +Example: +```typescript +// Good example +function goodExample() { + // Implementation following guidelines +} + +// Bad example +function badExample() { + // Implementation not following guidelines +} +``` +```` \ No newline at end of file diff --git a/.cursor/rules/feature-batch-merkle-sale-prices.mdc b/.cursor/rules/feature-batch-merkle-sale-prices.mdc new file mode 100644 index 0000000..4f0f28a --- /dev/null +++ b/.cursor/rules/feature-batch-merkle-sale-prices.mdc @@ -0,0 +1,196 @@ +--- +description: +globs: +alwaysApply: false +--- +# Batch Merkle Sale Prices Implementation Guide + +This guide outlines how to implement batch Merkle sale prices in the SuperRare marketplace by combining patterns from the existing marketplace sale prices and Merkle auction functionality. + +## Core Concepts + +1. **Existing Sale Price System** + - Current marketplace uses direct token-to-price mappings + - Supports multiple currencies per token + - Handles splits for payouts + - Manages marketplace fees + +2. **Merkle Auction System** + - Uses Merkle trees for batch token management + - Supports efficient verification of token inclusion + - Handles nonce-based tracking for usage + - Manages configuration at root level + +## Implementation Guidelines + +### 1. Storage Structure + +```solidity +// Merkle Sale Price Storage +mapping(address => EnumerableSet.Bytes32Set) private creatorSalePriceMerkleRoots; +mapping(address => mapping(bytes32 => MerkleSalePriceConfig)) public creatorRootToConfig; +mapping(address => mapping(bytes32 => uint256)) private creatorRootNonce; +mapping(bytes32 => uint256) private tokenSalePriceNonce; + +struct MerkleSalePriceConfig { + address currency; + uint256 amount; + address payable[] splitRecipients; + uint8[] splitRatios; + uint256 nonce; +} +``` + +### 2. Core Functions + +a. **Register Merkle Root for Sale Prices** +```solidity +function registerSalePriceMerkleRoot( + bytes32 merkleRoot, + address currency, + uint256 amount, + address payable[] calldata splitAddresses, + uint8[] calldata splitRatios +) external { + // Validate currency is approved + // Validate amount within bounds + // Validate splits + // Store configuration + // Emit event +} +``` + +b. **Buy with Merkle Proof** +```solidity +function buyWithMerkleProof( + address originContract, + uint256 tokenId, + address creator, + bytes32 merkleRoot, + bytes32[] calldata proof +) external payable { + // Verify Merkle proof + // Check token ownership + // Verify not already used + // Handle payment + // Transfer token + // Update nonce +} +``` + +### 3. Key Differences from Auctions + +1. **Immediate Purchase vs Bidding** + - No auction duration + - Direct purchase at fixed price + - No bid tracking needed + +2. **Price Configuration** + - Fixed price instead of minimum bid + - No time-based parameters + - Simpler configuration structure + +3. **Token Transfer Flow** + - Direct seller to buyer transfer + - No escrow period in contract + - Immediate settlement + +### 4. Integration Points + +1. **Marketplace Settings** +```solidity +// Reuse existing fee calculations +uint256 fee = marketplaceSettings.calculateMarketplaceFee(amount); +``` + +2. **Payment Handling** +```solidity +// Follow existing payment patterns +marketConfig.payout( + originContract, + tokenId, + currencyAddress, + amount, + seller, + splitRecipients, + splitRatios +); +``` + +3. **Approval Management** +```solidity +// Check marketplace approvals +marketConfig.addressMustHaveMarketplaceApprovedForNFT(seller, originContract); +``` + +### 5. Security Considerations + +1. **Nonce Management** + - Track usage per token + - Prevent double-sales + - Maintain root-level nonces + +2. **Ownership Verification** + - Check token ownership before sale + - Verify marketplace approvals + - Validate currency approvals + +3. **Price Validation** + - Enforce marketplace min/max values + - Validate currency is approved + - Check payment amounts match exactly + +### 6. Events + +```solidity +event SalePriceMerkleRootRegistered( + address indexed creator, + bytes32 indexed merkleRoot, + address currency, + uint256 amount, + uint256 nonce +); + +event MerkleSalePriceExecuted( + address indexed contractAddress, + uint256 indexed tokenId, + address indexed buyer, + address seller, + bytes32 merkleRoot, + uint256 amount, + uint256 nonce +); +``` + +## Testing Strategy + +1. **Unit Tests** + - Root registration + - Price configuration + - Merkle proof verification + - Purchase execution + - Fee calculations + +2. **Integration Tests** + - Multiple token sales + - Various currencies + - Split payments + - Fee distributions + +3. **Edge Cases** + - Invalid proofs + - Unauthorized access + - Double-spend attempts + - Price/currency mismatches + +## Migration Considerations + +1. **Backwards Compatibility** + - Support both direct and Merkle-based sales + - Maintain existing interfaces + - Allow gradual adoption + +2. **State Management** + - Clear upgrade path + - No conflicts with existing sales + - Clean state transitions diff --git a/.cursor/rules/foundry-deploy-scripts.mdc b/.cursor/rules/foundry-deploy-scripts.mdc new file mode 100644 index 0000000..82f305c --- /dev/null +++ b/.cursor/rules/foundry-deploy-scripts.mdc @@ -0,0 +1,184 @@ +--- +description: Standardized template and structure for Foundry deployment scripts, ensuring consistent deployment patterns and environment management. +globs: +alwaysApply: false +--- +# Foundry Deploy Scripts Structure + +Every Foundry deploy script setup should follow this standardized structure to ensure consistency and maintainability across the codebase. + +## Directory Structure + +For a contract deployment named `ContractName`, create a directory with the following structure: +``` +script/ +└── your-category/ + └── contract-name-deploy/ + ├── ContractNameDeploy.s.sol + ├── deploy.sh + └── env.sample +``` + +## 1. Foundry Deploy Script (ContractNameDeploy.s.sol) + +The Solidity deploy script should: + +1. Follow the naming convention: `ContractNameDeploy.s.sol` +2. Inherit from `forge-std/Script.sol` +3. Include clear documentation with `@title` and `@notice` +4. Have a `run()` function with the following structure: +5. Always import the whole file: `import "forge-std/Script.sol";` + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import "forge-std/Script.sol"; + +/// @title ContractNameDeploy +/// @notice Deployment script for ContractName and its dependencies +contract ContractNameDeploy is Script { + function run() external { + // 1. Load private key and start broadcast + uint256 privateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(privateKey); + address deployer = vm.addr(privateKey); + + // 2. Load environment variables + // Use vm.envAddress, vm.envUint, etc. + + // 3. Deploy dependencies + + // 4. Deploy implementation (if using proxy pattern) + + // 5. Deploy and initialize proxy (if using proxy pattern) + + // 6. Perform post-deployment configuration + + // 7. Log deployed addresses + console.log("ContractName deployed at:", address(contract)); + + vm.stopBroadcast(); + } +} +``` + +## 2. Deploy Shell Script (deploy.sh) + +The shell script should: + +1. Be named `deploy.sh` +2. Include the following features: + - Environment file loading + - Command-line argument parsing + - Support for both simulation and broadcast modes + - Configurable RPC URL + - Library linking support (if needed) + - Contract verification support + +```bash +#!/bin/bash + +# Default broadcast to false +BROADCAST=false + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case $1 in + --broadcast) + BROADCAST=true + shift + ;; + *) + echo "Unknown parameter: $1" + exit 1 + ;; + esac +done + +# Load .env file +if [ -f .env ]; then + echo "Loading environment from .env file" + set -o allexport + source .env + set +o allexport +fi + +# Set default RPC URL if not set +if [ -z "$RPC_URL" ]; then + echo "RPC_URL not set. Using default localhost:8545" + export RPC_URL="http://localhost:8545" +fi + +# Prepare forge command +FORGE_CMD="forge script script/path/to/ContractNameDeploy.s.sol:ContractNameDeploy --rpc-url ${RPC_URL} -vv" + +# Add broadcast flag if specified +if [ "$BROADCAST" = true ]; then + echo "Broadcasting transactions..." + FORGE_CMD="${FORGE_CMD} --broadcast --verify --etherscan-api-key ${ETHERSCAN_API_KEY} --chain-id ${CHAIN_ID}" +else + echo "Running in simulation mode (no broadcasting)..." + eval "${FORGE_CMD}" +fi +``` + +## 3. Environment Sample (.env.sample) + +The env.sample file should: + +1. Document all required environment variables +2. Include clear descriptions and examples +3. Group variables by category +4. Never contain actual secrets or production values + +```env +# ContractName Deployment Environment Variables +# Copy this file to .env and update the values for your target environment + +# Network Configuration +# ------------------- +RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR-API-KEY + +# Deployment Account +# ---------------- +# Private key for the deploying account (with 0x prefix) +PRIVATE_KEY=your_private_key_here + +# Contract Dependencies +# ------------------- +# Document each required address with description +DEPENDENCY_CONTRACT_ADDRESS=0x... + +# Verification +# ----------- +ETHERSCAN_API_KEY=your_etherscan_api_key +CHAIN_ID=1 # 1 for mainnet, 11155111 for Sepolia +``` + +## Best Practices + +1. **Environment Variables** + - Always use environment variables for network-specific values + - Never hardcode addresses or private keys + - Include clear descriptions in env.sample + +2. **Error Handling** + - Add proper error messages and checks + - Validate environment variables before deployment + - Include revert messages in contract initialization + +3. **Documentation** + - Document all constructor parameters + - Include deployment prerequisites + - Add post-deployment verification steps + +4. **Security** + - Use access control for initialization + - Implement proper upgrade patterns if using proxies + - Double-check all privileged roles and permissions + +5. **Testing** + - Test the deployment script on a local network first + - Verify all integrations work as expected + - Document any specific testing requirements diff --git a/.cursor/rules/index.mdc b/.cursor/rules/index.mdc new file mode 100644 index 0000000..3baed90 --- /dev/null +++ b/.cursor/rules/index.mdc @@ -0,0 +1,53 @@ +--- +description: +globs: +alwaysApply: false +--- +# SuperRare Core - Smart Contract Development Rules + +This document serves as the central index for all active Cursor rules within this repository, organized by category. These rules define processes, structures, and guidelines for smart contract development. + +## General + +General guidelines and project organization. + +| Rule File | Description | +| :--------------------------------- | :---------------------------------------------------------- | +| @cursor-rules.mdc | How to add or edit Cursor rules in our project | +| @verification-first.mdc | Guidelines for thorough verification and context awareness | + +## Smart Contract Development + +Guidelines specific to writing and structuring smart contracts. + +| Rule File | Description | +| :--------------------------------- | :---------------------------------------------------------- | + +## Security & Best Practices + +Guidelines for secure contract development and common patterns. + +| Rule File | Description | +| :--------------------------------- | :---------------------------------------------------------- | + +## Testing & Deployment + +Guidelines for testing and deploying smart contracts. + +| Rule File | Description | +| :--------------------------------- | :---------------------------------------------------------- | +| @foundry-deploy-scripts.mdc | Standardized template and structure for Foundry deployment scripts, ensuring consistent deployment patterns and environment management | + +## Protocol Features + +Rules specific to major protocol features and components. + +| Rule File | Description | +| :--------------------------------- | :---------------------------------------------------------- | + +## Integration & External Services + +Guidelines for integrating with external systems or services. + +| Rule File | Description | +| :--------------------------------- | :---------------------------------------------------------- | diff --git a/.cursor/rules/test-debugging-strategy.mdc b/.cursor/rules/test-debugging-strategy.mdc new file mode 100644 index 0000000..765ee48 --- /dev/null +++ b/.cursor/rules/test-debugging-strategy.mdc @@ -0,0 +1,97 @@ +--- +description: +globs: +alwaysApply: false +--- +# Test Debugging Strategy + +This document outlines our systematic approach to debugging and fixing test failures in our test suites. + +## Core Principles + +1. **Isolate and Focus**: Debug one failing test at a time +2. **Mock Verification**: Always verify mock configurations first +3. **Iterative Progress**: Return to full test suite after each fix +4. **Systematic Resolution**: Don't move on until current test passes + +## Step-by-Step Debugging Process + +1. **Initial Test Run** + ```shell + # Run the full test suite with the provided command + + ``` + +2. **Identify and Isolate** + - When failures occur, identify the specific failing test name + - Run only the failing test in isolation: + ```shell + # Run specific test + forge test --match-test testSpecificFailingTest -vvv + ``` + +3. **Mock Verification** + - For revert errors, immediately check mock configurations + - Verify all function calls have appropriate mocks + - Check mock arguments match the test scenario + - Example mock verification: + ```solidity + // Check if mock exists for the reverting function + vm.mockCall( + address(contract), + abi.encodeWithSelector(contract.function.selector, expectedArgs), + abi.encode(returnValue) + ); + ``` + +4. **Debug and Fix** + - Focus exclusively on the isolated test + - Add detailed logging if needed using console.log + - Verify state before and after key operations + - Don't move to other tests until current test passes + +5. **Verification** + - After fix, run the isolated test again to confirm + - If it passes, return to the full test suite: + ```shell + # Rerun original command + + ``` + +6. **Iterate** + - If more failures exist, repeat process from step 2 + - Continue until all tests pass + +## Common Pitfalls + +1. **Missing Mocks** + - Always check for missing mocks first when seeing unexplained reverts + - Verify mock arguments match exactly + - Check mock return values are appropriate + +2. **State Management** + - Ensure test state is properly reset between runs + - Verify all contract states are as expected + - Check balances and ownership where relevant + +3. **Error Messages** + - Pay attention to specific revert messages + - Use -vvv flag for detailed stack traces + - Look for patterns in failing tests + +## Best Practices + +1. **Documentation** + - Document any non-obvious fixes + - Update test comments to explain complex scenarios + - Note any mock configurations that were tricky to identify + +2. **Efficiency** + - Use test tags to group related tests + - Leverage test filtering for faster iterations + - Keep detailed notes of what's been tried + +3. **Communication** + - Document any systemic issues found + - Share learnings about common failure patterns + - Update this guide with new insights diff --git a/.cursor/rules/verification-first.mdc b/.cursor/rules/verification-first.mdc new file mode 100644 index 0000000..a2b7a24 --- /dev/null +++ b/.cursor/rules/verification-first.mdc @@ -0,0 +1,18 @@ +--- +description: +globs: +alwaysApply: true +--- +# Verification First Approach + +When working on any task: + +1. **No Assumptions**: Do not make assumptions if information or context is missing. + +2. **Ask First**: Always ask clarifying questions before proceeding with a task when information is incomplete. + +3. **Verify Sources**: Re-read and refer to relevant files, schemas, types, or data carefully rather than relying on memory or guesswork. + +4. **Quality Over Speed**: Prioritize correctness and context awareness over speed. Always double-check that you have complete and accurate information. + +5. **Show Your Work**: When implementing solutions, explain the reasoning and verification steps taken to ensure correctness. diff --git a/abis/ApprovedTokenRegistry.json b/abis/ApprovedTokenRegistry.json index 425f03d..4871e81 100644 --- a/abis/ApprovedTokenRegistry.json +++ b/abis/ApprovedTokenRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN_REGISTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"removeApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAllTokensApproved","inputs":[{"name":"_allTokensApproved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenContractApproved","inputs":[{"name":"_tokenContract","type":"address","indexed":false,"internalType":"address"},{"name":"_approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false}],"bytecode":{"object":"0x60806040818152346100e3576000808052602091818352808220338352835260ff8183205416156100ad575b7f3ad8ed3e368783ee4585bc47a56e79dca48fef21d48900016e8700a420ec14aa92838352828152818320338452815260ff828420541615610074575b610b8585816100e98239f35b83835282815281832090338452528120600160ff198254161790553391600080516020610c6e833981519152339280a438808080610068565b8180528183528082203383528352808220600160ff19825416179055333383600080516020610c6e8339815191528180a461002b565b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146104bc575080630e063fcb14610493578063248a9ca3146104695780632d5ad3d5146104135780632f2ff15d1461036a57806332a801a21461030d57806336568abe1461027b5780635705987a146101e457806391d148541461019e578063a217fddf14610183578063cd10534b146100e75763d547741f146100a857600080fd5b346100e357806003193601126100e3576100e091356100db60016100ca61052b565b938387528660205286200154610541565b61088c565b80f35b8280fd5b83823461017f57602036600319011261017f577f76155f7a43ecf42488af976246d070fd4994de62773a83b0ed16175f49f4b02f906001600160a01b0361012c610510565b16610138811515610927565b600080516020610b3083398151915284528360205281842033855260205261016560ff8386205416610965565b61016e816109d7565b50815190815260016020820152a180f35b5080fd5b83823461017f578160031936011261017f5751908152602090f35b5090346100e357816003193601126100e3578160209360ff926101bf61052b565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b83823461017f57602036600319011261017f577f76155f7a43ecf42488af976246d070fd4994de62773a83b0ed16175f49f4b02f906001600160a01b03610229610510565b16610235811515610927565b600080516020610b3083398151915284528360205281842033855260205261026260ff8386205416610965565b61026b81610a59565b508151908152836020820152a180f35b5091903461017f578260031936011261017f5761029661052b565b90336001600160a01b038316036102b257906100e0913561088c565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5090346100e35760203660031901126100e35735908115158092036100e35760ff61035991600080516020610b3083398151915285528460205280852033865260205284205416610965565b60ff80196003541691161760035580f35b5090346100e357816003193601126100e357359061038661052b565b908284528360205261039d60018286200154610541565b82845260208481528185206001600160a01b039093168086529290528084205460ff16156103c9578380f35b828452836020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83823461017f57602036600319011261017f5790602091610432610510565b9160ff6003541692831561044b575b5050519015158152f35b6001600160a01b031681526002845281902054151591508380610441565b5090346100e35760203660031901126100e357816020936001923581528085522001549051908152f35b83823461017f578160031936011261017f5760209051600080516020610b308339815191528152f35b849084346100e35760203660031901126100e3573563ffffffff60e01b81168091036100e35760209250637965db0b60e01b81149081156104ff575b5015158152f35b6301ffc9a760e01b149050836104f8565b600435906001600160a01b038216820361052657565b600080fd5b602435906001600160a01b038216820361052657565b6000818152602091818352604092838320338452815260ff8484205416156105695750505050565b835167ffffffffffffffff939092336060850186811186821017610855578752602a85528385019187368437855115610841576030835385519160019283101561082d576078602188015360295b8381116107c357506106ed5787519060808201828110898211176107af5789526042825285820192606036853782511561079b5760308453825181101561079b57607860218401536041905b80821161072f5750506106ed5791610682949391889360679899519687936106588886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610869565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610869565b0103602881018552601f199687910116840196848810908811176106d95750926106d060449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610869565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610787576f181899199a1a9b1b9c1cb0b131b232b360811b901a61075e8486610900565b5360041c918015610773576000190190610603565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610819576f181899199a1a9b1b9c1cb0b131b232b360811b901a6107f1838a610900565b5360041c90801561080557600019016105b7565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b84526041600452602484fd5b60005b83811061087c5750506000910152565b818101518382015260200161086c565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166108bc57505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015610911570160200190565b634e487b7160e01b600052603260045260246000fd5b1561092e57565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b1561096c57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b6001548110156109115760016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b600081815260026020526040812054610a545760015468010000000000000000811015610a40579082610a2c610a15846001604096016001556109a0565b819391549060031b91821b91600019901b19161790565b905560015492815260026020522055600190565b634e487b7160e01b82526041600452602482fd5b905090565b6000818152600260205260408120549091908015610b2a5760001990808201818111610b16576001549083820191821161080557808203610ae2575b5050506001548015610ace57810190610aad826109a0565b909182549160031b1b19169055600155815260026020526040812055600190565b634e487b7160e01b84526031600452602484fd5b610b00610af1610a15936109a0565b90549060031b1c9283926109a0565b9055845260026020526040842055388080610a95565b634e487b7160e01b85526011600452602485fd5b50509056fe3ad8ed3e368783ee4585bc47a56e79dca48fef21d48900016e8700a420ec14aaa26469706673582212200d91f6c2e191de1012c7b14f7e655af076cfd0f25a6d261ae844a301c588ec3964736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"303:2305:169:-:0;;;;;;;;2198:4:76;303:2305:169;;;;;;;;;;;748:10;303:2305;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;490:32:169;303:2305;;;;;;;;;;748:10;303:2305;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;303:2305:169;;;;;;;7665:149:76;303:2305:169;;;;;;;;;748:10;;303:2305;;;;;7740:4:76;303:2305:169;;;;;;;;748:10;;-1:-1:-1;;;;;;;;;;;748:10:169;7763:40:76;;;7665:149;;;;;;;303:2305:169;;;;;;;;;748:10;303:2305;;;;;;;7740:4:76;303:2305:169;;;;;;;;748:10;;7763:40:76;-1:-1:-1;;;;;;;;;;;7763:40:76;;;7665:149;;303:2305:169;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146104bc575080630e063fcb14610493578063248a9ca3146104695780632d5ad3d5146104135780632f2ff15d1461036a57806332a801a21461030d57806336568abe1461027b5780635705987a146101e457806391d148541461019e578063a217fddf14610183578063cd10534b146100e75763d547741f146100a857600080fd5b346100e357806003193601126100e3576100e091356100db60016100ca61052b565b938387528660205286200154610541565b61088c565b80f35b8280fd5b83823461017f57602036600319011261017f577f76155f7a43ecf42488af976246d070fd4994de62773a83b0ed16175f49f4b02f906001600160a01b0361012c610510565b16610138811515610927565b600080516020610b3083398151915284528360205281842033855260205261016560ff8386205416610965565b61016e816109d7565b50815190815260016020820152a180f35b5080fd5b83823461017f578160031936011261017f5751908152602090f35b5090346100e357816003193601126100e3578160209360ff926101bf61052b565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b83823461017f57602036600319011261017f577f76155f7a43ecf42488af976246d070fd4994de62773a83b0ed16175f49f4b02f906001600160a01b03610229610510565b16610235811515610927565b600080516020610b3083398151915284528360205281842033855260205261026260ff8386205416610965565b61026b81610a59565b508151908152836020820152a180f35b5091903461017f578260031936011261017f5761029661052b565b90336001600160a01b038316036102b257906100e0913561088c565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5090346100e35760203660031901126100e35735908115158092036100e35760ff61035991600080516020610b3083398151915285528460205280852033865260205284205416610965565b60ff80196003541691161760035580f35b5090346100e357816003193601126100e357359061038661052b565b908284528360205261039d60018286200154610541565b82845260208481528185206001600160a01b039093168086529290528084205460ff16156103c9578380f35b828452836020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83823461017f57602036600319011261017f5790602091610432610510565b9160ff6003541692831561044b575b5050519015158152f35b6001600160a01b031681526002845281902054151591508380610441565b5090346100e35760203660031901126100e357816020936001923581528085522001549051908152f35b83823461017f578160031936011261017f5760209051600080516020610b308339815191528152f35b849084346100e35760203660031901126100e3573563ffffffff60e01b81168091036100e35760209250637965db0b60e01b81149081156104ff575b5015158152f35b6301ffc9a760e01b149050836104f8565b600435906001600160a01b038216820361052657565b600080fd5b602435906001600160a01b038216820361052657565b6000818152602091818352604092838320338452815260ff8484205416156105695750505050565b835167ffffffffffffffff939092336060850186811186821017610855578752602a85528385019187368437855115610841576030835385519160019283101561082d576078602188015360295b8381116107c357506106ed5787519060808201828110898211176107af5789526042825285820192606036853782511561079b5760308453825181101561079b57607860218401536041905b80821161072f5750506106ed5791610682949391889360679899519687936106588886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610869565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610869565b0103602881018552601f199687910116840196848810908811176106d95750926106d060449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610869565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610787576f181899199a1a9b1b9c1cb0b131b232b360811b901a61075e8486610900565b5360041c918015610773576000190190610603565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610819576f181899199a1a9b1b9c1cb0b131b232b360811b901a6107f1838a610900565b5360041c90801561080557600019016105b7565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b84526041600452602484fd5b60005b83811061087c5750506000910152565b818101518382015260200161086c565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166108bc57505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015610911570160200190565b634e487b7160e01b600052603260045260246000fd5b1561092e57565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b1561096c57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b6001548110156109115760016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b600081815260026020526040812054610a545760015468010000000000000000811015610a40579082610a2c610a15846001604096016001556109a0565b819391549060031b91821b91600019901b19161790565b905560015492815260026020522055600190565b634e487b7160e01b82526041600452602482fd5b905090565b6000818152600260205260408120549091908015610b2a5760001990808201818111610b16576001549083820191821161080557808203610ae2575b5050506001548015610ace57810190610aad826109a0565b909182549160031b1b19169055600155815260026020526040812055600190565b634e487b7160e01b84526031600452602484fd5b610b00610af1610a15936109a0565b90549060031b1c9283926109a0565b9055845260026020526040842055388080610a95565b634e487b7160e01b85526011600452602485fd5b50509056fe3ad8ed3e368783ee4585bc47a56e79dca48fef21d48900016e8700a420ec14aaa26469706673582212200d91f6c2e191de1012c7b14f7e655af076cfd0f25a6d261ae844a301c588ec3964736f6c63430008120033","sourceMap":"303:2305:169:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5486:7:76;303:2305:169;;2642:4:76;303:2305:169;;;:::i;:::-;;;;;;;;;;4604:22:76;303:2305:169;2642:4:76;:::i;:::-;5486:7;:::i;:::-;303:2305:169;;;;;;;;;;;;;;-1:-1:-1;;303:2305:169;;;;1678:43;;-1:-1:-1;;;;;303:2305:169;;:::i;:::-;;1488:56;1496:28;;;1488:56;:::i;:::-;-1:-1:-1;;;;;;;;;;;303:2305:169;;;;;;;;1591:10;303:2305;;;;1554:65;303:2305;;;;;;1554:65;:::i;:::-;8398:50:109;;;:::i;:::-;;303:2305:169;;;;;;;;;;1678:43;303:2305;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;303:2305:169;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;303:2305:169;;;;2135:44;;-1:-1:-1;;;;;303:2305:169;;:::i;:::-;;1942:56;1950:28;;;1942:56;:::i;:::-;-1:-1:-1;;;;;;;;;;;303:2305:169;;;;;;;;2045:10;303:2305;;;;2008:65;303:2305;;;;;;2008:65;:::i;:::-;8719:53:109;;;:::i;:::-;;303:2305:169;;;;;;;;;;2135:44;303:2305;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:99;;-1:-1:-1;;;;;303:2305:169;;6133:23:76;303:2305:169;;;6237:7:76;303:2305:169;;6237:7:76;:::i;303:2305:169:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;303:2305:169;;;;;;;;;;;;;-1:-1:-1;;303:2305:169;;;;;;;;;;;;;;;2486:65;303:2305;-1:-1:-1;;;;;;;;;;;303:2305:169;;;;;;;;2523:10;303:2305;;;;;;;;2486:65;:::i;:::-;303:2305;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:76;303:2305:169;;;;4604:22:76;303:2305:169;2642:4:76;:::i;:::-;303:2305:169;;;;;;;;;;-1:-1:-1;;;;;303:2305:169;;;;;;;;;;;;;;;7669:23:76;7665:149;;303:2305:169;;;7665:149:76;303:2305:169;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;;;;7665:149;;;303:2305:169;;;;;;;;;;;-1:-1:-1;;303:2305:169;;;;;;;;;:::i;:::-;;;;;;1212:60;;;;;303:2305;;;;;;;;;;1212:60;-1:-1:-1;;;;;303:2305:169;;;4351:12:109;303:2305:169;;;;;;4351:24:109;;;-1:-1:-1;1212:60:169;;;;303:2305;;;;;;;;-1:-1:-1;;303:2305:169;;;;;;;;;;;;;;;;4604:22:76;303:2305:169;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;303:2305:169;;;;;;;;;;;;-1:-1:-1;;303:2305:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:76;;;:87;;;;303:2305:169;;;;;;;2840:87:76;-1:-1:-1;;;937:40:103;;-1:-1:-1;2840:87:76;;;303:2305:169;;;;-1:-1:-1;;;;;303:2305:169;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;303:2305:169;;;;;;:::o;3460:103:76:-;3130:6;303:2305:169;;;;;;;;;;;;;719:10:99;303:2305:169;;;;;;;;;;3931:23:76;3927:390;;3460:103;;;;:::o;3927:390::-;303:2305:169;;;;;;719:10:99;303:2305:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;303:2305:169;;;;;;;;;;2000:15:101;303:2305:169;;;2000:15:101;303:2305:169;2058:5:101;;;;;;2170:10;278:18;;303:2305:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;303:2305:169;;;;;;;2000:15:101;303:2305:169;;;2000:15:101;303:2305:169;2025:128:101;2058:5;;;;;;2170:10;;278:18;;303:2305:169;;;;;;;;;;;4022:252:76;;;303:2305:169;4022:252:76;;;303:2305:169;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;303:2305:169;;;;;;;;;;;;:::i;:::-;;4022:252:76;;;;;;303:2305:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3970:336:76;;2141:1:101;3970:336:76;;303:2305:169;;;;;;;;;;;;;;:::i;:::-;;;;;3970:336:76;;;;303:2305:169;-1:-1:-1;;;303:2305:169;;;2141:1:101;303:2305:169;;;;278:18:101;;303:2305:169;;;;;;;278:18:101;;;2141:1;278:18;;;;;;303:2305:169;278:18:101;303:2305:169;;;278:18:101;;2065:3;2105:11;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;303:2305:169;;;;-1:-1:-1;;303:2305:169;;2030:26:101;;303:2305:169;-1:-1:-1;;;303:2305:169;;;2141:1:101;303:2305:169;;;;2096:21:101;-1:-1:-1;;;303:2305:169;;;2141:1:101;303:2305:169;;;;;-1:-1:-1;;;303:2305:169;;;2141:1:101;303:2305:169;;;;;-1:-1:-1;;;303:2305:169;;;2141:1:101;303:2305:169;;;;2065:3:101;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;303:2305:169;;;;-1:-1:-1;;303:2305:169;2030:26:101;;303:2305:169;-1:-1:-1;;;303:2305:169;;;2141:1:101;303:2305:169;;;;2096:21:101;-1:-1:-1;;;303:2305:169;;;2141:1:101;303:2305:169;;;;;-1:-1:-1;;;303:2305:169;;;;;;;;;-1:-1:-1;;;303:2305:169;;;;;;;;;-1:-1:-1;;;303:2305:169;;;;;;;;;;;;;;;;-1:-1:-1;;303:2305:169;;;;:::o;:::-;;;;;;;;;;;;;7991:234:76;;3130:6;303:2305:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:149:76;;7991:234;;;:::o;8070:149::-;303:2305:169;;;;;;;;;;;;;;;;;;;;;;;;8168:40:76;719:10:99;8168:40:76;;;7991:234::o;303:2305:169:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;303:2305:169;;;;;;;;;;;;-1:-1:-1;;;303:2305:169;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;303:2305:169;;;;;;;;;;;;-1:-1:-1;;;303:2305:169;;;;;;;;1629:14;303:2305;;;;;;1629:14;-1:-1:-1;303:2305:169;;;;-1:-1:-1;303:2305:169;:::o;2214:404:109:-;-1:-1:-1;303:2305:169;;;4351:12:109;303:2305:169;;;;;;;;1629:14;303:2305;;;;;;;;;;;;1629:14;303:2305;;;1629:14;303:2305;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1629:14;303:2305;;;;4351:12:109;303:2305:169;;;;1629:14;2547:11:109;:::o;303:2305:169:-;-1:-1:-1;;;303:2305:169;;;;;;;;2293:319:109;2589:12;;;:::o;2786:1388::-;-1:-1:-1;303:2305:169;;;2989:12:109;303:2305:169;;;;;;-1:-1:-1;;303:2305:169;3023:15:109;;;;-1:-1:-1;;303:2305:169;;;;;;;;;2083:14;303:2305;;;;;;;;;;3505:26:109;;;3501:398;;3019:1149;303:2305:169;;;2083:14;303:2305;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2083:14;303:2305;;;2989:12:109;303:2305:169;;;;;;2083:14;4103:11:109;:::o;303:2305:169:-;-1:-1:-1;;;303:2305:169;;;;;;;;3501:398:109;303:2305:169;3571:22:109;3693:26;3571:22;;:::i;:::-;303:2305:169;;;;;278:18:101;3693:26:109;;;;:::i;303:2305:169:-;;;;;2989:12:109;303:2305:169;;;;;;3501:398:109;;;;;303:2305:169;-1:-1:-1;;;303:2305:169;;;;;;;;3019:1149:109;4145:12;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","TOKEN_REGISTER_ROLE()":"0e063fcb","addApprovedToken(address)":"cd10534b","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isApprovedToken(address)":"2d5ad3d5","removeApprovedToken(address)":"5705987a","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setAllTokensApproved(bool)":"32a801a2","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"TokenContractApproved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN_REGISTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"addApprovedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"isApprovedToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"removeApprovedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_allTokensApproved\",\"type\":\"bool\"}],\"name\":\"setAllTokensApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"addApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being approved.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedToken(address)\":{\"details\":\"Sender must have the TOKEN_REGISTER_ROLE Role.\",\"params\":{\"_tokenContract\":\"Contract of token being checked.\"},\"returns\":{\"_0\":\"True if the token is allowed, false otherwise.\"}},\"removeApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being approved.\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setAllTokensApproved(bool)\":{\"details\":\"Sender must have the TOKEN_REGISTER_ROLE Role.\",\"params\":{\"_allTokensApproved\":\"Bool denoting if all tokens should be approved.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addApprovedToken(address)\":{\"notice\":\"Adds a token to the list of approved tokens.\"},\"isApprovedToken(address)\":{\"notice\":\"Returns if a token has been approved or not.\"},\"removeApprovedToken(address)\":{\"notice\":\"Removes a token from the approved tokens list.\"},\"setAllTokensApproved(bool)\":{\"notice\":\"Sets whether all token contracts should be approved.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/ApprovedTokenRegistry.sol\":\"ApprovedTokenRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"src/registry/ApprovedTokenRegistry.sol\":{\"keccak256\":\"0x5d98b9fc82faada89c1bf266c39007f62c0c5f7be4426f0613d5e0b8e8042883\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9fbf31bcbc80dd56800e3bac900863d111f334ea9233ae7c7e5a65dd13b079be\",\"dweb:/ipfs/Qmd9siDVzUCm8pQqcaMmeY2T9Fqf3bF7M2PMaeHpsFdBF5\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address","indexed":false},{"internalType":"bool","name":"_approved","type":"bool","indexed":false}],"type":"event","name":"TokenContractApproved","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN_REGISTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addApprovedToken"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeApprovedToken"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bool","name":"_allTokensApproved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setAllTokensApproved"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"addApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being approved."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"isApprovedToken(address)":{"details":"Sender must have the TOKEN_REGISTER_ROLE Role.","params":{"_tokenContract":"Contract of token being checked."},"returns":{"_0":"True if the token is allowed, false otherwise."}},"removeApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being approved."}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setAllTokensApproved(bool)":{"details":"Sender must have the TOKEN_REGISTER_ROLE Role.","params":{"_allTokensApproved":"Bool denoting if all tokens should be approved."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{"addApprovedToken(address)":{"notice":"Adds a token to the list of approved tokens."},"isApprovedToken(address)":{"notice":"Returns if a token has been approved or not."},"removeApprovedToken(address)":{"notice":"Removes a token from the approved tokens list."},"setAllTokensApproved(bool)":{"notice":"Sets whether all token contracts should be approved."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/ApprovedTokenRegistry.sol":"ApprovedTokenRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"src/registry/ApprovedTokenRegistry.sol":{"keccak256":"0x5d98b9fc82faada89c1bf266c39007f62c0c5f7be4426f0613d5e0b8e8042883","urls":["bzz-raw://9fbf31bcbc80dd56800e3bac900863d111f334ea9233ae7c7e5a65dd13b079be","dweb:/ipfs/Qmd9siDVzUCm8pQqcaMmeY2T9Fqf3bF7M2PMaeHpsFdBF5"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"}},"version":1},"id":169} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN_REGISTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"removeApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAllTokensApproved","inputs":[{"name":"_allTokensApproved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenContractApproved","inputs":[{"name":"_tokenContract","type":"address","indexed":false,"internalType":"address"},{"name":"_approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false}],"bytecode":{"object":"0x60806040818152346100e3576000808052602091818352808220338352835260ff8183205416156100ad575b7f3ad8ed3e368783ee4585bc47a56e79dca48fef21d48900016e8700a420ec14aa92838352828152818320338452815260ff828420541615610074575b610b8585816100e98239f35b83835282815281832090338452528120600160ff198254161790553391600080516020610c6e833981519152339280a438808080610068565b8180528183528082203383528352808220600160ff19825416179055333383600080516020610c6e8339815191528180a461002b565b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146104bc575080630e063fcb14610493578063248a9ca3146104695780632d5ad3d5146104135780632f2ff15d1461036a57806332a801a21461030d57806336568abe1461027b5780635705987a146101e457806391d148541461019e578063a217fddf14610183578063cd10534b146100e75763d547741f146100a857600080fd5b346100e357806003193601126100e3576100e091356100db60016100ca61052b565b938387528660205286200154610541565b61088c565b80f35b8280fd5b83823461017f57602036600319011261017f577f76155f7a43ecf42488af976246d070fd4994de62773a83b0ed16175f49f4b02f906001600160a01b0361012c610510565b16610138811515610927565b600080516020610b3083398151915284528360205281842033855260205261016560ff8386205416610965565b61016e816109d7565b50815190815260016020820152a180f35b5080fd5b83823461017f578160031936011261017f5751908152602090f35b5090346100e357816003193601126100e3578160209360ff926101bf61052b565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b83823461017f57602036600319011261017f577f76155f7a43ecf42488af976246d070fd4994de62773a83b0ed16175f49f4b02f906001600160a01b03610229610510565b16610235811515610927565b600080516020610b3083398151915284528360205281842033855260205261026260ff8386205416610965565b61026b81610a59565b508151908152836020820152a180f35b5091903461017f578260031936011261017f5761029661052b565b90336001600160a01b038316036102b257906100e0913561088c565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5090346100e35760203660031901126100e35735908115158092036100e35760ff61035991600080516020610b3083398151915285528460205280852033865260205284205416610965565b60ff80196003541691161760035580f35b5090346100e357816003193601126100e357359061038661052b565b908284528360205261039d60018286200154610541565b82845260208481528185206001600160a01b039093168086529290528084205460ff16156103c9578380f35b828452836020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83823461017f57602036600319011261017f5790602091610432610510565b9160ff6003541692831561044b575b5050519015158152f35b6001600160a01b031681526002845281902054151591508380610441565b5090346100e35760203660031901126100e357816020936001923581528085522001549051908152f35b83823461017f578160031936011261017f5760209051600080516020610b308339815191528152f35b849084346100e35760203660031901126100e3573563ffffffff60e01b81168091036100e35760209250637965db0b60e01b81149081156104ff575b5015158152f35b6301ffc9a760e01b149050836104f8565b600435906001600160a01b038216820361052657565b600080fd5b602435906001600160a01b038216820361052657565b6000818152602091818352604092838320338452815260ff8484205416156105695750505050565b835167ffffffffffffffff939092336060850186811186821017610855578752602a85528385019187368437855115610841576030835385519160019283101561082d576078602188015360295b8381116107c357506106ed5787519060808201828110898211176107af5789526042825285820192606036853782511561079b5760308453825181101561079b57607860218401536041905b80821161072f5750506106ed5791610682949391889360679899519687936106588886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610869565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610869565b0103602881018552601f199687910116840196848810908811176106d95750926106d060449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610869565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610787576f181899199a1a9b1b9c1cb0b131b232b360811b901a61075e8486610900565b5360041c918015610773576000190190610603565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610819576f181899199a1a9b1b9c1cb0b131b232b360811b901a6107f1838a610900565b5360041c90801561080557600019016105b7565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b84526041600452602484fd5b60005b83811061087c5750506000910152565b818101518382015260200161086c565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166108bc57505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015610911570160200190565b634e487b7160e01b600052603260045260246000fd5b1561092e57565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b1561096c57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b6001548110156109115760016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b600081815260026020526040812054610a545760015468010000000000000000811015610a40579082610a2c610a15846001604096016001556109a0565b819391549060031b91821b91600019901b19161790565b905560015492815260026020522055600190565b634e487b7160e01b82526041600452602482fd5b905090565b6000818152600260205260408120549091908015610b2a5760001990808201818111610b16576001549083820191821161080557808203610ae2575b5050506001548015610ace57810190610aad826109a0565b909182549160031b1b19169055600155815260026020526040812055600190565b634e487b7160e01b84526031600452602484fd5b610b00610af1610a15936109a0565b90549060031b1c9283926109a0565b9055845260026020526040842055388080610a95565b634e487b7160e01b85526011600452602485fd5b50509056fe3ad8ed3e368783ee4585bc47a56e79dca48fef21d48900016e8700a420ec14aaa2646970667358221220e7d703fc0e65cd4bda3cf84aa951dfcc36a0f893384d28b7e5ab341e17d258d464736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"303:2305:180:-:0;;;;;;;;2198:4:79;303:2305:180;;;;;;;;;;;748:10;303:2305;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;490:32:180;303:2305;;;;;;;;;;748:10;303:2305;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;303:2305:180;;;;;;;7665:149:79;303:2305:180;;;;;;;;;748:10;;303:2305;;;;;7740:4:79;303:2305:180;;;;;;;;748:10;;-1:-1:-1;;;;;;;;;;;748:10:180;7763:40:79;;;7665:149;;;;;;;303:2305:180;;;;;;;;;748:10;303:2305;;;;;;;7740:4:79;303:2305:180;;;;;;;;748:10;;7763:40:79;-1:-1:-1;;;;;;;;;;;7763:40:79;;;7665:149;;303:2305:180;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146104bc575080630e063fcb14610493578063248a9ca3146104695780632d5ad3d5146104135780632f2ff15d1461036a57806332a801a21461030d57806336568abe1461027b5780635705987a146101e457806391d148541461019e578063a217fddf14610183578063cd10534b146100e75763d547741f146100a857600080fd5b346100e357806003193601126100e3576100e091356100db60016100ca61052b565b938387528660205286200154610541565b61088c565b80f35b8280fd5b83823461017f57602036600319011261017f577f76155f7a43ecf42488af976246d070fd4994de62773a83b0ed16175f49f4b02f906001600160a01b0361012c610510565b16610138811515610927565b600080516020610b3083398151915284528360205281842033855260205261016560ff8386205416610965565b61016e816109d7565b50815190815260016020820152a180f35b5080fd5b83823461017f578160031936011261017f5751908152602090f35b5090346100e357816003193601126100e3578160209360ff926101bf61052b565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b83823461017f57602036600319011261017f577f76155f7a43ecf42488af976246d070fd4994de62773a83b0ed16175f49f4b02f906001600160a01b03610229610510565b16610235811515610927565b600080516020610b3083398151915284528360205281842033855260205261026260ff8386205416610965565b61026b81610a59565b508151908152836020820152a180f35b5091903461017f578260031936011261017f5761029661052b565b90336001600160a01b038316036102b257906100e0913561088c565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5090346100e35760203660031901126100e35735908115158092036100e35760ff61035991600080516020610b3083398151915285528460205280852033865260205284205416610965565b60ff80196003541691161760035580f35b5090346100e357816003193601126100e357359061038661052b565b908284528360205261039d60018286200154610541565b82845260208481528185206001600160a01b039093168086529290528084205460ff16156103c9578380f35b828452836020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83823461017f57602036600319011261017f5790602091610432610510565b9160ff6003541692831561044b575b5050519015158152f35b6001600160a01b031681526002845281902054151591508380610441565b5090346100e35760203660031901126100e357816020936001923581528085522001549051908152f35b83823461017f578160031936011261017f5760209051600080516020610b308339815191528152f35b849084346100e35760203660031901126100e3573563ffffffff60e01b81168091036100e35760209250637965db0b60e01b81149081156104ff575b5015158152f35b6301ffc9a760e01b149050836104f8565b600435906001600160a01b038216820361052657565b600080fd5b602435906001600160a01b038216820361052657565b6000818152602091818352604092838320338452815260ff8484205416156105695750505050565b835167ffffffffffffffff939092336060850186811186821017610855578752602a85528385019187368437855115610841576030835385519160019283101561082d576078602188015360295b8381116107c357506106ed5787519060808201828110898211176107af5789526042825285820192606036853782511561079b5760308453825181101561079b57607860218401536041905b80821161072f5750506106ed5791610682949391889360679899519687936106588886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610869565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610869565b0103602881018552601f199687910116840196848810908811176106d95750926106d060449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610869565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610787576f181899199a1a9b1b9c1cb0b131b232b360811b901a61075e8486610900565b5360041c918015610773576000190190610603565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610819576f181899199a1a9b1b9c1cb0b131b232b360811b901a6107f1838a610900565b5360041c90801561080557600019016105b7565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b84526041600452602484fd5b60005b83811061087c5750506000910152565b818101518382015260200161086c565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166108bc57505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015610911570160200190565b634e487b7160e01b600052603260045260246000fd5b1561092e57565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b1561096c57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b6001548110156109115760016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b600081815260026020526040812054610a545760015468010000000000000000811015610a40579082610a2c610a15846001604096016001556109a0565b819391549060031b91821b91600019901b19161790565b905560015492815260026020522055600190565b634e487b7160e01b82526041600452602482fd5b905090565b6000818152600260205260408120549091908015610b2a5760001990808201818111610b16576001549083820191821161080557808203610ae2575b5050506001548015610ace57810190610aad826109a0565b909182549160031b1b19169055600155815260026020526040812055600190565b634e487b7160e01b84526031600452602484fd5b610b00610af1610a15936109a0565b90549060031b1c9283926109a0565b9055845260026020526040842055388080610a95565b634e487b7160e01b85526011600452602485fd5b50509056fe3ad8ed3e368783ee4585bc47a56e79dca48fef21d48900016e8700a420ec14aaa2646970667358221220e7d703fc0e65cd4bda3cf84aa951dfcc36a0f893384d28b7e5ab341e17d258d464736f6c63430008120033","sourceMap":"303:2305:180:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5486:7:79;303:2305:180;;2642:4:79;303:2305:180;;;:::i;:::-;;;;;;;;;;4604:22:79;303:2305:180;2642:4:79;:::i;:::-;5486:7;:::i;:::-;303:2305:180;;;;;;;;;;;;;;-1:-1:-1;;303:2305:180;;;;1678:43;;-1:-1:-1;;;;;303:2305:180;;:::i;:::-;;1488:56;1496:28;;;1488:56;:::i;:::-;-1:-1:-1;;;;;;;;;;;303:2305:180;;;;;;;;1591:10;303:2305;;;;1554:65;303:2305;;;;;;1554:65;:::i;:::-;8398:50:113;;;:::i;:::-;;303:2305:180;;;;;;;;;;1678:43;303:2305;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;303:2305:180;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;303:2305:180;;;;2135:44;;-1:-1:-1;;;;;303:2305:180;;:::i;:::-;;1942:56;1950:28;;;1942:56;:::i;:::-;-1:-1:-1;;;;;;;;;;;303:2305:180;;;;;;;;2045:10;303:2305;;;;2008:65;303:2305;;;;;;2008:65;:::i;:::-;8719:53:113;;;:::i;:::-;;303:2305:180;;;;;;;;;;2135:44;303:2305;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:102;;-1:-1:-1;;;;;303:2305:180;;6133:23:79;303:2305:180;;;6237:7:79;303:2305:180;;6237:7:79;:::i;303:2305:180:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;303:2305:180;;;;;;;;;;;;;-1:-1:-1;;303:2305:180;;;;;;;;;;;;;;;2486:65;303:2305;-1:-1:-1;;;;;;;;;;;303:2305:180;;;;;;;;2523:10;303:2305;;;;;;;;2486:65;:::i;:::-;303:2305;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:79;303:2305:180;;;;4604:22:79;303:2305:180;2642:4:79;:::i;:::-;303:2305:180;;;;;;;;;;-1:-1:-1;;;;;303:2305:180;;;;;;;;;;;;;;;7669:23:79;7665:149;;303:2305:180;;;7665:149:79;303:2305:180;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;;;;7665:149;;;303:2305:180;;;;;;;;;;;-1:-1:-1;;303:2305:180;;;;;;;;;:::i;:::-;;;;;;1212:60;;;;;303:2305;;;;;;;;;;1212:60;-1:-1:-1;;;;;303:2305:180;;;4351:12:113;303:2305:180;;;;;;4351:24:113;;;-1:-1:-1;1212:60:180;;;;303:2305;;;;;;;;-1:-1:-1;;303:2305:180;;;;;;;;;;;;;;;;4604:22:79;303:2305:180;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;303:2305:180;;;;;;;;;;;;-1:-1:-1;;303:2305:180;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:79;;;:87;;;;303:2305:180;;;;;;;2840:87:79;-1:-1:-1;;;937:40:107;;-1:-1:-1;2840:87:79;;;303:2305:180;;;;-1:-1:-1;;;;;303:2305:180;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;303:2305:180;;;;;;:::o;3460:103:79:-;3130:6;303:2305:180;;;;;;;;;;;;;719:10:102;303:2305:180;;;;;;;;;;3931:23:79;3927:390;;3460:103;;;;:::o;3927:390::-;303:2305:180;;;;;;719:10:102;303:2305:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;303:2305:180;;;;;;;;;;2000:15:104;303:2305:180;;;2000:15:104;303:2305:180;2058:5:104;;;;;;2170:10;278:18;;303:2305:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;303:2305:180;;;;;;;2000:15:104;303:2305:180;;;2000:15:104;303:2305:180;2025:128:104;2058:5;;;;;;2170:10;;278:18;;303:2305:180;;;;;;;;;;;4022:252:79;;;303:2305:180;4022:252:79;;;303:2305:180;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;303:2305:180;;;;;;;;;;;;:::i;:::-;;4022:252:79;;;;;;303:2305:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3970:336:79;;2141:1:104;3970:336:79;;303:2305:180;;;;;;;;;;;;;;:::i;:::-;;;;;3970:336:79;;;;303:2305:180;-1:-1:-1;;;303:2305:180;;;2141:1:104;303:2305:180;;;;278:18:104;;303:2305:180;;;;;;;278:18:104;;;2141:1;278:18;;;;;;303:2305:180;278:18:104;303:2305:180;;;278:18:104;;2065:3;2105:11;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;303:2305:180;;;;-1:-1:-1;;303:2305:180;;2030:26:104;;303:2305:180;-1:-1:-1;;;303:2305:180;;;2141:1:104;303:2305:180;;;;2096:21:104;-1:-1:-1;;;303:2305:180;;;2141:1:104;303:2305:180;;;;;-1:-1:-1;;;303:2305:180;;;2141:1:104;303:2305:180;;;;;-1:-1:-1;;;303:2305:180;;;2141:1:104;303:2305:180;;;;2065:3:104;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;303:2305:180;;;;-1:-1:-1;;303:2305:180;2030:26:104;;303:2305:180;-1:-1:-1;;;303:2305:180;;;2141:1:104;303:2305:180;;;;2096:21:104;-1:-1:-1;;;303:2305:180;;;2141:1:104;303:2305:180;;;;;-1:-1:-1;;;303:2305:180;;;;;;;;;-1:-1:-1;;;303:2305:180;;;;;;;;;-1:-1:-1;;;303:2305:180;;;;;;;;;;;;;;;;-1:-1:-1;;303:2305:180;;;;:::o;:::-;;;;;;;;;;;;;7991:234:79;;3130:6;303:2305:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:149:79;;7991:234;;;:::o;8070:149::-;303:2305:180;;;;;;;;;;;;;;;;;;;;;;;;8168:40:79;719:10:102;8168:40:79;;;7991:234::o;303:2305:180:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;303:2305:180;;;;;;;;;;;;-1:-1:-1;;;303:2305:180;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;303:2305:180;;;;;;;;;;;;-1:-1:-1;;;303:2305:180;;;;;;;;1629:14;303:2305;;;;;;1629:14;-1:-1:-1;303:2305:180;;;;-1:-1:-1;303:2305:180;:::o;2214:404:113:-;-1:-1:-1;303:2305:180;;;4351:12:113;303:2305:180;;;;;;;;1629:14;303:2305;;;;;;;;;;;;1629:14;303:2305;;;1629:14;303:2305;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1629:14;303:2305;;;;4351:12:113;303:2305:180;;;;1629:14;2547:11:113;:::o;303:2305:180:-;-1:-1:-1;;;303:2305:180;;;;;;;;2293:319:113;2589:12;;;:::o;2786:1388::-;-1:-1:-1;303:2305:180;;;2989:12:113;303:2305:180;;;;;;-1:-1:-1;;303:2305:180;3023:15:113;;;;-1:-1:-1;;303:2305:180;;;;;;;;;2083:14;303:2305;;;;;;;;;;3505:26:113;;;3501:398;;3019:1149;303:2305:180;;;2083:14;303:2305;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2083:14;303:2305;;;2989:12:113;303:2305:180;;;;;;2083:14;4103:11:113;:::o;303:2305:180:-;-1:-1:-1;;;303:2305:180;;;;;;;;3501:398:113;303:2305:180;3571:22:113;3693:26;3571:22;;:::i;:::-;303:2305:180;;;;;278:18:104;3693:26:113;;;;:::i;303:2305:180:-;;;;;2989:12:113;303:2305:180;;;;;;3501:398:113;;;;;303:2305:180;-1:-1:-1;;;303:2305:180;;;;;;;;3019:1149:113;4145:12;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","TOKEN_REGISTER_ROLE()":"0e063fcb","addApprovedToken(address)":"cd10534b","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isApprovedToken(address)":"2d5ad3d5","removeApprovedToken(address)":"5705987a","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setAllTokensApproved(bool)":"32a801a2","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"TokenContractApproved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN_REGISTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"addApprovedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"isApprovedToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"removeApprovedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_allTokensApproved\",\"type\":\"bool\"}],\"name\":\"setAllTokensApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"addApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being approved.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedToken(address)\":{\"details\":\"Sender must have the TOKEN_REGISTER_ROLE Role.\",\"params\":{\"_tokenContract\":\"Contract of token being checked.\"},\"returns\":{\"_0\":\"True if the token is allowed, false otherwise.\"}},\"removeApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being approved.\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setAllTokensApproved(bool)\":{\"details\":\"Sender must have the TOKEN_REGISTER_ROLE Role.\",\"params\":{\"_allTokensApproved\":\"Bool denoting if all tokens should be approved.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addApprovedToken(address)\":{\"notice\":\"Adds a token to the list of approved tokens.\"},\"isApprovedToken(address)\":{\"notice\":\"Returns if a token has been approved or not.\"},\"removeApprovedToken(address)\":{\"notice\":\"Removes a token from the approved tokens list.\"},\"setAllTokensApproved(bool)\":{\"notice\":\"Sets whether all token contracts should be approved.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/ApprovedTokenRegistry.sol\":\"ApprovedTokenRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"src/registry/ApprovedTokenRegistry.sol\":{\"keccak256\":\"0x5d98b9fc82faada89c1bf266c39007f62c0c5f7be4426f0613d5e0b8e8042883\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9fbf31bcbc80dd56800e3bac900863d111f334ea9233ae7c7e5a65dd13b079be\",\"dweb:/ipfs/Qmd9siDVzUCm8pQqcaMmeY2T9Fqf3bF7M2PMaeHpsFdBF5\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address","indexed":false},{"internalType":"bool","name":"_approved","type":"bool","indexed":false}],"type":"event","name":"TokenContractApproved","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN_REGISTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addApprovedToken"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeApprovedToken"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bool","name":"_allTokensApproved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setAllTokensApproved"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"addApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being approved."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"isApprovedToken(address)":{"details":"Sender must have the TOKEN_REGISTER_ROLE Role.","params":{"_tokenContract":"Contract of token being checked."},"returns":{"_0":"True if the token is allowed, false otherwise."}},"removeApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being approved."}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setAllTokensApproved(bool)":{"details":"Sender must have the TOKEN_REGISTER_ROLE Role.","params":{"_allTokensApproved":"Bool denoting if all tokens should be approved."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{"addApprovedToken(address)":{"notice":"Adds a token to the list of approved tokens."},"isApprovedToken(address)":{"notice":"Returns if a token has been approved or not."},"removeApprovedToken(address)":{"notice":"Removes a token from the approved tokens list."},"setAllTokensApproved(bool)":{"notice":"Sets whether all token contracts should be approved."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/ApprovedTokenRegistry.sol":"ApprovedTokenRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"src/registry/ApprovedTokenRegistry.sol":{"keccak256":"0x5d98b9fc82faada89c1bf266c39007f62c0c5f7be4426f0613d5e0b8e8042883","urls":["bzz-raw://9fbf31bcbc80dd56800e3bac900863d111f334ea9233ae7c7e5a65dd13b079be","dweb:/ipfs/Qmd9siDVzUCm8pQqcaMmeY2T9Fqf3bF7M2PMaeHpsFdBF5"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"}},"version":1},"id":180} \ No newline at end of file diff --git a/abis/CollectorRoyaltiesClaim.json b/abis/CollectorRoyaltiesClaim.json index 436390f..c495f4a 100644 --- a/abis/CollectorRoyaltiesClaim.json +++ b/abis/CollectorRoyaltiesClaim.json @@ -1 +1 @@ -{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"claim","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimRoot","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createNewClaim","inputs":[{"name":"newRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"currentClaimId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardClaimedForClaim","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setClaimMappingToFalse","inputs":[{"name":"addrs","type":"address[]","internalType":"address[]"},{"name":"claimId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateMerkleRoot","inputs":[{"name":"newRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"verifyEntitled","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewClaim","inputs":[{"name":"claimId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"root","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoyaltyClaimed","inputs":[{"name":"root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"addr","type":"address","indexed":true,"internalType":"address"},{"name":"claimId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657610b77908161001c8239f35b600080fdfe60806040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c90816314ea35e71461084a575080632f52ebb7146106485780633f4ba83a146106225780634783f0ef146106005780635c975abb146105dc57806365d1f30b1461056257806367d9b44c14610473578063715018a61461041657806372806c5a146103f75780638456cb59146103ce5780638da5cb5b146103a55780639498bd7114610217578063aad1a008146101cc578063c3709caf146101635763f2fde38b03610011573461015f57602036600319011261015f576100e86108d2565b916100f161093b565b6001600160a01b0383161561010d578361010a84610993565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b503461015f57606036600319011261015f5761017d6108d2565b926044359067ffffffffffffffff82116101c957366023830112156101c95750926101b66101c0928560246020973693013591016108ed565b9060243590610a3c565b90519015158152f35b80fd5b50503461021357806003193601126102135760209160ff9082906001600160a01b036101f66108d2565b168152606685528181206024358252855220541690519015158152f35b5080fd5b503461015f57602036600319011261015f57803583549060ff8260081c161592838094610398575b8015610381575b156103275760ff1983811660011787559284610316575b5081156102d3575061027e60ff865460081c16610279816109dc565b6109dc565b61028733610993565b606555836067556068541660685561029d575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b606490602086519162461bcd60e51b8352820152601960248201527f4d65726b6c65526f6f742063616e7420626520656d7074792e000000000000006044820152fd5b61ffff19166101011786553861025d565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156102465750600160ff841614610246565b50600160ff84161061023f565b50503461021357816003193601126102135760335490516001600160a01b039091168152602090f35b83346101c957806003193601126101c9576103e761093b565b600160ff19606854161760685580f35b5050346102135781600319360112610213576020906067549051908152f35b83346101c957806003193601126101c95761042f61093b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5091903461021357806003193601126102135782359267ffffffffffffffff841161015f573660238501121561015f57830135916104b0836108ba565b936104bd83519586610898565b83855260209360248587019160051b8301019136831161055e57602401905b82821061053b575050506024356104f161093b565b815b855181101561053757610532906001600160a01b036105128289610b17565b51168452606686528484208385528652848420805460ff19169055610af2565b6104f3565b8280f35b81356001600160a01b038116810361055a5781529085019085016104dc565b8480fd5b8380fd5b8382346102135760203660031901126102135780359061058061093b565b60675490600182018092116105c95750806067558160655560ff19606854166068557f567738e2bb1cd8ded1f4f85ada2d94f3ccd4956306e4347c0710f99a011415318380a380f35b634e487b7160e01b845260119052602483fd5b50503461021357816003193601126102135760209060ff6068541690519015158152f35b8382346102135760203660031901126102135761061b61093b565b3560655580f35b83346101c957806003193601126101c95761063b61093b565b60ff196068541660685580f35b503461015f578160031936011261015f578035906024803567ffffffffffffffff808211610846573660238301121561084657818401359081116108465736838260051b840101116108465760ff606854166107f7576106b6916106af91843692016108ed565b8433610a3c565b156107b657338552602091606683528486209160675492838852845260ff868820541661075c575050338552606682528385209085528152828420805460ff191660011790558380838015610752575b8280929181923390f115610746577ef26f7fcd9e9238aed6e2f9ee35e05d5f84b0d8659e2235a2a61377c94170026065549160675494519384523393a480f35b505051903d90823e3d90fd5b6108fc9150610706565b855162461bcd60e51b8152918201849052602f908201527f596f75206861766520616c72656164792077697468647261776e20796f75722060448201526e32b73a34ba3632b2103a37b5b2b71760891b6064820152608490fd5b9060206064928186519362461bcd60e51b85528401528201527f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e6044820152fd5b855162461bcd60e51b81526020818601528084018490527f43616e6e6f742063616c6c207768656e20636f6e74726163742069732070617560448201526339b2b21760e11b6064820152608490fd5b8680fd5b8490346102135781600319360112610213576020906065548152f35b6060810190811067ffffffffffffffff82111761088257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761088257604052565b67ffffffffffffffff81116108825760051b60200190565b600435906001600160a01b03821682036108e857565b600080fd5b92916108f8826108ba565b916109066040519384610898565b829481845260208094019160051b81019283116108e857905b82821061092c5750505050565b8135815290830190830161091f565b6033546001600160a01b0316330361094f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156109e357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b909291926040918251602092838201926bffffffffffffffffffffffff199060601b168352603482015260348152610a7381610866565b51902091600080935b8651851015610ae657610abe90610a938689610b17565b51808211610ac45784519086820192835285820152848152610ab481610866565b5190205b94610af2565b93610a7c565b9084519086820192835285820152848152610ade81610866565b519020610ab8565b60655414955050505050565b6000198114610b015760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610b2b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220d09a6148d62118acfd123f6a1678acce0a0f5d6f18ca9e7702e2493691123c8564736f6c63430008120033","sourceMap":"255:3116:177:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c90816314ea35e71461084a575080632f52ebb7146106485780633f4ba83a146106225780634783f0ef146106005780635c975abb146105dc57806365d1f30b1461056257806367d9b44c14610473578063715018a61461041657806372806c5a146103f75780638456cb59146103ce5780638da5cb5b146103a55780639498bd7114610217578063aad1a008146101cc578063c3709caf146101635763f2fde38b03610011573461015f57602036600319011261015f576100e86108d2565b916100f161093b565b6001600160a01b0383161561010d578361010a84610993565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b503461015f57606036600319011261015f5761017d6108d2565b926044359067ffffffffffffffff82116101c957366023830112156101c95750926101b66101c0928560246020973693013591016108ed565b9060243590610a3c565b90519015158152f35b80fd5b50503461021357806003193601126102135760209160ff9082906001600160a01b036101f66108d2565b168152606685528181206024358252855220541690519015158152f35b5080fd5b503461015f57602036600319011261015f57803583549060ff8260081c161592838094610398575b8015610381575b156103275760ff1983811660011787559284610316575b5081156102d3575061027e60ff865460081c16610279816109dc565b6109dc565b61028733610993565b606555836067556068541660685561029d575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b606490602086519162461bcd60e51b8352820152601960248201527f4d65726b6c65526f6f742063616e7420626520656d7074792e000000000000006044820152fd5b61ffff19166101011786553861025d565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156102465750600160ff841614610246565b50600160ff84161061023f565b50503461021357816003193601126102135760335490516001600160a01b039091168152602090f35b83346101c957806003193601126101c9576103e761093b565b600160ff19606854161760685580f35b5050346102135781600319360112610213576020906067549051908152f35b83346101c957806003193601126101c95761042f61093b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5091903461021357806003193601126102135782359267ffffffffffffffff841161015f573660238501121561015f57830135916104b0836108ba565b936104bd83519586610898565b83855260209360248587019160051b8301019136831161055e57602401905b82821061053b575050506024356104f161093b565b815b855181101561053757610532906001600160a01b036105128289610b17565b51168452606686528484208385528652848420805460ff19169055610af2565b6104f3565b8280f35b81356001600160a01b038116810361055a5781529085019085016104dc565b8480fd5b8380fd5b8382346102135760203660031901126102135780359061058061093b565b60675490600182018092116105c95750806067558160655560ff19606854166068557f567738e2bb1cd8ded1f4f85ada2d94f3ccd4956306e4347c0710f99a011415318380a380f35b634e487b7160e01b845260119052602483fd5b50503461021357816003193601126102135760209060ff6068541690519015158152f35b8382346102135760203660031901126102135761061b61093b565b3560655580f35b83346101c957806003193601126101c95761063b61093b565b60ff196068541660685580f35b503461015f578160031936011261015f578035906024803567ffffffffffffffff808211610846573660238301121561084657818401359081116108465736838260051b840101116108465760ff606854166107f7576106b6916106af91843692016108ed565b8433610a3c565b156107b657338552602091606683528486209160675492838852845260ff868820541661075c575050338552606682528385209085528152828420805460ff191660011790558380838015610752575b8280929181923390f115610746577ef26f7fcd9e9238aed6e2f9ee35e05d5f84b0d8659e2235a2a61377c94170026065549160675494519384523393a480f35b505051903d90823e3d90fd5b6108fc9150610706565b855162461bcd60e51b8152918201849052602f908201527f596f75206861766520616c72656164792077697468647261776e20796f75722060448201526e32b73a34ba3632b2103a37b5b2b71760891b6064820152608490fd5b9060206064928186519362461bcd60e51b85528401528201527f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e6044820152fd5b855162461bcd60e51b81526020818601528084018490527f43616e6e6f742063616c6c207768656e20636f6e74726163742069732070617560448201526339b2b21760e11b6064820152608490fd5b8680fd5b8490346102135781600319360112610213576020906065548152f35b6060810190811067ffffffffffffffff82111761088257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761088257604052565b67ffffffffffffffff81116108825760051b60200190565b600435906001600160a01b03821682036108e857565b600080fd5b92916108f8826108ba565b916109066040519384610898565b829481845260208094019160051b81019283116108e857905b82821061092c5750505050565b8135815290830190830161091f565b6033546001600160a01b0316330361094f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156109e357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b909291926040918251602092838201926bffffffffffffffffffffffff199060601b168352603482015260348152610a7381610866565b51902091600080935b8651851015610ae657610abe90610a938689610b17565b51808211610ac45784519086820192835285820152848152610ab481610866565b5190205b94610af2565b93610a7c565b9084519086820192835285820152848152610ade81610866565b519020610ab8565b60655414955050505050565b6000198114610b015760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610b2b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220d09a6148d62118acfd123f6a1678acce0a0f5d6f18ca9e7702e2493691123c8564736f6c63430008120033","sourceMap":"255:3116:177:-:0;;;;;;;;;;;;-1:-1:-1;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:177;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;255:3116:177;;2402:22:39;255:3116:177;;2496:8:39;;;;:::i;:::-;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:177;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:177;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;255:3116:177;;:::i;:::-;;;;361:73;255:3116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:177;;;;;;;;;;;;;;3301:14:45;3347:34;;;;;;255:3116:177;3346:108:45;;;;255:3116:177;;;;-1:-1:-1;;255:3116:177;;;;;;;;;3562:65:45;;255:3116:177;903:24;;;255:3116;;;5366:69:45;255:3116:177;;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;994:22:177;255:3116;;1026:18;255:3116;1054:14;255:3116;;1054:14;255:3116;3647:99:45;;255:3116:177;;;3647:99:45;255:3116:177;3721:14:45;255:3116:177;;;;;;;;;;;;3721:14:45;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;3562:65:45;-1:-1:-1;;255:3116:177;;;;;3562:65:45;;;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:177;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;255:3116:177;;;;;3436:17:45;3346:108;;3347:34;255:3116:177;;;;;3365:16:45;3347:34;;255:3116:177;;;;;;;;;;;;;;1513:6:39;255:3116:177;;;-1:-1:-1;;;;;255:3116:177;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;3248:4:177;255:3116;;3239:13;255:3116;;;3239:13;255:3116;;;;;;;;;;;;;;;;;;;440:29;255:3116;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;255:3116:177;;-1:-1:-1;;;;;;255:3116:177;;;;;;;-1:-1:-1;;;;;255:3116:177;2806:40:39;255:3116:177;;2806:40:39;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;3070:13:177;3103:3;255:3116;;3085:16;;;;;3103:3;;-1:-1:-1;;;;;3144:8:177;255:3116;3144:8;;:::i;:::-;255:3116;;;;3122:21;255:3116;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:177;;;3103:3;:::i;:::-;3070:13;;3085:16;;255:3116;;;;;-1:-1:-1;;;;;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:177;;;;;;1303:62:39;;;:::i;:::-;2811:14:177;255:3116;;;;;;;;;;;;2811:14;255:3116;;2839:19;255:3116;;;2868:14;255:3116;;2868:14;255:3116;2897:35;;;;255:3116;;;-1:-1:-1;;;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;475:18;255:3116;;;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:177;;;;1303:62:39;;:::i;:::-;255:3116:177;2692:19;255:3116;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;255:3116:177;;3313:14;255:3116;;3313:14;255:3116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;755:6;255:3116;;;;1186:43;255:3116;;;;;;;;:::i;:::-;929:10:65;;1186:43:177;:::i;:::-;255:3116;;;929:10:65;255:3116:177;;;;1319:21;255:3116;;;;;;1355:14;255:3116;;;;;;;;;;;;;;;-1:-1:-1;;929:10:65;255:3116:177;;1319:21;255:3116;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:177;;;;;;;1580:23;;;;;255:3116;929:10:65;;;;;;;1580:23:177;;;;;1618:63;1633:9;255:3116;;1355:14;255:3116;;;;;;929:10:65;1618:63:177;;255:3116;;1580:23;255:3116;;;;;;;;;;;1580:23;;;-1:-1:-1;1580:23:177;;255:3116;;;-1:-1:-1;;;255:3116:177;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:177;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:177;;;;;;;;;;;;;;;;;;;;;;;;;;;331:24;255:3116;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;255:3116:177;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;1599:130:39;1513:6;255:3116:177;-1:-1:-1;;;;;255:3116:177;929:10:65;1662:23:39;255:3116:177;;1599:130:39:o;255:3116:177:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;255:3116:177;;-1:-1:-1;;;;;255:3116:177;;;-1:-1:-1;;;;;;255:3116:177;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;255:3116:177:-;;;;:::o;:::-;;;-1:-1:-1;;;255:3116:177;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:177;;;;;;;1694:362;;;;;255:3116;;;;1973:34;;;;;255:3116;;;;;;;;;;;;;;1973:34;;;;;:::i;:::-;255:3116;1963:45;;2230:13;-1:-1:-1;2230:13:177;2225:115;2263:3;255:3116;;2245:16;;;;;2263:3;2320:8;;;;;:::i;:::-;255:3116;2497:6;;;;;255:3116;;2532:22;;;;255:3116;;;;;;;2532:22;;;;;;:::i;:::-;255:3116;2522:33;;2497:110;2263:3;;:::i;:::-;2230:13;;;2497:110;255:3116;;;2584:22;;;;255:3116;;;;;;;2584:22;;;;;;:::i;:::-;255:3116;2574:33;;2497:110;;2245:16;2372:9;255:3116;2357:24;;-1:-1:-1;;;;;1694:362:177:o;255:3116::-;-1:-1:-1;;255:3116:177;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"claim(uint256,bytes32[])":"2f52ebb7","claimRoot()":"14ea35e7","createNewClaim(bytes32)":"65d1f30b","currentClaimId()":"72806c5a","initialize(bytes32)":"9498bd71","owner()":"8da5cb5b","pause()":"8456cb59","paused()":"5c975abb","renounceOwnership()":"715018a6","rewardClaimedForClaim(address,uint256)":"aad1a008","setClaimMappingToFalse(address[],uint256)":"67d9b44c","transferOwnership(address)":"f2fde38b","unpause()":"3f4ba83a","updateMerkleRoot(bytes32)":"4783f0ef","verifyEntitled(address,uint256,bytes32[])":"c3709caf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"claimId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"NewClaim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"claimId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amt\",\"type\":\"uint256\"}],\"name\":\"RoyaltyClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newRoot\",\"type\":\"bytes32\"}],\"name\":\"createNewClaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentClaimId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"rewardClaimedForClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addrs\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"claimId\",\"type\":\"uint256\"}],\"name\":\"setClaimMappingToFalse\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newRoot\",\"type\":\"bytes32\"}],\"name\":\"updateMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"verifyEntitled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/royalty/CollectorRoyaltiesClaim.sol\":\"CollectorRoyaltiesClaim\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"src/royalty/CollectorRoyaltiesClaim.sol\":{\"keccak256\":\"0xefeb7a400e714278fc6805aaf9cbd1e94df2382c4eb381084e48f7e5baaa54ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b003b9a95c5115056b82307c778f6218321327b67366fb60df478db554c777c\",\"dweb:/ipfs/QmPUAkDWYN8xJmtuounuL3uMxntrkHqcaBqYS4jLn5Yb4k\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"claimId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"root","type":"bytes32","indexed":true}],"type":"event","name":"NewClaim","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32","indexed":true},{"internalType":"address","name":"addr","type":"address","indexed":true},{"internalType":"uint256","name":"claimId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amt","type":"uint256","indexed":false}],"type":"event","name":"RoyaltyClaimed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"claim"},{"inputs":[],"stateMutability":"view","type":"function","name":"claimRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createNewClaim"},{"inputs":[],"stateMutability":"view","type":"function","name":"currentClaimId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pause"},{"inputs":[],"stateMutability":"view","type":"function","name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"rewardClaimedForClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"},{"internalType":"uint256","name":"claimId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setClaimMappingToFalse"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unpause"},{"inputs":[{"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateMerkleRoot"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"verifyEntitled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/royalty/CollectorRoyaltiesClaim.sol":"CollectorRoyaltiesClaim"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"src/royalty/CollectorRoyaltiesClaim.sol":{"keccak256":"0xefeb7a400e714278fc6805aaf9cbd1e94df2382c4eb381084e48f7e5baaa54ad","urls":["bzz-raw://2b003b9a95c5115056b82307c778f6218321327b67366fb60df478db554c777c","dweb:/ipfs/QmPUAkDWYN8xJmtuounuL3uMxntrkHqcaBqYS4jLn5Yb4k"],"license":"MIT"}},"version":1},"id":177} \ No newline at end of file +{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"claim","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimRoot","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createNewClaim","inputs":[{"name":"newRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"currentClaimId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardClaimedForClaim","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setClaimMappingToFalse","inputs":[{"name":"addrs","type":"address[]","internalType":"address[]"},{"name":"claimId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateMerkleRoot","inputs":[{"name":"newRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"verifyEntitled","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewClaim","inputs":[{"name":"claimId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"root","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoyaltyClaimed","inputs":[{"name":"root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"addr","type":"address","indexed":true,"internalType":"address"},{"name":"claimId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657610b77908161001c8239f35b600080fdfe60806040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c90816314ea35e71461084a575080632f52ebb7146106485780633f4ba83a146106225780634783f0ef146106005780635c975abb146105dc57806365d1f30b1461056257806367d9b44c14610473578063715018a61461041657806372806c5a146103f75780638456cb59146103ce5780638da5cb5b146103a55780639498bd7114610217578063aad1a008146101cc578063c3709caf146101635763f2fde38b03610011573461015f57602036600319011261015f576100e86108d2565b916100f161093b565b6001600160a01b0383161561010d578361010a84610993565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b503461015f57606036600319011261015f5761017d6108d2565b926044359067ffffffffffffffff82116101c957366023830112156101c95750926101b66101c0928560246020973693013591016108ed565b9060243590610a3c565b90519015158152f35b80fd5b50503461021357806003193601126102135760209160ff9082906001600160a01b036101f66108d2565b168152606685528181206024358252855220541690519015158152f35b5080fd5b503461015f57602036600319011261015f57803583549060ff8260081c161592838094610398575b8015610381575b156103275760ff1983811660011787559284610316575b5081156102d3575061027e60ff865460081c16610279816109dc565b6109dc565b61028733610993565b606555836067556068541660685561029d575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b606490602086519162461bcd60e51b8352820152601960248201527f4d65726b6c65526f6f742063616e7420626520656d7074792e000000000000006044820152fd5b61ffff19166101011786553861025d565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156102465750600160ff841614610246565b50600160ff84161061023f565b50503461021357816003193601126102135760335490516001600160a01b039091168152602090f35b83346101c957806003193601126101c9576103e761093b565b600160ff19606854161760685580f35b5050346102135781600319360112610213576020906067549051908152f35b83346101c957806003193601126101c95761042f61093b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5091903461021357806003193601126102135782359267ffffffffffffffff841161015f573660238501121561015f57830135916104b0836108ba565b936104bd83519586610898565b83855260209360248587019160051b8301019136831161055e57602401905b82821061053b575050506024356104f161093b565b815b855181101561053757610532906001600160a01b036105128289610b17565b51168452606686528484208385528652848420805460ff19169055610af2565b6104f3565b8280f35b81356001600160a01b038116810361055a5781529085019085016104dc565b8480fd5b8380fd5b8382346102135760203660031901126102135780359061058061093b565b60675490600182018092116105c95750806067558160655560ff19606854166068557f567738e2bb1cd8ded1f4f85ada2d94f3ccd4956306e4347c0710f99a011415318380a380f35b634e487b7160e01b845260119052602483fd5b50503461021357816003193601126102135760209060ff6068541690519015158152f35b8382346102135760203660031901126102135761061b61093b565b3560655580f35b83346101c957806003193601126101c95761063b61093b565b60ff196068541660685580f35b503461015f578160031936011261015f578035906024803567ffffffffffffffff808211610846573660238301121561084657818401359081116108465736838260051b840101116108465760ff606854166107f7576106b6916106af91843692016108ed565b8433610a3c565b156107b657338552602091606683528486209160675492838852845260ff868820541661075c575050338552606682528385209085528152828420805460ff191660011790558380838015610752575b8280929181923390f115610746577ef26f7fcd9e9238aed6e2f9ee35e05d5f84b0d8659e2235a2a61377c94170026065549160675494519384523393a480f35b505051903d90823e3d90fd5b6108fc9150610706565b855162461bcd60e51b8152918201849052602f908201527f596f75206861766520616c72656164792077697468647261776e20796f75722060448201526e32b73a34ba3632b2103a37b5b2b71760891b6064820152608490fd5b9060206064928186519362461bcd60e51b85528401528201527f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e6044820152fd5b855162461bcd60e51b81526020818601528084018490527f43616e6e6f742063616c6c207768656e20636f6e74726163742069732070617560448201526339b2b21760e11b6064820152608490fd5b8680fd5b8490346102135781600319360112610213576020906065548152f35b6060810190811067ffffffffffffffff82111761088257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761088257604052565b67ffffffffffffffff81116108825760051b60200190565b600435906001600160a01b03821682036108e857565b600080fd5b92916108f8826108ba565b916109066040519384610898565b829481845260208094019160051b81019283116108e857905b82821061092c5750505050565b8135815290830190830161091f565b6033546001600160a01b0316330361094f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156109e357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b909291926040918251602092838201926bffffffffffffffffffffffff199060601b168352603482015260348152610a7381610866565b51902091600080935b8651851015610ae657610abe90610a938689610b17565b51808211610ac45784519086820192835285820152848152610ab481610866565b5190205b94610af2565b93610a7c565b9084519086820192835285820152848152610ade81610866565b519020610ab8565b60655414955050505050565b6000198114610b015760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610b2b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220c055d4a71325d22ef8fe035ffa35de22f850d883ca5ee58aebbb45f8e75acf5364736f6c63430008120033","sourceMap":"255:3116:188:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c90816314ea35e71461084a575080632f52ebb7146106485780633f4ba83a146106225780634783f0ef146106005780635c975abb146105dc57806365d1f30b1461056257806367d9b44c14610473578063715018a61461041657806372806c5a146103f75780638456cb59146103ce5780638da5cb5b146103a55780639498bd7114610217578063aad1a008146101cc578063c3709caf146101635763f2fde38b03610011573461015f57602036600319011261015f576100e86108d2565b916100f161093b565b6001600160a01b0383161561010d578361010a84610993565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b503461015f57606036600319011261015f5761017d6108d2565b926044359067ffffffffffffffff82116101c957366023830112156101c95750926101b66101c0928560246020973693013591016108ed565b9060243590610a3c565b90519015158152f35b80fd5b50503461021357806003193601126102135760209160ff9082906001600160a01b036101f66108d2565b168152606685528181206024358252855220541690519015158152f35b5080fd5b503461015f57602036600319011261015f57803583549060ff8260081c161592838094610398575b8015610381575b156103275760ff1983811660011787559284610316575b5081156102d3575061027e60ff865460081c16610279816109dc565b6109dc565b61028733610993565b606555836067556068541660685561029d575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b606490602086519162461bcd60e51b8352820152601960248201527f4d65726b6c65526f6f742063616e7420626520656d7074792e000000000000006044820152fd5b61ffff19166101011786553861025d565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156102465750600160ff841614610246565b50600160ff84161061023f565b50503461021357816003193601126102135760335490516001600160a01b039091168152602090f35b83346101c957806003193601126101c9576103e761093b565b600160ff19606854161760685580f35b5050346102135781600319360112610213576020906067549051908152f35b83346101c957806003193601126101c95761042f61093b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5091903461021357806003193601126102135782359267ffffffffffffffff841161015f573660238501121561015f57830135916104b0836108ba565b936104bd83519586610898565b83855260209360248587019160051b8301019136831161055e57602401905b82821061053b575050506024356104f161093b565b815b855181101561053757610532906001600160a01b036105128289610b17565b51168452606686528484208385528652848420805460ff19169055610af2565b6104f3565b8280f35b81356001600160a01b038116810361055a5781529085019085016104dc565b8480fd5b8380fd5b8382346102135760203660031901126102135780359061058061093b565b60675490600182018092116105c95750806067558160655560ff19606854166068557f567738e2bb1cd8ded1f4f85ada2d94f3ccd4956306e4347c0710f99a011415318380a380f35b634e487b7160e01b845260119052602483fd5b50503461021357816003193601126102135760209060ff6068541690519015158152f35b8382346102135760203660031901126102135761061b61093b565b3560655580f35b83346101c957806003193601126101c95761063b61093b565b60ff196068541660685580f35b503461015f578160031936011261015f578035906024803567ffffffffffffffff808211610846573660238301121561084657818401359081116108465736838260051b840101116108465760ff606854166107f7576106b6916106af91843692016108ed565b8433610a3c565b156107b657338552602091606683528486209160675492838852845260ff868820541661075c575050338552606682528385209085528152828420805460ff191660011790558380838015610752575b8280929181923390f115610746577ef26f7fcd9e9238aed6e2f9ee35e05d5f84b0d8659e2235a2a61377c94170026065549160675494519384523393a480f35b505051903d90823e3d90fd5b6108fc9150610706565b855162461bcd60e51b8152918201849052602f908201527f596f75206861766520616c72656164792077697468647261776e20796f75722060448201526e32b73a34ba3632b2103a37b5b2b71760891b6064820152608490fd5b9060206064928186519362461bcd60e51b85528401528201527f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e6044820152fd5b855162461bcd60e51b81526020818601528084018490527f43616e6e6f742063616c6c207768656e20636f6e74726163742069732070617560448201526339b2b21760e11b6064820152608490fd5b8680fd5b8490346102135781600319360112610213576020906065548152f35b6060810190811067ffffffffffffffff82111761088257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761088257604052565b67ffffffffffffffff81116108825760051b60200190565b600435906001600160a01b03821682036108e857565b600080fd5b92916108f8826108ba565b916109066040519384610898565b829481845260208094019160051b81019283116108e857905b82821061092c5750505050565b8135815290830190830161091f565b6033546001600160a01b0316330361094f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156109e357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b909291926040918251602092838201926bffffffffffffffffffffffff199060601b168352603482015260348152610a7381610866565b51902091600080935b8651851015610ae657610abe90610a938689610b17565b51808211610ac45784519086820192835285820152848152610ab481610866565b5190205b94610af2565b93610a7c565b9084519086820192835285820152848152610ade81610866565b519020610ab8565b60655414955050505050565b6000198114610b015760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610b2b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220c055d4a71325d22ef8fe035ffa35de22f850d883ca5ee58aebbb45f8e75acf5364736f6c63430008120033","sourceMap":"255:3116:188:-:0;;;;;;;;;;;;-1:-1:-1;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:188;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;255:3116:188;;2402:22:42;255:3116:188;;2496:8:42;;;;:::i;:::-;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:188;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:188;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;255:3116:188;;:::i;:::-;;;;361:73;255:3116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:188;;;;;;;;;;;;;;3301:14:48;3347:34;;;;;;255:3116:188;3346:108:48;;;;255:3116:188;;;;-1:-1:-1;;255:3116:188;;;;;;;;;3562:65:48;;255:3116:188;903:24;;;255:3116;;;5366:69:48;255:3116:188;;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;994:22:188;255:3116;;1026:18;255:3116;1054:14;255:3116;;1054:14;255:3116;3647:99:48;;255:3116:188;;;3647:99:48;255:3116:188;3721:14:48;255:3116:188;;;;;;;;;;;;3721:14:48;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;255:3116:188;;;;;3562:65:48;;;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:188;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;255:3116:188;;;;;3436:17:48;3346:108;;3347:34;255:3116:188;;;;;3365:16:48;3347:34;;255:3116:188;;;;;;;;;;;;;;1513:6:42;255:3116:188;;;-1:-1:-1;;;;;255:3116:188;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;3248:4:188;255:3116;;3239:13;255:3116;;;3239:13;255:3116;;;;;;;;;;;;;;;;;;;440:29;255:3116;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;255:3116:188;;-1:-1:-1;;;;;;255:3116:188;;;;;;;-1:-1:-1;;;;;255:3116:188;2806:40:42;255:3116:188;;2806:40:42;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;3070:13:188;3103:3;255:3116;;3085:16;;;;;3103:3;;-1:-1:-1;;;;;3144:8:188;255:3116;3144:8;;:::i;:::-;255:3116;;;;3122:21;255:3116;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:188;;;3103:3;:::i;:::-;3070:13;;3085:16;;255:3116;;;;;-1:-1:-1;;;;;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:188;;;;;;1303:62:42;;;:::i;:::-;2811:14:188;255:3116;;;;;;;;;;;;2811:14;255:3116;;2839:19;255:3116;;;2868:14;255:3116;;2868:14;255:3116;2897:35;;;;255:3116;;;-1:-1:-1;;;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;475:18;255:3116;;;;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:188;;;;1303:62:42;;:::i;:::-;255:3116:188;2692:19;255:3116;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;255:3116:188;;3313:14;255:3116;;3313:14;255:3116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;755:6;255:3116;;;;1186:43;255:3116;;;;;;;;:::i;:::-;929:10:68;;1186:43:188;:::i;:::-;255:3116;;;929:10:68;255:3116:188;;;;1319:21;255:3116;;;;;;1355:14;255:3116;;;;;;;;;;;;;;;-1:-1:-1;;929:10:68;255:3116:188;;1319:21;255:3116;;;;;;;;;;;;;;;-1:-1:-1;;255:3116:188;;;;;;;1580:23;;;;;255:3116;929:10:68;;;;;;;1580:23:188;;;;;1618:63;1633:9;255:3116;;1355:14;255:3116;;;;;;929:10:68;1618:63:188;;255:3116;;1580:23;255:3116;;;;;;;;;;;1580:23;;;-1:-1:-1;1580:23:188;;255:3116;;;-1:-1:-1;;;255:3116:188;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:188;;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:188;;;;;;;;;;;;;;;;;;;;;;;;;;;331:24;255:3116;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;255:3116:188;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;1599:130:42;1513:6;255:3116:188;-1:-1:-1;;;;;255:3116:188;929:10:68;1662:23:42;255:3116:188;;1599:130:42:o;255:3116:188:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;255:3116:188;;-1:-1:-1;;;;;255:3116:188;;;-1:-1:-1;;;;;;255:3116:188;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;255:3116:188:-;;;;:::o;:::-;;;-1:-1:-1;;;255:3116:188;;;;;;;;;;;;;;;;;-1:-1:-1;;;255:3116:188;;;;;;;1694:362;;;;;255:3116;;;;1973:34;;;;;255:3116;;;;;;;;;;;;;;1973:34;;;;;:::i;:::-;255:3116;1963:45;;2230:13;-1:-1:-1;2230:13:188;2225:115;2263:3;255:3116;;2245:16;;;;;2263:3;2320:8;;;;;:::i;:::-;255:3116;2497:6;;;;;255:3116;;2532:22;;;;255:3116;;;;;;;2532:22;;;;;;:::i;:::-;255:3116;2522:33;;2497:110;2263:3;;:::i;:::-;2230:13;;;2497:110;255:3116;;;2584:22;;;;255:3116;;;;;;;2584:22;;;;;;:::i;:::-;255:3116;2574:33;;2497:110;;2245:16;2372:9;255:3116;2357:24;;-1:-1:-1;;;;;1694:362:188:o;255:3116::-;-1:-1:-1;;255:3116:188;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"claim(uint256,bytes32[])":"2f52ebb7","claimRoot()":"14ea35e7","createNewClaim(bytes32)":"65d1f30b","currentClaimId()":"72806c5a","initialize(bytes32)":"9498bd71","owner()":"8da5cb5b","pause()":"8456cb59","paused()":"5c975abb","renounceOwnership()":"715018a6","rewardClaimedForClaim(address,uint256)":"aad1a008","setClaimMappingToFalse(address[],uint256)":"67d9b44c","transferOwnership(address)":"f2fde38b","unpause()":"3f4ba83a","updateMerkleRoot(bytes32)":"4783f0ef","verifyEntitled(address,uint256,bytes32[])":"c3709caf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"claimId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"NewClaim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"claimId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amt\",\"type\":\"uint256\"}],\"name\":\"RoyaltyClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newRoot\",\"type\":\"bytes32\"}],\"name\":\"createNewClaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentClaimId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"rewardClaimedForClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addrs\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"claimId\",\"type\":\"uint256\"}],\"name\":\"setClaimMappingToFalse\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newRoot\",\"type\":\"bytes32\"}],\"name\":\"updateMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"verifyEntitled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/royalty/CollectorRoyaltiesClaim.sol\":\"CollectorRoyaltiesClaim\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"src/royalty/CollectorRoyaltiesClaim.sol\":{\"keccak256\":\"0xefeb7a400e714278fc6805aaf9cbd1e94df2382c4eb381084e48f7e5baaa54ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b003b9a95c5115056b82307c778f6218321327b67366fb60df478db554c777c\",\"dweb:/ipfs/QmPUAkDWYN8xJmtuounuL3uMxntrkHqcaBqYS4jLn5Yb4k\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"claimId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"root","type":"bytes32","indexed":true}],"type":"event","name":"NewClaim","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32","indexed":true},{"internalType":"address","name":"addr","type":"address","indexed":true},{"internalType":"uint256","name":"claimId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amt","type":"uint256","indexed":false}],"type":"event","name":"RoyaltyClaimed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"claim"},{"inputs":[],"stateMutability":"view","type":"function","name":"claimRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createNewClaim"},{"inputs":[],"stateMutability":"view","type":"function","name":"currentClaimId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pause"},{"inputs":[],"stateMutability":"view","type":"function","name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"rewardClaimedForClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"},{"internalType":"uint256","name":"claimId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setClaimMappingToFalse"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unpause"},{"inputs":[{"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateMerkleRoot"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"verifyEntitled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/royalty/CollectorRoyaltiesClaim.sol":"CollectorRoyaltiesClaim"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"src/royalty/CollectorRoyaltiesClaim.sol":{"keccak256":"0xefeb7a400e714278fc6805aaf9cbd1e94df2382c4eb381084e48f7e5baaa54ad","urls":["bzz-raw://2b003b9a95c5115056b82307c778f6218321327b67366fb60df478db554c777c","dweb:/ipfs/QmPUAkDWYN8xJmtuounuL3uMxntrkHqcaBqYS4jLn5Yb4k"],"license":"MIT"}},"version":1},"id":188} \ No newline at end of file diff --git a/abis/CreatorRegistry.json b/abis/CreatorRegistry.json index 258f0a9..aab0763 100644 --- a/abis/CreatorRegistry.json +++ b/abis/CreatorRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"iERC721CreatorImplementations","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"overrideCreator","inputs":[{"name":"oldCreatorAddress","type":"address","internalType":"address"},{"name":"newCreatorAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIERC721Creator","inputs":[{"name":"contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"CreatorOverrideCreated","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x604060808152346101ee57610a04908138038061001b81610209565b938439820160209081848203126101ee5783516001600160401b03948582116101ee570181601f820112156101ee5780519485116101f3578460051b908380610065818501610209565b8098815201928201019283116101ee578301905b8282106101cf57505060008054336001600160a01b03198216811783558551929593506001600160a01b03929183167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08780a36103e88651101561015b5750835b855160ff82169081101561014d5780836100f581938a61022e565b5116610126575b505060ff809116908114610112576001016100da565b634e487b7160e01b85526011600452602485fd5b610130908861022e565b5116855260018085528386209060ff1982541617905581386100fc565b83516107ab90816102598239f35b62461bcd60e51b815260048101849052604360248201527f636f6e7374727563746f723a3a43616e6e6f74206d61726b206d6f726520746860448201527f616e2031303030206164647265737365732061732049455243373231437265616064820152623a37b960e91b608482015260a490fd5b81516001600160a01b03811681036101ee578152908301908301610079565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b038111838210176101f357604052565b80518210156102425760209160051b010190565b634e487b7160e01b600052603260045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c9081633a85757c1461007a57508063715018a6146100755780638da5cb5b14610070578063b85ed7e41461006b578063e175500e146100665763f2fde38b1461006157600080fd5b61031d565b610206565b6101c9565b6101a0565b610145565b3461012c57602036600319011261012c576004356100978161012f565b61009f6103e4565b6001600160a01b031680156100cc57815260016020526100c960408220600160ff19825416179055565b80f35b60405162461bcd60e51b815260206004820152603260248201527f7365744945524337323143726561746f723a3a5f636f6e747261637441646472604482015271195cdcc818d85b9b9bdd081899481b9d5b1b60721b6064820152608490fd5b80fd5b6001600160a01b0381160361014057565b600080fd5b346101405760008060031936011261012c5761015f6103e4565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b34610140576000366003190112610140576000546040516001600160a01b039091168152602090f35b346101405760403660031901126101405760206101f46004356101eb8161012f565b602435906104b4565b6040516001600160a01b039091168152f35b34610140576040366003190112610140576004356102238161012f565b60243561022f8161012f565b6102376103e4565b6001600160a01b038281169182156102be576102786102979282169461025e86151561070f565b6001600160a01b0316600090815260026020526040902090565b80546001600160a01b0319166001600160a01b03909216919091179055565b7fa123a18d8b26c9fe4a71a5b853d75b966847961b0e219a0a06728c2074265735600080a3005b60405162461bcd60e51b815260206004820152603160248201527f6f7665727269646543726561746f723a3a6f6c6443726561746f7241646472656044820152701cdcc818d85b9b9bdd081899481b9d5b1b607a1b6064820152608490fd5b346101405760203660031901126101405760043561033a8161012f565b6103426103e4565b6001600160a01b03908116801561039057600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b6000546001600160a01b031633036103f857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6060810190811067ffffffffffffffff82111761045857604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761045857604052565b9081602091031261014057516104a58161012f565b90565b6040513d6000823e3d90fd5b906000916104c1816105d7565b80156105b5575b610543575b50506001600160a01b038116156104a5576001600160a01b03811660009081526002602052604090206105189061050c905b546001600160a01b031690565b6001600160a01b031690565b61051f5790565b6001600160a01b031660009081526002602052604090206104a59061050c906104ff565b604051631030681960e21b81526004810192909252602090829060249082906001600160a01b03165afa9182156105b05791610582575b5038806104cd565b6105a3915060203d81116105a9575b61059b818361046e565b810190610490565b3861057a565b503d610591565b6104a8565b506001600160a01b03811660009081526001602052604090205460ff166104c8565b6040519060208083018160006301ffc9a760e01b95868452866024820152602481526106028161043c565b51617530938685fa933d60005190866106a7575b508561069d575b508461063a575b50505081610630575090565b6104a591506106b2565b83945090600091839460405185810192835263ffffffff60e01b6024820152602481526106668161043c565b5192fa60005190913d83610692575b505081610688575b501590388080610624565b905015153861067d565b101591503880610675565b151594503861061d565b841115955038610616565b6000602091604051838101906301ffc9a760e01b8252631030681960e21b6024820152602481526106e28161043c565b5191617530fa6000513d82610703575b50816106fc575090565b9050151590565b602011159150386106f2565b1561071657565b60405162461bcd60e51b815260206004820152603160248201527f6f7665727269646543726561746f723a3a6e657743726561746f7241646472656044820152701cdcc818d85b9b9bdd081899481b9d5b1b607a1b6064820152608490fdfea264697066735822122011752e5d19f084eb7f14113f46e21c1bd773f37b3a91187271dbfb53365e56b864736f6c63430008120033","sourceMap":"355:2457:170:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;355:2457:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:170;;719:10:99;-1:-1:-1;;;;;;355:2457:170;;;;;;;;-1:-1:-1;;355:2457:170;-1:-1:-1;;;;;;355:2457:170;;;;2566:40:78;-1:-1:-1;;2566:40:78;816:4:170;355:2457;;777:43;355:2457;;;929:11;;984:3;355:2457;;;;;942:40;;;;;;1007:32;;;;;;;:::i;:::-;355:2457;;1003:188;;984:3;;;355:2457;;;;;;;;;;;929:11;;355:2457;-1:-1:-1;;;355:2457:170;;;;;;;;1003:188;1119:32;;;;:::i;:::-;355:2457;;;;;;;;;;;;;;;;;;;;1003:188;;;;942:40;;355:2457;;;;;;;;;-1:-1:-1;;;355:2457:170;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:170;;;;;;;;;;-1:-1:-1;;;;;355:2457:170;;;;;;;;;;;;;;;;;-1:-1:-1;355:2457:170;;;;;;-1:-1:-1;355:2457:170;;;;;-1:-1:-1;355:2457:170;;;;;;;;-1:-1:-1;;355:2457:170;;;-1:-1:-1;;;;;355:2457:170;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c9081633a85757c1461007a57508063715018a6146100755780638da5cb5b14610070578063b85ed7e41461006b578063e175500e146100665763f2fde38b1461006157600080fd5b61031d565b610206565b6101c9565b6101a0565b610145565b3461012c57602036600319011261012c576004356100978161012f565b61009f6103e4565b6001600160a01b031680156100cc57815260016020526100c960408220600160ff19825416179055565b80f35b60405162461bcd60e51b815260206004820152603260248201527f7365744945524337323143726561746f723a3a5f636f6e747261637441646472604482015271195cdcc818d85b9b9bdd081899481b9d5b1b60721b6064820152608490fd5b80fd5b6001600160a01b0381160361014057565b600080fd5b346101405760008060031936011261012c5761015f6103e4565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b34610140576000366003190112610140576000546040516001600160a01b039091168152602090f35b346101405760403660031901126101405760206101f46004356101eb8161012f565b602435906104b4565b6040516001600160a01b039091168152f35b34610140576040366003190112610140576004356102238161012f565b60243561022f8161012f565b6102376103e4565b6001600160a01b038281169182156102be576102786102979282169461025e86151561070f565b6001600160a01b0316600090815260026020526040902090565b80546001600160a01b0319166001600160a01b03909216919091179055565b7fa123a18d8b26c9fe4a71a5b853d75b966847961b0e219a0a06728c2074265735600080a3005b60405162461bcd60e51b815260206004820152603160248201527f6f7665727269646543726561746f723a3a6f6c6443726561746f7241646472656044820152701cdcc818d85b9b9bdd081899481b9d5b1b607a1b6064820152608490fd5b346101405760203660031901126101405760043561033a8161012f565b6103426103e4565b6001600160a01b03908116801561039057600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b6000546001600160a01b031633036103f857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6060810190811067ffffffffffffffff82111761045857604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761045857604052565b9081602091031261014057516104a58161012f565b90565b6040513d6000823e3d90fd5b906000916104c1816105d7565b80156105b5575b610543575b50506001600160a01b038116156104a5576001600160a01b03811660009081526002602052604090206105189061050c905b546001600160a01b031690565b6001600160a01b031690565b61051f5790565b6001600160a01b031660009081526002602052604090206104a59061050c906104ff565b604051631030681960e21b81526004810192909252602090829060249082906001600160a01b03165afa9182156105b05791610582575b5038806104cd565b6105a3915060203d81116105a9575b61059b818361046e565b810190610490565b3861057a565b503d610591565b6104a8565b506001600160a01b03811660009081526001602052604090205460ff166104c8565b6040519060208083018160006301ffc9a760e01b95868452866024820152602481526106028161043c565b51617530938685fa933d60005190866106a7575b508561069d575b508461063a575b50505081610630575090565b6104a591506106b2565b83945090600091839460405185810192835263ffffffff60e01b6024820152602481526106668161043c565b5192fa60005190913d83610692575b505081610688575b501590388080610624565b905015153861067d565b101591503880610675565b151594503861061d565b841115955038610616565b6000602091604051838101906301ffc9a760e01b8252631030681960e21b6024820152602481526106e28161043c565b5191617530fa6000513d82610703575b50816106fc575090565b9050151590565b602011159150386106f2565b1561071657565b60405162461bcd60e51b815260206004820152603160248201527f6f7665727269646543726561746f723a3a6e657743726561746f7241646472656044820152701cdcc818d85b9b9bdd081899481b9d5b1b607a1b6064820152608490fdfea264697066735822122011752e5d19f084eb7f14113f46e21c1bd773f37b3a91187271dbfb53365e56b864736f6c63430008120033","sourceMap":"355:2457:170:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;355:2457:170;;;;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;-1:-1:-1;;;;;355:2457:170;2639:29;;355:2457;;469:10;;355:2457;;469:10;2755:48;355:2457;469:10;;2799:4;355:2457;;;;;;;;;2755:48;355:2457;;;;;-1:-1:-1;;;355:2457:170;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:170;;;;;;;;;;;-1:-1:-1;;;;;355:2457:170;;;;;:::o;:::-;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;355:2457:170;;-1:-1:-1;;;;;;355:2457:170;;;;;;-1:-1:-1;;;;;355:2457:170;2566:40:78;355:2457:170;;2566:40:78;355:2457:170;;;;;;;;-1:-1:-1;;355:2457:170;;;;;;;;-1:-1:-1;;;;;355:2457:170;;;;;;;;;;;;;;-1:-1:-1;;355:2457:170;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;-1:-1:-1;;;;;355:2457:170;;;;;;;;;;;;-1:-1:-1;;355:2457:170;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;-1:-1:-1;;;;;355:2457:170;;;;2141:31;;355:2457;;2394:35;:55;355:2457;;;2278:31;2257:127;2278:31;;;2257:127;:::i;:::-;-1:-1:-1;;;;;355:2457:170;469:10;;;;2394:16;469:10;;;;;;;2394:35;355:2457;;-1:-1:-1;;;;;;355:2457:170;-1:-1:-1;;;;;355:2457:170;;;;;;;;;;2394:55;2464:60;-1:-1:-1;2464:60:170;;355:2457;;;;-1:-1:-1;;;355:2457:170;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:170;;;;;;;;;;;;;-1:-1:-1;;355:2457:170;;;;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;-1:-1:-1;;;;;355:2457:170;;;2162:22:78;;355:2457:170;;2518:6:78;355:2457:170;;-1:-1:-1;;;;;;355:2457:170;;;;;;2518:6:78;;355:2457:170;2566:40:78;2518:6;;2566:40;355:2457:170;;;;;-1:-1:-1;;;355:2457:170;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:170;;;;;;;1359:130:78;1273:6;355:2457:170;-1:-1:-1;;;;;355:2457:170;719:10:99;1422:23:78;355:2457:170;;1359:130:78:o;355:2457:170:-;;;;;;;;;;;;;;;;;;;;;;;;;469:10;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;355:2457;;469:10;;;;;;;1213:771;;1416:1;1447:124;;;;:::i;:::-;:170;;;;1213:771;1430:326;;1213:771;-1:-1:-1;;;;;;;355:2457:170;;1770:21;1766:66;;-1:-1:-1;;;;;355:2457:170;;469:10;;;;2394:16;469:10;;;;;1846:39;;:25;;;355:2457;-1:-1:-1;;;;;355:2457:170;;;1846:25;-1:-1:-1;;;;;355:2457:170;;;1846:39;1842:111;;1213:771;:::o;1842:111::-;-1:-1:-1;;;;;355:2457:170;469:10;;;;2394:16;469:10;;;;;1908:34;;1916:25;;;469:10;1430:326;355:2457;;-1:-1:-1;;;1677:54:170;;;;;469:10;;;;1677:54;;355:2457;;469:10;;355:2457;;-1:-1:-1;;;;;355:2457:170;1677:54;;;;;;;;;;1430:326;1642:103;1430:326;;;;1677:54;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;1447:170::-;-1:-1:-1;;;;;;355:2457:170;;469:10;;;;355:2457;469:10;;;;;;;;1447:170;;1349:282:104;355:2457:170;;4592:71:104;;;;;1017:25;-1:-1:-1;1017:25:104;;;4592:71;;;;;;;;355:2457:170;4592:71:104;;;;;;:::i;:::-;4784:212;;;;;;;;-1:-1:-1;4784:212:104;5013:29;;;;1349:282;5013:48;;;;1349:282;975:149;;;;1349:282;1543:81;;;;;;1536:88;1349:282;:::o;1543:81::-;1570:54;;;;:::i;975:149::-;355:2457:170;;;;-1:-1:-1;355:2457:170;;;;;4592:71:104;;;;;;355:2457:170;;;4592:71:104;;;355:2457:170;4592:71:104;;;;;;:::i;:::-;4784:212;;;-1:-1:-1;4784:212:104;;;;;5013:29;;975:149;5013:48;;;;;975:149;1059:65;;975:149;;;;;;5013:48;5046:15;;;;5013:48;;;:29;5024:18;;;-1:-1:-1;5013:29:104;;;;:48;5046:15;;;-1:-1:-1;5013:48:104;;;:29;5024:18;-1:-1:-1;5024:18:104;;-1:-1:-1;5013:29:104;;;4421:647;-1:-1:-1;4592:71:104;4421:647;355:2457:170;;4592:71:104;;;1017:25;;;;4592:71;;355:2457:170;;;4592:71:104;;;355:2457:170;4592:71:104;;;;;;:::i;:::-;4784:212;;;;-1:-1:-1;4784:212:104;;5013:29;;;4421:647;5013:48;;;;5006:55;4421:647;:::o;5013:48::-;5046:15;;;;4421:647;:::o;5013:29::-;4592:71;-1:-1:-1;5024:18:104;;-1:-1:-1;5013:29:104;;;355:2457:170;;;;:::o;:::-;;;-1:-1:-1;;;355:2457:170;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:170;;;;;;","linkReferences":{}},"methodIdentifiers":{"overrideCreator(address,address)":"e175500e","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setIERC721Creator(address)":"3a85757c","tokenCreator(address,uint256)":"b85ed7e4","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"iERC721CreatorImplementations\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"CreatorOverrideCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oldCreatorAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newCreatorAddress\",\"type\":\"address\"}],\"name\":\"overrideCreator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"setIERC721Creator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/CreatorRegistry.sol\":\"CreatorRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0xfaac7b78ce0d708485e86adee681ee1ff531a6916306fbbe50fd243afed11a9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0e06a603bed3f77978db909bd7619b1dbc0296bd3be8e3df51b059c0438351\",\"dweb:/ipfs/QmaZXsJrwkhWWznAWMEJeGHn4EYh5X4wdEc5Jkp43PQvDn\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/registry/CreatorRegistry.sol\":{\"keccak256\":\"0xec3e2bb64b6c11afd4f131735f108236a314128f3d13a02444dd5b7e10ed01d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26250355c4f8b1fad3f6327489d90771a68f038cb60a06c9814a154426b33b35\",\"dweb:/ipfs/QmaKXzicKZCvVXcTLojfWv9vWGavbPiiYTQjXociMjf2Fg\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"iERC721CreatorImplementations","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"CreatorOverrideCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"oldCreatorAddress","type":"address"},{"internalType":"address","name":"newCreatorAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"overrideCreator"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setIERC721Creator"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/CreatorRegistry.sol":"CreatorRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0xfaac7b78ce0d708485e86adee681ee1ff531a6916306fbbe50fd243afed11a9a","urls":["bzz-raw://2d0e06a603bed3f77978db909bd7619b1dbc0296bd3be8e3df51b059c0438351","dweb:/ipfs/QmaZXsJrwkhWWznAWMEJeGHn4EYh5X4wdEc5Jkp43PQvDn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"src/registry/CreatorRegistry.sol":{"keccak256":"0xec3e2bb64b6c11afd4f131735f108236a314128f3d13a02444dd5b7e10ed01d7","urls":["bzz-raw://26250355c4f8b1fad3f6327489d90771a68f038cb60a06c9814a154426b33b35","dweb:/ipfs/QmaKXzicKZCvVXcTLojfWv9vWGavbPiiYTQjXociMjf2Fg"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":170} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"iERC721CreatorImplementations","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"overrideCreator","inputs":[{"name":"oldCreatorAddress","type":"address","internalType":"address"},{"name":"newCreatorAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIERC721Creator","inputs":[{"name":"contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"CreatorOverrideCreated","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234610200576109ff8038038061001981610218565b928339810190602081830312610200578051906001600160401b038211610200570181601f82011215610200578051916001600160401b038311610204578260051b9160208061006a818601610218565b80968152019382010191821161020057602001915b8183106101e0575f8054336001600160a01b0319821681178355604051879390926001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36103e88251101561016c57505f5b81519060ff81169182101561015d5760ff916001600160a01b03610100828661023d565b511661012d575b501660ff8114610119576001016100dc565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b0390610140908561023d565b51165f52600160205260405f206001831982541617905583610107565b60405161079990816102668239f35b62461bcd60e51b815260206004820152604360248201527f636f6e7374727563746f723a3a43616e6e6f74206d61726b206d6f726520746860448201527f616e2031303030206164647265737365732061732049455243373231437265616064820152623a37b960e91b608482015260a490fd5b82516001600160a01b03811681036102005781526020928301920161007f565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b0381118382101761020457604052565b80518210156102515760209160051b010190565b634e487b7160e01b5f52603260045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80633a85757c14610074578063715018a61461006f5780638da5cb5b1461006a578063b85ed7e414610065578063e175500e146100605763f2fde38b1461005b575f80fd5b610313565b6101f5565b6101b8565b610191565b61013a565b346101255760203660031901126101255760043561009181610129565b6100996105c4565b6001600160a01b031680156100c5575f5260016020526100c360405f20600160ff19825416179055565b005b60405162461bcd60e51b815260206004820152603260248201527f7365744945524337323143726561746f723a3a5f636f6e747261637441646472604482015271195cdcc818d85b9b9bdd081899481b9d5b1b60721b6064820152608490fd5b5f80fd5b6001600160a01b0381160361012557565b34610125575f366003190112610125576101526105c4565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610125575f366003190112610125575f546040516001600160a01b039091168152602090f35b346101255760403660031901126101255760206101e36004356101da81610129565b6024359061043a565b6040516001600160a01b039091168152f35b346101255760403660031901126101255760043561021281610129565b60243561021e81610129565b6102266105c4565b6001600160a01b0382169081156102b4576001600160a01b0381169261028e919061026f9061025686151561055e565b6001600160a01b03165f90815260026020526040902090565b80546001600160a01b0319166001600160a01b03909216919091179055565b7fa123a18d8b26c9fe4a71a5b853d75b966847961b0e219a0a06728c20742657355f80a3005b60405162461bcd60e51b815260206004820152603160248201527f6f7665727269646543726561746f723a3a6f6c6443726561746f7241646472656044820152701cdcc818d85b9b9bdd081899481b9d5b1b607a1b6064820152608490fd5b346101255760203660031901126101255760043561033081610129565b6103386105c4565b6001600160a01b0381161561038d575f80546001600160a01b039283166001600160a01b03198216811783559216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b90601f8019910116810190811067ffffffffffffffff82111761040357604052565b634e487b7160e01b5f52604160045260245ffd5b90816020910312610125575161042c81610129565b90565b6040513d5f823e3d90fd5b905f916104468161061b565b801561053d575b6104c6575b50506001600160a01b0381161561042c576001600160a01b0381165f90815260026020526040902061049c90610490905b546001600160a01b031690565b6001600160a01b031690565b6104a35790565b6001600160a01b03165f90815260026020526040902061042c9061049090610483565b604051631030681960e21b81526004810192909252909150602090829060249082906001600160a01b03165afa908115610538575f91610509575b505f80610452565b61052b915060203d602011610531575b61052381836103e1565b810190610417565b5f610501565b503d610519565b61042f565b506001600160a01b0381165f9081526001602052604090205460ff1661044d565b1561056557565b60405162461bcd60e51b815260206004820152603160248201527f6f7665727269646543726561746f723a3a6e657743726561746f7241646472656044820152701cdcc818d85b9b9bdd081899481b9d5b1b607a1b6064820152608490fd5b5f546001600160a01b031633036105d757565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60205f604051828101906301ffc9a760e01b82526301ffc9a760e01b60248201526024815261064b6044826103e1565b519084617530fa903d5f5190836106f8575b50826106ee575b5081610687575b81610674575090565b61042c9150631030681960e21b90610704565b905060205f604051828101906301ffc9a760e01b825263ffffffff60e01b6024820152602481526106b96044826103e1565b519084617530fa5f513d826106e2575b50816106d8575b50159061066b565b905015155f6106d0565b6020111591505f6106c9565b151591505f610664565b6020111592505f61065d565b5f90602092604051848101916301ffc9a760e01b835263ffffffff60e01b166024820152602481526107376044826103e1565b5191617530fa5f513d82610757575b5081610750575090565b9050151590565b6020111591505f61074656fea26469706673582212206eb78da5da79566573c5b412f283732cc872266004913b703e7067b99a02535564736f6c634300081c0033","sourceMap":"355:2457:72:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;355:2457:72;;;;;;;;;;;;;;;;-1:-1:-1;;;;;355:2457:72;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;355:2457:72;;719:10:45;-1:-1:-1;;;;;;355:2457:72;;;;;;;;;;;;-1:-1:-1;;;;;355:2457:72;;2566:40:34;;-1:-1:-1;2566:40:34;816:4:72;355:2457;;777:43;355:2457;;;929:11;-1:-1:-1;984:3:72;355:2457;;;;;;942:40;;;;;;355:2457;;-1:-1:-1;;;;;1007:32:72;355:2457;1007:32;;:::i;:::-;355:2457;;1003:188;;984:3;;355:2457;;;;;;;;929:11;;355:2457;;;;-1:-1:-1;355:2457:72;;;;;-1:-1:-1;355:2457:72;1003:188;-1:-1:-1;;;;;355:2457:72;1119:32;;;;:::i;:::-;355:2457;;-1:-1:-1;355:2457:72;;;;;-1:-1:-1;355:2457:72;;;;;;;;;;1003:188;;;942:40;355:2457;;;;;;;;;;-1:-1:-1;;;355:2457:72;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:72;;;;;;;;;;-1:-1:-1;;;;;355:2457:72;;;;;;;;;;;;;;;;;-1:-1:-1;355:2457:72;;;;;;-1:-1:-1;355:2457:72;;;;;-1:-1:-1;355:2457:72;;;;;;;;-1:-1:-1;;355:2457:72;;;-1:-1:-1;;;;;355:2457:72;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80633a85757c14610074578063715018a61461006f5780638da5cb5b1461006a578063b85ed7e414610065578063e175500e146100605763f2fde38b1461005b575f80fd5b610313565b6101f5565b6101b8565b610191565b61013a565b346101255760203660031901126101255760043561009181610129565b6100996105c4565b6001600160a01b031680156100c5575f5260016020526100c360405f20600160ff19825416179055565b005b60405162461bcd60e51b815260206004820152603260248201527f7365744945524337323143726561746f723a3a5f636f6e747261637441646472604482015271195cdcc818d85b9b9bdd081899481b9d5b1b60721b6064820152608490fd5b5f80fd5b6001600160a01b0381160361012557565b34610125575f366003190112610125576101526105c4565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610125575f366003190112610125575f546040516001600160a01b039091168152602090f35b346101255760403660031901126101255760206101e36004356101da81610129565b6024359061043a565b6040516001600160a01b039091168152f35b346101255760403660031901126101255760043561021281610129565b60243561021e81610129565b6102266105c4565b6001600160a01b0382169081156102b4576001600160a01b0381169261028e919061026f9061025686151561055e565b6001600160a01b03165f90815260026020526040902090565b80546001600160a01b0319166001600160a01b03909216919091179055565b7fa123a18d8b26c9fe4a71a5b853d75b966847961b0e219a0a06728c20742657355f80a3005b60405162461bcd60e51b815260206004820152603160248201527f6f7665727269646543726561746f723a3a6f6c6443726561746f7241646472656044820152701cdcc818d85b9b9bdd081899481b9d5b1b607a1b6064820152608490fd5b346101255760203660031901126101255760043561033081610129565b6103386105c4565b6001600160a01b0381161561038d575f80546001600160a01b039283166001600160a01b03198216811783559216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b90601f8019910116810190811067ffffffffffffffff82111761040357604052565b634e487b7160e01b5f52604160045260245ffd5b90816020910312610125575161042c81610129565b90565b6040513d5f823e3d90fd5b905f916104468161061b565b801561053d575b6104c6575b50506001600160a01b0381161561042c576001600160a01b0381165f90815260026020526040902061049c90610490905b546001600160a01b031690565b6001600160a01b031690565b6104a35790565b6001600160a01b03165f90815260026020526040902061042c9061049090610483565b604051631030681960e21b81526004810192909252909150602090829060249082906001600160a01b03165afa908115610538575f91610509575b505f80610452565b61052b915060203d602011610531575b61052381836103e1565b810190610417565b5f610501565b503d610519565b61042f565b506001600160a01b0381165f9081526001602052604090205460ff1661044d565b1561056557565b60405162461bcd60e51b815260206004820152603160248201527f6f7665727269646543726561746f723a3a6e657743726561746f7241646472656044820152701cdcc818d85b9b9bdd081899481b9d5b1b607a1b6064820152608490fd5b5f546001600160a01b031633036105d757565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60205f604051828101906301ffc9a760e01b82526301ffc9a760e01b60248201526024815261064b6044826103e1565b519084617530fa903d5f5190836106f8575b50826106ee575b5081610687575b81610674575090565b61042c9150631030681960e21b90610704565b905060205f604051828101906301ffc9a760e01b825263ffffffff60e01b6024820152602481526106b96044826103e1565b519084617530fa5f513d826106e2575b50816106d8575b50159061066b565b905015155f6106d0565b6020111591505f6106c9565b151591505f610664565b6020111592505f61065d565b5f90602092604051848101916301ffc9a760e01b835263ffffffff60e01b166024820152602481526107376044826103e1565b5191617530fa5f513d82610757575b5081610750575090565b9050151590565b6020111591505f61074656fea26469706673582212206eb78da5da79566573c5b412f283732cc872266004913b703e7067b99a02535564736f6c634300081c0033","sourceMap":"355:2457:72:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;355:2457:72;;;;;;;;;:::i;:::-;1063:62:34;;:::i;:::-;-1:-1:-1;;;;;355:2457:72;2639:29;;355:2457;;;;2799:4;355:2457;;2755:48;355:2457;;;2799:4;355:2457;;;;;;;;;2755:48;355:2457;;;;-1:-1:-1;;;355:2457:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:72;;;;;;;;;;;;-1:-1:-1;;;;;355:2457:72;;;;;:::o;:::-;;;;;;-1:-1:-1;;355:2457:72;;;;1063:62:34;;:::i;:::-;355:2457:72;;;-1:-1:-1;;;;;;355:2457:72;;;;-1:-1:-1;;;;;355:2457:72;2566:40:34;355:2457:72;;2566:40:34;355:2457:72;;;;;;;-1:-1:-1;;355:2457:72;;;;;;;;-1:-1:-1;;;;;355:2457:72;;;;;;;;;;;;;;-1:-1:-1;;355:2457:72;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;-1:-1:-1;;;;;355:2457:72;;;;;;;;;;;;-1:-1:-1;;355:2457:72;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;1063:62:34;;:::i;:::-;-1:-1:-1;;;;;355:2457:72;;;2141:31;;355:2457;;-1:-1:-1;;;;;355:2457:72;;;2394:55;;355:2457;2394:35;;2257:127;2278:31;;;2257:127;:::i;:::-;-1:-1:-1;;;;;355:2457:72;;;;;2394:16;355:2457;;;;;;;2394:35;355:2457;;-1:-1:-1;;;;;;355:2457:72;-1:-1:-1;;;;;355:2457:72;;;;;;;;;;2394:55;2464:60;-1:-1:-1;2464:60:72;;355:2457;;;;-1:-1:-1;;;355:2457:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:72;;;;;;;;;;;;;-1:-1:-1;;355:2457:72;;;;;;;;;:::i;:::-;1063:62:34;;:::i;:::-;-1:-1:-1;;;;;355:2457:72;;2162:22:34;355:2457:72;;2518:6:34;355:2457:72;;-1:-1:-1;;;;;355:2457:72;;;-1:-1:-1;;;;;;355:2457:72;;;;;;;;;2566:40:34;;2518:6;2566:40;355:2457:72;;;;-1:-1:-1;;;355:2457:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:72;;;;;;;469:10;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;469:10:72;;;;;-1:-1:-1;469:10:72;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;355:2457;;469:10;;;;;;;1213:771;;355:2457;1447:124;;;;:::i;:::-;:170;;;;1213:771;1430:326;;1213:771;-1:-1:-1;;;;;;;355:2457:72;;1770:21;1766:66;;-1:-1:-1;;;;;355:2457:72;;;;;;2394:16;355:2457;;;;;1846:39;;:25;;;355:2457;-1:-1:-1;;;;;355:2457:72;;;1846:25;-1:-1:-1;;;;;355:2457:72;;;1846:39;1842:111;;1213:771;:::o;1842:111::-;-1:-1:-1;;;;;355:2457:72;;;;;2394:16;355:2457;;;;;1908:34;;1916:25;;;355:2457;1430:326;355:2457;;-1:-1:-1;;;1677:54:72;;;;;469:10;;;;355:2457;;-1:-1:-1;1677:54:72;;355:2457;;469:10;;355:2457;;-1:-1:-1;;;;;355:2457:72;1677:54;;;;;;;355:2457;1677:54;;;1430:326;1642:103;1430:326;;;;1677:54;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;1447:170::-;-1:-1:-1;;;;;;355:2457:72;;;;;;;;;;;;469:10;;;1447:170;;355:2457;;;;:::o;:::-;;;-1:-1:-1;;;355:2457:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;355:2457:72;;;;;;;1359:130:34;1273:6;355:2457:72;-1:-1:-1;;;;;355:2457:72;719:10:45;1422:23:34;355:2457:72;;1359:130:34:o;355:2457:72:-;;;;;;;;;;;;;;;;;;;;;;;;;1349:282:48;4592:71;-1:-1:-1;355:2457:72;;4592:71:48;;;1017:25;;;;4592:71;;1017:25;;;4592:71;;;355:2457:72;4592:71:48;;;;;;;:::i;:::-;4784:212;;;;;;;-1:-1:-1;4784:212:48;5013:29;;;;1349:282;5013:48;;;;1349:282;5006:55;975:149;;;1349:282;1543:81;;;1536:88;1349:282;:::o;1543:81::-;1570:54;;-1:-1:-1;;;;355:2457:72;1570:54:48;:::i;975:149::-;1060:64;;4592:71;-1:-1:-1;355:2457:72;;4592:71:48;;;1017:25;;;;4592:71;;355:2457:72;;;4592:71:48;;;355:2457:72;4592:71:48;;;;;;;:::i;:::-;4784:212;;;;;-1:-1:-1;4784:212:48;;5013:29;;;975:149;5013:48;;;;975:149;5006:55;1059:65;975:149;;;5013:48;5046:15;;;;5013:48;;;:29;4592:71;-1:-1:-1;5024:18:48;;-1:-1:-1;5013:29:48;;;:48;5046:15;;;-1:-1:-1;5013:48:48;;;:29;4592:71;-1:-1:-1;5024:18:48;;-1:-1:-1;5013:29:48;;;4421:647;-1:-1:-1;4421:647:48;4592:71;4421:647;355:2457:72;;4592:71:48;;;1017:25;;;;4592:71;;355:2457:72;;;;4592:71:48;;;355:2457:72;4592:71:48;;;;;;;:::i;:::-;4784:212;;;;-1:-1:-1;4784:212:48;;5013:29;;;4421:647;5013:48;;;;5006:55;4421:647;:::o;5013:48::-;5046:15;;;;4421:647;:::o;5013:29::-;4592:71;-1:-1:-1;5024:18:48;;-1:-1:-1;5013:29:48;;","linkReferences":{}},"methodIdentifiers":{"overrideCreator(address,address)":"e175500e","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setIERC721Creator(address)":"3a85757c","tokenCreator(address,uint256)":"b85ed7e4","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"iERC721CreatorImplementations\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"CreatorOverrideCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oldCreatorAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newCreatorAddress\",\"type\":\"address\"}],\"name\":\"overrideCreator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"setIERC721Creator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/CreatorRegistry.sol\":\"CreatorRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0xfaac7b78ce0d708485e86adee681ee1ff531a6916306fbbe50fd243afed11a9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0e06a603bed3f77978db909bd7619b1dbc0296bd3be8e3df51b059c0438351\",\"dweb:/ipfs/QmaZXsJrwkhWWznAWMEJeGHn4EYh5X4wdEc5Jkp43PQvDn\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/registry/CreatorRegistry.sol\":{\"keccak256\":\"0xec3e2bb64b6c11afd4f131735f108236a314128f3d13a02444dd5b7e10ed01d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26250355c4f8b1fad3f6327489d90771a68f038cb60a06c9814a154426b33b35\",\"dweb:/ipfs/QmaKXzicKZCvVXcTLojfWv9vWGavbPiiYTQjXociMjf2Fg\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"iERC721CreatorImplementations","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true}],"type":"event","name":"CreatorOverrideCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"oldCreatorAddress","type":"address"},{"internalType":"address","name":"newCreatorAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"overrideCreator"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setIERC721Creator"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/CreatorRegistry.sol":"CreatorRegistry"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0xfaac7b78ce0d708485e86adee681ee1ff531a6916306fbbe50fd243afed11a9a","urls":["bzz-raw://2d0e06a603bed3f77978db909bd7619b1dbc0296bd3be8e3df51b059c0438351","dweb:/ipfs/QmaZXsJrwkhWWznAWMEJeGHn4EYh5X4wdEc5Jkp43PQvDn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"src/registry/CreatorRegistry.sol":{"keccak256":"0xec3e2bb64b6c11afd4f131735f108236a314128f3d13a02444dd5b7e10ed01d7","urls":["bzz-raw://26250355c4f8b1fad3f6327489d90771a68f038cb60a06c9814a154426b33b35","dweb:/ipfs/QmaKXzicKZCvVXcTLojfWv9vWGavbPiiYTQjXociMjf2Fg"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":72} \ No newline at end of file diff --git a/abis/ERC20ApprovalManager.json b/abis/ERC20ApprovalManager.json new file mode 100644 index 0000000..3175647 --- /dev/null +++ b/abis/ERC20ApprovalManager.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MANAGER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"batchGrantOperatorRole","inputs":[{"name":"operators","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRevokeOperatorRole","inputs":[{"name":"operators","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantOperatorRole","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeOperatorRole","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ContractDisabled","inputs":[{"name":"disabler","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ContractDisabledError","inputs":[]},{"type":"error","name":"NotOperator","inputs":[]}],"bytecode":{"object":"0x60806040818152346100ed576000808052602091818352808220338352835260ff8183205416156100b7575b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0892838352828152818320338452815260ff82842054161561007e575b6001805460ff19169055610f2185816100f38239f35b83835282815281832090338452528120600160ff198254161790553391600080516020611014833981519152339280a438808080610068565b8180528183528082203383528352808220600160ff198254161790553333836000805160206110148339815191528180a461002b565b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816301eed9b1146106d557816301ffc9a71461067f57816315dacbea1461044f5781631e48244714610407578163248a9ca3146103dd57816327ac0c58146103b35781632f2770db146103665781632f2ff15d146102bd57816336568abe1461022b57816391d14854146101e5578163a217fddf146101ca578163b219f7d71461019d578163d547741f1461015b57508063ec87621c14610121578063ee070805146100fe5763f5b541a6146100d357600080fd5b346100fa57816003193601126100fa5760209051600080516020610ecc8339815191528152f35b5080fd5b50346100fa57816003193601126100fa5760209060ff6001541690519015158152f35b50346100fa57816003193601126100fa57602090517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b919050346101995780600319360112610199576101969135610191600161018061077b565b9383875286602052862001546109a7565b610c8b565b80f35b8280fd5b83346101c75760203660031901126101c7576101966101ba610765565b6101c2610791565b610bf1565b80fd5b5050346100fa57816003193601126100fa5751908152602090f35b9050346101995781600319360112610199578160209360ff9261020661077b565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b839150346100fa57826003193601126100fa5761024661077b565b90336001600160a01b0383160361026257906101969135610c8b565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b90503461019957816003193601126101995735906102d961077b565b90828452836020526102f0600182862001546109a7565b82845260208481528185206001600160a01b039093168086529290528084205460ff161561031c578380f35b828452836020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83346101c757806003193601126101c75761037f610791565b600160ff1981541617600155337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b83346101c75760203660031901126101c7576101966103d0610765565b6103d8610791565b610b53565b90503461019957602036600319011261019957816020936001923581528085522001549051908152f35b83346101c75761041636610713565b61041e610791565b825b81811061042b578380f35b806104456101c261044061044a948688610e16565b610e26565b610df1565b610420565b919050346101995760803660031901126101995761046b610765565b9061047461077b565b6001600160a01b036044358181169081900361067b5760ff6001541661066b57600080516020610ecc8339815191528752602094878652848820338952865260ff85892054161561065b57821690845192868401946323b872dd60e01b8652166024840152604483015260643560648301526064825260a082019267ffffffffffffffff92808510848611176106485760e08101858110858211176106355786528685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460c082015251889182919082855af1903d15610626573d928311610613579061058193929185519261057488601f19601f8401160185610b05565b83523d898885013e610e3a565b80518381159182156105ef575b505090501561059b578380f35b5162461bcd60e51b815291820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260849150fd5b838092935001031261060f57820151801515810361060f5780833861058e565b8480fd5b634e487b7160e01b885260418752602488fd5b90610581939250606091610e3a565b634e487b7160e01b8a526041895260248afd5b634e487b7160e01b895260418852602489fd5b8451631f0853c160e21b81528790fd5b8351631a8854fd60e31b81528690fd5b8680fd5b90503461019957602036600319011261019957359063ffffffff60e01b82168092036101995760209250637965db0b60e01b82149182156106c4575b50519015158152f35b6301ffc9a760e01b149150386106bb565b83346101c7576106e436610713565b6106ec610791565b825b8181106106f9578380f35b806104456103d861044061070e948688610e16565b6106ee565b9060206003198301126107605760043567ffffffffffffffff9283821161076057806023830112156107605781600401359384116107605760248460051b83010111610760576024019190565b600080fd5b600435906001600160a01b038216820361076057565b602435906001600160a01b038216820361076057565b3360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee64560209081526040808320549092907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b089060ff16156107f65750505050565b6107ff33610ce2565b84519161080b83610ad3565b6042835284830193606036863783511561099357603085538351906001918210156109935790607860218601536041915b818311610925575050506108e3576108919385936108c9936108ba6048946108df9951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101610ab0565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610ab0565b01036028810185520183610b05565b5162461bcd60e51b815291829160048301610b27565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561097f576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109558588610cbb565b5360041c92801561096b5760001901919061083c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b6000818152602090808252604092838220338352835260ff8483205416156109cf5750505050565b6109d833610ce2565b8451916109e483610ad3565b6042835284830193606036863783511561099357603085538351906001918210156109935790607860218601536041915b818311610a6a575050506108e3576108919385936108c9936108ba6048946108df9951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101610ab0565b909192600f8116601081101561097f576f181899199a1a9b1b9c1cb0b131b232b360811b901a610a9a8588610cbb565b5360041c92801561096b57600019019190610a15565b60005b838110610ac35750506000910152565b8181015183820152602001610ab3565b6080810190811067ffffffffffffffff821117610aef57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610aef57604052565b60409160208252610b478151809281602086015260208686019101610ab0565b601f01601f1916010190565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f6020526040812054909190600080516020610ecc8339815191529060ff1615610baa57505050565b808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f6020526040812054909190600080516020610ecc8339815191529060ff16610c4757505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416610c4757505050565b908151811015610ccc570160200190565b634e487b7160e01b600052603260045260246000fd5b604051906060820182811067ffffffffffffffff821117610aef57604052602a8252602082016040368237825115610ccc57603090538151600190811015610ccc57607860218401536029905b808211610d83575050610d3f5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610ddc576f181899199a1a9b1b9c1cb0b131b232b360811b901a610db28486610cbb565b5360041c918015610dc7576000190190610d2f565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b6000198114610e005760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015610ccc5760051b0190565b356001600160a01b03811681036107605790565b91929015610e9c5750815115610e4e575090565b3b15610e575790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610eaf5750805190602001fd5b60405162461bcd60e51b81529081906108df9060048301610b2756fe97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929a2646970667358221220a080c90d3a6d21cea20b97c08e03e473625bf8fe3f2ab5f53e5a08a672b6ff5464736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"564:2944:243:-:0;;;;;;;;2198:4:79;564:2944:243;;;;;;;;;;;1308:10;564:2944;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;750:25:243;564:2944;;;;;;;;;;1308:10;564:2944;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;1367:16:243;750:25;;-1:-1:-1;;750:25:243;;;564:2944;750:25;564:2944;;750:25;564:2944;;7665:149:79;564:2944:243;;;;;;;;;1308:10;;564:2944;;;;;7740:4:79;750:25:243;;;;;;;;1308:10;;-1:-1:-1;;;;;;;;;;;1308:10:243;7763:40:79;;;7665:149;;;;;;;564:2944:243;;;;;;;;;1308:10;564:2944;;;;;;;7740:4:79;750:25:243;;;;;;;;1308:10;;7763:40:79;-1:-1:-1;;;;;;;;;;;7763:40:79;;;7665:149;;564:2944:243;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c90816301eed9b1146106d557816301ffc9a71461067f57816315dacbea1461044f5781631e48244714610407578163248a9ca3146103dd57816327ac0c58146103b35781632f2770db146103665781632f2ff15d146102bd57816336568abe1461022b57816391d14854146101e5578163a217fddf146101ca578163b219f7d71461019d578163d547741f1461015b57508063ec87621c14610121578063ee070805146100fe5763f5b541a6146100d357600080fd5b346100fa57816003193601126100fa5760209051600080516020610ecc8339815191528152f35b5080fd5b50346100fa57816003193601126100fa5760209060ff6001541690519015158152f35b50346100fa57816003193601126100fa57602090517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b919050346101995780600319360112610199576101969135610191600161018061077b565b9383875286602052862001546109a7565b610c8b565b80f35b8280fd5b83346101c75760203660031901126101c7576101966101ba610765565b6101c2610791565b610bf1565b80fd5b5050346100fa57816003193601126100fa5751908152602090f35b9050346101995781600319360112610199578160209360ff9261020661077b565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b839150346100fa57826003193601126100fa5761024661077b565b90336001600160a01b0383160361026257906101969135610c8b565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b90503461019957816003193601126101995735906102d961077b565b90828452836020526102f0600182862001546109a7565b82845260208481528185206001600160a01b039093168086529290528084205460ff161561031c578380f35b828452836020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83346101c757806003193601126101c75761037f610791565b600160ff1981541617600155337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b83346101c75760203660031901126101c7576101966103d0610765565b6103d8610791565b610b53565b90503461019957602036600319011261019957816020936001923581528085522001549051908152f35b83346101c75761041636610713565b61041e610791565b825b81811061042b578380f35b806104456101c261044061044a948688610e16565b610e26565b610df1565b610420565b919050346101995760803660031901126101995761046b610765565b9061047461077b565b6001600160a01b036044358181169081900361067b5760ff6001541661066b57600080516020610ecc8339815191528752602094878652848820338952865260ff85892054161561065b57821690845192868401946323b872dd60e01b8652166024840152604483015260643560648301526064825260a082019267ffffffffffffffff92808510848611176106485760e08101858110858211176106355786528685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460c082015251889182919082855af1903d15610626573d928311610613579061058193929185519261057488601f19601f8401160185610b05565b83523d898885013e610e3a565b80518381159182156105ef575b505090501561059b578380f35b5162461bcd60e51b815291820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260849150fd5b838092935001031261060f57820151801515810361060f5780833861058e565b8480fd5b634e487b7160e01b885260418752602488fd5b90610581939250606091610e3a565b634e487b7160e01b8a526041895260248afd5b634e487b7160e01b895260418852602489fd5b8451631f0853c160e21b81528790fd5b8351631a8854fd60e31b81528690fd5b8680fd5b90503461019957602036600319011261019957359063ffffffff60e01b82168092036101995760209250637965db0b60e01b82149182156106c4575b50519015158152f35b6301ffc9a760e01b149150386106bb565b83346101c7576106e436610713565b6106ec610791565b825b8181106106f9578380f35b806104456103d861044061070e948688610e16565b6106ee565b9060206003198301126107605760043567ffffffffffffffff9283821161076057806023830112156107605781600401359384116107605760248460051b83010111610760576024019190565b600080fd5b600435906001600160a01b038216820361076057565b602435906001600160a01b038216820361076057565b3360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee64560209081526040808320549092907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b089060ff16156107f65750505050565b6107ff33610ce2565b84519161080b83610ad3565b6042835284830193606036863783511561099357603085538351906001918210156109935790607860218601536041915b818311610925575050506108e3576108919385936108c9936108ba6048946108df9951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101610ab0565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610ab0565b01036028810185520183610b05565b5162461bcd60e51b815291829160048301610b27565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561097f576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109558588610cbb565b5360041c92801561096b5760001901919061083c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b6000818152602090808252604092838220338352835260ff8483205416156109cf5750505050565b6109d833610ce2565b8451916109e483610ad3565b6042835284830193606036863783511561099357603085538351906001918210156109935790607860218601536041915b818311610a6a575050506108e3576108919385936108c9936108ba6048946108df9951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101610ab0565b909192600f8116601081101561097f576f181899199a1a9b1b9c1cb0b131b232b360811b901a610a9a8588610cbb565b5360041c92801561096b57600019019190610a15565b60005b838110610ac35750506000910152565b8181015183820152602001610ab3565b6080810190811067ffffffffffffffff821117610aef57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610aef57604052565b60409160208252610b478151809281602086015260208686019101610ab0565b601f01601f1916010190565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f6020526040812054909190600080516020610ecc8339815191529060ff1615610baa57505050565b808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f6020526040812054909190600080516020610ecc8339815191529060ff16610c4757505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416610c4757505050565b908151811015610ccc570160200190565b634e487b7160e01b600052603260045260246000fd5b604051906060820182811067ffffffffffffffff821117610aef57604052602a8252602082016040368237825115610ccc57603090538151600190811015610ccc57607860218401536029905b808211610d83575050610d3f5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610ddc576f181899199a1a9b1b9c1cb0b131b232b360811b901a610db28486610cbb565b5360041c918015610dc7576000190190610d2f565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b6000198114610e005760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015610ccc5760051b0190565b356001600160a01b03811681036107605790565b91929015610e9c5750815115610e4e575090565b3b15610e575790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610eaf5750805190602001fd5b60405162461bcd60e51b81529081906108df9060048301610b2756fe97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929a2646970667358221220a080c90d3a6d21cea20b97c08e03e473625bf8fe3f2ab5f53e5a08a672b6ff5464736f6c63430008120033","sourceMap":"564:2944:243:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;1125:20;564:2944;;;;;;;;;;;;;;;;;;;;;;;;;;750:25;564:2944;;;;;;;;;;;;;;;;;;5486:7:79;564:2944:243;;2642:4:79;564:2944:243;;;:::i;:::-;;;;;;;;;;4604:22:79;564:2944:243;2642:4:79;:::i;:::-;5486:7;:::i;:::-;564:2944:243;;;;;;;;;;;;;-1:-1:-1;;564:2944:243;;;;2268:8;564:2944;;:::i;:::-;2642:4:79;;:::i;:::-;2268:8:243;:::i;564:2944::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:102;;-1:-1:-1;;;;;564:2944:243;;6133:23:79;564:2944:243;;;6237:7:79;564:2944:243;;6237:7:79;:::i;564:2944:243:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:79;564:2944:243;;;;4604:22:79;564:2944:243;2642:4:79;:::i;:::-;564:2944:243;;;;;;;;;;-1:-1:-1;;;;;564:2944:243;;;;;;;;;;;;;;;7669:23:79;7665:149;;564:2944:243;;;7665:149:79;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;;;;7665:149;;;564:2944:243;;;;;;;;;;;;;;;;2642:4:79;;:::i;:::-;1702::243;564:2944;;;;;;1702:4;564:2944;1734:10;1717:28;;;;564:2944;;;;;;;;;-1:-1:-1;;564:2944:243;;;;1998:8;564:2944;;:::i;:::-;2642:4:79;;:::i;:::-;1998:8:243;:::i;564:2944::-;;;;;;;;-1:-1:-1;;564:2944:243;;;;;;;;;;;;;;;;4604:22:79;564:2944:243;;;;;;;;;;;;;;;:::i;:::-;2642:4:79;;:::i;:::-;2847:13:243;2862:20;;;;;;564:2944;;;2884:3;2924:12;;;;2884:3;2924:12;;;;:::i;:::-;;:::i;:::-;2884:3;:::i;:::-;2847:13;;564:2944;;;;;;;;;-1:-1:-1;;564:2944:243;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;564:2944:243;;;;;;;;;;;;;;;1485:44;;-1:-1:-1;;;;;;;;;;;564:2944:243;;;;;;;;;;3387:10;564:2944;;;;;;;;;;3363:35;3359:61;;564:2944;;;;;1482:68:96;;;;564:2944:243;;;;1482:68:96;;564:2944:243;;1482:68:96;;564:2944:243;;;;;;;;;;;;1482:68:96;;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5487:31:101;564:2944:243;;;;5487:31:101;564:2944:243;5487:31:101;;;;564:2944:243;;;;;;;;;;;5535:69:101;564:2944:243;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;5535:69:101;:::i;:::-;564:2944:243;;5705:22:96;;;:56;;;;;564:2944:243;;;;;;;;;;;;;-1:-1:-1;;;564:2944:243;;;;;;;;;;;;;;;;-1:-1:-1;;;564:2944:243;;;;;;-1:-1:-1;564:2944:243;5705:56:96;5731:30;;;;;;564:2944:243;;;;5731:30:96;;564:2944:243;;;;;;;;5705:56:96;;;;;564:2944:243;;;;;-1:-1:-1;;;564:2944:243;;;;;;;;;;5535:69:101;564:2944:243;;;;;5535:69:101;:::i;564:2944:243:-;-1:-1:-1;;;564:2944:243;;;;;;;;;-1:-1:-1;;;564:2944:243;;;;;;;;3359:61;564:2944;;-1:-1:-1;;;3407:13:243;;564:2944;;3407:13;1485:44;564:2944;;-1:-1:-1;;;1506:23:243;;564:2944;;1506:23;564:2944;;;;;;;;;;;;-1:-1:-1;;564:2944:243;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:79;;;:87;;;;564:2944:243;;;;;;;;;2840:87:79;-1:-1:-1;;;937:40:107;;-1:-1:-1;2840:87:79;;;564:2944:243;;;;;;;;:::i;:::-;2642:4:79;;:::i;:::-;2512:13:243;2527:20;;;;;;564:2944;;;2549:3;2588:12;;;;2549:3;2588:12;;;;:::i;2549:3::-;2512:13;;564:2944;;;-1:-1:-1;;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;564:2944:243;;;;;;-1:-1:-1;;;;;564:2944:243;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;564:2944:243;;;;;;:::o;3460:103:79:-;719:10:102;3130:6:79;564:2944:243;;;;;;;;;;;;;;;3130:6:79;750:25:243;;564:2944;;3931:23:79;3927:390;;3460:103;;;;:::o;3927:390::-;2497:52:104;719:10:102;2497:52:104;:::i;:::-;564:2944:243;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1975:15:104;;;564:2944:243;;;;;;;;;;;2000:15:104;564:2944:243;;;2000:15:104;564:2944:243;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;564:2944:243;;;;4022:252:79;564:2944:243;;;;3970:336:79;564:2944:243;;4022:252:79;;-1:-1:-1;;;4022:252:79;;;;564:2944:243;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;564:2944:243;;;;;;;;;;;;:::i;:::-;;4022:252:79;;;;;;;;;:::i;:::-;564:2944:243;-1:-1:-1;;;3970:336:79;;564:2944:243;;;2141:1:104;3970:336:79;;;:::i;:::-;;;;278:18:104;;564:2944:243;;;;;;;278:18:104;;;2141:1;278:18;;;;;;564:2944:243;278:18:104;564:2944:243;;;278:18:104;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;564:2944:243;2065:3:104;564:2944:243;;;;-1:-1:-1;;564:2944:243;;2030:26:104;;;564:2944:243;-1:-1:-1;;;564:2944:243;;;2141:1:104;564:2944:243;;;;2096:21:104;-1:-1:-1;;;564:2944:243;;;2141:1:104;564:2944:243;;;;;-1:-1:-1;;;564:2944:243;;;;;;;;3460:103:79;3130:6;564:2944:243;;;;;;;;;;;;;719:10:102;564:2944:243;;;;;;;;;;3931:23:79;3927:390;;3460:103;;;;:::o;3927:390::-;2497:52:104;719:10:102;2497:52:104;:::i;:::-;564:2944:243;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1975:15:104;;;564:2944:243;;;;;;;;;;;2000:15:104;564:2944:243;;;2000:15:104;564:2944:243;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;564:2944:243;;;;4022:252:79;564:2944:243;;;;3970:336:79;564:2944:243;;4022:252:79;;-1:-1:-1;;;4022:252:79;;;;564:2944:243;;;;;;;;;;;;:::i;2065:3:104:-;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;564:2944:243;2065:3:104;564:2944:243;;;;-1:-1:-1;;564:2944:243;;2030:26:104;;;564:2944:243;;;;;;;;-1:-1:-1;;564:2944:243;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;564:2944:243;;;;:::o;7587:233:79:-;-1:-1:-1;;;;;564:2944:243;3130:6:79;564:2944:243;;;;;;;;;;3130:6:79;;564:2944:243;-1:-1:-1;;;;;;;;;;;879:26:243;564:2944;;7669:23:79;7665:149;;7587:233;;;:::o;7665:149::-;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;;;;7763:40:79;719:10:102;7763:40:79;;;7587:233::o;7991:234::-;-1:-1:-1;;;;;564:2944:243;3130:6:79;564:2944:243;;;;;;;;;;3130:6:79;;564:2944:243;-1:-1:-1;;;;;;;;;;;879:26:243;564:2944;;8070:149:79;;7991:234;;;:::o;8070:149::-;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;;8168:40:79;719:10:102;8168:40:79;;;7991:234::o;:::-;;3130:6;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:149:79;;7991:234;;;:::o;564:2944:243:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1818:437:104;564:2944:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;564:2944:243;;;;;;;;;2000:15:104;564:2944:243;;;2000:15:104;564:2944:243;2025:128:104;2058:5;;;;;;2170:10;;278:18;;1818:437;:::o;278:18::-;;564:2944:243;;;;;278:18:104;;564:2944:243;2141:1:104;278:18;;;564:2944:243;278:18:104;;;564:2944:243;278:18:104;564:2944:243;;;278:18:104;;2065:3;2105:11;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;564:2944:243;2065:3:104;564:2944:243;;;;-1:-1:-1;;564:2944:243;;2030:26:104;;564:2944:243;;;;;;;;;2141:1:104;564:2944:243;;2096:21:104;564:2944:243;;;;;;;;2141:1:104;564:2944:243;;;-1:-1:-1;;564:2944:243;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;564:2944:243;;;;;;;:::o;7671:628:101:-;;;;7875:418;;;564:2944:243;;;7906:22:101;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;564:2944:243;;8201:17:101;:::o;564:2944:243:-;;;-1:-1:-1;;;564:2944:243;;;;;;;;;;;;;;;;;;;;7875:418:101;564:2944:243;;;;-1:-1:-1;8980:21:101;:17;;9152:142;;;;;;;8976:379;564:2944:243;;-1:-1:-1;;;9324:20:101;;564:2944:243;;;9324:20:101;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","MANAGER_ROLE()":"ec87621c","OPERATOR_ROLE()":"f5b541a6","batchGrantOperatorRole(address[])":"01eed9b1","batchRevokeOperatorRole(address[])":"1e482447","disable()":"2f2770db","disabled()":"ee070805","getRoleAdmin(bytes32)":"248a9ca3","grantOperatorRole(address)":"27ac0c58","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeOperatorRole(address)":"b219f7d7","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,address,uint256)":"15dacbea"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ContractDisabledError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOperator\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disabler\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"}],\"name\":\"batchGrantOperatorRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"}],\"name\":\"batchRevokeOperatorRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"grantOperatorRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"revokeOperatorRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Uses role-based access control for operator management\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"batchGrantOperatorRole(address[])\":{\"params\":{\"operators\":\"Array of contract addresses to grant the role to\"}},\"batchRevokeOperatorRole(address[])\":{\"params\":{\"operators\":\"Array of contract addresses to revoke the role from\"}},\"disable()\":{\"details\":\"Only callable by MANAGER_ROLE\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantOperatorRole(address)\":{\"params\":{\"operator\":\"The contract address to grant the role to\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeOperatorRole(address)\":{\"params\":{\"operator\":\"The contract address to revoke the role from\"}},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferFrom(address,address,address,uint256)\":{\"details\":\"Only operators can call this function\",\"params\":{\"amount\":\"The amount of tokens to transfer\",\"from\":\"The address to transfer from\",\"to\":\"The address to transfer to\",\"token\":\"The token contract address\"}}},\"title\":\"ERC20ApprovalManager\",\"version\":1},\"userdoc\":{\"errors\":{\"ContractDisabledError()\":[{\"notice\":\"Error thrown when contract is disabled\"}],\"NotOperator()\":[{\"notice\":\"Error thrown when caller is not an operator\"}]},\"events\":{\"ContractDisabled(address)\":{\"notice\":\"Event emitted when contract is disabled\"}},\"kind\":\"user\",\"methods\":{\"MANAGER_ROLE()\":{\"notice\":\"Role for managing operators\"},\"OPERATOR_ROLE()\":{\"notice\":\"Role for contracts allowed to transfer tokens\"},\"batchGrantOperatorRole(address[])\":{\"notice\":\"Batch version of grantOperatorRole\"},\"batchRevokeOperatorRole(address[])\":{\"notice\":\"Batch version of revokeOperatorRole\"},\"disable()\":{\"notice\":\"Disables the contract permanently\"},\"disabled()\":{\"notice\":\"Whether the contract is disabled\"},\"grantOperatorRole(address)\":{\"notice\":\"Allows MANAGER_ROLE to grant OPERATOR_ROLE to a contract\"},\"revokeOperatorRole(address)\":{\"notice\":\"Allows MANAGER_ROLE to revoke OPERATOR_ROLE from a contract\"},\"transferFrom(address,address,address,uint256)\":{\"notice\":\"Transfers tokens from one address to another\"}},\"notice\":\"A central approval manager for ERC20 tokens that allows whitelisted contracts to transfer tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/approver/ERC20/ERC20ApprovalManager.sol\":\"ERC20ApprovalManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/v2/approver/ERC20/ERC20ApprovalManager.sol\":{\"keccak256\":\"0x3748e53d61a534cdc87af05ead843d76019b9e4a172a486e4af94981b275105e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5158271304c601ba40037e04241b18abfa8caab792c7405e34bee156b77ff5e9\",\"dweb:/ipfs/Qmcm2GYjZwgmBvcBKni4XrjujVUDqHp8Dxr2Xpng1575qJ\"]},\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":{\"keccak256\":\"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f\",\"dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ContractDisabledError"},{"inputs":[],"type":"error","name":"NotOperator"},{"inputs":[{"internalType":"address","name":"disabler","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address[]","name":"operators","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchGrantOperatorRole"},{"inputs":[{"internalType":"address[]","name":"operators","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRevokeOperatorRole"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disable"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantOperatorRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeOperatorRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"batchGrantOperatorRole(address[])":{"params":{"operators":"Array of contract addresses to grant the role to"}},"batchRevokeOperatorRole(address[])":{"params":{"operators":"Array of contract addresses to revoke the role from"}},"disable()":{"details":"Only callable by MANAGER_ROLE"},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantOperatorRole(address)":{"params":{"operator":"The contract address to grant the role to"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeOperatorRole(address)":{"params":{"operator":"The contract address to revoke the role from"}},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferFrom(address,address,address,uint256)":{"details":"Only operators can call this function","params":{"amount":"The amount of tokens to transfer","from":"The address to transfer from","to":"The address to transfer to","token":"The token contract address"}}},"version":1},"userdoc":{"kind":"user","methods":{"MANAGER_ROLE()":{"notice":"Role for managing operators"},"OPERATOR_ROLE()":{"notice":"Role for contracts allowed to transfer tokens"},"batchGrantOperatorRole(address[])":{"notice":"Batch version of grantOperatorRole"},"batchRevokeOperatorRole(address[])":{"notice":"Batch version of revokeOperatorRole"},"disable()":{"notice":"Disables the contract permanently"},"disabled()":{"notice":"Whether the contract is disabled"},"grantOperatorRole(address)":{"notice":"Allows MANAGER_ROLE to grant OPERATOR_ROLE to a contract"},"revokeOperatorRole(address)":{"notice":"Allows MANAGER_ROLE to revoke OPERATOR_ROLE from a contract"},"transferFrom(address,address,address,uint256)":{"notice":"Transfers tokens from one address to another"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/approver/ERC20/ERC20ApprovalManager.sol":"ERC20ApprovalManager"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/v2/approver/ERC20/ERC20ApprovalManager.sol":{"keccak256":"0x3748e53d61a534cdc87af05ead843d76019b9e4a172a486e4af94981b275105e","urls":["bzz-raw://5158271304c601ba40037e04241b18abfa8caab792c7405e34bee156b77ff5e9","dweb:/ipfs/Qmcm2GYjZwgmBvcBKni4XrjujVUDqHp8Dxr2Xpng1575qJ"],"license":"MIT"},"src/v2/approver/ERC20/IERC20ApprovalManager.sol":{"keccak256":"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e","urls":["bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f","dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY"],"license":"MIT"}},"version":1},"id":243} \ No newline at end of file diff --git a/abis/ERC2981Upgradeable.json b/abis/ERC2981Upgradeable.json index c327dfe..8048068 100644 --- a/abis/ERC2981Upgradeable.json +++ b/abis/ERC2981Upgradeable.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","royaltyInfo(uint256,uint256)":"2a55205a","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/ERC2981Upgradeable.sol\":\"ERC2981Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/ERC2981Upgradeable.sol":"ERC2981Upgradeable"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"}},"version":1},"id":212} \ No newline at end of file +{"abi":[{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","royaltyInfo(uint256,uint256)":"2a55205a","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/ERC2981Upgradeable.sol\":\"ERC2981Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/ERC2981Upgradeable.sol":"ERC2981Upgradeable"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"}},"version":1},"id":233} \ No newline at end of file diff --git a/abis/ERC721ApprovalManager.json b/abis/ERC721ApprovalManager.json new file mode 100644 index 0000000..b292fb2 --- /dev/null +++ b/abis/ERC721ApprovalManager.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MANAGER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OPERATOR_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"batchGrantOperatorRole","inputs":[{"name":"operators","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRevokeOperatorRole","inputs":[{"name":"operators","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantOperatorRole","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeOperatorRole","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ContractDisabled","inputs":[{"name":"disabler","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ContractDisabledError","inputs":[]},{"type":"error","name":"NotOperator","inputs":[]}],"bytecode":{"object":"0x60806040818152346100ed576000808052602091818352808220338352835260ff8183205416156100b7575b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0892838352828152818320338452815260ff82842054161561007e575b6001805460ff1916905561104885816100f38239f35b83835282815281832090338452528120600160ff19825416179055339160008051602061113b833981519152339280a438808080610068565b8180528183528082203383528352808220600160ff1982541617905533338360008051602061113b8339815191528180a461002b565b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816301eed9b11461071357816301ffc9a7146106bd57816315dacbea1461062b5781631e482447146105e3578163248a9ca3146105b957816327ac0c581461058f5781632d8bf0c5146104815781632f2770db146104345781632f2ff15d1461038357816336568abe146102f157816391d14854146102ac578163a217fddf14610291578163b219f7d714610267578163d547741f14610225578163d9fc4b611461017157508063ec87621c14610137578063ee070805146101145763f5b541a6146100e957600080fd5b3461011057816003193601126101105760209051600080516020610ff38339815191528152f35b5080fd5b503461011057816003193601126101105760209060ff6001541690519015158152f35b5034610110578160031936011261011057602090517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b8391503461011057610182366107ca565b60ff60019794929397541661021557859661019b610a3d565b6001600160a01b0392831693843b1561021157879460a49385879389519a8b988997635c46a7ef60e11b895216908701521660248501526044840152608060648401528160848401525af190811561020857506101f55750f35b6101fe90610ca3565b6102055780f35b80fd5b513d84823e3d90fd5b8780fd5b50505051631a8854fd60e31b8152fd5b91905034610263578060031936011261026357610260913561025b600161024a6107b4565b938387528660205286200154610b75565b610e43565b80f35b8280fd5b83346102055760203660031901126102055761026061028461079e565b61028c61080b565b610da9565b50503461011057816003193601126101105751908152602090f35b905034610263578160031936011261026357816020936102ca6107b4565b92358152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b8391503461011057826003193601126101105761030c6107b4565b90336001600160a01b0383160361032857906102609135610e43565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b905034610263578160031936011261026357359061039f6107b4565b90828452836020526103b660018286200154610b75565b600083815260208181528282206001600160a01b039094168083529390528190205460ff16156103e4578380f35b8260005260006020528060002082600052602052600020600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a43880808380f35b833461020557806003193601126102055761044d61080b565b600160ff1981541617600155337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b839150346101105760a03660031901126101105761049d61079e565b926104a66107b4565b6044356001600160a01b03818116949185900361058a576084359067ffffffffffffffff808311610211573660238401121561021157828401359081116102115736602482850101116102115760ff6001541661057a57818899610508610a3d565b1692833b15610576578895828793602460a4948b519c8d9a8b998a97635c46a7ef60e11b895216908701528286015260643560448601526080606486015282608486015201848401378181018301849052601f01601f191681010301925af190811561020857506101f55750f35b8880fd5b8551631a8854fd60e31b81528490fd5b600080fd5b8334610205576020366003190112610205576102606105ac61079e565b6105b461080b565b610d0b565b90503461026357602036600319011261026357816020936001923581528085522001549051908152f35b8334610205576105f236610751565b6105fa61080b565b825b818110610607578380f35b8061062161028c61061c610626948688610fce565b610fde565b610fa9565b6105fc565b919050346102635761063c366107ca565b919060ff600154166106ad579086939291610655610a3d565b6001600160a01b03938416803b156106a95760649385879389519a8b9889976323b872dd60e01b8952169087015216602485015260448401525af190811561020857506106a0575080f35b61026090610ca3565b8580fd5b8451631a8854fd60e31b81528690fd5b90503461026357602036600319011261026357359063ffffffff60e01b82168092036102635760209250637965db0b60e01b8214918215610702575b50519015158152f35b6301ffc9a760e01b149150386106f9565b83346102055761072236610751565b61072a61080b565b825b818110610737578380f35b806106216105b461061c61074c948688610fce565b61072c565b90602060031983011261058a5760043567ffffffffffffffff9283821161058a578060238301121561058a57816004013593841161058a5760248460051b8301011161058a576024019190565b600435906001600160a01b038216820361058a57565b602435906001600160a01b038216820361058a57565b608090600319011261058a576001600160a01b03600435818116810361058a5791602435828116810361058a5791604435908116810361058a579060643590565b3360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee6456020908152604080832054909291907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b089060ff16156108715750505050565b61087a33610e9a565b9084519061088782610ccd565b60428252838201946060368737825115610a295760308653825190600191821015610a295790607860218501536041915b8183116109bb575050506109795784610947604861096b9360449798519889916109388984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a5261090f815180928d603789019101610c80565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610c80565b01036028810189520187610ce9565b5194859362461bcd60e51b8552600485015251809281602486015285850190610c80565b601f01601f19168101030190fd5b60648386519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610a15576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109eb8587610e73565b5360041c928015610a01576000190191906108b8565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b3360009081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f602090815260408083205490929190600080516020610ff38339815191529060ff1615610a915750505050565b610a9a33610e9a565b90845190610aa782610ccd565b60428252838201946060368737825115610a295760308653825190600191821015610a295790607860218501536041915b818311610b2f575050506109795784610947604861096b9360449798519889916109388984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a5261090f815180928d603789019101610c80565b909192600f81166010811015610a15576f181899199a1a9b1b9c1cb0b131b232b360811b901a610b5f8587610e73565b5360041c928015610a0157600019019190610ad8565b60008181526020818152604092838320338452825260ff848420541615610b9c5750505050565b610ba533610e9a565b90845190610bb282610ccd565b60428252838201946060368737825115610a295760308653825190600191821015610a295790607860218501536041915b818311610c3a575050506109795784610947604861096b9360449798519889916109388984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a5261090f815180928d603789019101610c80565b909192600f81166010811015610a15576f181899199a1a9b1b9c1cb0b131b232b360811b901a610c6a8587610e73565b5360041c928015610a0157600019019190610be3565b60005b838110610c935750506000910152565b8181015183820152602001610c83565b67ffffffffffffffff8111610cb757604052565b634e487b7160e01b600052604160045260246000fd5b6080810190811067ffffffffffffffff821117610cb757604052565b90601f8019910116810190811067ffffffffffffffff821117610cb757604052565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f6020526040812054909190600080516020610ff38339815191529060ff1615610d6257505050565b808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f6020526040812054909190600080516020610ff38339815191529060ff16610dff57505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416610dff57505050565b908151811015610e84570160200190565b634e487b7160e01b600052603260045260246000fd5b604051906060820182811067ffffffffffffffff821117610cb757604052602a8252602082016040368237825115610e8457603090538151600190811015610e8457607860218401536029905b808211610f3b575050610ef75790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610f94576f181899199a1a9b1b9c1cb0b131b232b360811b901a610f6a8486610e73565b5360041c918015610f7f576000190190610ee7565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b6000198114610fb85760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015610e845760051b0190565b356001600160a01b038116810361058a579056fe97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929a264697066735822122033e4e74b88df381624f405aa98bc91db61c9a181decb5835f78666b29937aba264736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"489:4067:245:-:0;;;;;;;;2198:4:79;489:4067:245;;;;;;;;;;;1204:10;489:4067;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;646:25:245;489:4067;;;;;;;;;;1204:10;489:4067;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;1263:16:245;646:25;;-1:-1:-1;;646:25:245;;;489:4067;646:25;489:4067;;646:25;489:4067;;7665:149:79;489:4067:245;;;;;;;;;1204:10;;489:4067;;;;;7740:4:79;646:25:245;;;;;;;;1204:10;;-1:-1:-1;;;;;;;;;;;1204:10:245;7763:40:79;;;7665:149;;;;;;;489:4067:245;;;;;;;;;1204:10;489:4067;;;;;;;7740:4:79;646:25:245;;;;;;;;1204:10;;7763:40:79;-1:-1:-1;;;;;;;;;;;7763:40:79;;;7665:149;;489:4067:245;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c90816301eed9b11461071357816301ffc9a7146106bd57816315dacbea1461062b5781631e482447146105e3578163248a9ca3146105b957816327ac0c581461058f5781632d8bf0c5146104815781632f2770db146104345781632f2ff15d1461038357816336568abe146102f157816391d14854146102ac578163a217fddf14610291578163b219f7d714610267578163d547741f14610225578163d9fc4b611461017157508063ec87621c14610137578063ee070805146101145763f5b541a6146100e957600080fd5b3461011057816003193601126101105760209051600080516020610ff38339815191528152f35b5080fd5b503461011057816003193601126101105760209060ff6001541690519015158152f35b5034610110578160031936011261011057602090517f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b088152f35b8391503461011057610182366107ca565b60ff60019794929397541661021557859661019b610a3d565b6001600160a01b0392831693843b1561021157879460a49385879389519a8b988997635c46a7ef60e11b895216908701521660248501526044840152608060648401528160848401525af190811561020857506101f55750f35b6101fe90610ca3565b6102055780f35b80fd5b513d84823e3d90fd5b8780fd5b50505051631a8854fd60e31b8152fd5b91905034610263578060031936011261026357610260913561025b600161024a6107b4565b938387528660205286200154610b75565b610e43565b80f35b8280fd5b83346102055760203660031901126102055761026061028461079e565b61028c61080b565b610da9565b50503461011057816003193601126101105751908152602090f35b905034610263578160031936011261026357816020936102ca6107b4565b92358152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b8391503461011057826003193601126101105761030c6107b4565b90336001600160a01b0383160361032857906102609135610e43565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b905034610263578160031936011261026357359061039f6107b4565b90828452836020526103b660018286200154610b75565b600083815260208181528282206001600160a01b039094168083529390528190205460ff16156103e4578380f35b8260005260006020528060002082600052602052600020600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a43880808380f35b833461020557806003193601126102055761044d61080b565b600160ff1981541617600155337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b839150346101105760a03660031901126101105761049d61079e565b926104a66107b4565b6044356001600160a01b03818116949185900361058a576084359067ffffffffffffffff808311610211573660238401121561021157828401359081116102115736602482850101116102115760ff6001541661057a57818899610508610a3d565b1692833b15610576578895828793602460a4948b519c8d9a8b998a97635c46a7ef60e11b895216908701528286015260643560448601526080606486015282608486015201848401378181018301849052601f01601f191681010301925af190811561020857506101f55750f35b8880fd5b8551631a8854fd60e31b81528490fd5b600080fd5b8334610205576020366003190112610205576102606105ac61079e565b6105b461080b565b610d0b565b90503461026357602036600319011261026357816020936001923581528085522001549051908152f35b8334610205576105f236610751565b6105fa61080b565b825b818110610607578380f35b8061062161028c61061c610626948688610fce565b610fde565b610fa9565b6105fc565b919050346102635761063c366107ca565b919060ff600154166106ad579086939291610655610a3d565b6001600160a01b03938416803b156106a95760649385879389519a8b9889976323b872dd60e01b8952169087015216602485015260448401525af190811561020857506106a0575080f35b61026090610ca3565b8580fd5b8451631a8854fd60e31b81528690fd5b90503461026357602036600319011261026357359063ffffffff60e01b82168092036102635760209250637965db0b60e01b8214918215610702575b50519015158152f35b6301ffc9a760e01b149150386106f9565b83346102055761072236610751565b61072a61080b565b825b818110610737578380f35b806106216105b461061c61074c948688610fce565b61072c565b90602060031983011261058a5760043567ffffffffffffffff9283821161058a578060238301121561058a57816004013593841161058a5760248460051b8301011161058a576024019190565b600435906001600160a01b038216820361058a57565b602435906001600160a01b038216820361058a57565b608090600319011261058a576001600160a01b03600435818116810361058a5791602435828116810361058a5791604435908116810361058a579060643590565b3360009081527fe84508f2c7fa9c351146748b3025cb78b45df37d868e48c6a75102fecdeee6456020908152604080832054909291907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b089060ff16156108715750505050565b61087a33610e9a565b9084519061088782610ccd565b60428252838201946060368737825115610a295760308653825190600191821015610a295790607860218501536041915b8183116109bb575050506109795784610947604861096b9360449798519889916109388984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a5261090f815180928d603789019101610c80565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610c80565b01036028810189520187610ce9565b5194859362461bcd60e51b8552600485015251809281602486015285850190610c80565b601f01601f19168101030190fd5b60648386519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610a15576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109eb8587610e73565b5360041c928015610a01576000190191906108b8565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b3360009081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f602090815260408083205490929190600080516020610ff38339815191529060ff1615610a915750505050565b610a9a33610e9a565b90845190610aa782610ccd565b60428252838201946060368737825115610a295760308653825190600191821015610a295790607860218501536041915b818311610b2f575050506109795784610947604861096b9360449798519889916109388984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a5261090f815180928d603789019101610c80565b909192600f81166010811015610a15576f181899199a1a9b1b9c1cb0b131b232b360811b901a610b5f8587610e73565b5360041c928015610a0157600019019190610ad8565b60008181526020818152604092838320338452825260ff848420541615610b9c5750505050565b610ba533610e9a565b90845190610bb282610ccd565b60428252838201946060368737825115610a295760308653825190600191821015610a295790607860218501536041915b818311610c3a575050506109795784610947604861096b9360449798519889916109388984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a5261090f815180928d603789019101610c80565b909192600f81166010811015610a15576f181899199a1a9b1b9c1cb0b131b232b360811b901a610c6a8587610e73565b5360041c928015610a0157600019019190610be3565b60005b838110610c935750506000910152565b8181015183820152602001610c83565b67ffffffffffffffff8111610cb757604052565b634e487b7160e01b600052604160045260246000fd5b6080810190811067ffffffffffffffff821117610cb757604052565b90601f8019910116810190811067ffffffffffffffff821117610cb757604052565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f6020526040812054909190600080516020610ff38339815191529060ff1615610d6257505050565b808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f6020526040812054909190600080516020610ff38339815191529060ff16610dff57505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416610dff57505050565b908151811015610e84570160200190565b634e487b7160e01b600052603260045260246000fd5b604051906060820182811067ffffffffffffffff821117610cb757604052602a8252602082016040368237825115610e8457603090538151600190811015610e8457607860218401536029905b808211610f3b575050610ef75790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610f94576f181899199a1a9b1b9c1cb0b131b232b360811b901a610f6a8486610e73565b5360041c918015610f7f576000190190610ee7565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b6000198114610fb85760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015610e845760051b0190565b356001600160a01b038116810361058a579056fe97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929a264697066735822122033e4e74b88df381624f405aa98bc91db61c9a181decb5835f78666b29937aba264736f6c63430008120033","sourceMap":"489:4067:245:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;1021:20;489:4067;;;;;;;;;;;;;;;;;;;;;;;;;;646:25;489:4067;;;;;;;;;;;;;:::i;:::-;;1385:8;489:4067;;;;;;;1381:44;;2642:4:79;;;;:::i;:::-;-1:-1:-1;;;;;489:4067:245;;;;4506:43;;;;;489:4067;;;;;;;;;;;;;;;;;4506:43;;489:4067;4506:43;;;489:4067;;;;;;;;;;;;;;;;;;;;4506:43;;;;;;;;;;489:4067;;4506:43;;;;:::i;:::-;489:4067;;4506:43;489:4067;;;;4506:43;489:4067;;;;;;;;4506:43;489:4067;;;1381:44;489:4067;;;;1402:23;;;;;;489:4067;;;;;;;;;;;;;;;5486:7:79;489:4067:245;;2642:4:79;489:4067:245;;;:::i;:::-;;;;;;;;;;4604:22:79;489:4067:245;2642:4:79;:::i;:::-;5486:7;:::i;:::-;489:4067:245;;;;;;;;;;;;;-1:-1:-1;;489:4067:245;;;;2164:8;489:4067;;:::i;:::-;2642:4:79;;:::i;:::-;2164:8:245;:::i;489:4067::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:102;;-1:-1:-1;;;;;489:4067:245;;6133:23:79;489:4067:245;;;6237:7:79;489:4067:245;;6237:7:79;:::i;489:4067:245:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:79;489:4067:245;;;;4604:22:79;489:4067:245;2642:4:79;:::i;:::-;489:4067:245;;;;;;;;;;;-1:-1:-1;;;;;489:4067:245;;;;;;;;;;;;;;;7669:23:79;7665:149;;489:4067:245;;;7665:149:79;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;489:4067:245;7763:40:79;;7665:149;;;489:4067:245;;;;;;;;;;;;;;;;2642:4:79;;:::i;:::-;1598::245;489:4067;;;;;;1598:4;489:4067;1630:10;1613:28;;;;489:4067;;;;;;;;;;;-1:-1:-1;;489:4067:245;;;;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;;;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1381:44;;2642:4:79;;;;;:::i;:::-;489:4067:245;3957:45;;;;;;489:4067;;;;;;;;;;;;;;;;;;;;3957:45;;489:4067;3957:45;;;489:4067;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;489:4067:245;;;3957:45;;;;;;;;;;;;;489:4067;;3957:45;489:4067;;;1381:44;489:4067;;-1:-1:-1;;;1402:23:245;;489:4067;;1402:23;489:4067;;;;;;;;;;;-1:-1:-1;;489:4067:245;;;;1894:8;489:4067;;:::i;:::-;2642:4:79;;:::i;:::-;1894:8:245;:::i;489:4067::-;;;;;;;;-1:-1:-1;;489:4067:245;;;;;;;;;;;;;;;;4604:22:79;489:4067:245;;;;;;;;;;;;;;;:::i;:::-;2642:4:79;;:::i;:::-;2743:13:245;2758:20;;;;;;489:4067;;;2780:3;2820:12;;;;2780:3;2820:12;;;;:::i;:::-;;:::i;:::-;2780:3;:::i;:::-;2743:13;;489:4067;;;;;;;;;;:::i;:::-;;;;1385:8;489:4067;;1381:44;;2642:4:79;;;;;;;:::i;:::-;-1:-1:-1;;;;;489:4067:245;;;3334:35;;;;;489:4067;;;;;;;;;;;;;;;3334:35;;489:4067;3334:35;;;489:4067;;;;;;;;;;3334:35;;;;;;;;;;489:4067;;;3334:35;;;;:::i;:::-;489:4067;;;1381:44;489:4067;;-1:-1:-1;;;1402:23:245;;489:4067;;1402:23;489:4067;;;;;;;;-1:-1:-1;;489:4067:245;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:79;;;:87;;;;489:4067:245;;;;;;;;;2840:87:79;-1:-1:-1;;;937:40:107;;-1:-1:-1;2840:87:79;;;489:4067:245;;;;;;;;:::i;:::-;2642:4:79;;:::i;:::-;2408:13:245;2423:20;;;;;;489:4067;;;2445:3;2484:12;;;;2445:3;2484:12;;;;:::i;2445:3::-;2408:13;;489:4067;;;-1:-1:-1;;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;489:4067:245;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;489:4067:245;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3460:103:79:-;719:10:102;3130:6:79;489:4067:245;;;;;;;;;;;;;;;3130:6:79;489:4067:245;646:25;;489:4067;;3931:23:79;3927:390;;3460:103;;;;:::o;3927:390::-;2497:52:104;719:10:102;2497:52:104;:::i;:::-;1818:437;489:4067:245;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1975:15:104;;;489:4067:245;;;;;;;;;;;2000:15:104;489:4067:245;;;2000:15:104;489:4067:245;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;489:4067:245;4022:252:79;489:4067:245;;;;;;;4022:252:79;;;489:4067:245;4022:252:79;;;489:4067:245;-1:-1:-1;;;489:4067:245;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;489:4067:245;;;;;;;;;;;;:::i;:::-;;4022:252:79;;;;;;;;;:::i;:::-;489:4067:245;;;;;;;3970:336:79;;2141:1:104;3970:336:79;;489:4067:245;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;489:4067:245;;;3970:336:79;;;;278:18:104;;489:4067:245;;;;;;;278:18:104;;;2141:1;278:18;;;;;;489:4067:245;278:18:104;489:4067:245;;;278:18:104;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;489:4067:245;2065:3:104;489:4067:245;;;;-1:-1:-1;;489:4067:245;;2030:26:104;;;489:4067:245;-1:-1:-1;;;489:4067:245;;;2141:1:104;489:4067:245;;;;2096:21:104;-1:-1:-1;;;489:4067:245;;;2141:1:104;489:4067:245;;;;;-1:-1:-1;;;489:4067:245;;;;;;;;3460:103:79;719:10:102;3130:6:79;489:4067:245;;;;;;;;;;;;;;;3130:6:79;489:4067:245;-1:-1:-1;;;;;;;;;;;775:26:245;489:4067;;3931:23:79;3927:390;;3460:103;;;;:::o;3927:390::-;2497:52:104;719:10:102;2497:52:104;:::i;:::-;1818:437;489:4067:245;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1975:15:104;;;489:4067:245;;;;;;;;;;;2000:15:104;489:4067:245;;;2000:15:104;489:4067:245;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;489:4067:245;4022:252:79;489:4067:245;;;;;;;4022:252:79;;;489:4067:245;4022:252:79;;;489:4067:245;-1:-1:-1;;;489:4067:245;;;;;;;;;;;;;;:::i;2065:3:104:-;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;489:4067:245;2065:3:104;489:4067:245;;;;-1:-1:-1;;489:4067:245;;2030:26:104;;;3460:103:79;3130:6;489:4067:245;;;;;;;;;;;;719:10:102;489:4067:245;;;;;;;;;;3931:23:79;3927:390;;3460:103;;;;:::o;3927:390::-;2497:52:104;719:10:102;2497:52:104;:::i;:::-;4214:38:79;489:4067:245;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1975:15:104;;;489:4067:245;;;;;;;;;;;2000:15:104;489:4067:245;;;2000:15:104;489:4067:245;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;489:4067:245;4022:252:79;489:4067:245;;;;;;;4022:252:79;;;489:4067:245;4022:252:79;;;489:4067:245;-1:-1:-1;;;489:4067:245;;;;;;;;;;;;;;:::i;2065:3:104:-;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;489:4067:245;2065:3:104;489:4067:245;;;;-1:-1:-1;;489:4067:245;;2030:26:104;;;489:4067:245;;;;;;;;-1:-1:-1;;489:4067:245;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7587:233:79:-;-1:-1:-1;;;;;489:4067:245;3130:6:79;489:4067:245;;;;;;;;;;3130:6:79;;489:4067:245;-1:-1:-1;;;;;;;;;;;775:26:245;489:4067;;7669:23:79;7665:149;;7587:233;;;:::o;7665:149::-;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;;;;7763:40:79;719:10:102;7763:40:79;;;7587:233::o;7991:234::-;-1:-1:-1;;;;;489:4067:245;3130:6:79;489:4067:245;;;;;;;;;;3130:6:79;;489:4067:245;-1:-1:-1;;;;;;;;;;;775:26:245;489:4067;;8070:149:79;;7991:234;;;:::o;8070:149::-;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;;8168:40:79;719:10:102;8168:40:79;;;7991:234::o;:::-;;3130:6;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:149:79;;7991:234;;;:::o;489:4067:245:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1818:437:104;489:4067:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;489:4067:245;;;;;;;;;2000:15:104;489:4067:245;;;2000:15:104;489:4067:245;2025:128:104;2058:5;;;;;;2170:10;;278:18;;1818:437;:::o;278:18::-;;489:4067:245;;;;;278:18:104;;489:4067:245;2141:1:104;278:18;;;489:4067:245;278:18:104;;;489:4067:245;278:18:104;489:4067:245;;;278:18:104;;2065:3;2105:11;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;489:4067:245;2065:3:104;489:4067:245;;;;-1:-1:-1;;489:4067:245;;2030:26:104;;489:4067:245;;;;;;;;;2141:1:104;489:4067:245;;2096:21:104;489:4067:245;;;;;;;;2141:1:104;489:4067:245;;;-1:-1:-1;;489:4067:245;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;489:4067:245;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","MANAGER_ROLE()":"ec87621c","OPERATOR_ROLE()":"f5b541a6","batchGrantOperatorRole(address[])":"01eed9b1","batchRevokeOperatorRole(address[])":"1e482447","disable()":"2f2770db","disabled()":"ee070805","getRoleAdmin(bytes32)":"248a9ca3","grantOperatorRole(address)":"27ac0c58","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeOperatorRole(address)":"b219f7d7","revokeRole(bytes32,address)":"d547741f","safeTransferFrom(address,address,address,uint256)":"d9fc4b61","safeTransferFrom(address,address,address,uint256,bytes)":"2d8bf0c5","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,address,uint256)":"15dacbea"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ContractDisabledError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOperator\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disabler\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"}],\"name\":\"batchGrantOperatorRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"}],\"name\":\"batchRevokeOperatorRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"grantOperatorRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"revokeOperatorRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Uses role-based access control for operator management\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"batchGrantOperatorRole(address[])\":{\"params\":{\"operators\":\"Array of contract addresses to grant the role to\"}},\"batchRevokeOperatorRole(address[])\":{\"params\":{\"operators\":\"Array of contract addresses to revoke the role from\"}},\"disable()\":{\"details\":\"Only callable by MANAGER_ROLE\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantOperatorRole(address)\":{\"params\":{\"operator\":\"The contract address to grant the role to\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeOperatorRole(address)\":{\"params\":{\"operator\":\"The contract address to revoke the role from\"}},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeTransferFrom(address,address,address,uint256)\":{\"details\":\"Only operators can call this function\",\"params\":{\"from\":\"The current owner of the token\",\"to\":\"The recipient of the token\",\"token\":\"The NFT contract address\",\"tokenId\":\"The ID of the token to transfer\"}},\"safeTransferFrom(address,address,address,uint256,bytes)\":{\"details\":\"Only operators can call this function\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The current owner of the token\",\"to\":\"The recipient of the token\",\"token\":\"The NFT contract address\",\"tokenId\":\"The ID of the token to transfer\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferFrom(address,address,address,uint256)\":{\"details\":\"Only operators can call this function\",\"params\":{\"from\":\"The current owner of the token\",\"to\":\"The recipient of the token\",\"token\":\"The NFT contract address\",\"tokenId\":\"The ID of the token to transfer\"}}},\"title\":\"ERC721ApprovalManager\",\"version\":1},\"userdoc\":{\"errors\":{\"ContractDisabledError()\":[{\"notice\":\"Error thrown when contract is disabled\"}],\"NotOperator()\":[{\"notice\":\"Error thrown when caller is not an operator\"}]},\"events\":{\"ContractDisabled(address)\":{\"notice\":\"Event emitted when contract is disabled\"}},\"kind\":\"user\",\"methods\":{\"MANAGER_ROLE()\":{\"notice\":\"Role for managing operators\"},\"OPERATOR_ROLE()\":{\"notice\":\"Role for contracts allowed to transfer tokens\"},\"batchGrantOperatorRole(address[])\":{\"notice\":\"Batch version of grantOperatorRole\"},\"batchRevokeOperatorRole(address[])\":{\"notice\":\"Batch version of revokeOperatorRole\"},\"disable()\":{\"notice\":\"Disables the contract permanently\"},\"disabled()\":{\"notice\":\"Whether the contract is disabled\"},\"grantOperatorRole(address)\":{\"notice\":\"Allows MANAGER_ROLE to grant OPERATOR_ROLE to a contract\"},\"revokeOperatorRole(address)\":{\"notice\":\"Allows MANAGER_ROLE to revoke OPERATOR_ROLE from a contract\"},\"safeTransferFrom(address,address,address,uint256)\":{\"notice\":\"Safe transfers an NFT from one address to another\"},\"safeTransferFrom(address,address,address,uint256,bytes)\":{\"notice\":\"Safe transfers an NFT from one address to another\"},\"transferFrom(address,address,address,uint256)\":{\"notice\":\"Transfers an NFT from one address to another\"}},\"notice\":\"A central approval manager for ERC721 tokens that allows whitelisted contracts to transfer tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/approver/ERC721/ERC721ApprovalManager.sol\":\"ERC721ApprovalManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/v2/approver/ERC721/ERC721ApprovalManager.sol\":{\"keccak256\":\"0x0348d628e904324e4d4f3b47d7c201c029fb41831c342e4118287bdd17921661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a896392483756a5fdd006a8b306a860bdf80e02be7a142cbedc9aac5939e49\",\"dweb:/ipfs/QmTqJcStnUsy6s92vQW6nkzN9fCm8c3Zsxs8AWuFprB8LL\"]},\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":{\"keccak256\":\"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3\",\"dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ContractDisabledError"},{"inputs":[],"type":"error","name":"NotOperator"},{"inputs":[{"internalType":"address","name":"disabler","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MANAGER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address[]","name":"operators","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchGrantOperatorRole"},{"inputs":[{"internalType":"address[]","name":"operators","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRevokeOperatorRole"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disable"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantOperatorRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeOperatorRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"batchGrantOperatorRole(address[])":{"params":{"operators":"Array of contract addresses to grant the role to"}},"batchRevokeOperatorRole(address[])":{"params":{"operators":"Array of contract addresses to revoke the role from"}},"disable()":{"details":"Only callable by MANAGER_ROLE"},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantOperatorRole(address)":{"params":{"operator":"The contract address to grant the role to"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeOperatorRole(address)":{"params":{"operator":"The contract address to revoke the role from"}},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"safeTransferFrom(address,address,address,uint256)":{"details":"Only operators can call this function","params":{"from":"The current owner of the token","to":"The recipient of the token","token":"The NFT contract address","tokenId":"The ID of the token to transfer"}},"safeTransferFrom(address,address,address,uint256,bytes)":{"details":"Only operators can call this function","params":{"data":"Additional data with no specified format","from":"The current owner of the token","to":"The recipient of the token","token":"The NFT contract address","tokenId":"The ID of the token to transfer"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferFrom(address,address,address,uint256)":{"details":"Only operators can call this function","params":{"from":"The current owner of the token","to":"The recipient of the token","token":"The NFT contract address","tokenId":"The ID of the token to transfer"}}},"version":1},"userdoc":{"kind":"user","methods":{"MANAGER_ROLE()":{"notice":"Role for managing operators"},"OPERATOR_ROLE()":{"notice":"Role for contracts allowed to transfer tokens"},"batchGrantOperatorRole(address[])":{"notice":"Batch version of grantOperatorRole"},"batchRevokeOperatorRole(address[])":{"notice":"Batch version of revokeOperatorRole"},"disable()":{"notice":"Disables the contract permanently"},"disabled()":{"notice":"Whether the contract is disabled"},"grantOperatorRole(address)":{"notice":"Allows MANAGER_ROLE to grant OPERATOR_ROLE to a contract"},"revokeOperatorRole(address)":{"notice":"Allows MANAGER_ROLE to revoke OPERATOR_ROLE from a contract"},"safeTransferFrom(address,address,address,uint256)":{"notice":"Safe transfers an NFT from one address to another"},"safeTransferFrom(address,address,address,uint256,bytes)":{"notice":"Safe transfers an NFT from one address to another"},"transferFrom(address,address,address,uint256)":{"notice":"Transfers an NFT from one address to another"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/approver/ERC721/ERC721ApprovalManager.sol":"ERC721ApprovalManager"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/v2/approver/ERC721/ERC721ApprovalManager.sol":{"keccak256":"0x0348d628e904324e4d4f3b47d7c201c029fb41831c342e4118287bdd17921661","urls":["bzz-raw://86a896392483756a5fdd006a8b306a860bdf80e02be7a142cbedc9aac5939e49","dweb:/ipfs/QmTqJcStnUsy6s92vQW6nkzN9fCm8c3Zsxs8AWuFprB8LL"],"license":"MIT"},"src/v2/approver/ERC721/IERC721ApprovalManager.sol":{"keccak256":"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4","urls":["bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3","dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd"],"license":"MIT"}},"version":1},"id":245} \ No newline at end of file diff --git a/abis/IApprovedTokenRegistry.json b/abis/IApprovedTokenRegistry.json index dd93ed4..867e322 100644 --- a/abis/IApprovedTokenRegistry.json +++ b/abis/IApprovedTokenRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"removeApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAllTokensApproved","inputs":[{"name":"_allTokensApproved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addApprovedToken(address)":"cd10534b","isApprovedToken(address)":"2d5ad3d5","removeApprovedToken(address)":"5705987a","setAllTokensApproved(bool)":"32a801a2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"addApprovedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"isApprovedToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"removeApprovedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_allTokensApproved\",\"type\":\"bool\"}],\"name\":\"setAllTokensApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being approved.\"}},\"isApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being checked.\"},\"returns\":{\"_0\":\"True if the token is allowed, false otherwise.\"}},\"removeApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being approved.\"}},\"setAllTokensApproved(bool)\":{\"params\":{\"_allTokensApproved\":\"Bool denoting if all tokens should be approved.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addApprovedToken(address)\":{\"notice\":\"Adds a token to the list of approved tokens.\"},\"isApprovedToken(address)\":{\"notice\":\"Returns if a token has been approved or not.\"},\"removeApprovedToken(address)\":{\"notice\":\"Removes a token from the approved tokens list.\"},\"setAllTokensApproved(bool)\":{\"notice\":\"Sets whether all token contracts should be approved.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/interfaces/IApprovedTokenRegistry.sol\":\"IApprovedTokenRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addApprovedToken"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeApprovedToken"},{"inputs":[{"internalType":"bool","name":"_allTokensApproved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setAllTokensApproved"}],"devdoc":{"kind":"dev","methods":{"addApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being approved."}},"isApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being checked."},"returns":{"_0":"True if the token is allowed, false otherwise."}},"removeApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being approved."}},"setAllTokensApproved(bool)":{"params":{"_allTokensApproved":"Bool denoting if all tokens should be approved."}}},"version":1},"userdoc":{"kind":"user","methods":{"addApprovedToken(address)":{"notice":"Adds a token to the list of approved tokens."},"isApprovedToken(address)":{"notice":"Returns if a token has been approved or not."},"removeApprovedToken(address)":{"notice":"Removes a token from the approved tokens list."},"setAllTokensApproved(bool)":{"notice":"Sets whether all token contracts should be approved."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/interfaces/IApprovedTokenRegistry.sol":"IApprovedTokenRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"}},"version":1},"id":36} \ No newline at end of file +{"abi":[{"type":"function","name":"addApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"removeApprovedToken","inputs":[{"name":"_tokenContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAllTokensApproved","inputs":[{"name":"_allTokensApproved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addApprovedToken(address)":"cd10534b","isApprovedToken(address)":"2d5ad3d5","removeApprovedToken(address)":"5705987a","setAllTokensApproved(bool)":"32a801a2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"addApprovedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"isApprovedToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"}],\"name\":\"removeApprovedToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_allTokensApproved\",\"type\":\"bool\"}],\"name\":\"setAllTokensApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being approved.\"}},\"isApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being checked.\"},\"returns\":{\"_0\":\"True if the token is allowed, false otherwise.\"}},\"removeApprovedToken(address)\":{\"params\":{\"_tokenContract\":\"Contract of token being approved.\"}},\"setAllTokensApproved(bool)\":{\"params\":{\"_allTokensApproved\":\"Bool denoting if all tokens should be approved.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addApprovedToken(address)\":{\"notice\":\"Adds a token to the list of approved tokens.\"},\"isApprovedToken(address)\":{\"notice\":\"Returns if a token has been approved or not.\"},\"removeApprovedToken(address)\":{\"notice\":\"Removes a token from the approved tokens list.\"},\"setAllTokensApproved(bool)\":{\"notice\":\"Sets whether all token contracts should be approved.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/interfaces/IApprovedTokenRegistry.sol\":\"IApprovedTokenRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addApprovedToken"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeApprovedToken"},{"inputs":[{"internalType":"bool","name":"_allTokensApproved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setAllTokensApproved"}],"devdoc":{"kind":"dev","methods":{"addApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being approved."}},"isApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being checked."},"returns":{"_0":"True if the token is allowed, false otherwise."}},"removeApprovedToken(address)":{"params":{"_tokenContract":"Contract of token being approved."}},"setAllTokensApproved(bool)":{"params":{"_allTokensApproved":"Bool denoting if all tokens should be approved."}}},"version":1},"userdoc":{"kind":"user","methods":{"addApprovedToken(address)":{"notice":"Adds a token to the list of approved tokens."},"isApprovedToken(address)":{"notice":"Returns if a token has been approved or not."},"removeApprovedToken(address)":{"notice":"Removes a token from the approved tokens list."},"setAllTokensApproved(bool)":{"notice":"Sets whether all token contracts should be approved."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/interfaces/IApprovedTokenRegistry.sol":"IApprovedTokenRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"}},"version":1},"id":184} \ No newline at end of file diff --git a/abis/IBatchOffer.json b/abis/IBatchOffer.json index 2b90873..766327e 100644 --- a/abis/IBatchOffer.json +++ b/abis/IBatchOffer.json @@ -1 +1 @@ -{"abi":[{"type":"event","name":"BatchOfferAccepted","inputs":[{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"buyer","type":"address","indexed":true,"internalType":"address"},{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"rootHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BatchOfferCreated","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"rootHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"expiry","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BatchOfferAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"BatchOfferCreated\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"SuperRare Labs Inc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBatchOffer\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the RareMinter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/batchoffer/IBatchOffer.sol\":\"IBatchOffer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/batchoffer/IBatchOffer.sol\":{\"keccak256\":\"0x44626a4f71718c7d60b372a0812953cbffa0c0d9658268eba04383250539a051\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b72b83f9851b994ddf43fcf0a511ba4e54da4c0c0060fa2b850aadff8f84a7f8\",\"dweb:/ipfs/QmfJt4TxCvrZhZQyrmXz8QDDgFCvNxZSUd5S4pwKSGFydN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"seller","type":"address","indexed":true},{"internalType":"address","name":"buyer","type":"address","indexed":true},{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":false},{"internalType":"bytes32","name":"rootHash","type":"bytes32","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BatchOfferAccepted","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"rootHash","type":"bytes32","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"expiry","type":"uint256","indexed":false}],"type":"event","name":"BatchOfferCreated","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/batchoffer/IBatchOffer.sol":"IBatchOffer"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/batchoffer/IBatchOffer.sol":{"keccak256":"0x44626a4f71718c7d60b372a0812953cbffa0c0d9658268eba04383250539a051","urls":["bzz-raw://b72b83f9851b994ddf43fcf0a511ba4e54da4c0c0060fa2b850aadff8f84a7f8","dweb:/ipfs/QmfJt4TxCvrZhZQyrmXz8QDDgFCvNxZSUd5S4pwKSGFydN"],"license":"MIT"}},"version":1},"id":51} \ No newline at end of file +{"abi":[{"type":"event","name":"BatchOfferAccepted","inputs":[{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"buyer","type":"address","indexed":true,"internalType":"address"},{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"rootHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BatchOfferCreated","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"rootHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"expiry","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BatchOfferRevoked","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"rootHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BatchOfferAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"BatchOfferCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BatchOfferRevoked\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"SuperRare Labs Inc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBatchOffer\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the RareMinter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/batchoffer/IBatchOffer.sol\":\"IBatchOffer\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/batchoffer/IBatchOffer.sol\":{\"keccak256\":\"0xe492fe186db000e7c8256a9e3c121bbe189c486055979caa2b37b873b203b8f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19507ced29c05a1843287fc83d9404238f063bea4876e517e965182d77a1737f\",\"dweb:/ipfs/QmdG3BmFVLqQD2E5GytHpDkV3ZnaRRc5utPjiWoRg2otNB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"seller","type":"address","indexed":true},{"internalType":"address","name":"buyer","type":"address","indexed":true},{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":false},{"internalType":"bytes32","name":"rootHash","type":"bytes32","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BatchOfferAccepted","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"rootHash","type":"bytes32","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"expiry","type":"uint256","indexed":false}],"type":"event","name":"BatchOfferCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"rootHash","type":"bytes32","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BatchOfferRevoked","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/batchoffer/IBatchOffer.sol":"IBatchOffer"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/batchoffer/IBatchOffer.sol":{"keccak256":"0xe492fe186db000e7c8256a9e3c121bbe189c486055979caa2b37b873b203b8f9","urls":["bzz-raw://19507ced29c05a1843287fc83d9404238f063bea4876e517e965182d77a1737f","dweb:/ipfs/QmdG3BmFVLqQD2E5GytHpDkV3ZnaRRc5utPjiWoRg2otNB"],"license":"MIT"}},"version":1},"id":58} \ No newline at end of file diff --git a/abis/ICreatorRegistry.json b/abis/ICreatorRegistry.json index 4264de9..14cf18a 100644 --- a/abis/ICreatorRegistry.json +++ b/abis/ICreatorRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"tokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"tokenCreator(address,uint256)":"b85ed7e4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/interfaces/ICreatorRegistry.sol\":\"ICreatorRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/interfaces/ICreatorRegistry.sol":"ICreatorRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"}},"version":1},"id":37} \ No newline at end of file +{"abi":[{"type":"function","name":"tokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"tokenCreator(address,uint256)":"b85ed7e4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/interfaces/ICreatorRegistry.sol\":\"ICreatorRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/interfaces/ICreatorRegistry.sol":"ICreatorRegistry"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"}},"version":1},"id":74} \ No newline at end of file diff --git a/abis/IERC20ApprovalManager.json b/abis/IERC20ApprovalManager.json new file mode 100644 index 0000000..1830240 --- /dev/null +++ b/abis/IERC20ApprovalManager.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"transferFrom","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"transferFrom(address,address,address,uint256)":"15dacbea"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"transferFrom(address,address,address,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to transfer\",\"from\":\"The address to transfer from\",\"to\":\"The recipient address\",\"token\":\"The token contract address\"}}},\"title\":\"IERC20ApprovalManager\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"transferFrom(address,address,address,uint256)\":{\"notice\":\"Transfer ERC20 tokens from a user to a recipient\"}},\"notice\":\"Interface for managing ERC20 token approvals and transfers\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":\"IERC20ApprovalManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":{\"keccak256\":\"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f\",\"dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"transferFrom(address,address,address,uint256)":{"params":{"amount":"The amount of tokens to transfer","from":"The address to transfer from","to":"The recipient address","token":"The token contract address"}}},"version":1},"userdoc":{"kind":"user","methods":{"transferFrom(address,address,address,uint256)":{"notice":"Transfer ERC20 tokens from a user to a recipient"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/approver/ERC20/IERC20ApprovalManager.sol":"IERC20ApprovalManager"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"src/v2/approver/ERC20/IERC20ApprovalManager.sol":{"keccak256":"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e","urls":["bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f","dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY"],"license":"MIT"}},"version":1},"id":244} \ No newline at end of file diff --git a/abis/IERC2981.json b/abis/IERC2981.json index ab00b65..e9d85dc 100644 --- a/abis/IERC2981.json +++ b/abis/IERC2981.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"royaltyInfo(uint256,uint256)":"2a55205a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the NFT Royalty Standard\",\"kind\":\"dev\",\"methods\":{\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/IERC2981.sol\":\"IERC2981\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/IERC2981.sol":"IERC2981"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"}},"version":1},"id":213} \ No newline at end of file +{"abi":[{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"royaltyInfo(uint256,uint256)":"2a55205a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the NFT Royalty Standard\",\"kind\":\"dev\",\"methods\":{\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/IERC2981.sol\":\"IERC2981\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/IERC2981.sol":"IERC2981"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"}},"version":1},"id":234} \ No newline at end of file diff --git a/abis/IERC721ApprovalManager.json b/abis/IERC721ApprovalManager.json new file mode 100644 index 0000000..01aaaf6 --- /dev/null +++ b/abis/IERC721ApprovalManager.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"safeTransferFrom","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"safeTransferFrom(address,address,address,uint256)":"d9fc4b61","safeTransferFrom(address,address,address,uint256,bytes)":"2d8bf0c5","transferFrom(address,address,address,uint256)":"15dacbea"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"safeTransferFrom(address,address,address,uint256)\":{\"params\":{\"from\":\"The address to transfer from\",\"to\":\"The recipient address\",\"token\":\"The NFT contract address\",\"tokenId\":\"The ID of the token to transfer\"}},\"safeTransferFrom(address,address,address,uint256,bytes)\":{\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address to transfer from\",\"to\":\"The recipient address\",\"token\":\"The NFT contract address\",\"tokenId\":\"The ID of the token to transfer\"}},\"transferFrom(address,address,address,uint256)\":{\"params\":{\"from\":\"The address to transfer from\",\"to\":\"The recipient address\",\"token\":\"The NFT contract address\",\"tokenId\":\"The ID of the token to transfer\"}}},\"title\":\"IERC721ApprovalManager\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"safeTransferFrom(address,address,address,uint256)\":{\"notice\":\"Safely transfer an ERC721 token from a user to a recipient without data\"},\"safeTransferFrom(address,address,address,uint256,bytes)\":{\"notice\":\"Safely transfer an ERC721 token from a user to a recipient\"},\"transferFrom(address,address,address,uint256)\":{\"notice\":\"Transfer an ERC721 token from a user to a recipient\"}},\"notice\":\"Interface for managing ERC721 token approvals and transfers\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":\"IERC721ApprovalManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":{\"keccak256\":\"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3\",\"dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"safeTransferFrom(address,address,address,uint256)":{"params":{"from":"The address to transfer from","to":"The recipient address","token":"The NFT contract address","tokenId":"The ID of the token to transfer"}},"safeTransferFrom(address,address,address,uint256,bytes)":{"params":{"data":"Additional data with no specified format","from":"The address to transfer from","to":"The recipient address","token":"The NFT contract address","tokenId":"The ID of the token to transfer"}},"transferFrom(address,address,address,uint256)":{"params":{"from":"The address to transfer from","to":"The recipient address","token":"The NFT contract address","tokenId":"The ID of the token to transfer"}}},"version":1},"userdoc":{"kind":"user","methods":{"safeTransferFrom(address,address,address,uint256)":{"notice":"Safely transfer an ERC721 token from a user to a recipient without data"},"safeTransferFrom(address,address,address,uint256,bytes)":{"notice":"Safely transfer an ERC721 token from a user to a recipient"},"transferFrom(address,address,address,uint256)":{"notice":"Transfer an ERC721 token from a user to a recipient"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/approver/ERC721/IERC721ApprovalManager.sol":"IERC721ApprovalManager"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"src/v2/approver/ERC721/IERC721ApprovalManager.sol":{"keccak256":"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4","urls":["bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3","dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd"],"license":"MIT"}},"version":1},"id":246} \ No newline at end of file diff --git a/abis/IERC721Mint.json b/abis/IERC721Mint.json index d48d7f1..5244fd3 100644 --- a/abis/IERC721Mint.json +++ b/abis/IERC721Mint.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"mintTo(address)":"755edd17"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRare Labs Inc.\",\"kind\":\"dev\",\"methods\":{\"mintTo(address)\":{\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}}},\"title\":\"IERC721Mint\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"mintTo(address)\":{\"notice\":\"Mint a new token to the specified receiver.\"}},\"notice\":\"Interface for Minting ERC721\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/IERC721Mint.sol\":\"IERC721Mint\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/collection/IERC721Mint.sol\":{\"keccak256\":\"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d\",\"dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"mintTo(address)":{"params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}}},"version":1},"userdoc":{"kind":"user","methods":{"mintTo(address)":{"notice":"Mint a new token to the specified receiver."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/IERC721Mint.sol":"IERC721Mint"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/collection/IERC721Mint.sol":{"keccak256":"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370","urls":["bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d","dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH"],"license":"MIT"}},"version":1},"id":154} \ No newline at end of file +{"abi":[{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"mintTo(address)":"755edd17"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRare Labs Inc.\",\"kind\":\"dev\",\"methods\":{\"mintTo(address)\":{\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}}},\"title\":\"IERC721Mint\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"mintTo(address)\":{\"notice\":\"Mint a new token to the specified receiver.\"}},\"notice\":\"Interface for Minting ERC721\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/IERC721Mint.sol\":\"IERC721Mint\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/collection/IERC721Mint.sol\":{\"keccak256\":\"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d\",\"dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"mintTo(address)":{"params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}}},"version":1},"userdoc":{"kind":"user","methods":{"mintTo(address)":{"notice":"Mint a new token to the specified receiver."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/IERC721Mint.sol":"IERC721Mint"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/collection/IERC721Mint.sol":{"keccak256":"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370","urls":["bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d","dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH"],"license":"MIT"}},"version":1},"id":165} \ No newline at end of file diff --git a/abis/IMarketplaceSettings.json b/abis/IMarketplaceSettings.json index 09b4069..5b3e1fb 100644 --- a/abis/IMarketplaceSettings.json +++ b/abis/IMarketplaceSettings.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"calculateMarketplaceFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePrimarySaleFee","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMaxValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMinValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"hasERC721TokenSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"markERC721Token","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_hasSold","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"calculateMarketplaceFee(uint256)":"c3fc4952","calculatePrimarySaleFee(address,uint256)":"6357f1ac","getERC721ContractPrimarySaleFeePercentage(address)":"b28a7bad","getMarketplaceFeePercentage()":"83475921","getMarketplaceMaxValue()":"f9a23e86","getMarketplaceMinValue()":"5c1b40f1","hasERC721TokenSold(address,uint256)":"511bc84c","markERC721Token(address,uint256,bool)":"5a3c652d","setERC721ContractPrimarySaleFeePercentage(address,uint8)":"ae312a97"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplaceFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculatePrimarySaleFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getERC721ContractPrimarySaleFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMaxValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMinValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasERC721TokenSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_hasSold\",\"type\":\"bool\"}],\"name\":\"markERC721Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setERC721ContractPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"calculateMarketplaceFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculatePrimarySaleFee(address,uint256)\":{\"details\":\"Utility function for calculating the primary sale fee for given amount of wei\",\"params\":{\"_amount\":\"uint256 wei amount.\",\"_contractAddress\":\"address ERC721Contract address.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getERC721ContractPrimarySaleFeePercentage(address)\":{\"details\":\"Get the primary sale fee percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\"},\"returns\":{\"_0\":\"uint8 wei primary sale fee.\"}},\"getMarketplaceFeePercentage()\":{\"details\":\"Get the marketplace fee percentage.\",\"returns\":{\"_0\":\"uint8 wei fee.\"}},\"getMarketplaceMaxValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getMarketplaceMinValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"hasERC721TokenSold(address,uint256)\":{\"details\":\"Check whether the ERC721 token has sold at least once.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"bool of whether the token has sold.\"}},\"markERC721Token(address,uint256,bool)\":{\"details\":\"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_hasSold\":\"bool of whether the token should be marked sold or not.\",\"_tokenId\":\"uint256 token ID.\"}}},\"title\":\"IMarketplaceSettings Settings governing a marketplace.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/IMarketplaceSettings.sol\":\"IMarketplaceSettings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplaceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculatePrimarySaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getERC721ContractPrimarySaleFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMaxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMinValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasERC721TokenSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_hasSold","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"markERC721Token"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setERC721ContractPrimarySaleFeePercentage"}],"devdoc":{"kind":"dev","methods":{"calculateMarketplaceFee(uint256)":{"details":"Utility function for calculating the marketplace fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculatePrimarySaleFee(address,uint256)":{"details":"Utility function for calculating the primary sale fee for given amount of wei","params":{"_amount":"uint256 wei amount.","_contractAddress":"address ERC721Contract address."},"returns":{"_0":"uint256 wei fee."}},"getERC721ContractPrimarySaleFeePercentage(address)":{"details":"Get the primary sale fee percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address."},"returns":{"_0":"uint8 wei primary sale fee."}},"getMarketplaceFeePercentage()":{"details":"Get the marketplace fee percentage.","returns":{"_0":"uint8 wei fee."}},"getMarketplaceMaxValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getMarketplaceMinValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"hasERC721TokenSold(address,uint256)":{"details":"Check whether the ERC721 token has sold at least once.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"bool of whether the token has sold."}},"markERC721Token(address,uint256,bool)":{"details":"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.","params":{"_contractAddress":"address ERC721Contract address.","_hasSold":"bool of whether the token should be marked sold or not.","_tokenId":"uint256 token ID."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/IMarketplaceSettings.sol":"IMarketplaceSettings"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"}},"version":1},"id":33} \ No newline at end of file +{"abi":[{"type":"function","name":"calculateMarketplaceFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePrimarySaleFee","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMaxValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMinValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"hasERC721TokenSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"markERC721Token","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_hasSold","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"calculateMarketplaceFee(uint256)":"c3fc4952","calculatePrimarySaleFee(address,uint256)":"6357f1ac","getERC721ContractPrimarySaleFeePercentage(address)":"b28a7bad","getMarketplaceFeePercentage()":"83475921","getMarketplaceMaxValue()":"f9a23e86","getMarketplaceMinValue()":"5c1b40f1","hasERC721TokenSold(address,uint256)":"511bc84c","markERC721Token(address,uint256,bool)":"5a3c652d","setERC721ContractPrimarySaleFeePercentage(address,uint8)":"ae312a97"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplaceFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculatePrimarySaleFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getERC721ContractPrimarySaleFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMaxValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMinValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasERC721TokenSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_hasSold\",\"type\":\"bool\"}],\"name\":\"markERC721Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setERC721ContractPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"calculateMarketplaceFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculatePrimarySaleFee(address,uint256)\":{\"details\":\"Utility function for calculating the primary sale fee for given amount of wei\",\"params\":{\"_amount\":\"uint256 wei amount.\",\"_contractAddress\":\"address ERC721Contract address.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getERC721ContractPrimarySaleFeePercentage(address)\":{\"details\":\"Get the primary sale fee percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\"},\"returns\":{\"_0\":\"uint8 wei primary sale fee.\"}},\"getMarketplaceFeePercentage()\":{\"details\":\"Get the marketplace fee percentage.\",\"returns\":{\"_0\":\"uint8 wei fee.\"}},\"getMarketplaceMaxValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getMarketplaceMinValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"hasERC721TokenSold(address,uint256)\":{\"details\":\"Check whether the ERC721 token has sold at least once.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"bool of whether the token has sold.\"}},\"markERC721Token(address,uint256,bool)\":{\"details\":\"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_hasSold\":\"bool of whether the token should be marked sold or not.\",\"_tokenId\":\"uint256 token ID.\"}}},\"title\":\"IMarketplaceSettings Settings governing a marketplace.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/IMarketplaceSettings.sol\":\"IMarketplaceSettings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplaceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculatePrimarySaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getERC721ContractPrimarySaleFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMaxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMinValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasERC721TokenSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_hasSold","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"markERC721Token"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setERC721ContractPrimarySaleFeePercentage"}],"devdoc":{"kind":"dev","methods":{"calculateMarketplaceFee(uint256)":{"details":"Utility function for calculating the marketplace fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculatePrimarySaleFee(address,uint256)":{"details":"Utility function for calculating the primary sale fee for given amount of wei","params":{"_amount":"uint256 wei amount.","_contractAddress":"address ERC721Contract address."},"returns":{"_0":"uint256 wei fee."}},"getERC721ContractPrimarySaleFeePercentage(address)":{"details":"Get the primary sale fee percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address."},"returns":{"_0":"uint8 wei primary sale fee."}},"getMarketplaceFeePercentage()":{"details":"Get the marketplace fee percentage.","returns":{"_0":"uint8 wei fee."}},"getMarketplaceMaxValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getMarketplaceMinValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"hasERC721TokenSold(address,uint256)":{"details":"Check whether the ERC721 token has sold at least once.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"bool of whether the token has sold."}},"markERC721Token(address,uint256,bool)":{"details":"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.","params":{"_contractAddress":"address ERC721Contract address.","_hasSold":"bool of whether the token should be marked sold or not.","_tokenId":"uint256 token ID."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/IMarketplaceSettings.sol":"IMarketplaceSettings"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"}},"version":1},"id":171} \ No newline at end of file diff --git a/abis/IPayments.json b/abis/IPayments.json index a3307d9..390767b 100644 --- a/abis/IPayments.json +++ b/abis/IPayments.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"payout","inputs":[{"name":"_splits","type":"address[]","internalType":"address[]"},{"name":"_amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"refund","inputs":[{"name":"_payee","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"payout(address[],uint256[])":"c176e639","refund(address,uint256)":"410085df"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_splits\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"payout\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IPayments\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Payments contract used.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/payments/IPayments.sol\":\"IPayments\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"_splits","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function","name":"payout"},{"inputs":[{"internalType":"address","name":"_payee","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"refund"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/payments/IPayments.sol":"IPayments"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"}},"version":1},"id":35} \ No newline at end of file +{"abi":[{"type":"function","name":"payout","inputs":[{"name":"_splits","type":"address[]","internalType":"address[]"},{"name":"_amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"refund","inputs":[{"name":"_payee","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"payout(address[],uint256[])":"c176e639","refund(address,uint256)":"410085df"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_splits\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"payout\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IPayments\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Payments contract used.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/payments/IPayments.sol\":\"IPayments\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"_splits","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function","name":"payout"},{"inputs":[{"internalType":"address","name":"_payee","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"refund"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/payments/IPayments.sol":"IPayments"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"}},"version":1},"id":178} \ No newline at end of file diff --git a/abis/IRareBatchAuctionHouse.json b/abis/IRareBatchAuctionHouse.json new file mode 100644 index 0000000..6996f03 --- /dev/null +++ b/abis/IRareBatchAuctionHouse.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"bidWithAuctionMerkleProof","inputs":[{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_bidAmount","type":"uint128","internalType":"uint128"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuctionMerkleRoot","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"uint64","internalType":"uint64"},{"name":"","type":"uint64","internalType":"uint64"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getCreatorAuctionMerkleRootNonce","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"marketplaceFeeAtTime","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMerkleAuctionConfig","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareBatchAuctionHouse.MerkleAuctionConfig","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startingAmount","type":"uint128","internalType":"uint128"},{"name":"duration","type":"uint64","internalType":"uint64"},{"name":"nonce","type":"uint32","internalType":"uint32"},{"name":"splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenAuctionNonce","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_tokenContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getUserAuctionMerkleRoots","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isTokenInRoot","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_origin","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"registerAuctionMerkleRoot","inputs":[{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_currency","type":"address","internalType":"address"},{"name":"_startingAmount","type":"uint128","internalType":"uint128"},{"name":"_duration","type":"uint64","internalType":"uint64"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AuctionBid","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"bidder","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"marketplaceFee","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionMerkleBid","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"bidder","type":"address","indexed":true,"internalType":"address"},{"name":"creator","type":"address","indexed":false,"internalType":"address"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"nonce","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"AuctionMerkleRootCancelled","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"AuctionMerkleRootRegistered","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"startingAmount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"duration","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"nonce","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"seller","type":"address","indexed":false,"internalType":"address"},{"name":"bidder","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"marketplaceFee","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"bid(address,uint256,address,uint128)":"6699ee43","bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])":"95cf6b90","cancelAuctionMerkleRoot(bytes32)":"ac964f8e","getAuctionDetails(address,uint256)":"0cd87c68","getCreatorAuctionMerkleRootNonce(address,bytes32)":"e29ac890","getCurrentBid(address,uint256)":"e35ed75a","getMerkleAuctionConfig(address,bytes32)":"76ffb5a7","getTokenAuctionNonce(address,bytes32,address,uint256)":"d97f7657","getUserAuctionMerkleRoots(address)":"4ebade5f","isTokenInRoot(bytes32,address,uint256,bytes32[])":"5e51b2d4","registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])":"301aa514","settleAuction(address,uint256)":"5138b08c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"}],\"name\":\"AuctionMerkleBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"AuctionMerkleRootCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"startingAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"duration\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"}],\"name\":\"AuctionMerkleRootRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_amount\",\"type\":\"uint128\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint128\",\"name\":\"_bidAmount\",\"type\":\"uint128\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"bidWithAuctionMerkleProof\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"cancelAuctionMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"getCreatorAuctionMerkleRootNonce\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getCurrentBid\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFeeAtTime\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"getMerkleAuctionConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"startingAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"duration\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"address payable[]\",\"name\":\"splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareBatchAuctionHouse.MerkleAuctionConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenAuctionNonce\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserAuctionMerkleRoots\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"isTokenInRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_startingAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_duration\",\"type\":\"uint64\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"registerAuctionMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRare Labs\",\"kind\":\"dev\",\"methods\":{\"bid(address,uint256,address,uint128)\":{\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])\":{\"params\":{\"_bidAmount\":\"The amount of the bid\",\"_creator\":\"The creator of the auction\",\"_currencyAddress\":\"The currency address for the bid\",\"_merkleRoot\":\"The root hash of the Merkle tree\",\"_originContract\":\"The contract address of the token\",\"_proof\":\"The Merkle proof verifying token inclusion\",\"_tokenId\":\"The ID of the token being bid on\"}},\"cancelAuctionMerkleRoot(bytes32)\":{\"params\":{\"_root\":\"The Merkle root to cancel\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationBlock, startingTime, lengthOfAuction, currencyAddress, minimumBid, splitRecipients array, and splitRatios array.\"}},\"getCreatorAuctionMerkleRootNonce(address,bytes32)\":{\"params\":{\"_root\":\"The Merkle root\",\"_user\":\"The address of the user\"},\"returns\":{\"_0\":\"The current nonce value\"}},\"getCurrentBid(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of the asset\",\"_tokenId\":\"Token Id of the asset\"},\"returns\":{\"amount\":\"The amount of the current highest bid\",\"bidder\":\"The address of the current highest bidder\",\"currencyAddress\":\"The currency address of the bid\",\"marketplaceFeeAtTime\":\"The marketplace fee percentage at the time of the bid\"}},\"getMerkleAuctionConfig(address,bytes32)\":{\"params\":{\"_creator\":\"The address of the creator\",\"_root\":\"The Merkle root\"},\"returns\":{\"_0\":\"The MerkleAuctionConfig struct containing the auction configuration\"}},\"getTokenAuctionNonce(address,bytes32,address,uint256)\":{\"params\":{\"_creator\":\"The creator of the auction\",\"_root\":\"The Merkle root\",\"_tokenContract\":\"The token contract address\",\"_tokenId\":\"The token ID\"},\"returns\":{\"_0\":\"The current nonce for this token\"}},\"getUserAuctionMerkleRoots(address)\":{\"params\":{\"_user\":\"The address of the user\"},\"returns\":{\"_0\":\"An array of Merkle roots\"}},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"params\":{\"_origin\":\"The contract address of the token\",\"_proof\":\"The Merkle proof for verification\",\"_root\":\"The Merkle root to check against\",\"_tokenId\":\"The ID of the token\"},\"returns\":{\"_0\":\"True if the token is included in the root, false otherwise\"}},\"registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])\":{\"params\":{\"_currency\":\"The currency address for the auction\",\"_duration\":\"The length of the auction in seconds\",\"_merkleRoot\":\"The root hash of the Merkle tree containing token IDs\",\"_splitAddresses\":\"The addresses to split the proceeds with\",\"_splitRatios\":\"The ratios for each split address\",\"_startingAmount\":\"The minimum bid amount\"}},\"settleAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}}},\"title\":\"IRareBatchAuctionHouse\",\"version\":1},\"userdoc\":{\"events\":{\"AuctionBid(address,address,uint256,address,uint128,uint8,address)\":{\"notice\":\"Emitted when a bid is placed\"},\"AuctionMerkleBid(address,uint256,address,address,address,bytes32,uint128,uint32)\":{\"notice\":\"Emitted when a bid with Merkle proof is placed\"},\"AuctionMerkleRootCancelled(address,bytes32)\":{\"notice\":\"Emitted when a Merkle auction root is cancelled\"},\"AuctionMerkleRootRegistered(address,bytes32,address,uint128,uint64,uint32)\":{\"notice\":\"Emitted when a Merkle auction root is registered\"},\"AuctionSettled(address,uint256,address,address,uint128,address,uint8)\":{\"notice\":\"Emitted when an auction is settled\"}},\"kind\":\"user\",\"methods\":{\"bid(address,uint256,address,uint128)\":{\"notice\":\"Places a bid on a valid auction.\"},\"bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])\":{\"notice\":\"Places a bid using a Merkle proof to verify token inclusion\"},\"cancelAuctionMerkleRoot(bytes32)\":{\"notice\":\"Cancels a previously registered Merkle root\"},\"getCreatorAuctionMerkleRootNonce(address,bytes32)\":{\"notice\":\"Gets the current nonce for a user's Merkle root\"},\"getCurrentBid(address,uint256)\":{\"notice\":\"Gets the current bid details for a specific token\"},\"getMerkleAuctionConfig(address,bytes32)\":{\"notice\":\"Gets the Merkle auction configuration for a given creator and root\"},\"getTokenAuctionNonce(address,bytes32,address,uint256)\":{\"notice\":\"Gets the nonce for a specific token under a Merkle root\"},\"getUserAuctionMerkleRoots(address)\":{\"notice\":\"Gets all Merkle roots registered by a user\"},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"notice\":\"Verifies if a token is included in a Merkle root\"},\"registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])\":{\"notice\":\"Registers a new Merkle root for auction configuration\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The interface for the RareBatchAuctionHouse Functions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/auctionhouse/IRareBatchAuctionHouse.sol\":\"IRareBatchAuctionHouse\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/v2/auctionhouse/IRareBatchAuctionHouse.sol\":{\"keccak256\":\"0xa6adc1497cb70e4752243e0091354a353d1c8ed7a9eb8907f4cb36ad3d2eff61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bf2567753240178690a171ba17f85e70b85a49874c97abd94ad88eac45f678e\",\"dweb:/ipfs/Qmc9Hcdnf5Yx2hdWMdqKmmbstAJBwPLfuvLs62HVm9a4ju\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"bidder","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"uint128","name":"amount","type":"uint128","indexed":false},{"internalType":"uint8","name":"marketplaceFee","type":"uint8","indexed":false},{"internalType":"address","name":"previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"bidder","type":"address","indexed":true},{"internalType":"address","name":"creator","type":"address","indexed":false},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":false},{"internalType":"uint128","name":"amount","type":"uint128","indexed":false},{"internalType":"uint32","name":"nonce","type":"uint32","indexed":false}],"type":"event","name":"AuctionMerkleBid","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true}],"type":"event","name":"AuctionMerkleRootCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"uint128","name":"startingAmount","type":"uint128","indexed":false},{"internalType":"uint64","name":"duration","type":"uint64","indexed":false},{"internalType":"uint32","name":"nonce","type":"uint32","indexed":false}],"type":"event","name":"AuctionMerkleRootRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"seller","type":"address","indexed":false},{"internalType":"address","name":"bidder","type":"address","indexed":false},{"internalType":"uint128","name":"amount","type":"uint128","indexed":false},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"uint8","name":"marketplaceFee","type":"uint8","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint128","name":"_amount","type":"uint128"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"uint128","name":"_bidAmount","type":"uint128"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"bidWithAuctionMerkleProof"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuctionMerkleRoot"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getCreatorAuctionMerkleRootNonce","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentBid","outputs":[{"internalType":"address","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint8","name":"marketplaceFeeAtTime","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMerkleAuctionConfig","outputs":[{"internalType":"struct IRareBatchAuctionHouse.MerkleAuctionConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint128","name":"startingAmount","type":"uint128"},{"internalType":"uint64","name":"duration","type":"uint64"},{"internalType":"uint32","name":"nonce","type":"uint32"},{"internalType":"address payable[]","name":"splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTokenAuctionNonce","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserAuctionMerkleRoots","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"address","name":"_origin","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"isTokenInRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"address","name":"_currency","type":"address"},{"internalType":"uint128","name":"_startingAmount","type":"uint128"},{"internalType":"uint64","name":"_duration","type":"uint64"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"registerAuctionMerkleRoot"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"}],"devdoc":{"kind":"dev","methods":{"bid(address,uint256,address,uint128)":{"params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])":{"params":{"_bidAmount":"The amount of the bid","_creator":"The creator of the auction","_currencyAddress":"The currency address for the bid","_merkleRoot":"The root hash of the Merkle tree","_originContract":"The contract address of the token","_proof":"The Merkle proof verifying token inclusion","_tokenId":"The ID of the token being bid on"}},"cancelAuctionMerkleRoot(bytes32)":{"params":{"_root":"The Merkle root to cancel"}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationBlock, startingTime, lengthOfAuction, currencyAddress, minimumBid, splitRecipients array, and splitRatios array."}},"getCreatorAuctionMerkleRootNonce(address,bytes32)":{"params":{"_root":"The Merkle root","_user":"The address of the user"},"returns":{"_0":"The current nonce value"}},"getCurrentBid(address,uint256)":{"params":{"_originContract":"Contract address of the asset","_tokenId":"Token Id of the asset"},"returns":{"amount":"The amount of the current highest bid","bidder":"The address of the current highest bidder","currencyAddress":"The currency address of the bid","marketplaceFeeAtTime":"The marketplace fee percentage at the time of the bid"}},"getMerkleAuctionConfig(address,bytes32)":{"params":{"_creator":"The address of the creator","_root":"The Merkle root"},"returns":{"_0":"The MerkleAuctionConfig struct containing the auction configuration"}},"getTokenAuctionNonce(address,bytes32,address,uint256)":{"params":{"_creator":"The creator of the auction","_root":"The Merkle root","_tokenContract":"The token contract address","_tokenId":"The token ID"},"returns":{"_0":"The current nonce for this token"}},"getUserAuctionMerkleRoots(address)":{"params":{"_user":"The address of the user"},"returns":{"_0":"An array of Merkle roots"}},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"params":{"_origin":"The contract address of the token","_proof":"The Merkle proof for verification","_root":"The Merkle root to check against","_tokenId":"The ID of the token"},"returns":{"_0":"True if the token is included in the root, false otherwise"}},"registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])":{"params":{"_currency":"The currency address for the auction","_duration":"The length of the auction in seconds","_merkleRoot":"The root hash of the Merkle tree containing token IDs","_splitAddresses":"The addresses to split the proceeds with","_splitRatios":"The ratios for each split address","_startingAmount":"The minimum bid amount"}},"settleAuction(address,uint256)":{"params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}}},"version":1},"userdoc":{"kind":"user","methods":{"bid(address,uint256,address,uint128)":{"notice":"Places a bid on a valid auction."},"bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])":{"notice":"Places a bid using a Merkle proof to verify token inclusion"},"cancelAuctionMerkleRoot(bytes32)":{"notice":"Cancels a previously registered Merkle root"},"getCreatorAuctionMerkleRootNonce(address,bytes32)":{"notice":"Gets the current nonce for a user's Merkle root"},"getCurrentBid(address,uint256)":{"notice":"Gets the current bid details for a specific token"},"getMerkleAuctionConfig(address,bytes32)":{"notice":"Gets the Merkle auction configuration for a given creator and root"},"getTokenAuctionNonce(address,bytes32,address,uint256)":{"notice":"Gets the nonce for a specific token under a Merkle root"},"getUserAuctionMerkleRoots(address)":{"notice":"Gets all Merkle roots registered by a user"},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"notice":"Verifies if a token is included in a Merkle root"},"registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])":{"notice":"Registers a new Merkle root for auction configuration"},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/auctionhouse/IRareBatchAuctionHouse.sol":"IRareBatchAuctionHouse"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/v2/auctionhouse/IRareBatchAuctionHouse.sol":{"keccak256":"0xa6adc1497cb70e4752243e0091354a353d1c8ed7a9eb8907f4cb36ad3d2eff61","urls":["bzz-raw://1bf2567753240178690a171ba17f85e70b85a49874c97abd94ad88eac45f678e","dweb:/ipfs/Qmc9Hcdnf5Yx2hdWMdqKmmbstAJBwPLfuvLs62HVm9a4ju"],"license":"MIT"}},"version":1},"id":68} \ No newline at end of file diff --git a/abis/IRareBatchListingMarketplace.json b/abis/IRareBatchListingMarketplace.json new file mode 100644 index 0000000..3381231 --- /dev/null +++ b/abis/IRareBatchListingMarketplace.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"buyWithMerkleProof","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currency","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"},{"name":"_allowListProof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelSalePriceMerkleRoot","inputs":[{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllowListConfig","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareBatchListingMarketplace.AllowListConfig","components":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getCreatorSalePriceMerkleRootNonce","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMerkleSalePriceConfig","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareBatchListingMarketplace.MerkleSalePriceConfig","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"},{"name":"nonce","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenSalePriceNonce","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_tokenContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserSalePriceMerkleRoots","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isTokenInRoot","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_origin","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"registerSalePriceMerkleRoot","inputs":[{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_currency","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAllowListConfig","inputs":[{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_allowListRoot","type":"bytes32","internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AllowListConfigSet","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"allowListRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MerkleSalePriceExecuted","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"buyer","type":"address","indexed":true,"internalType":"address"},{"name":"seller","type":"address","indexed":false,"internalType":"address"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SalePriceMerkleRootCancelled","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"SalePriceMerkleRootRegistered","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])":"260d0a28","cancelSalePriceMerkleRoot(bytes32)":"cae43de6","getAllowListConfig(address,bytes32)":"09858ef2","getCreatorSalePriceMerkleRootNonce(address,bytes32)":"6a11a64d","getMerkleSalePriceConfig(address,bytes32)":"d72a541a","getTokenSalePriceNonce(address,bytes32,address,uint256)":"75c9c23e","getUserSalePriceMerkleRoots(address)":"453c8558","isTokenInRoot(bytes32,address,uint256,bytes32[])":"5e51b2d4","registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])":"45935d18","setAllowListConfig(bytes32,bytes32,uint256)":"38de3d65"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"allowListRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"name\":\"AllowListConfigSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"MerkleSalePriceExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"SalePriceMerkleRootCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"SalePriceMerkleRootRegistered\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_allowListProof\",\"type\":\"bytes32[]\"}],\"name\":\"buyWithMerkleProof\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"cancelSalePriceMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"getAllowListConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareBatchListingMarketplace.AllowListConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"getCreatorSalePriceMerkleRootNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"getMerkleSalePriceConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareBatchListingMarketplace.MerkleSalePriceConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenSalePriceNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserSalePriceMerkleRoots\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"isTokenInRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"registerSalePriceMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_allowListRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"}],\"name\":\"setAllowListConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])\":{\"params\":{\"_allowListProof\":\"The Merkle proof for the allowlist (empty if no allowlist)\",\"_amount\":\"The sale price amount\",\"_creator\":\"The creator who registered the Merkle root\",\"_currency\":\"The currency address for the sale price (address(0) for ETH)\",\"_merkleRoot\":\"The Merkle root containing this token\",\"_originContract\":\"The contract address of the token\",\"_proof\":\"The Merkle proof for this token\",\"_tokenId\":\"The token ID\"}},\"cancelSalePriceMerkleRoot(bytes32)\":{\"params\":{\"_merkleRoot\":\"The Merkle root to cancel\"}},\"getAllowListConfig(address,bytes32)\":{\"params\":{\"_creator\":\"The address of the creator\",\"_merkleRoot\":\"The sale price Merkle root\"},\"returns\":{\"_0\":\"The AllowListConfig struct containing the allowlist configuration\"}},\"getCreatorSalePriceMerkleRootNonce(address,bytes32)\":{\"params\":{\"_root\":\"The Merkle root\",\"_user\":\"The address of the user\"},\"returns\":{\"_0\":\"The current nonce value\"}},\"getMerkleSalePriceConfig(address,bytes32)\":{\"params\":{\"_creator\":\"The address of the creator\",\"_root\":\"The Merkle root\"},\"returns\":{\"_0\":\"The MerkleSalePriceConfig struct containing the sale price configuration\"}},\"getTokenSalePriceNonce(address,bytes32,address,uint256)\":{\"params\":{\"_creator\":\"The creator who registered the root\",\"_root\":\"The Merkle root\",\"_tokenContract\":\"The token contract address\",\"_tokenId\":\"The token ID\"}},\"getUserSalePriceMerkleRoots(address)\":{\"params\":{\"_user\":\"The address of the user\"},\"returns\":{\"_0\":\"An array of Merkle roots\"}},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"params\":{\"_origin\":\"The token contract address\",\"_proof\":\"The Merkle proof to verify\",\"_root\":\"The Merkle root to check against\",\"_tokenId\":\"The token ID\"}},\"registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"The sale price amount\",\"_currency\":\"The currency address for the sale price (address(0) for ETH)\",\"_merkleRoot\":\"The Merkle root of the token set\",\"_splitAddresses\":\"Array of addresses to split the payment with\",\"_splitRatios\":\"Array of ratios for payment splits\"}},\"setAllowListConfig(bytes32,bytes32,uint256)\":{\"params\":{\"_allowListRoot\":\"The Merkle root of allowed addresses\",\"_endTimestamp\":\"The timestamp after which the allowlist expires\",\"_merkleRoot\":\"The sale price Merkle root to set allowlist for\"}}},\"title\":\"IRareBatchListingMarketplace\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])\":{\"notice\":\"Buy a token using a Merkle proof\"},\"cancelSalePriceMerkleRoot(bytes32)\":{\"notice\":\"Cancels a previously registered sale price Merkle root\"},\"getAllowListConfig(address,bytes32)\":{\"notice\":\"Gets the allowlist configuration for a given creator and sale price root\"},\"getCreatorSalePriceMerkleRootNonce(address,bytes32)\":{\"notice\":\"Gets the current nonce for a user's Merkle root\"},\"getMerkleSalePriceConfig(address,bytes32)\":{\"notice\":\"Gets the Merkle sale price configuration for a given creator and root\"},\"getTokenSalePriceNonce(address,bytes32,address,uint256)\":{\"notice\":\"Gets the nonce for a specific token under a Merkle root\"},\"getUserSalePriceMerkleRoots(address)\":{\"notice\":\"Gets all Merkle roots registered by a user\"},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"notice\":\"Verify if a token is included in a Merkle root\"},\"registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])\":{\"notice\":\"Register a new Merkle root for batch sale prices\"},\"setAllowListConfig(bytes32,bytes32,uint256)\":{\"notice\":\"Set allowlist configuration for a sale price Merkle root\"}},\"notice\":\"Interface for the RareBatchListingMarketplace contract, combining standard and Merkle-based sale price functionality\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/marketplace/IRareBatchListingMarketplace.sol\":\"IRareBatchListingMarketplace\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/v2/marketplace/IRareBatchListingMarketplace.sol\":{\"keccak256\":\"0x2614aedd3c81ef27697f34eb125685772174cc7d3cb7b3d8f9484dc3e36f3301\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e1fbc80217263928e2f118a092ce297711e966b0846d4627d886dff8c73c468\",\"dweb:/ipfs/QmXQ8wefkNPWER3DKxWvfPKFnDUzNVk67jKNNbYRxL2ijy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"allowListRoot","type":"bytes32","indexed":true},{"internalType":"uint256","name":"endTimestamp","type":"uint256","indexed":false}],"type":"event","name":"AllowListConfigSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"buyer","type":"address","indexed":true},{"internalType":"address","name":"seller","type":"address","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":false},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"MerkleSalePriceExecuted","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true}],"type":"event","name":"SalePriceMerkleRootCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"SalePriceMerkleRootRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currency","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_allowListProof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"buyWithMerkleProof"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancelSalePriceMerkleRoot"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getAllowListConfig","outputs":[{"internalType":"struct IRareBatchListingMarketplace.AllowListConfig","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getCreatorSalePriceMerkleRootNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMerkleSalePriceConfig","outputs":[{"internalType":"struct IRareBatchListingMarketplace.MerkleSalePriceConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"},{"internalType":"uint256","name":"nonce","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTokenSalePriceNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserSalePriceMerkleRoots","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"address","name":"_origin","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"isTokenInRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"address","name":"_currency","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"registerSalePriceMerkleRoot"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"_allowListRoot","type":"bytes32"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setAllowListConfig"}],"devdoc":{"kind":"dev","methods":{"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])":{"params":{"_allowListProof":"The Merkle proof for the allowlist (empty if no allowlist)","_amount":"The sale price amount","_creator":"The creator who registered the Merkle root","_currency":"The currency address for the sale price (address(0) for ETH)","_merkleRoot":"The Merkle root containing this token","_originContract":"The contract address of the token","_proof":"The Merkle proof for this token","_tokenId":"The token ID"}},"cancelSalePriceMerkleRoot(bytes32)":{"params":{"_merkleRoot":"The Merkle root to cancel"}},"getAllowListConfig(address,bytes32)":{"params":{"_creator":"The address of the creator","_merkleRoot":"The sale price Merkle root"},"returns":{"_0":"The AllowListConfig struct containing the allowlist configuration"}},"getCreatorSalePriceMerkleRootNonce(address,bytes32)":{"params":{"_root":"The Merkle root","_user":"The address of the user"},"returns":{"_0":"The current nonce value"}},"getMerkleSalePriceConfig(address,bytes32)":{"params":{"_creator":"The address of the creator","_root":"The Merkle root"},"returns":{"_0":"The MerkleSalePriceConfig struct containing the sale price configuration"}},"getTokenSalePriceNonce(address,bytes32,address,uint256)":{"params":{"_creator":"The creator who registered the root","_root":"The Merkle root","_tokenContract":"The token contract address","_tokenId":"The token ID"}},"getUserSalePriceMerkleRoots(address)":{"params":{"_user":"The address of the user"},"returns":{"_0":"An array of Merkle roots"}},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"params":{"_origin":"The token contract address","_proof":"The Merkle proof to verify","_root":"The Merkle root to check against","_tokenId":"The token ID"}},"registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])":{"params":{"_amount":"The sale price amount","_currency":"The currency address for the sale price (address(0) for ETH)","_merkleRoot":"The Merkle root of the token set","_splitAddresses":"Array of addresses to split the payment with","_splitRatios":"Array of ratios for payment splits"}},"setAllowListConfig(bytes32,bytes32,uint256)":{"params":{"_allowListRoot":"The Merkle root of allowed addresses","_endTimestamp":"The timestamp after which the allowlist expires","_merkleRoot":"The sale price Merkle root to set allowlist for"}}},"version":1},"userdoc":{"kind":"user","methods":{"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])":{"notice":"Buy a token using a Merkle proof"},"cancelSalePriceMerkleRoot(bytes32)":{"notice":"Cancels a previously registered sale price Merkle root"},"getAllowListConfig(address,bytes32)":{"notice":"Gets the allowlist configuration for a given creator and sale price root"},"getCreatorSalePriceMerkleRootNonce(address,bytes32)":{"notice":"Gets the current nonce for a user's Merkle root"},"getMerkleSalePriceConfig(address,bytes32)":{"notice":"Gets the Merkle sale price configuration for a given creator and root"},"getTokenSalePriceNonce(address,bytes32,address,uint256)":{"notice":"Gets the nonce for a specific token under a Merkle root"},"getUserSalePriceMerkleRoots(address)":{"notice":"Gets all Merkle roots registered by a user"},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"notice":"Verify if a token is included in a Merkle root"},"registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])":{"notice":"Register a new Merkle root for batch sale prices"},"setAllowListConfig(bytes32,bytes32,uint256)":{"notice":"Set allowlist configuration for a sale price Merkle root"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/marketplace/IRareBatchListingMarketplace.sol":"IRareBatchListingMarketplace"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/v2/marketplace/IRareBatchListingMarketplace.sol":{"keccak256":"0x2614aedd3c81ef27697f34eb125685772174cc7d3cb7b3d8f9484dc3e36f3301","urls":["bzz-raw://5e1fbc80217263928e2f118a092ce297711e966b0846d4627d886dff8c73c468","dweb:/ipfs/QmXQ8wefkNPWER3DKxWvfPKFnDUzNVk67jKNNbYRxL2ijy"],"license":"MIT"}},"version":1},"id":65} \ No newline at end of file diff --git a/abis/IRareCollectionMarket.json b/abis/IRareCollectionMarket.json index 271dde5..fb20e2d 100644 --- a/abis/IRareCollectionMarket.json +++ b/abis/IRareCollectionMarket.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptCollectionOffer","inputs":[{"name":"_buyer","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddrs","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"buyFromCollection","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_buyer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareCollectionMarket.CollectionOffer","components":[{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_seller","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareCollectionMarket.CollectionSalePrice","components":[{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"makeCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddrs","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptCollectionOffer","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectionOfferCancelled","inputs":[{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionOfferPlaced","inputs":[{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectionSalePriceCancelled","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionSalePriceSet","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AmountCantBeZero","inputs":[]},{"type":"error","name":"ContractPaused","inputs":[]},{"type":"error","name":"CurrencyMismatch","inputs":[{"name":"_suppliedCurrency","type":"address","internalType":"address"},{"name":"_configuredCurrency","type":"address","internalType":"address"}]},{"type":"error","name":"IncorrectAmount","inputs":[{"name":"_requiredAmount","type":"uint256","internalType":"uint256"},{"name":"_specifiedAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidTokenRange","inputs":[]},{"type":"error","name":"NoOfferExistsForBuyer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_buyer","type":"address","internalType":"address"}]},{"type":"error","name":"SalePriceDoesntExist","inputs":[{"name":"_seller","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"}]},{"type":"error","name":"TokenNotPartOfSalePrice","inputs":[{"name":"_seller","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":"e5fc48ee","buyFromCollection(address,uint256,address,uint256)":"6d374d81","cancelCollectionOffer(address)":"9214be52","cancelCollectionSalePrice(address)":"85b1eb27","getCollectionOffer(address,address)":"381eff7c","getCollectionSalePrice(address,address)":"25bc1330","makeCollectionOffer(address,address,uint256)":"22f193d0","setCollectionSalePrice(address,address,uint256,address[],uint8[])":"d9ed2096"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AmountCantBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractPaused\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_suppliedCurrency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_configuredCurrency\",\"type\":\"address\"}],\"name\":\"CurrencyMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requiredAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_specifiedAmount\",\"type\":\"uint256\"}],\"name\":\"IncorrectAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTokenRange\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"}],\"name\":\"NoOfferExistsForBuyer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"SalePriceDoesntExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenNotPartOfSalePrice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"AcceptCollectionOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"CollectionOfferCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"CollectionOfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"CollectionSalePriceCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"CollectionSalePriceSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptCollectionOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buyFromCollection\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"cancelCollectionOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"cancelCollectionSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"}],\"name\":\"getCollectionOffer\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marketplaceFee\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareCollectionMarket.CollectionOffer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"}],\"name\":\"getCollectionSalePrice\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareCollectionMarket.CollectionSalePrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"makeCollectionOffer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setCollectionSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_buyer\":\"Address of the user who submitted the collection offer.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddrs\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"buyFromCollection(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount the piece if being bought for (excluding marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelCollectionOffer(address)\":{\"params\":{\"_originContract\":\"Contract address of collection.\"}},\"cancelCollectionSalePrice(address)\":{\"params\":{\"_originContract\":\"Contract address of the collection.\"}},\"getCollectionOffer(address,address)\":{\"params\":{\"_buyer\":\"The user who placed the collection offer.\",\"_originContract\":\"The nft contract the collection offer was made on.\"},\"returns\":{\"_0\":\"CollectionOffer struct containing the currencyAddress, amount, and marketplace fee.\"}},\"getCollectionSalePrice(address,address)\":{\"params\":{\"_originContract\":\"The nft contract the collection sales price was set on.\",\"_seller\":\"The user who set the collection sales price.\"},\"returns\":{\"_0\":\"CollectionSalePrice struct containing the currencyAddress, amount, token range, and split information.\"}},\"makeCollectionOffer(address,address,uint256)\":{\"params\":{\"_amount\":\"Amount being offered.\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Address of the collection the offer is placed on.\"}},\"setCollectionSalePrice(address,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_currencyAddress\":\"Contract address of the currency the collection is being listed for.\",\"_originContract\":\"Contract address of the collection being listed.\",\"_splitAddrs\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AmountCantBeZero()\":[{\"notice\":\"Emitted when an offer or sale price with an amount of 0 is made via {makeCollectionOffer} and {setCollectionSalePrice}.\"}],\"ContractPaused()\":[{\"notice\":\"Emitted via functions if the contract has been paused.\"}],\"CurrencyMismatch(address,address)\":[{\"notice\":\"Emitted via {buyFromCollection} and {acceptCollectionOffer} when the currency address doesnt match the sale price/offer.\"}],\"IncorrectAmount(uint256,uint256)\":[{\"notice\":\"Emitted via {acceptCollectionOffer} and {buyFromCollection} when the required amount isnt sent.\"}],\"InvalidTokenRange()\":[{\"notice\":\"Emitted when a sale price has an invalid token range.\"}],\"NoOfferExistsForBuyer(address,address)\":[{\"notice\":\"Emitted via {acceptCollectionOffer} if no offer exists on {_originContract} for {_buyer}.\"}],\"SalePriceDoesntExist(address,address)\":[{\"notice\":\"Emitted via {buyFromCollection} if no sale price exists for {_originContract} and {_seller}.\"}],\"TokenNotPartOfSalePrice(address,address,uint256)\":[{\"notice\":\"Emitted via {buyFromCollection} if the token is not in the sale price range.\"}]},\"events\":{\"AcceptCollectionOffer(address,address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when a collection offer is accepted via {acceptCollectionOffer}.\"},\"CollectionOfferCancelled(address,address)\":{\"notice\":\"Emitted when a collection offer is cancelled via {cancelCollectionOffer}.\"},\"CollectionOfferPlaced(address,address,address,uint256)\":{\"notice\":\"Emitted when the a collection offer is placed via {makeCollectionOffer}.\"},\"CollectionSalePriceCancelled(address,address)\":{\"notice\":\"Emitted when a collection sale price has been cancelled via {cancelCollectionSalePrice}.\"},\"CollectionSalePriceSet(address,address,address,uint256)\":{\"notice\":\"Emitted when a collection sale price is set via {setCollectionSalePrice}.\"},\"Sold(address,address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when a token is bought from a sale price via {buyFromCollection}.\"}},\"kind\":\"user\",\"methods\":{\"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept a collection offer that as made.\"},\"buyFromCollection(address,uint256,address,uint256)\":{\"notice\":\"Purchase token under the current owners collection sale price.\"},\"cancelCollectionOffer(address)\":{\"notice\":\"Cancels an existing collection offer the sender has placed.\"},\"cancelCollectionSalePrice(address)\":{\"notice\":\"Cancels an existing collection sale price set by the sender.\"},\"getCollectionOffer(address,address)\":{\"notice\":\"Queries the collection offer made on {_originContract} by {_buyer}.\"},\"getCollectionSalePrice(address,address)\":{\"notice\":\"Queries the collection sales price set on {_originContract} by {_seller}.\"},\"makeCollectionOffer(address,address,uint256)\":{\"notice\":\"Place an offer for a collection that can be accepted by any token owner.\"},\"setCollectionSalePrice(address,address,uint256,address[],uint8[])\":{\"notice\":\"Set a sale price for all pieces under {_originContract}.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/IRareCollectionMarket.sol\":\"IRareCollectionMarket\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/collection/IRareCollectionMarket.sol\":{\"keccak256\":\"0x7cd8c599bc8ca7423f0443c2226b8339ec8ca8c4317779f8f8f9d4b734ff7a5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d99b83c8768bb879e2c1b2e5b604eb7ed2a833ef59762c54588ba78d9e3effea\",\"dweb:/ipfs/QmdoA7GZ8A4pvcUE1bW2Zh3nb3FVCskNGVSRb3HTNDSXJC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AmountCantBeZero"},{"inputs":[],"type":"error","name":"ContractPaused"},{"inputs":[{"internalType":"address","name":"_suppliedCurrency","type":"address"},{"internalType":"address","name":"_configuredCurrency","type":"address"}],"type":"error","name":"CurrencyMismatch"},{"inputs":[{"internalType":"uint256","name":"_requiredAmount","type":"uint256"},{"internalType":"uint256","name":"_specifiedAmount","type":"uint256"}],"type":"error","name":"IncorrectAmount"},{"inputs":[],"type":"error","name":"InvalidTokenRange"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_buyer","type":"address"}],"type":"error","name":"NoOfferExistsForBuyer"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"address","name":"_originContract","type":"address"}],"type":"error","name":"SalePriceDoesntExist"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"TokenNotPartOfSalePrice"},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"AcceptCollectionOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true}],"type":"event","name":"CollectionOfferCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"CollectionOfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true}],"type":"event","name":"CollectionSalePriceCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"CollectionSalePriceSet","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buyFromCollection"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelCollectionSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_buyer","type":"address"}],"stateMutability":"view","type":"function","name":"getCollectionOffer","outputs":[{"internalType":"struct IRareCollectionMarket.CollectionOffer","name":"","type":"tuple","components":[{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"marketplaceFee","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_seller","type":"address"}],"stateMutability":"view","type":"function","name":"getCollectionSalePrice","outputs":[{"internalType":"struct IRareCollectionMarket.CollectionSalePrice","name":"","type":"tuple","components":[{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"makeCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setCollectionSalePrice"}],"devdoc":{"kind":"dev","methods":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount the offer was for/and is being accepted.","_buyer":"Address of the user who submitted the collection offer.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddrs":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"buyFromCollection(address,uint256,address,uint256)":{"params":{"_amount":"Amount the piece if being bought for (excluding marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelCollectionOffer(address)":{"params":{"_originContract":"Contract address of collection."}},"cancelCollectionSalePrice(address)":{"params":{"_originContract":"Contract address of the collection."}},"getCollectionOffer(address,address)":{"params":{"_buyer":"The user who placed the collection offer.","_originContract":"The nft contract the collection offer was made on."},"returns":{"_0":"CollectionOffer struct containing the currencyAddress, amount, and marketplace fee."}},"getCollectionSalePrice(address,address)":{"params":{"_originContract":"The nft contract the collection sales price was set on.","_seller":"The user who set the collection sales price."},"returns":{"_0":"CollectionSalePrice struct containing the currencyAddress, amount, token range, and split information."}},"makeCollectionOffer(address,address,uint256)":{"params":{"_amount":"Amount being offered.","_currencyAddress":"Address of the token being offered.","_originContract":"Address of the collection the offer is placed on."}},"setCollectionSalePrice(address,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount of the currency the asset is being listed for (including all decimal points).","_currencyAddress":"Contract address of the currency the collection is being listed for.","_originContract":"Contract address of the collection being listed.","_splitAddrs":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with."}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept a collection offer that as made."},"buyFromCollection(address,uint256,address,uint256)":{"notice":"Purchase token under the current owners collection sale price."},"cancelCollectionOffer(address)":{"notice":"Cancels an existing collection offer the sender has placed."},"cancelCollectionSalePrice(address)":{"notice":"Cancels an existing collection sale price set by the sender."},"getCollectionOffer(address,address)":{"notice":"Queries the collection offer made on {_originContract} by {_buyer}."},"getCollectionSalePrice(address,address)":{"notice":"Queries the collection sales price set on {_originContract} by {_seller}."},"makeCollectionOffer(address,address,uint256)":{"notice":"Place an offer for a collection that can be accepted by any token owner."},"setCollectionSalePrice(address,address,uint256,address[],uint8[])":{"notice":"Set a sale price for all pieces under {_originContract}."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/IRareCollectionMarket.sol":"IRareCollectionMarket"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/collection/IRareCollectionMarket.sol":{"keccak256":"0x7cd8c599bc8ca7423f0443c2226b8339ec8ca8c4317779f8f8f9d4b734ff7a5b","urls":["bzz-raw://d99b83c8768bb879e2c1b2e5b604eb7ed2a833ef59762c54588ba78d9e3effea","dweb:/ipfs/QmdoA7GZ8A4pvcUE1bW2Zh3nb3FVCskNGVSRb3HTNDSXJC"],"license":"MIT"}},"version":1},"id":155} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptCollectionOffer","inputs":[{"name":"_buyer","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddrs","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"buyFromCollection","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_buyer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareCollectionMarket.CollectionOffer","components":[{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_seller","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareCollectionMarket.CollectionSalePrice","components":[{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"makeCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddrs","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptCollectionOffer","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectionOfferCancelled","inputs":[{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionOfferPlaced","inputs":[{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectionSalePriceCancelled","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionSalePriceSet","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AmountCantBeZero","inputs":[]},{"type":"error","name":"ContractPaused","inputs":[]},{"type":"error","name":"CurrencyMismatch","inputs":[{"name":"_suppliedCurrency","type":"address","internalType":"address"},{"name":"_configuredCurrency","type":"address","internalType":"address"}]},{"type":"error","name":"IncorrectAmount","inputs":[{"name":"_requiredAmount","type":"uint256","internalType":"uint256"},{"name":"_specifiedAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidTokenRange","inputs":[]},{"type":"error","name":"NoOfferExistsForBuyer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_buyer","type":"address","internalType":"address"}]},{"type":"error","name":"SalePriceDoesntExist","inputs":[{"name":"_seller","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"}]},{"type":"error","name":"TokenNotPartOfSalePrice","inputs":[{"name":"_seller","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":"e5fc48ee","buyFromCollection(address,uint256,address,uint256)":"6d374d81","cancelCollectionOffer(address)":"9214be52","cancelCollectionSalePrice(address)":"85b1eb27","getCollectionOffer(address,address)":"381eff7c","getCollectionSalePrice(address,address)":"25bc1330","makeCollectionOffer(address,address,uint256)":"22f193d0","setCollectionSalePrice(address,address,uint256,address[],uint8[])":"d9ed2096"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AmountCantBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractPaused\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_suppliedCurrency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_configuredCurrency\",\"type\":\"address\"}],\"name\":\"CurrencyMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requiredAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_specifiedAmount\",\"type\":\"uint256\"}],\"name\":\"IncorrectAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTokenRange\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"}],\"name\":\"NoOfferExistsForBuyer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"SalePriceDoesntExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenNotPartOfSalePrice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"AcceptCollectionOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"CollectionOfferCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"CollectionOfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"CollectionSalePriceCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"CollectionSalePriceSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptCollectionOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buyFromCollection\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"cancelCollectionOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"cancelCollectionSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"}],\"name\":\"getCollectionOffer\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marketplaceFee\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareCollectionMarket.CollectionOffer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"}],\"name\":\"getCollectionSalePrice\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareCollectionMarket.CollectionSalePrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"makeCollectionOffer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setCollectionSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_buyer\":\"Address of the user who submitted the collection offer.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddrs\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"buyFromCollection(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount the piece if being bought for (excluding marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelCollectionOffer(address)\":{\"params\":{\"_originContract\":\"Contract address of collection.\"}},\"cancelCollectionSalePrice(address)\":{\"params\":{\"_originContract\":\"Contract address of the collection.\"}},\"getCollectionOffer(address,address)\":{\"params\":{\"_buyer\":\"The user who placed the collection offer.\",\"_originContract\":\"The nft contract the collection offer was made on.\"},\"returns\":{\"_0\":\"CollectionOffer struct containing the currencyAddress, amount, and marketplace fee.\"}},\"getCollectionSalePrice(address,address)\":{\"params\":{\"_originContract\":\"The nft contract the collection sales price was set on.\",\"_seller\":\"The user who set the collection sales price.\"},\"returns\":{\"_0\":\"CollectionSalePrice struct containing the currencyAddress, amount, token range, and split information.\"}},\"makeCollectionOffer(address,address,uint256)\":{\"params\":{\"_amount\":\"Amount being offered.\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Address of the collection the offer is placed on.\"}},\"setCollectionSalePrice(address,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_currencyAddress\":\"Contract address of the currency the collection is being listed for.\",\"_originContract\":\"Contract address of the collection being listed.\",\"_splitAddrs\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"AmountCantBeZero()\":[{\"notice\":\"Emitted when an offer or sale price with an amount of 0 is made via {makeCollectionOffer} and {setCollectionSalePrice}.\"}],\"ContractPaused()\":[{\"notice\":\"Emitted via functions if the contract has been paused.\"}],\"CurrencyMismatch(address,address)\":[{\"notice\":\"Emitted via {buyFromCollection} and {acceptCollectionOffer} when the currency address doesnt match the sale price/offer.\"}],\"IncorrectAmount(uint256,uint256)\":[{\"notice\":\"Emitted via {acceptCollectionOffer} and {buyFromCollection} when the required amount isnt sent.\"}],\"InvalidTokenRange()\":[{\"notice\":\"Emitted when a sale price has an invalid token range.\"}],\"NoOfferExistsForBuyer(address,address)\":[{\"notice\":\"Emitted via {acceptCollectionOffer} if no offer exists on {_originContract} for {_buyer}.\"}],\"SalePriceDoesntExist(address,address)\":[{\"notice\":\"Emitted via {buyFromCollection} if no sale price exists for {_originContract} and {_seller}.\"}],\"TokenNotPartOfSalePrice(address,address,uint256)\":[{\"notice\":\"Emitted via {buyFromCollection} if the token is not in the sale price range.\"}]},\"events\":{\"AcceptCollectionOffer(address,address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when a collection offer is accepted via {acceptCollectionOffer}.\"},\"CollectionOfferCancelled(address,address)\":{\"notice\":\"Emitted when a collection offer is cancelled via {cancelCollectionOffer}.\"},\"CollectionOfferPlaced(address,address,address,uint256)\":{\"notice\":\"Emitted when the a collection offer is placed via {makeCollectionOffer}.\"},\"CollectionSalePriceCancelled(address,address)\":{\"notice\":\"Emitted when a collection sale price has been cancelled via {cancelCollectionSalePrice}.\"},\"CollectionSalePriceSet(address,address,address,uint256)\":{\"notice\":\"Emitted when a collection sale price is set via {setCollectionSalePrice}.\"},\"Sold(address,address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when a token is bought from a sale price via {buyFromCollection}.\"}},\"kind\":\"user\",\"methods\":{\"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept a collection offer that as made.\"},\"buyFromCollection(address,uint256,address,uint256)\":{\"notice\":\"Purchase token under the current owners collection sale price.\"},\"cancelCollectionOffer(address)\":{\"notice\":\"Cancels an existing collection offer the sender has placed.\"},\"cancelCollectionSalePrice(address)\":{\"notice\":\"Cancels an existing collection sale price set by the sender.\"},\"getCollectionOffer(address,address)\":{\"notice\":\"Queries the collection offer made on {_originContract} by {_buyer}.\"},\"getCollectionSalePrice(address,address)\":{\"notice\":\"Queries the collection sales price set on {_originContract} by {_seller}.\"},\"makeCollectionOffer(address,address,uint256)\":{\"notice\":\"Place an offer for a collection that can be accepted by any token owner.\"},\"setCollectionSalePrice(address,address,uint256,address[],uint8[])\":{\"notice\":\"Set a sale price for all pieces under {_originContract}.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/IRareCollectionMarket.sol\":\"IRareCollectionMarket\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/collection/IRareCollectionMarket.sol\":{\"keccak256\":\"0x7cd8c599bc8ca7423f0443c2226b8339ec8ca8c4317779f8f8f9d4b734ff7a5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d99b83c8768bb879e2c1b2e5b604eb7ed2a833ef59762c54588ba78d9e3effea\",\"dweb:/ipfs/QmdoA7GZ8A4pvcUE1bW2Zh3nb3FVCskNGVSRb3HTNDSXJC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AmountCantBeZero"},{"inputs":[],"type":"error","name":"ContractPaused"},{"inputs":[{"internalType":"address","name":"_suppliedCurrency","type":"address"},{"internalType":"address","name":"_configuredCurrency","type":"address"}],"type":"error","name":"CurrencyMismatch"},{"inputs":[{"internalType":"uint256","name":"_requiredAmount","type":"uint256"},{"internalType":"uint256","name":"_specifiedAmount","type":"uint256"}],"type":"error","name":"IncorrectAmount"},{"inputs":[],"type":"error","name":"InvalidTokenRange"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_buyer","type":"address"}],"type":"error","name":"NoOfferExistsForBuyer"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"address","name":"_originContract","type":"address"}],"type":"error","name":"SalePriceDoesntExist"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"TokenNotPartOfSalePrice"},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"AcceptCollectionOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true}],"type":"event","name":"CollectionOfferCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"CollectionOfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true}],"type":"event","name":"CollectionSalePriceCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"CollectionSalePriceSet","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buyFromCollection"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelCollectionSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_buyer","type":"address"}],"stateMutability":"view","type":"function","name":"getCollectionOffer","outputs":[{"internalType":"struct IRareCollectionMarket.CollectionOffer","name":"","type":"tuple","components":[{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"marketplaceFee","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_seller","type":"address"}],"stateMutability":"view","type":"function","name":"getCollectionSalePrice","outputs":[{"internalType":"struct IRareCollectionMarket.CollectionSalePrice","name":"","type":"tuple","components":[{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"makeCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setCollectionSalePrice"}],"devdoc":{"kind":"dev","methods":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount the offer was for/and is being accepted.","_buyer":"Address of the user who submitted the collection offer.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddrs":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"buyFromCollection(address,uint256,address,uint256)":{"params":{"_amount":"Amount the piece if being bought for (excluding marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelCollectionOffer(address)":{"params":{"_originContract":"Contract address of collection."}},"cancelCollectionSalePrice(address)":{"params":{"_originContract":"Contract address of the collection."}},"getCollectionOffer(address,address)":{"params":{"_buyer":"The user who placed the collection offer.","_originContract":"The nft contract the collection offer was made on."},"returns":{"_0":"CollectionOffer struct containing the currencyAddress, amount, and marketplace fee."}},"getCollectionSalePrice(address,address)":{"params":{"_originContract":"The nft contract the collection sales price was set on.","_seller":"The user who set the collection sales price."},"returns":{"_0":"CollectionSalePrice struct containing the currencyAddress, amount, token range, and split information."}},"makeCollectionOffer(address,address,uint256)":{"params":{"_amount":"Amount being offered.","_currencyAddress":"Address of the token being offered.","_originContract":"Address of the collection the offer is placed on."}},"setCollectionSalePrice(address,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount of the currency the asset is being listed for (including all decimal points).","_currencyAddress":"Contract address of the currency the collection is being listed for.","_originContract":"Contract address of the collection being listed.","_splitAddrs":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with."}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept a collection offer that as made."},"buyFromCollection(address,uint256,address,uint256)":{"notice":"Purchase token under the current owners collection sale price."},"cancelCollectionOffer(address)":{"notice":"Cancels an existing collection offer the sender has placed."},"cancelCollectionSalePrice(address)":{"notice":"Cancels an existing collection sale price set by the sender."},"getCollectionOffer(address,address)":{"notice":"Queries the collection offer made on {_originContract} by {_buyer}."},"getCollectionSalePrice(address,address)":{"notice":"Queries the collection sales price set on {_originContract} by {_seller}."},"makeCollectionOffer(address,address,uint256)":{"notice":"Place an offer for a collection that can be accepted by any token owner."},"setCollectionSalePrice(address,address,uint256,address[],uint8[])":{"notice":"Set a sale price for all pieces under {_originContract}."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/IRareCollectionMarket.sol":"IRareCollectionMarket"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/collection/IRareCollectionMarket.sol":{"keccak256":"0x7cd8c599bc8ca7423f0443c2226b8339ec8ca8c4317779f8f8f9d4b734ff7a5b","urls":["bzz-raw://d99b83c8768bb879e2c1b2e5b604eb7ed2a833ef59762c54588ba78d9e3effea","dweb:/ipfs/QmdoA7GZ8A4pvcUE1bW2Zh3nb3FVCskNGVSRb3HTNDSXJC"],"license":"MIT"}},"version":1},"id":64} \ No newline at end of file diff --git a/abis/IRareMinter.json b/abis/IRareMinter.json index 9d68e2c..1762dd6 100644 --- a/abis/IRareMinter.json +++ b/abis/IRareMinter.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getContractAllowListConfig","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.AllowListConfig","components":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getContractMintLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractMintsPerAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractSellerStakingMinimum","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.StakingMinimum","components":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getContractTxLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractTxsPerAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDirectSaleConfig","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.DirectSaleConfig","components":[{"name":"seller","type":"address","internalType":"address"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"startTime","type":"uint256","internalType":"uint256"},{"name":"maxMints","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"mintDirectSale","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"},{"name":"_numMints","type":"uint8","internalType":"uint8"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"prepareMintDirectSale","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_maxMints","type":"uint256","internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractAllowListConfig","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"},{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractMintLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractSellerStakingMinimum","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_minimum","type":"uint256","internalType":"uint256"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractTxLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ContractMintLimitSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractStakingMinimumSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"minimum","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractTxLimitSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MintDirectSale","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenIdStart","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenIdEnd","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_currency","type":"address","indexed":false,"internalType":"address"},{"name":"_price","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PrepareMintDirectSale","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_currency","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_price","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_maxMints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"SetContractAllowListConfig","inputs":[{"name":"_root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getContractAllowListConfig(address)":"04c1ff07","getContractMintLimit(address)":"23946f1f","getContractMintsPerAddress(address,address)":"ca774e68","getContractSellerStakingMinimum(address)":"9890cddf","getContractTxLimit(address)":"fa5312c8","getContractTxsPerAddress(address,address)":"2da45e8e","getDirectSaleConfig(address)":"a01fa6a9","mintDirectSale(address,address,uint256,uint8,bytes32[])":"d647ed3c","prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":"78c19898","setContractAllowListConfig(bytes32,uint256,address)":"0fc635b3","setContractMintLimit(address,uint256)":"4cf5f910","setContractSellerStakingMinimum(address,uint256,uint256)":"677b1984","setContractTxLimit(address,uint256)":"9dbef5d1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"ContractMintLimitSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"name\":\"ContractStakingMinimumSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"ContractTxLimitSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenIdStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenIdEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"MintDirectSale\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_maxMints\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"PrepareMintDirectSale\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"SetContractAllowListConfig\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractAllowListConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareMinter.AllowListConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractMintLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getContractMintsPerAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractSellerStakingMinimum\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareMinter.StakingMinimum\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractTxLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getContractTxsPerAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getDirectSaleConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxMints\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareMinter.DirectSaleConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_numMints\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"mintDirectSale\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_maxMints\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"prepareMintDirectSale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"setContractAllowListConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"setContractMintLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"}],\"name\":\"setContractSellerStakingMinimum\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"setContractTxLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRare Labs Inc.\",\"kind\":\"dev\",\"methods\":{\"getContractAllowListConfig(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"AllowListConfig The allow list config\"}},\"getContractMintLimit(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The mint limit\"}},\"getContractMintsPerAddress(address,address)\":{\"params\":{\"_address\":\"address The address of the account to get the mints for\",\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The number of mints\"}},\"getContractSellerStakingMinimum(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"StakingMinimum The staking minimum\"}},\"getContractTxLimit(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The tx limit\"}},\"getContractTxsPerAddress(address,address)\":{\"params\":{\"_address\":\"address The address of the account to get the txs for\",\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The number of txs\"}},\"getDirectSaleConfig(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"DirectSaleConfig The direct sale config\"}},\"mintDirectSale(address,address,uint256,uint8,bytes32[])\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_currencyAddress\":\"address The address of the currency\",\"_numMints\":\"uint8 The number of tokens to be minted\",\"_price\":\"uint256 The price to mint\",\"_proof\":\"bytes32[] The merkle proof for the allowlist if applicable, otherwise empty array\"}},\"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_currencyAddress\":\"address The address of the currency to accept\",\"_maxMints\":\"uint256 The max number of tokens to mint per transaction\",\"_price\":\"uint256 The price to mint each token\",\"_splitRatios\":\"uint8[] The ratios to split the sale with\",\"_splitRecipients\":\"address payable[] The addresses to split the sale with\"}},\"setContractAllowListConfig(bytes32,uint256,address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_endTimestamp\":\"uint256 The timestamp when the allow list ends\",\"_root\":\"bytes32 The root of the merkle tree\"}},\"setContractMintLimit(address,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_limit\":\"uint256 The limit to set\"}},\"setContractSellerStakingMinimum(address,uint256,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_endTimestamp\":\"uint256 The timestamp when the minimum ends\",\"_minimum\":\"uint256 The minimum to set\"}},\"setContractTxLimit(address,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_limit\":\"uint256 The limit to set\"}}},\"title\":\"IRareMinter\",\"version\":1},\"userdoc\":{\"events\":{\"ContractMintLimitSet(address,uint256)\":{\"notice\":\"Event emitted when a contract is set to a mint limit\"},\"ContractStakingMinimumSet(address,uint256,uint256)\":{\"notice\":\"Event emitted when a contract staking minimum amount staked is set\"},\"ContractTxLimitSet(address,uint256)\":{\"notice\":\"Event emitted when a contract is set to a tx limit\"},\"MintDirectSale(address,address,address,uint256,uint256,address,uint256)\":{\"notice\":\"Event emitted when a contract is prepared for direct sale\"},\"PrepareMintDirectSale(address,address,address,uint256,uint256,uint256,address[],uint8[])\":{\"notice\":\"Event emitted when a contract is prepared for direct sale\"},\"SetContractAllowListConfig(bytes32,uint256,address)\":{\"notice\":\"Event emitted when a contract is set to an allow list config\"}},\"kind\":\"user\",\"methods\":{\"getContractAllowListConfig(address)\":{\"notice\":\"Gets the allow list config for a contract\"},\"getContractMintLimit(address)\":{\"notice\":\"Gets the mint limit for a contract\"},\"getContractMintsPerAddress(address,address)\":{\"notice\":\"Gets the number of mints per address for a contract\"},\"getContractSellerStakingMinimum(address)\":{\"notice\":\"Gets the staking minimum for the seller of a mint for a contract\"},\"getContractTxLimit(address)\":{\"notice\":\"Gets the tx limit for a contract\"},\"getContractTxsPerAddress(address,address)\":{\"notice\":\"Gets the number of txs per address for a contract\"},\"getDirectSaleConfig(address)\":{\"notice\":\"Gets the direct sale config for a contract\"},\"mintDirectSale(address,address,uint256,uint8,bytes32[])\":{\"notice\":\"Mints a token to the buyer\"},\"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])\":{\"notice\":\"Prepares a minting contract for direct sales\"},\"setContractAllowListConfig(bytes32,uint256,address)\":{\"notice\":\"Sets the allow list config for a contract\"},\"setContractMintLimit(address,uint256)\":{\"notice\":\"Sets the mint limit for a contract\"},\"setContractSellerStakingMinimum(address,uint256,uint256)\":{\"notice\":\"Sets the staking minimum for the seller of a mint for a contract\"},\"setContractTxLimit(address,uint256)\":{\"notice\":\"Sets the tx limit for a contract\"}},\"notice\":\"Interface for the RareMinter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/IRareMinter.sol\":\"IRareMinter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/collection/IRareMinter.sol\":{\"keccak256\":\"0x1186ab0626e92fe41cc1e0473953137aa7d3066dc9862f10f86ecb3b79f56406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2b5587bc0c25a8aaca77ba7f3d7cf769d39e60342fb7de9ca0196f564abc69b\",\"dweb:/ipfs/QmSgHyabMp2WRTeCJjnZcMe8dBJAZGuN4NXWHLmDHEkPXm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"ContractMintLimitSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"minimum","type":"uint256","indexed":false},{"internalType":"uint256","name":"endTimestamp","type":"uint256","indexed":false}],"type":"event","name":"ContractStakingMinimumSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"ContractTxLimitSet","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenIdStart","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenIdEnd","type":"uint256","indexed":false},{"internalType":"address","name":"_currency","type":"address","indexed":false},{"internalType":"uint256","name":"_price","type":"uint256","indexed":false}],"type":"event","name":"MintDirectSale","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_currency","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"uint256","name":"_price","type":"uint256","indexed":false},{"internalType":"uint256","name":"_startTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_maxMints","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"PrepareMintDirectSale","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32","indexed":true},{"internalType":"uint256","name":"_endTimestamp","type":"uint256","indexed":false},{"internalType":"address","name":"_contractAddress","type":"address","indexed":true}],"type":"event","name":"SetContractAllowListConfig","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractAllowListConfig","outputs":[{"internalType":"struct IRareMinter.AllowListConfig","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractMintLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getContractMintsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractSellerStakingMinimum","outputs":[{"internalType":"struct IRareMinter.StakingMinimum","name":"","type":"tuple","components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getContractTxsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getDirectSaleConfig","outputs":[{"internalType":"struct IRareMinter.DirectSaleConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"maxMints","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint8","name":"_numMints","type":"uint8"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"mintDirectSale"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_maxMints","type":"uint256"},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintDirectSale"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"},{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setContractAllowListConfig"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractMintLimit"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_minimum","type":"uint256"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractSellerStakingMinimum"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractTxLimit"}],"devdoc":{"kind":"dev","methods":{"getContractAllowListConfig(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"AllowListConfig The allow list config"}},"getContractMintLimit(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The mint limit"}},"getContractMintsPerAddress(address,address)":{"params":{"_address":"address The address of the account to get the mints for","_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The number of mints"}},"getContractSellerStakingMinimum(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"StakingMinimum The staking minimum"}},"getContractTxLimit(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The tx limit"}},"getContractTxsPerAddress(address,address)":{"params":{"_address":"address The address of the account to get the txs for","_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The number of txs"}},"getDirectSaleConfig(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"DirectSaleConfig The direct sale config"}},"mintDirectSale(address,address,uint256,uint8,bytes32[])":{"params":{"_contractAddress":"address The address of the ERC721 contract","_currencyAddress":"address The address of the currency","_numMints":"uint8 The number of tokens to be minted","_price":"uint256 The price to mint","_proof":"bytes32[] The merkle proof for the allowlist if applicable, otherwise empty array"}},"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":{"params":{"_contractAddress":"address The address of the ERC721 contract","_currencyAddress":"address The address of the currency to accept","_maxMints":"uint256 The max number of tokens to mint per transaction","_price":"uint256 The price to mint each token","_splitRatios":"uint8[] The ratios to split the sale with","_splitRecipients":"address payable[] The addresses to split the sale with"}},"setContractAllowListConfig(bytes32,uint256,address)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_endTimestamp":"uint256 The timestamp when the allow list ends","_root":"bytes32 The root of the merkle tree"}},"setContractMintLimit(address,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_limit":"uint256 The limit to set"}},"setContractSellerStakingMinimum(address,uint256,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_endTimestamp":"uint256 The timestamp when the minimum ends","_minimum":"uint256 The minimum to set"}},"setContractTxLimit(address,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_limit":"uint256 The limit to set"}}},"version":1},"userdoc":{"kind":"user","methods":{"getContractAllowListConfig(address)":{"notice":"Gets the allow list config for a contract"},"getContractMintLimit(address)":{"notice":"Gets the mint limit for a contract"},"getContractMintsPerAddress(address,address)":{"notice":"Gets the number of mints per address for a contract"},"getContractSellerStakingMinimum(address)":{"notice":"Gets the staking minimum for the seller of a mint for a contract"},"getContractTxLimit(address)":{"notice":"Gets the tx limit for a contract"},"getContractTxsPerAddress(address,address)":{"notice":"Gets the number of txs per address for a contract"},"getDirectSaleConfig(address)":{"notice":"Gets the direct sale config for a contract"},"mintDirectSale(address,address,uint256,uint8,bytes32[])":{"notice":"Mints a token to the buyer"},"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":{"notice":"Prepares a minting contract for direct sales"},"setContractAllowListConfig(bytes32,uint256,address)":{"notice":"Sets the allow list config for a contract"},"setContractMintLimit(address,uint256)":{"notice":"Sets the mint limit for a contract"},"setContractSellerStakingMinimum(address,uint256,uint256)":{"notice":"Sets the staking minimum for the seller of a mint for a contract"},"setContractTxLimit(address,uint256)":{"notice":"Sets the tx limit for a contract"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/IRareMinter.sol":"IRareMinter"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/collection/IRareMinter.sol":{"keccak256":"0x1186ab0626e92fe41cc1e0473953137aa7d3066dc9862f10f86ecb3b79f56406","urls":["bzz-raw://f2b5587bc0c25a8aaca77ba7f3d7cf769d39e60342fb7de9ca0196f564abc69b","dweb:/ipfs/QmSgHyabMp2WRTeCJjnZcMe8dBJAZGuN4NXWHLmDHEkPXm"],"license":"MIT"}},"version":1},"id":156} \ No newline at end of file +{"abi":[{"type":"function","name":"getContractAllowListConfig","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.AllowListConfig","components":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getContractMintLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractMintsPerAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractSellerStakingMinimum","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.StakingMinimum","components":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getContractTxLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractTxsPerAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDirectSaleConfig","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.DirectSaleConfig","components":[{"name":"seller","type":"address","internalType":"address"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"startTime","type":"uint256","internalType":"uint256"},{"name":"maxMints","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"mintDirectSale","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"},{"name":"_numMints","type":"uint8","internalType":"uint8"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"prepareMintDirectSale","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_maxMints","type":"uint256","internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractAllowListConfig","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"},{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractMintLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractSellerStakingMinimum","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_minimum","type":"uint256","internalType":"uint256"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractTxLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ContractMintLimitSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractStakingMinimumSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"minimum","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractTxLimitSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MintDirectSale","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenIdStart","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenIdEnd","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_currency","type":"address","indexed":false,"internalType":"address"},{"name":"_price","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PrepareMintDirectSale","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_currency","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_price","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_maxMints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"SetContractAllowListConfig","inputs":[{"name":"_root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getContractAllowListConfig(address)":"04c1ff07","getContractMintLimit(address)":"23946f1f","getContractMintsPerAddress(address,address)":"ca774e68","getContractSellerStakingMinimum(address)":"9890cddf","getContractTxLimit(address)":"fa5312c8","getContractTxsPerAddress(address,address)":"2da45e8e","getDirectSaleConfig(address)":"a01fa6a9","mintDirectSale(address,address,uint256,uint8,bytes32[])":"d647ed3c","prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":"78c19898","setContractAllowListConfig(bytes32,uint256,address)":"0fc635b3","setContractMintLimit(address,uint256)":"4cf5f910","setContractSellerStakingMinimum(address,uint256,uint256)":"677b1984","setContractTxLimit(address,uint256)":"9dbef5d1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"ContractMintLimitSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"name\":\"ContractStakingMinimumSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"ContractTxLimitSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenIdStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenIdEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"MintDirectSale\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_maxMints\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"PrepareMintDirectSale\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"SetContractAllowListConfig\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractAllowListConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareMinter.AllowListConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractMintLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getContractMintsPerAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractSellerStakingMinimum\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareMinter.StakingMinimum\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractTxLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getContractTxsPerAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getDirectSaleConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxMints\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareMinter.DirectSaleConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_numMints\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"mintDirectSale\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_maxMints\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"prepareMintDirectSale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"setContractAllowListConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"setContractMintLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"}],\"name\":\"setContractSellerStakingMinimum\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"setContractTxLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRare Labs Inc.\",\"kind\":\"dev\",\"methods\":{\"getContractAllowListConfig(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"AllowListConfig The allow list config\"}},\"getContractMintLimit(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The mint limit\"}},\"getContractMintsPerAddress(address,address)\":{\"params\":{\"_address\":\"address The address of the account to get the mints for\",\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The number of mints\"}},\"getContractSellerStakingMinimum(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"StakingMinimum The staking minimum\"}},\"getContractTxLimit(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The tx limit\"}},\"getContractTxsPerAddress(address,address)\":{\"params\":{\"_address\":\"address The address of the account to get the txs for\",\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The number of txs\"}},\"getDirectSaleConfig(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"DirectSaleConfig The direct sale config\"}},\"mintDirectSale(address,address,uint256,uint8,bytes32[])\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_currencyAddress\":\"address The address of the currency\",\"_numMints\":\"uint8 The number of tokens to be minted\",\"_price\":\"uint256 The price to mint\",\"_proof\":\"bytes32[] The merkle proof for the allowlist if applicable, otherwise empty array\"}},\"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_currencyAddress\":\"address The address of the currency to accept\",\"_maxMints\":\"uint256 The max number of tokens to mint per transaction\",\"_price\":\"uint256 The price to mint each token\",\"_splitRatios\":\"uint8[] The ratios to split the sale with\",\"_splitRecipients\":\"address payable[] The addresses to split the sale with\"}},\"setContractAllowListConfig(bytes32,uint256,address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_endTimestamp\":\"uint256 The timestamp when the allow list ends\",\"_root\":\"bytes32 The root of the merkle tree\"}},\"setContractMintLimit(address,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_limit\":\"uint256 The limit to set\"}},\"setContractSellerStakingMinimum(address,uint256,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_endTimestamp\":\"uint256 The timestamp when the minimum ends\",\"_minimum\":\"uint256 The minimum to set\"}},\"setContractTxLimit(address,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_limit\":\"uint256 The limit to set\"}}},\"title\":\"IRareMinter\",\"version\":1},\"userdoc\":{\"events\":{\"ContractMintLimitSet(address,uint256)\":{\"notice\":\"Event emitted when a contract is set to a mint limit\"},\"ContractStakingMinimumSet(address,uint256,uint256)\":{\"notice\":\"Event emitted when a contract staking minimum amount staked is set\"},\"ContractTxLimitSet(address,uint256)\":{\"notice\":\"Event emitted when a contract is set to a tx limit\"},\"MintDirectSale(address,address,address,uint256,uint256,address,uint256)\":{\"notice\":\"Event emitted when a contract is prepared for direct sale\"},\"PrepareMintDirectSale(address,address,address,uint256,uint256,uint256,address[],uint8[])\":{\"notice\":\"Event emitted when a contract is prepared for direct sale\"},\"SetContractAllowListConfig(bytes32,uint256,address)\":{\"notice\":\"Event emitted when a contract is set to an allow list config\"}},\"kind\":\"user\",\"methods\":{\"getContractAllowListConfig(address)\":{\"notice\":\"Gets the allow list config for a contract\"},\"getContractMintLimit(address)\":{\"notice\":\"Gets the mint limit for a contract\"},\"getContractMintsPerAddress(address,address)\":{\"notice\":\"Gets the number of mints per address for a contract\"},\"getContractSellerStakingMinimum(address)\":{\"notice\":\"Gets the staking minimum for the seller of a mint for a contract\"},\"getContractTxLimit(address)\":{\"notice\":\"Gets the tx limit for a contract\"},\"getContractTxsPerAddress(address,address)\":{\"notice\":\"Gets the number of txs per address for a contract\"},\"getDirectSaleConfig(address)\":{\"notice\":\"Gets the direct sale config for a contract\"},\"mintDirectSale(address,address,uint256,uint8,bytes32[])\":{\"notice\":\"Mints a token to the buyer\"},\"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])\":{\"notice\":\"Prepares a minting contract for direct sales\"},\"setContractAllowListConfig(bytes32,uint256,address)\":{\"notice\":\"Sets the allow list config for a contract\"},\"setContractMintLimit(address,uint256)\":{\"notice\":\"Sets the mint limit for a contract\"},\"setContractSellerStakingMinimum(address,uint256,uint256)\":{\"notice\":\"Sets the staking minimum for the seller of a mint for a contract\"},\"setContractTxLimit(address,uint256)\":{\"notice\":\"Sets the tx limit for a contract\"}},\"notice\":\"Interface for the RareMinter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/IRareMinter.sol\":\"IRareMinter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/collection/IRareMinter.sol\":{\"keccak256\":\"0x1186ab0626e92fe41cc1e0473953137aa7d3066dc9862f10f86ecb3b79f56406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2b5587bc0c25a8aaca77ba7f3d7cf769d39e60342fb7de9ca0196f564abc69b\",\"dweb:/ipfs/QmSgHyabMp2WRTeCJjnZcMe8dBJAZGuN4NXWHLmDHEkPXm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"ContractMintLimitSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"minimum","type":"uint256","indexed":false},{"internalType":"uint256","name":"endTimestamp","type":"uint256","indexed":false}],"type":"event","name":"ContractStakingMinimumSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"ContractTxLimitSet","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenIdStart","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenIdEnd","type":"uint256","indexed":false},{"internalType":"address","name":"_currency","type":"address","indexed":false},{"internalType":"uint256","name":"_price","type":"uint256","indexed":false}],"type":"event","name":"MintDirectSale","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_currency","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"uint256","name":"_price","type":"uint256","indexed":false},{"internalType":"uint256","name":"_startTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_maxMints","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"PrepareMintDirectSale","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32","indexed":true},{"internalType":"uint256","name":"_endTimestamp","type":"uint256","indexed":false},{"internalType":"address","name":"_contractAddress","type":"address","indexed":true}],"type":"event","name":"SetContractAllowListConfig","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractAllowListConfig","outputs":[{"internalType":"struct IRareMinter.AllowListConfig","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractMintLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getContractMintsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractSellerStakingMinimum","outputs":[{"internalType":"struct IRareMinter.StakingMinimum","name":"","type":"tuple","components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getContractTxsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getDirectSaleConfig","outputs":[{"internalType":"struct IRareMinter.DirectSaleConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"maxMints","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint8","name":"_numMints","type":"uint8"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"mintDirectSale"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_maxMints","type":"uint256"},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintDirectSale"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"},{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setContractAllowListConfig"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractMintLimit"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_minimum","type":"uint256"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractSellerStakingMinimum"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractTxLimit"}],"devdoc":{"kind":"dev","methods":{"getContractAllowListConfig(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"AllowListConfig The allow list config"}},"getContractMintLimit(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The mint limit"}},"getContractMintsPerAddress(address,address)":{"params":{"_address":"address The address of the account to get the mints for","_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The number of mints"}},"getContractSellerStakingMinimum(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"StakingMinimum The staking minimum"}},"getContractTxLimit(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The tx limit"}},"getContractTxsPerAddress(address,address)":{"params":{"_address":"address The address of the account to get the txs for","_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The number of txs"}},"getDirectSaleConfig(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"DirectSaleConfig The direct sale config"}},"mintDirectSale(address,address,uint256,uint8,bytes32[])":{"params":{"_contractAddress":"address The address of the ERC721 contract","_currencyAddress":"address The address of the currency","_numMints":"uint8 The number of tokens to be minted","_price":"uint256 The price to mint","_proof":"bytes32[] The merkle proof for the allowlist if applicable, otherwise empty array"}},"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":{"params":{"_contractAddress":"address The address of the ERC721 contract","_currencyAddress":"address The address of the currency to accept","_maxMints":"uint256 The max number of tokens to mint per transaction","_price":"uint256 The price to mint each token","_splitRatios":"uint8[] The ratios to split the sale with","_splitRecipients":"address payable[] The addresses to split the sale with"}},"setContractAllowListConfig(bytes32,uint256,address)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_endTimestamp":"uint256 The timestamp when the allow list ends","_root":"bytes32 The root of the merkle tree"}},"setContractMintLimit(address,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_limit":"uint256 The limit to set"}},"setContractSellerStakingMinimum(address,uint256,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_endTimestamp":"uint256 The timestamp when the minimum ends","_minimum":"uint256 The minimum to set"}},"setContractTxLimit(address,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_limit":"uint256 The limit to set"}}},"version":1},"userdoc":{"kind":"user","methods":{"getContractAllowListConfig(address)":{"notice":"Gets the allow list config for a contract"},"getContractMintLimit(address)":{"notice":"Gets the mint limit for a contract"},"getContractMintsPerAddress(address,address)":{"notice":"Gets the number of mints per address for a contract"},"getContractSellerStakingMinimum(address)":{"notice":"Gets the staking minimum for the seller of a mint for a contract"},"getContractTxLimit(address)":{"notice":"Gets the tx limit for a contract"},"getContractTxsPerAddress(address,address)":{"notice":"Gets the number of txs per address for a contract"},"getDirectSaleConfig(address)":{"notice":"Gets the direct sale config for a contract"},"mintDirectSale(address,address,uint256,uint8,bytes32[])":{"notice":"Mints a token to the buyer"},"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":{"notice":"Prepares a minting contract for direct sales"},"setContractAllowListConfig(bytes32,uint256,address)":{"notice":"Sets the allow list config for a contract"},"setContractMintLimit(address,uint256)":{"notice":"Sets the mint limit for a contract"},"setContractSellerStakingMinimum(address,uint256,uint256)":{"notice":"Sets the staking minimum for the seller of a mint for a contract"},"setContractTxLimit(address,uint256)":{"notice":"Sets the tx limit for a contract"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/IRareMinter.sol":"IRareMinter"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/collection/IRareMinter.sol":{"keccak256":"0x1186ab0626e92fe41cc1e0473953137aa7d3066dc9862f10f86ecb3b79f56406","urls":["bzz-raw://f2b5587bc0c25a8aaca77ba7f3d7cf769d39e60342fb7de9ca0196f564abc69b","dweb:/ipfs/QmSgHyabMp2WRTeCJjnZcMe8dBJAZGuN4NXWHLmDHEkPXm"],"license":"MIT"}},"version":1},"id":167} \ No newline at end of file diff --git a/abis/IRareRoyaltyRegistry.json b/abis/IRareRoyaltyRegistry.json index d3059ed..c16ec19 100644 --- a/abis/IRareRoyaltyRegistry.json +++ b/abis/IRareRoyaltyRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"calculateRoyaltyFee","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721TokenRoyaltyPercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"setPercentageForSetERC721ContractRoyalty","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"calculateRoyaltyFee(address,uint256,uint256)":"860110f5","getERC721TokenRoyaltyPercentage(address,uint256)":"7c0329f7","setPercentageForSetERC721ContractRoyalty(address,uint8)":"2d5baea3","tokenCreator(address,uint256)":"b85ed7e4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateRoyaltyFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getERC721TokenRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setPercentageForSetERC721ContractRoyalty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"calculateRoyaltyFee(address,uint256,uint256)\":{\"details\":\"Utililty function to calculate the royalty fee for a token.\",\"params\":{\"_amount\":\"uint256 wei amount.\",\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getERC721TokenRoyaltyPercentage(address,uint256)\":{\"details\":\"Get the royalty fee percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"uint8 wei royalty fee.\"}},\"setPercentageForSetERC721ContractRoyalty(address,uint8)\":{\"details\":\"Utililty function to set the royalty percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_percentage\":\"percentage for royalty\"}}},\"title\":\"IERC721CreatorRoyalty Token level royalty interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":\"IRareRoyaltyRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateRoyaltyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getERC721TokenRoyaltyPercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPercentageForSetERC721ContractRoyalty"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"calculateRoyaltyFee(address,uint256,uint256)":{"details":"Utililty function to calculate the royalty fee for a token.","params":{"_amount":"uint256 wei amount.","_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"uint256 wei fee."}},"getERC721TokenRoyaltyPercentage(address,uint256)":{"details":"Get the royalty fee percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"uint8 wei royalty fee."}},"setPercentageForSetERC721ContractRoyalty(address,uint8)":{"details":"Utililty function to set the royalty percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address.","_percentage":"percentage for royalty"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/interfaces/IRareRoyaltyRegistry.sol":"IRareRoyaltyRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"}},"version":1},"id":38} \ No newline at end of file +{"abi":[{"type":"function","name":"calculateRoyaltyFee","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721TokenRoyaltyPercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"setPercentageForSetERC721ContractRoyalty","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"calculateRoyaltyFee(address,uint256,uint256)":"860110f5","getERC721TokenRoyaltyPercentage(address,uint256)":"7c0329f7","setPercentageForSetERC721ContractRoyalty(address,uint8)":"2d5baea3","tokenCreator(address,uint256)":"b85ed7e4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateRoyaltyFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getERC721TokenRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setPercentageForSetERC721ContractRoyalty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"calculateRoyaltyFee(address,uint256,uint256)\":{\"details\":\"Utililty function to calculate the royalty fee for a token.\",\"params\":{\"_amount\":\"uint256 wei amount.\",\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getERC721TokenRoyaltyPercentage(address,uint256)\":{\"details\":\"Get the royalty fee percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"uint8 wei royalty fee.\"}},\"setPercentageForSetERC721ContractRoyalty(address,uint8)\":{\"details\":\"Utililty function to set the royalty percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_percentage\":\"percentage for royalty\"}}},\"title\":\"IERC721CreatorRoyalty Token level royalty interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":\"IRareRoyaltyRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateRoyaltyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getERC721TokenRoyaltyPercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPercentageForSetERC721ContractRoyalty"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"calculateRoyaltyFee(address,uint256,uint256)":{"details":"Utililty function to calculate the royalty fee for a token.","params":{"_amount":"uint256 wei amount.","_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"uint256 wei fee."}},"getERC721TokenRoyaltyPercentage(address,uint256)":{"details":"Get the royalty fee percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"uint8 wei royalty fee."}},"setPercentageForSetERC721ContractRoyalty(address,uint8)":{"details":"Utililty function to set the royalty percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address.","_percentage":"percentage for royalty"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/interfaces/IRareRoyaltyRegistry.sol":"IRareRoyaltyRegistry"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"}},"version":1},"id":75} \ No newline at end of file diff --git a/abis/IRareStakingRegistry.json b/abis/IRareStakingRegistry.json index 13f2a37..c4154a2 100644 --- a/abis/IRareStakingRegistry.json +++ b/abis/IRareStakingRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"ENS_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_CONFIG_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_INFO_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_STAT_SETTER_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_STAT_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SWAP_POOL_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"decreaseAmountStaked","inputs":[{"name":"_staker","type":"address","internalType":"address"},{"name":"_stakedOn","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDefaultPayee","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeflationaryPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDiscountPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPeriodLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRareAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRewardAccumulatorAddressForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingAddressForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingInfoForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareStakingRegistry.Info","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"stakingAddress","type":"address","internalType":"address"},{"name":"rewardAddress","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPool","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTotalAmountStakedByUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTotalAmountStakedOnUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsersForStakingAddresses","inputs":[{"name":"_stakingAddrs","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getWethAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"increaseAmountStaked","inputs":[{"name":"_staker","type":"address","internalType":"address"},{"name":"_stakedOn","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultPayee","inputs":[{"name":"_payee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeflationaryPercentage","inputs":[{"name":"_percentage","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDiscountPercentage","inputs":[{"name":"_percentage","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPeriodLength","inputs":[{"name":"_periodLength","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setResolver","inputs":[{"name":"_resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReverseRegistrar","inputs":[{"name":"_reverseRegistrar","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingAddresses","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_stakingAddress","type":"address","internalType":"address"},{"name":"_rewardSwapAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSwapPool","inputs":[{"name":"_uniswapPool","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferRareFrom","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"DefaultPayeeUpdated","inputs":[{"name":"_payee","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeflationaryPercentageUpdated","inputs":[{"name":"_percentage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DiscountPercentageUpdated","inputs":[{"name":"_percentage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PeriodLengthUpdated","inputs":[{"name":"_periodLength","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ResolverUpdated","inputs":[{"name":"_resolver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReverseRegistrarUpdated","inputs":[{"name":"_percentage","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSwapPool","inputs":[{"name":"_uniswapPool","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InsufficientRareAllowance","inputs":[]},{"type":"error","name":"InvalidPool","inputs":[]},{"type":"error","name":"PercentageBeyondLimit","inputs":[]},{"type":"error","name":"PeriodLengthBeyondLimit","inputs":[]},{"type":"error","name":"RenouncingAdmin","inputs":[]},{"type":"error","name":"StakingContractAlreadyExists","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"ENS_SETTER_ROLE()":"c2544987","STAKING_CONFIG_SETTER_ROLE()":"a4303a45","STAKING_INFO_SETTER_ROLE()":"265718b4","STAKING_STAT_SETTER_ADMIN_ROLE()":"29b4a590","STAKING_STAT_SETTER_ROLE()":"66951bc1","SWAP_POOL_SETTER_ROLE()":"363227e5","decreaseAmountStaked(address,address,uint256)":"cac7c65c","getDefaultPayee()":"10da95e6","getDeflationaryPercentage()":"f7ef8ead","getDiscountPercentage()":"111029b9","getPeriodLength()":"8469ddc7","getRareAddress()":"2210d525","getRewardAccumulatorAddressForUser(address)":"e286ef33","getStakingAddressForUser(address)":"81d0606b","getStakingInfoForUser(address)":"f24bd8a6","getSwapPool(address)":"039bcf8e","getTotalAmountStakedByUser(address)":"06c571d5","getTotalAmountStakedOnUser(address)":"3d867d95","getUsersForStakingAddresses(address[])":"18ab58ac","getWethAddress()":"23a7b42a","increaseAmountStaked(address,address,uint256)":"2608ff35","setDefaultPayee(address)":"99247be7","setDeflationaryPercentage(uint256)":"cb8af2b5","setDiscountPercentage(uint256)":"b3428d15","setPeriodLength(uint256)":"1c5633d7","setResolver(address)":"4e543b26","setReverseRegistrar(address)":"557499ba","setStakingAddresses(address,address,address)":"76a250a7","setSwapPool(address,address)":"46ccbb40","transferRareFrom(address,address,uint256)":"81910e33"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InsufficientRareAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPool\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PercentageBeyondLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PeriodLengthBeyondLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RenouncingAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StakingContractAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"}],\"name\":\"DefaultPayeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"DeflationaryPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"DiscountPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"}],\"name\":\"PeriodLengthUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"ResolverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_percentage\",\"type\":\"address\"}],\"name\":\"ReverseRegistrarUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_uniswapPool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"SetSwapPool\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ENS_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_CONFIG_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_INFO_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_STAT_SETTER_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_STAT_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SWAP_POOL_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakedOn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"decreaseAmountStaked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultPayee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeflationaryPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDiscountPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPeriodLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRareAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRewardAccumulatorAddressForUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getStakingAddressForUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getStakingInfoForUser\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"stakingAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rewardAddress\",\"type\":\"address\"}],\"internalType\":\"struct IRareStakingRegistry.Info\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getSwapPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getTotalAmountStakedByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getTotalAmountStakedOnUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_stakingAddrs\",\"type\":\"address[]\"}],\"name\":\"getUsersForStakingAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakedOn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increaseAmountStaked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"}],\"name\":\"setDefaultPayee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setDeflationaryPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setDiscountPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"}],\"name\":\"setPeriodLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reverseRegistrar\",\"type\":\"address\"}],\"name\":\"setReverseRegistrar\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardSwapAddress\",\"type\":\"address\"}],\"name\":\"setStakingAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_uniswapPool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setSwapPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferRareFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"kind\":\"dev\",\"methods\":{\"ENS_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the ens setter role.\"}},\"STAKING_CONFIG_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the staking config setter role.\"}},\"STAKING_INFO_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the staking info setter role.\"}},\"STAKING_STAT_SETTER_ADMIN_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the staking stat setter admin role.\"}},\"STAKING_STAT_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the stat setter role.\"}},\"SWAP_POOL_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the swap pool setter role.\"}},\"decreaseAmountStaked(address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of $RARE that has been unstaked.\",\"_stakedOn\":\"The user who was being staked on.\",\"_staker\":\"The user who is unstaking.\"}},\"getDefaultPayee()\":{\"returns\":{\"_0\":\"address to send rewards to.\"}},\"getDeflationaryPercentage()\":{\"returns\":{\"_0\":\"uint256 deflationary percentage.\"}},\"getDiscountPercentage()\":{\"returns\":{\"_0\":\"uint256 discount percentage.\"}},\"getPeriodLength()\":{\"returns\":{\"_0\":\"uint256 period length.\"}},\"getRareAddress()\":{\"returns\":{\"_0\":\"address Address of $RARE (the staking token to be used).\"}},\"getRewardAccumulatorAddressForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"address Reward accumulator address.\"}},\"getStakingAddressForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"address staking address.\"}},\"getStakingInfoForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"Info struct containing name, symbol, staking address, and reward accumulator address.\"}},\"getSwapPool(address)\":{\"returns\":{\"_0\":\"address of the swap pool associated with the token.\"}},\"getTotalAmountStakedByUser(address)\":{\"params\":{\"_user\":\"Address of the user staking.\"},\"returns\":{\"_0\":\"uint256 Amount of rare the user is staking.\"}},\"getTotalAmountStakedOnUser(address)\":{\"params\":{\"_user\":\"Address of the user being staked on.\"},\"returns\":{\"_0\":\"uint256 Amount of rare being staked on the user.\"}},\"getUsersForStakingAddresses(address[])\":{\"params\":{\"_stakingAddrs\":\"Addresses of staking contracts being queried.\"}},\"getWethAddress()\":{\"returns\":{\"_0\":\"address Address of Wrapped Ethereum.\"}},\"increaseAmountStaked(address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of $RARE that has been staked.\",\"_stakedOn\":\"The user who is being staked on.\",\"_staker\":\"The user who is staking.\"}},\"setDefaultPayee(address)\":{\"params\":{\"_payee\":\"Address of the account to be the new default payee.\"}},\"setDeflationaryPercentage(uint256)\":{\"params\":{\"_percentage\":\"The new deflactionary percentage.\"}},\"setDiscountPercentage(uint256)\":{\"params\":{\"_percentage\":\"The new discount percentage.\"}},\"setPeriodLength(uint256)\":{\"params\":{\"_periodLength\":\"The new period start.\"}},\"setResolver(address)\":{\"params\":{\"_resolver\":\"The new period start.\"}},\"setReverseRegistrar(address)\":{\"params\":{\"_reverseRegistrar\":\"The new period start.\"}},\"setStakingAddresses(address,address,address)\":{\"params\":{\"_rewardSwapAddress\":\"Address of the reward swap contract.\",\"_stakingAddress\":\"Address of the staking pool contract.\",\"_user\":\"Address of the target whose staking address is being set.\"}},\"setSwapPool(address,address)\":{\"params\":{\"_token\":\"Address of ERC20 contract.\",\"_uniswapPool\":\"Address of uniswap pool.\"}},\"transferRareFrom(address,address,uint256)\":{\"params\":{\"_amount\":\"uint256 amount to transfer.\",\"_from\":\"Address to transfer the tokens from.\",\"_to\":\"Address to transfer the tokens to.\"}}},\"title\":\"IRareStakingRegistry\",\"version\":1},\"userdoc\":{\"errors\":{\"InsufficientRareAllowance()\":[{\"notice\":\"Error emitted in {transferRareFrom} when a user performs an action that requires moving $RARE but has not made enough allowance for the registry.\"}],\"InvalidPool()\":[{\"notice\":\"Emitted via {setSwapPool} if the pool doesn't match the token and pairs with WETH.\"}],\"PercentageBeyondLimit()\":[{\"notice\":\"Emitted when a percentage is beyond the specified limit.\"}],\"PeriodLengthBeyondLimit()\":[{\"notice\":\"Emitted when a Period Length is beyond the specified limit.\"}],\"RenouncingAdmin()\":[{\"notice\":\"Emitted when renouncing the admin role and no other account has the role.\"}],\"StakingContractAlreadyExists()\":[{\"notice\":\"Emitted via {setStakingAddress} if the user already has a staking address.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when guarded functions are called by users without the necessary permissions.\"}],\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"DefaultPayeeUpdated(address)\":{\"notice\":\"Emitted via {setDefaultPayee} when the defaultPayee is updated.\"},\"DeflationaryPercentageUpdated(uint256)\":{\"notice\":\"Emitted via {setDeflationaryPercentage} when the deflationaryPercentage is updated.\"},\"DiscountPercentageUpdated(uint256)\":{\"notice\":\"Emitted via {setDiscountPercentage} when the discountedPercent is updated.\"},\"PeriodLengthUpdated(uint256)\":{\"notice\":\"Emitted via {setPeriodLength} when the periodLength is updated.\"},\"ResolverUpdated(address)\":{\"notice\":\"Emitted via {setResolver} when the ENS resolver is updated.\"},\"ReverseRegistrarUpdated(address)\":{\"notice\":\"Emitted via {setReverseRegistrar} when the ENS reverse registrar is updated.\"},\"SetSwapPool(address,address)\":{\"notice\":\"Emitted via {setSwapPool} when a new swap pool has been set.\"}},\"kind\":\"user\",\"methods\":{\"ENS_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating the ENS resolvers.\"},\"STAKING_CONFIG_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for period length, deflationary percentages, and the default payee.\"},\"STAKING_INFO_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for setting the staking address of a user.\"},\"STAKING_STAT_SETTER_ADMIN_ROLE()\":{\"notice\":\"Bytes32 representation of the admin role for granting the ability to set amount staked for a single user/total amount staked on a user.\"},\"STAKING_STAT_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating the amount being staked on a user/amount a user is staking globally.\"},\"SWAP_POOL_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating uniswap pools.\"},\"decreaseAmountStaked(address,address,uint256)\":{\"notice\":\"Decrease the amount staked when a user unstakes.\"},\"getDefaultPayee()\":{\"notice\":\"Get the address for sending rewards if there are no stakers.\"},\"getDeflationaryPercentage()\":{\"notice\":\"Get the unstake deflationary percentage.\"},\"getDiscountPercentage()\":{\"notice\":\"Get reward swap discount percentage.\"},\"getPeriodLength()\":{\"notice\":\"Get the round period length.\"},\"getRareAddress()\":{\"notice\":\"Retrieve the address of $RARE.\"},\"getRewardAccumulatorAddressForUser(address)\":{\"notice\":\"Retrieves the reward accumulator address for a given user.\"},\"getStakingAddressForUser(address)\":{\"notice\":\"Retrieves the staking address for a given user.\"},\"getStakingInfoForUser(address)\":{\"notice\":\"Retrieves the staking info for a given user.\"},\"getSwapPool(address)\":{\"notice\":\"Get the swap pool address for the ERC20 token.\"},\"getTotalAmountStakedByUser(address)\":{\"notice\":\"Retrieves the total amount of rare staked by a given user.\"},\"getTotalAmountStakedOnUser(address)\":{\"notice\":\"Retrieves the total amount of rare being staked on a given user.\"},\"getUsersForStakingAddresses(address[])\":{\"notice\":\"Query the users for the following staking addresseses.\"},\"getWethAddress()\":{\"notice\":\"Retrieve the address of Wrapped Ethereum.\"},\"increaseAmountStaked(address,address,uint256)\":{\"notice\":\"Increase amount staked when a user stakes.\"},\"setDefaultPayee(address)\":{\"notice\":\"Set the default payee.\"},\"setDeflationaryPercentage(uint256)\":{\"notice\":\"Set the unstake deflationary percentage.\"},\"setDiscountPercentage(uint256)\":{\"notice\":\"Set the reward swap discount percentage.\"},\"setPeriodLength(uint256)\":{\"notice\":\"Set the round period length time.\"},\"setResolver(address)\":{\"notice\":\"Set the ENS resolver address.\"},\"setReverseRegistrar(address)\":{\"notice\":\"Set the ENS reverse registrar address.\"},\"setStakingAddresses(address,address,address)\":{\"notice\":\"Set staking addresses for a target.\"},\"setSwapPool(address,address)\":{\"notice\":\"Set the uniswap pool address for the given ERC20 token.\"},\"transferRareFrom(address,address,uint256)\":{\"notice\":\"Pools to transfer $RARE tokens, usually into pools. This is so users only need to approve the registry when staking or performing reward swaps.\"}},\"notice\":\"The Staking Registry interface containing all functions, events, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/registry/IRareStakingRegistry.sol\":\"IRareStakingRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InsufficientRareAllowance"},{"inputs":[],"type":"error","name":"InvalidPool"},{"inputs":[],"type":"error","name":"PercentageBeyondLimit"},{"inputs":[],"type":"error","name":"PeriodLengthBeyondLimit"},{"inputs":[],"type":"error","name":"RenouncingAdmin"},{"inputs":[],"type":"error","name":"StakingContractAlreadyExists"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"_payee","type":"address","indexed":false}],"type":"event","name":"DefaultPayeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256","indexed":false}],"type":"event","name":"DeflationaryPercentageUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256","indexed":false}],"type":"event","name":"DiscountPercentageUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_periodLength","type":"uint256","indexed":false}],"type":"event","name":"PeriodLengthUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_resolver","type":"address","indexed":false}],"type":"event","name":"ResolverUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_percentage","type":"address","indexed":false}],"type":"event","name":"ReverseRegistrarUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_uniswapPool","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false}],"type":"event","name":"SetSwapPool","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ENS_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_CONFIG_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_INFO_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_STAT_SETTER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_STAT_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SWAP_POOL_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_stakedOn","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAmountStaked"},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultPayee","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeflationaryPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDiscountPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPeriodLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRareAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getRewardAccumulatorAddressForUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getStakingAddressForUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getStakingInfoForUser","outputs":[{"internalType":"struct IRareStakingRegistry.Info","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"stakingAddress","type":"address"},{"internalType":"address","name":"rewardAddress","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"getSwapPool","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalAmountStakedByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalAmountStakedOnUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_stakingAddrs","type":"address[]"}],"stateMutability":"view","type":"function","name":"getUsersForStakingAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWethAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_stakedOn","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAmountStaked"},{"inputs":[{"internalType":"address","name":"_payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultPayee"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeflationaryPercentage"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDiscountPercentage"},{"inputs":[{"internalType":"uint256","name":"_periodLength","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setPeriodLength"},{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setResolver"},{"inputs":[{"internalType":"address","name":"_reverseRegistrar","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReverseRegistrar"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_stakingAddress","type":"address"},{"internalType":"address","name":"_rewardSwapAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingAddresses"},{"inputs":[{"internalType":"address","name":"_uniswapPool","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSwapPool"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferRareFrom"}],"devdoc":{"kind":"dev","methods":{"ENS_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the ens setter role."}},"STAKING_CONFIG_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the staking config setter role."}},"STAKING_INFO_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the staking info setter role."}},"STAKING_STAT_SETTER_ADMIN_ROLE()":{"returns":{"_0":"bytes32 value of the staking stat setter admin role."}},"STAKING_STAT_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the stat setter role."}},"SWAP_POOL_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the swap pool setter role."}},"decreaseAmountStaked(address,address,uint256)":{"params":{"_amount":"The amount of $RARE that has been unstaked.","_stakedOn":"The user who was being staked on.","_staker":"The user who is unstaking."}},"getDefaultPayee()":{"returns":{"_0":"address to send rewards to."}},"getDeflationaryPercentage()":{"returns":{"_0":"uint256 deflationary percentage."}},"getDiscountPercentage()":{"returns":{"_0":"uint256 discount percentage."}},"getPeriodLength()":{"returns":{"_0":"uint256 period length."}},"getRareAddress()":{"returns":{"_0":"address Address of $RARE (the staking token to be used)."}},"getRewardAccumulatorAddressForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"address Reward accumulator address."}},"getStakingAddressForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"address staking address."}},"getStakingInfoForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"Info struct containing name, symbol, staking address, and reward accumulator address."}},"getSwapPool(address)":{"returns":{"_0":"address of the swap pool associated with the token."}},"getTotalAmountStakedByUser(address)":{"params":{"_user":"Address of the user staking."},"returns":{"_0":"uint256 Amount of rare the user is staking."}},"getTotalAmountStakedOnUser(address)":{"params":{"_user":"Address of the user being staked on."},"returns":{"_0":"uint256 Amount of rare being staked on the user."}},"getUsersForStakingAddresses(address[])":{"params":{"_stakingAddrs":"Addresses of staking contracts being queried."}},"getWethAddress()":{"returns":{"_0":"address Address of Wrapped Ethereum."}},"increaseAmountStaked(address,address,uint256)":{"params":{"_amount":"The amount of $RARE that has been staked.","_stakedOn":"The user who is being staked on.","_staker":"The user who is staking."}},"setDefaultPayee(address)":{"params":{"_payee":"Address of the account to be the new default payee."}},"setDeflationaryPercentage(uint256)":{"params":{"_percentage":"The new deflactionary percentage."}},"setDiscountPercentage(uint256)":{"params":{"_percentage":"The new discount percentage."}},"setPeriodLength(uint256)":{"params":{"_periodLength":"The new period start."}},"setResolver(address)":{"params":{"_resolver":"The new period start."}},"setReverseRegistrar(address)":{"params":{"_reverseRegistrar":"The new period start."}},"setStakingAddresses(address,address,address)":{"params":{"_rewardSwapAddress":"Address of the reward swap contract.","_stakingAddress":"Address of the staking pool contract.","_user":"Address of the target whose staking address is being set."}},"setSwapPool(address,address)":{"params":{"_token":"Address of ERC20 contract.","_uniswapPool":"Address of uniswap pool."}},"transferRareFrom(address,address,uint256)":{"params":{"_amount":"uint256 amount to transfer.","_from":"Address to transfer the tokens from.","_to":"Address to transfer the tokens to."}}},"version":1},"userdoc":{"kind":"user","methods":{"ENS_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating the ENS resolvers."},"STAKING_CONFIG_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for period length, deflationary percentages, and the default payee."},"STAKING_INFO_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for setting the staking address of a user."},"STAKING_STAT_SETTER_ADMIN_ROLE()":{"notice":"Bytes32 representation of the admin role for granting the ability to set amount staked for a single user/total amount staked on a user."},"STAKING_STAT_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating the amount being staked on a user/amount a user is staking globally."},"SWAP_POOL_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating uniswap pools."},"decreaseAmountStaked(address,address,uint256)":{"notice":"Decrease the amount staked when a user unstakes."},"getDefaultPayee()":{"notice":"Get the address for sending rewards if there are no stakers."},"getDeflationaryPercentage()":{"notice":"Get the unstake deflationary percentage."},"getDiscountPercentage()":{"notice":"Get reward swap discount percentage."},"getPeriodLength()":{"notice":"Get the round period length."},"getRareAddress()":{"notice":"Retrieve the address of $RARE."},"getRewardAccumulatorAddressForUser(address)":{"notice":"Retrieves the reward accumulator address for a given user."},"getStakingAddressForUser(address)":{"notice":"Retrieves the staking address for a given user."},"getStakingInfoForUser(address)":{"notice":"Retrieves the staking info for a given user."},"getSwapPool(address)":{"notice":"Get the swap pool address for the ERC20 token."},"getTotalAmountStakedByUser(address)":{"notice":"Retrieves the total amount of rare staked by a given user."},"getTotalAmountStakedOnUser(address)":{"notice":"Retrieves the total amount of rare being staked on a given user."},"getUsersForStakingAddresses(address[])":{"notice":"Query the users for the following staking addresseses."},"getWethAddress()":{"notice":"Retrieve the address of Wrapped Ethereum."},"increaseAmountStaked(address,address,uint256)":{"notice":"Increase amount staked when a user stakes."},"setDefaultPayee(address)":{"notice":"Set the default payee."},"setDeflationaryPercentage(uint256)":{"notice":"Set the unstake deflationary percentage."},"setDiscountPercentage(uint256)":{"notice":"Set the reward swap discount percentage."},"setPeriodLength(uint256)":{"notice":"Set the round period length time."},"setResolver(address)":{"notice":"Set the ENS resolver address."},"setReverseRegistrar(address)":{"notice":"Set the ENS reverse registrar address."},"setStakingAddresses(address,address,address)":{"notice":"Set staking addresses for a target."},"setSwapPool(address,address)":{"notice":"Set the uniswap pool address for the given ERC20 token."},"transferRareFrom(address,address,uint256)":{"notice":"Pools to transfer $RARE tokens, usually into pools. This is so users only need to approve the registry when staking or performing reward swaps."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/registry/IRareStakingRegistry.sol":"IRareStakingRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"}},"version":1},"id":40} \ No newline at end of file +{"abi":[{"type":"function","name":"ENS_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_CONFIG_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_INFO_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_STAT_SETTER_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_STAT_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SWAP_POOL_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"decreaseAmountStaked","inputs":[{"name":"_staker","type":"address","internalType":"address"},{"name":"_stakedOn","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDefaultPayee","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeflationaryPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDiscountPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPeriodLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRareAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRewardAccumulatorAddressForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingAddressForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingInfoForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareStakingRegistry.Info","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"stakingAddress","type":"address","internalType":"address"},{"name":"rewardAddress","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPool","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTotalAmountStakedByUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTotalAmountStakedOnUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsersForStakingAddresses","inputs":[{"name":"_stakingAddrs","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getWethAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"increaseAmountStaked","inputs":[{"name":"_staker","type":"address","internalType":"address"},{"name":"_stakedOn","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultPayee","inputs":[{"name":"_payee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeflationaryPercentage","inputs":[{"name":"_percentage","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDiscountPercentage","inputs":[{"name":"_percentage","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPeriodLength","inputs":[{"name":"_periodLength","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setResolver","inputs":[{"name":"_resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReverseRegistrar","inputs":[{"name":"_reverseRegistrar","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingAddresses","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_stakingAddress","type":"address","internalType":"address"},{"name":"_rewardSwapAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSwapPool","inputs":[{"name":"_uniswapPool","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferRareFrom","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"DefaultPayeeUpdated","inputs":[{"name":"_payee","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeflationaryPercentageUpdated","inputs":[{"name":"_percentage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DiscountPercentageUpdated","inputs":[{"name":"_percentage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PeriodLengthUpdated","inputs":[{"name":"_periodLength","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ResolverUpdated","inputs":[{"name":"_resolver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReverseRegistrarUpdated","inputs":[{"name":"_percentage","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSwapPool","inputs":[{"name":"_uniswapPool","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InsufficientRareAllowance","inputs":[]},{"type":"error","name":"InvalidPool","inputs":[]},{"type":"error","name":"PercentageBeyondLimit","inputs":[]},{"type":"error","name":"PeriodLengthBeyondLimit","inputs":[]},{"type":"error","name":"RenouncingAdmin","inputs":[]},{"type":"error","name":"StakingContractAlreadyExists","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"ENS_SETTER_ROLE()":"c2544987","STAKING_CONFIG_SETTER_ROLE()":"a4303a45","STAKING_INFO_SETTER_ROLE()":"265718b4","STAKING_STAT_SETTER_ADMIN_ROLE()":"29b4a590","STAKING_STAT_SETTER_ROLE()":"66951bc1","SWAP_POOL_SETTER_ROLE()":"363227e5","decreaseAmountStaked(address,address,uint256)":"cac7c65c","getDefaultPayee()":"10da95e6","getDeflationaryPercentage()":"f7ef8ead","getDiscountPercentage()":"111029b9","getPeriodLength()":"8469ddc7","getRareAddress()":"2210d525","getRewardAccumulatorAddressForUser(address)":"e286ef33","getStakingAddressForUser(address)":"81d0606b","getStakingInfoForUser(address)":"f24bd8a6","getSwapPool(address)":"039bcf8e","getTotalAmountStakedByUser(address)":"06c571d5","getTotalAmountStakedOnUser(address)":"3d867d95","getUsersForStakingAddresses(address[])":"18ab58ac","getWethAddress()":"23a7b42a","increaseAmountStaked(address,address,uint256)":"2608ff35","setDefaultPayee(address)":"99247be7","setDeflationaryPercentage(uint256)":"cb8af2b5","setDiscountPercentage(uint256)":"b3428d15","setPeriodLength(uint256)":"1c5633d7","setResolver(address)":"4e543b26","setReverseRegistrar(address)":"557499ba","setStakingAddresses(address,address,address)":"76a250a7","setSwapPool(address,address)":"46ccbb40","transferRareFrom(address,address,uint256)":"81910e33"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InsufficientRareAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPool\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PercentageBeyondLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PeriodLengthBeyondLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RenouncingAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StakingContractAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"}],\"name\":\"DefaultPayeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"DeflationaryPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"DiscountPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"}],\"name\":\"PeriodLengthUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"ResolverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_percentage\",\"type\":\"address\"}],\"name\":\"ReverseRegistrarUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_uniswapPool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"SetSwapPool\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ENS_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_CONFIG_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_INFO_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_STAT_SETTER_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_STAT_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SWAP_POOL_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakedOn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"decreaseAmountStaked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultPayee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeflationaryPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDiscountPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPeriodLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRareAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRewardAccumulatorAddressForUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getStakingAddressForUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getStakingInfoForUser\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"stakingAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rewardAddress\",\"type\":\"address\"}],\"internalType\":\"struct IRareStakingRegistry.Info\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getSwapPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getTotalAmountStakedByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getTotalAmountStakedOnUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_stakingAddrs\",\"type\":\"address[]\"}],\"name\":\"getUsersForStakingAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakedOn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increaseAmountStaked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"}],\"name\":\"setDefaultPayee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setDeflationaryPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setDiscountPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"}],\"name\":\"setPeriodLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reverseRegistrar\",\"type\":\"address\"}],\"name\":\"setReverseRegistrar\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardSwapAddress\",\"type\":\"address\"}],\"name\":\"setStakingAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_uniswapPool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setSwapPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferRareFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"kind\":\"dev\",\"methods\":{\"ENS_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the ens setter role.\"}},\"STAKING_CONFIG_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the staking config setter role.\"}},\"STAKING_INFO_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the staking info setter role.\"}},\"STAKING_STAT_SETTER_ADMIN_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the staking stat setter admin role.\"}},\"STAKING_STAT_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the stat setter role.\"}},\"SWAP_POOL_SETTER_ROLE()\":{\"returns\":{\"_0\":\"bytes32 value of the swap pool setter role.\"}},\"decreaseAmountStaked(address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of $RARE that has been unstaked.\",\"_stakedOn\":\"The user who was being staked on.\",\"_staker\":\"The user who is unstaking.\"}},\"getDefaultPayee()\":{\"returns\":{\"_0\":\"address to send rewards to.\"}},\"getDeflationaryPercentage()\":{\"returns\":{\"_0\":\"uint256 deflationary percentage.\"}},\"getDiscountPercentage()\":{\"returns\":{\"_0\":\"uint256 discount percentage.\"}},\"getPeriodLength()\":{\"returns\":{\"_0\":\"uint256 period length.\"}},\"getRareAddress()\":{\"returns\":{\"_0\":\"address Address of $RARE (the staking token to be used).\"}},\"getRewardAccumulatorAddressForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"address Reward accumulator address.\"}},\"getStakingAddressForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"address staking address.\"}},\"getStakingInfoForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"Info struct containing name, symbol, staking address, and reward accumulator address.\"}},\"getSwapPool(address)\":{\"returns\":{\"_0\":\"address of the swap pool associated with the token.\"}},\"getTotalAmountStakedByUser(address)\":{\"params\":{\"_user\":\"Address of the user staking.\"},\"returns\":{\"_0\":\"uint256 Amount of rare the user is staking.\"}},\"getTotalAmountStakedOnUser(address)\":{\"params\":{\"_user\":\"Address of the user being staked on.\"},\"returns\":{\"_0\":\"uint256 Amount of rare being staked on the user.\"}},\"getUsersForStakingAddresses(address[])\":{\"params\":{\"_stakingAddrs\":\"Addresses of staking contracts being queried.\"}},\"getWethAddress()\":{\"returns\":{\"_0\":\"address Address of Wrapped Ethereum.\"}},\"increaseAmountStaked(address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of $RARE that has been staked.\",\"_stakedOn\":\"The user who is being staked on.\",\"_staker\":\"The user who is staking.\"}},\"setDefaultPayee(address)\":{\"params\":{\"_payee\":\"Address of the account to be the new default payee.\"}},\"setDeflationaryPercentage(uint256)\":{\"params\":{\"_percentage\":\"The new deflactionary percentage.\"}},\"setDiscountPercentage(uint256)\":{\"params\":{\"_percentage\":\"The new discount percentage.\"}},\"setPeriodLength(uint256)\":{\"params\":{\"_periodLength\":\"The new period start.\"}},\"setResolver(address)\":{\"params\":{\"_resolver\":\"The new period start.\"}},\"setReverseRegistrar(address)\":{\"params\":{\"_reverseRegistrar\":\"The new period start.\"}},\"setStakingAddresses(address,address,address)\":{\"params\":{\"_rewardSwapAddress\":\"Address of the reward swap contract.\",\"_stakingAddress\":\"Address of the staking pool contract.\",\"_user\":\"Address of the target whose staking address is being set.\"}},\"setSwapPool(address,address)\":{\"params\":{\"_token\":\"Address of ERC20 contract.\",\"_uniswapPool\":\"Address of uniswap pool.\"}},\"transferRareFrom(address,address,uint256)\":{\"params\":{\"_amount\":\"uint256 amount to transfer.\",\"_from\":\"Address to transfer the tokens from.\",\"_to\":\"Address to transfer the tokens to.\"}}},\"title\":\"IRareStakingRegistry\",\"version\":1},\"userdoc\":{\"errors\":{\"InsufficientRareAllowance()\":[{\"notice\":\"Error emitted in {transferRareFrom} when a user performs an action that requires moving $RARE but has not made enough allowance for the registry.\"}],\"InvalidPool()\":[{\"notice\":\"Emitted via {setSwapPool} if the pool doesn't match the token and pairs with WETH.\"}],\"PercentageBeyondLimit()\":[{\"notice\":\"Emitted when a percentage is beyond the specified limit.\"}],\"PeriodLengthBeyondLimit()\":[{\"notice\":\"Emitted when a Period Length is beyond the specified limit.\"}],\"RenouncingAdmin()\":[{\"notice\":\"Emitted when renouncing the admin role and no other account has the role.\"}],\"StakingContractAlreadyExists()\":[{\"notice\":\"Emitted via {setStakingAddress} if the user already has a staking address.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when guarded functions are called by users without the necessary permissions.\"}],\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"DefaultPayeeUpdated(address)\":{\"notice\":\"Emitted via {setDefaultPayee} when the defaultPayee is updated.\"},\"DeflationaryPercentageUpdated(uint256)\":{\"notice\":\"Emitted via {setDeflationaryPercentage} when the deflationaryPercentage is updated.\"},\"DiscountPercentageUpdated(uint256)\":{\"notice\":\"Emitted via {setDiscountPercentage} when the discountedPercent is updated.\"},\"PeriodLengthUpdated(uint256)\":{\"notice\":\"Emitted via {setPeriodLength} when the periodLength is updated.\"},\"ResolverUpdated(address)\":{\"notice\":\"Emitted via {setResolver} when the ENS resolver is updated.\"},\"ReverseRegistrarUpdated(address)\":{\"notice\":\"Emitted via {setReverseRegistrar} when the ENS reverse registrar is updated.\"},\"SetSwapPool(address,address)\":{\"notice\":\"Emitted via {setSwapPool} when a new swap pool has been set.\"}},\"kind\":\"user\",\"methods\":{\"ENS_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating the ENS resolvers.\"},\"STAKING_CONFIG_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for period length, deflationary percentages, and the default payee.\"},\"STAKING_INFO_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for setting the staking address of a user.\"},\"STAKING_STAT_SETTER_ADMIN_ROLE()\":{\"notice\":\"Bytes32 representation of the admin role for granting the ability to set amount staked for a single user/total amount staked on a user.\"},\"STAKING_STAT_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating the amount being staked on a user/amount a user is staking globally.\"},\"SWAP_POOL_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating uniswap pools.\"},\"decreaseAmountStaked(address,address,uint256)\":{\"notice\":\"Decrease the amount staked when a user unstakes.\"},\"getDefaultPayee()\":{\"notice\":\"Get the address for sending rewards if there are no stakers.\"},\"getDeflationaryPercentage()\":{\"notice\":\"Get the unstake deflationary percentage.\"},\"getDiscountPercentage()\":{\"notice\":\"Get reward swap discount percentage.\"},\"getPeriodLength()\":{\"notice\":\"Get the round period length.\"},\"getRareAddress()\":{\"notice\":\"Retrieve the address of $RARE.\"},\"getRewardAccumulatorAddressForUser(address)\":{\"notice\":\"Retrieves the reward accumulator address for a given user.\"},\"getStakingAddressForUser(address)\":{\"notice\":\"Retrieves the staking address for a given user.\"},\"getStakingInfoForUser(address)\":{\"notice\":\"Retrieves the staking info for a given user.\"},\"getSwapPool(address)\":{\"notice\":\"Get the swap pool address for the ERC20 token.\"},\"getTotalAmountStakedByUser(address)\":{\"notice\":\"Retrieves the total amount of rare staked by a given user.\"},\"getTotalAmountStakedOnUser(address)\":{\"notice\":\"Retrieves the total amount of rare being staked on a given user.\"},\"getUsersForStakingAddresses(address[])\":{\"notice\":\"Query the users for the following staking addresseses.\"},\"getWethAddress()\":{\"notice\":\"Retrieve the address of Wrapped Ethereum.\"},\"increaseAmountStaked(address,address,uint256)\":{\"notice\":\"Increase amount staked when a user stakes.\"},\"setDefaultPayee(address)\":{\"notice\":\"Set the default payee.\"},\"setDeflationaryPercentage(uint256)\":{\"notice\":\"Set the unstake deflationary percentage.\"},\"setDiscountPercentage(uint256)\":{\"notice\":\"Set the reward swap discount percentage.\"},\"setPeriodLength(uint256)\":{\"notice\":\"Set the round period length time.\"},\"setResolver(address)\":{\"notice\":\"Set the ENS resolver address.\"},\"setReverseRegistrar(address)\":{\"notice\":\"Set the ENS reverse registrar address.\"},\"setStakingAddresses(address,address,address)\":{\"notice\":\"Set staking addresses for a target.\"},\"setSwapPool(address,address)\":{\"notice\":\"Set the uniswap pool address for the given ERC20 token.\"},\"transferRareFrom(address,address,uint256)\":{\"notice\":\"Pools to transfer $RARE tokens, usually into pools. This is so users only need to approve the registry when staking or performing reward swaps.\"}},\"notice\":\"The Staking Registry interface containing all functions, events, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/registry/IRareStakingRegistry.sol\":\"IRareStakingRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InsufficientRareAllowance"},{"inputs":[],"type":"error","name":"InvalidPool"},{"inputs":[],"type":"error","name":"PercentageBeyondLimit"},{"inputs":[],"type":"error","name":"PeriodLengthBeyondLimit"},{"inputs":[],"type":"error","name":"RenouncingAdmin"},{"inputs":[],"type":"error","name":"StakingContractAlreadyExists"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"_payee","type":"address","indexed":false}],"type":"event","name":"DefaultPayeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256","indexed":false}],"type":"event","name":"DeflationaryPercentageUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256","indexed":false}],"type":"event","name":"DiscountPercentageUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_periodLength","type":"uint256","indexed":false}],"type":"event","name":"PeriodLengthUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_resolver","type":"address","indexed":false}],"type":"event","name":"ResolverUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_percentage","type":"address","indexed":false}],"type":"event","name":"ReverseRegistrarUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_uniswapPool","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false}],"type":"event","name":"SetSwapPool","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ENS_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_CONFIG_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_INFO_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_STAT_SETTER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_STAT_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SWAP_POOL_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_stakedOn","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAmountStaked"},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultPayee","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeflationaryPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDiscountPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPeriodLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRareAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getRewardAccumulatorAddressForUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getStakingAddressForUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getStakingInfoForUser","outputs":[{"internalType":"struct IRareStakingRegistry.Info","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"stakingAddress","type":"address"},{"internalType":"address","name":"rewardAddress","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"getSwapPool","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalAmountStakedByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalAmountStakedOnUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_stakingAddrs","type":"address[]"}],"stateMutability":"view","type":"function","name":"getUsersForStakingAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWethAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_stakedOn","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAmountStaked"},{"inputs":[{"internalType":"address","name":"_payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultPayee"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeflationaryPercentage"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDiscountPercentage"},{"inputs":[{"internalType":"uint256","name":"_periodLength","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setPeriodLength"},{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setResolver"},{"inputs":[{"internalType":"address","name":"_reverseRegistrar","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReverseRegistrar"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_stakingAddress","type":"address"},{"internalType":"address","name":"_rewardSwapAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingAddresses"},{"inputs":[{"internalType":"address","name":"_uniswapPool","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSwapPool"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferRareFrom"}],"devdoc":{"kind":"dev","methods":{"ENS_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the ens setter role."}},"STAKING_CONFIG_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the staking config setter role."}},"STAKING_INFO_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the staking info setter role."}},"STAKING_STAT_SETTER_ADMIN_ROLE()":{"returns":{"_0":"bytes32 value of the staking stat setter admin role."}},"STAKING_STAT_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the stat setter role."}},"SWAP_POOL_SETTER_ROLE()":{"returns":{"_0":"bytes32 value of the swap pool setter role."}},"decreaseAmountStaked(address,address,uint256)":{"params":{"_amount":"The amount of $RARE that has been unstaked.","_stakedOn":"The user who was being staked on.","_staker":"The user who is unstaking."}},"getDefaultPayee()":{"returns":{"_0":"address to send rewards to."}},"getDeflationaryPercentage()":{"returns":{"_0":"uint256 deflationary percentage."}},"getDiscountPercentage()":{"returns":{"_0":"uint256 discount percentage."}},"getPeriodLength()":{"returns":{"_0":"uint256 period length."}},"getRareAddress()":{"returns":{"_0":"address Address of $RARE (the staking token to be used)."}},"getRewardAccumulatorAddressForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"address Reward accumulator address."}},"getStakingAddressForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"address staking address."}},"getStakingInfoForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"Info struct containing name, symbol, staking address, and reward accumulator address."}},"getSwapPool(address)":{"returns":{"_0":"address of the swap pool associated with the token."}},"getTotalAmountStakedByUser(address)":{"params":{"_user":"Address of the user staking."},"returns":{"_0":"uint256 Amount of rare the user is staking."}},"getTotalAmountStakedOnUser(address)":{"params":{"_user":"Address of the user being staked on."},"returns":{"_0":"uint256 Amount of rare being staked on the user."}},"getUsersForStakingAddresses(address[])":{"params":{"_stakingAddrs":"Addresses of staking contracts being queried."}},"getWethAddress()":{"returns":{"_0":"address Address of Wrapped Ethereum."}},"increaseAmountStaked(address,address,uint256)":{"params":{"_amount":"The amount of $RARE that has been staked.","_stakedOn":"The user who is being staked on.","_staker":"The user who is staking."}},"setDefaultPayee(address)":{"params":{"_payee":"Address of the account to be the new default payee."}},"setDeflationaryPercentage(uint256)":{"params":{"_percentage":"The new deflactionary percentage."}},"setDiscountPercentage(uint256)":{"params":{"_percentage":"The new discount percentage."}},"setPeriodLength(uint256)":{"params":{"_periodLength":"The new period start."}},"setResolver(address)":{"params":{"_resolver":"The new period start."}},"setReverseRegistrar(address)":{"params":{"_reverseRegistrar":"The new period start."}},"setStakingAddresses(address,address,address)":{"params":{"_rewardSwapAddress":"Address of the reward swap contract.","_stakingAddress":"Address of the staking pool contract.","_user":"Address of the target whose staking address is being set."}},"setSwapPool(address,address)":{"params":{"_token":"Address of ERC20 contract.","_uniswapPool":"Address of uniswap pool."}},"transferRareFrom(address,address,uint256)":{"params":{"_amount":"uint256 amount to transfer.","_from":"Address to transfer the tokens from.","_to":"Address to transfer the tokens to."}}},"version":1},"userdoc":{"kind":"user","methods":{"ENS_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating the ENS resolvers."},"STAKING_CONFIG_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for period length, deflationary percentages, and the default payee."},"STAKING_INFO_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for setting the staking address of a user."},"STAKING_STAT_SETTER_ADMIN_ROLE()":{"notice":"Bytes32 representation of the admin role for granting the ability to set amount staked for a single user/total amount staked on a user."},"STAKING_STAT_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating the amount being staked on a user/amount a user is staking globally."},"SWAP_POOL_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating uniswap pools."},"decreaseAmountStaked(address,address,uint256)":{"notice":"Decrease the amount staked when a user unstakes."},"getDefaultPayee()":{"notice":"Get the address for sending rewards if there are no stakers."},"getDeflationaryPercentage()":{"notice":"Get the unstake deflationary percentage."},"getDiscountPercentage()":{"notice":"Get reward swap discount percentage."},"getPeriodLength()":{"notice":"Get the round period length."},"getRareAddress()":{"notice":"Retrieve the address of $RARE."},"getRewardAccumulatorAddressForUser(address)":{"notice":"Retrieves the reward accumulator address for a given user."},"getStakingAddressForUser(address)":{"notice":"Retrieves the staking address for a given user."},"getStakingInfoForUser(address)":{"notice":"Retrieves the staking info for a given user."},"getSwapPool(address)":{"notice":"Get the swap pool address for the ERC20 token."},"getTotalAmountStakedByUser(address)":{"notice":"Retrieves the total amount of rare staked by a given user."},"getTotalAmountStakedOnUser(address)":{"notice":"Retrieves the total amount of rare being staked on a given user."},"getUsersForStakingAddresses(address[])":{"notice":"Query the users for the following staking addresseses."},"getWethAddress()":{"notice":"Retrieve the address of Wrapped Ethereum."},"increaseAmountStaked(address,address,uint256)":{"notice":"Increase amount staked when a user stakes."},"setDefaultPayee(address)":{"notice":"Set the default payee."},"setDeflationaryPercentage(uint256)":{"notice":"Set the unstake deflationary percentage."},"setDiscountPercentage(uint256)":{"notice":"Set the reward swap discount percentage."},"setPeriodLength(uint256)":{"notice":"Set the round period length time."},"setResolver(address)":{"notice":"Set the ENS resolver address."},"setReverseRegistrar(address)":{"notice":"Set the ENS reverse registrar address."},"setStakingAddresses(address,address,address)":{"notice":"Set staking addresses for a target."},"setSwapPool(address,address)":{"notice":"Set the uniswap pool address for the given ERC20 token."},"transferRareFrom(address,address,uint256)":{"notice":"Pools to transfer $RARE tokens, usually into pools. This is so users only need to approve the registry when staking or performing reward swaps."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/registry/IRareStakingRegistry.sol":"IRareStakingRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"}},"version":1},"id":193} \ No newline at end of file diff --git a/abis/IRarityPool.json b/abis/IRarityPool.json index 2726235..92e8fb2 100644 --- a/abis/IRarityPool.json +++ b/abis/IRarityPool.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addRewards","inputs":[{"name":"_donor","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePurchaseReturn","inputs":[{"name":"_totalSRare","type":"uint120","internalType":"uint120"},{"name":"_stakedAmount","type":"uint120","internalType":"uint120"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"calculateSaleReturn","inputs":[{"name":"_totalSRareByUser","type":"uint256","internalType":"uint256"},{"name":"_totalRareStakedByUser","type":"uint256","internalType":"uint256"},{"name":"_unstakeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"claimRewards","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_numRounds","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllTimeRewards","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getAmountStakedByUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getClaimableRewardsForUser","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_numRounds","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCreationTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentRound","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getHistoricalRewardsForUserForRounds","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_rounds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastSnapshotTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoundRewards","inputs":[{"name":"_round","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSumOfAllClaimed","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTargetBeingStakedOn","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_userStakedTo","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_creator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"stake","inputs":[{"name":"_amount","type":"uint120","internalType":"uint120"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"takeSnapshot","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"unstake","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddRewards","inputs":[{"name":"_donor","type":"address","indexed":true,"internalType":"address"},{"name":"_round","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountAdded","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newRoundRewardAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RewardClaimed","inputs":[{"name":"_msgSender","type":"address","indexed":true,"internalType":"address"},{"name":"_claimer","type":"address","indexed":true,"internalType":"address"},{"name":"_amountToStaker","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Stake","inputs":[{"name":"_staker","type":"address","indexed":true,"internalType":"address"},{"name":"_amountStaking","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountSRareReceived","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakingSnapshot","inputs":[{"name":"_lastSnapshotTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_currentSnapshotTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_round","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unstake","inputs":[{"name":"_staker","type":"address","indexed":true,"internalType":"address"},{"name":"_amountUnstaking","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountRareBurned","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountSRareSold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CannotAddZeroRewards","inputs":[]},{"type":"error","name":"CannotClaimCurrentRound","inputs":[]},{"type":"error","name":"ClaimingTooManyRounds","inputs":[]},{"type":"error","name":"ClaimingZeroRounds","inputs":[]},{"type":"error","name":"InsufficientStakedRare","inputs":[]},{"type":"error","name":"InsufficientSyntheticRare","inputs":[]},{"type":"error","name":"RewardAlreadyClaimed","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addRewards(address,uint256)":"a9fc507b","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","calculatePurchaseReturn(uint120,uint120)":"d775a4c7","calculateSaleReturn(uint256,uint256,uint256)":"74293bf8","claimRewards(address,uint8)":"b5fc2f85","getAllTimeRewards()":"94616420","getAmountStakedByUser(address)":"399d99ec","getClaimableRewardsForUser(address,uint256)":"636f5b27","getCreationTime()":"e6519a35","getCurrentRound()":"a32bf597","getHistoricalRewardsForUserForRounds(address,uint256[])":"cae06944","getLastSnapshotTimestamp()":"7c27ff86","getRoundRewards(uint256)":"91e2057e","getStakingRegistry()":"61347782","getSumOfAllClaimed()":"3b1c612e","getTargetBeingStakedOn()":"3b248c76","initialize(address,address,address)":"c0c53b8b","name()":"06fdde03","stake(uint120)":"9ca92dec","symbol()":"95d89b41","takeSnapshot()":"b3d3d37e","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","unstake(uint256)":"2e17de78"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CannotAddZeroRewards\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotClaimCurrentRound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimingTooManyRounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimingZeroRounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientStakedRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientSyntheticRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_donor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountAdded\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newRoundRewardAmount\",\"type\":\"uint256\"}],\"name\":\"AddRewards\",\"type\":\"event\"},{\"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\":\"_msgSender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountToStaker\",\"type\":\"uint256\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaking\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountSRareReceived\",\"type\":\"uint256\"}],\"name\":\"Stake\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lastSnapshotTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_currentSnapshotTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"}],\"name\":\"StakingSnapshot\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountUnstaking\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountRareBurned\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountSRareSold\",\"type\":\"uint256\"}],\"name\":\"Unstake\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_donor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"addRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint120\",\"name\":\"_totalSRare\",\"type\":\"uint120\"},{\"internalType\":\"uint120\",\"name\":\"_stakedAmount\",\"type\":\"uint120\"}],\"name\":\"calculatePurchaseReturn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalSRareByUser\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRareStakedByUser\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_unstakeAmount\",\"type\":\"uint256\"}],\"name\":\"calculateSaleReturn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_numRounds\",\"type\":\"uint8\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllTimeRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getAmountStakedByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_numRounds\",\"type\":\"uint256\"}],\"name\":\"getClaimableRewardsForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreationTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_rounds\",\"type\":\"uint256[]\"}],\"name\":\"getHistoricalRewardsForUserForRounds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastSnapshotTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"}],\"name\":\"getRoundRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSumOfAllClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTargetBeingStakedOn\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_userStakedTo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint120\",\"name\":\"_amount\",\"type\":\"uint120\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"takeSnapshot\",\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"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\":{\"addRewards(address,uint256)\":{\"params\":{\"_amount\":\"Amount of $RARE being staked.\",\"_donor\":\"Address of the account donating the $RARE.\"}},\"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 `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"calculatePurchaseReturn(uint120,uint120)\":{\"params\":{\"_stakedAmount\":\"Amount of RARE being staked.\",\"_totalSRare\":\"Current supply of sRare.\"},\"returns\":{\"_0\":\"uint256 Amount of synthetic tokens one would get for staking {_stakedAmount} given a totalSupply of {_totalSRare}.\"}},\"calculateSaleReturn(uint256,uint256,uint256)\":{\"params\":{\"_totalRareStakedByUser\":\"Total Amount of RARE staked by the given user.\",\"_totalSRareByUser\":\"Current balance of sRARE held by the given user.\",\"_unstakeAmount\":\"Amount of sRare being traded in.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens one would get for unstaking {_unstakeAmount} given {_totalSRareByUser} and {_totalRareStakedByUser}.\"}},\"claimRewards(address,uint8)\":{\"params\":{\"_numRounds\":\"uint256 number of rounds to claim since last claim.\",\"_user\":\"Address of user to claim on behalf of.\"}},\"getAllTimeRewards()\":{\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens allocated as rewards.\"}},\"getAmountStakedByUser(address)\":{\"params\":{\"_user\":\"Address of staker.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE staked.\"}},\"getClaimableRewardsForUser(address,uint256)\":{\"params\":{\"_numRounds\":\"Address of the user to get rewards.\",\"_user\":\"Address of the user to get rewards.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens rewarded.\"}},\"getCreationTime()\":{\"returns\":{\"_0\":\"uint256 unix creation time of the contract.\"}},\"getCurrentRound()\":{\"returns\":{\"_0\":\"uint256 Claim round id.\"}},\"getHistoricalRewardsForUserForRounds(address,uint256[])\":{\"params\":{\"_rounds\":\"List of uint256 round ids to look up the rewards.\",\"_user\":\"Address of the user to get rewards.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens rewarded.\"}},\"getLastSnapshotTimestamp()\":{\"returns\":{\"_0\":\"uint256 unix time of the most recent snapshot.\"}},\"getRoundRewards(uint256)\":{\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens allocated as rewards for round.\"}},\"getStakingRegistry()\":{\"returns\":{\"_0\":\"address of the staking registry.\"}},\"getSumOfAllClaimed()\":{\"returns\":{\"_0\":\"uint256 amount of rewards claimed.\"}},\"getTargetBeingStakedOn()\":{\"returns\":{\"_0\":\"Address of target being staked on;\"}},\"name()\":{\"returns\":{\"_0\":\"Name of the synthetic asset.\"}},\"stake(uint120)\":{\"params\":{\"_amount\":\"Amount of $RARE being staked.\"}},\"symbol()\":{\"returns\":{\"_0\":\"Symbol of the synthetic asset.\"}},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` 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 `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"unstake(uint256)\":{\"params\":{\"_amount\":\"Amount of synthetic tokens to unstake.\"}}},\"title\":\"IRarityPool\",\"version\":1},\"userdoc\":{\"errors\":{\"CannotAddZeroRewards()\":[{\"notice\":\"Error emitted via {addRewards} if adding 0 rewards.\"}],\"CannotClaimCurrentRound()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if claiming current round.\"}],\"ClaimingTooManyRounds()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if too many rounds are supplied.\"}],\"ClaimingZeroRounds()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if claiming no rounds.\"}],\"InsufficientStakedRare()\":[{\"notice\":\"Error emitted via {unstake} when the sale return proves greater than the amount staked. This should be impossible.\"}],\"InsufficientSyntheticRare()\":[{\"notice\":\"Error emitted via {unstake} when unstaking more synthetic tokens than is in their balance.\"}],\"RewardAlreadyClaimed()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if sender has already claimed their reward one of the supplied rounds.\"}],\"Unauthorized()\":[{\"notice\":\"Error emitted when user doesnt meet the criteria for call.\"}],\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"kind\":\"user\",\"methods\":{\"addRewards(address,uint256)\":{\"notice\":\"Allocates rewards for the current round with the given amount.\"},\"calculatePurchaseReturn(uint120,uint120)\":{\"notice\":\"Calculates the number of sRare yielded from staking.\"},\"calculateSaleReturn(uint256,uint256,uint256)\":{\"notice\":\"Calculates the number of rare yielded from unstaking.\"},\"claimRewards(address,uint8)\":{\"notice\":\"Claim rewards for the _user for the number of rounds supplied since last claim. Rewards are proportional to the synthetic tokens held during the snapshot associated with each round. Throws if user has already claimed the latest round. Throws if current round is being claimed.\"},\"getAllTimeRewards()\":{\"notice\":\"Total rewards snapshotted since con.\"},\"getAmountStakedByUser(address)\":{\"notice\":\"Query total amount of $RARE a user has staked on this contract.\"},\"getClaimableRewardsForUser(address,uint256)\":{\"notice\":\"Query the available rewards for claim of the supplied user address for the number of rounds supplied. \"},\"getCreationTime()\":{\"notice\":\"Get the unix creation time of the staking contract.\"},\"getCurrentRound()\":{\"notice\":\"Query current round. The current round is accumulating rewards.\"},\"getHistoricalRewardsForUserForRounds(address,uint256[])\":{\"notice\":\"Query rewards for the supplied user address for the round supplied rounds. Does not omit rewards for rounds that have already been claimed. Allows for easier historical lookups.\"},\"getLastSnapshotTimestamp()\":{\"notice\":\"Get the unix time of the most recent snapshot.\"},\"getRoundRewards(uint256)\":{\"notice\":\"Total rewards available for the supplied round.\"},\"getStakingRegistry()\":{\"notice\":\"Return the staking registry of the pool\"},\"getSumOfAllClaimed()\":{\"notice\":\"Total amount of Rewards claimed.\"},\"getTargetBeingStakedOn()\":{\"notice\":\"Query the target being staked on by this contract.\"},\"name()\":{\"notice\":\"Name of the synthetic asset.\"},\"stake(uint120)\":{\"notice\":\"Stake $RARE tokens to the target associated with the contract and receive synthetic tokens in return.\"},\"symbol()\":{\"notice\":\"Symbol of the synthetic asset.\"},\"takeSnapshot()\":{\"notice\":\"Snapshots the rewards for the current round. Anyone can call this.\"},\"unstake(uint256)\":{\"notice\":\"Unstake by returning synthetic tokens and receiving previously staked $RARE in return.\"}},\"notice\":\"The Rare Staking Pool ERC20 (Rarity Pool) interface containing all functions, events, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/token/IRarityPool.sol\":\"IRarityPool\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CannotAddZeroRewards"},{"inputs":[],"type":"error","name":"CannotClaimCurrentRound"},{"inputs":[],"type":"error","name":"ClaimingTooManyRounds"},{"inputs":[],"type":"error","name":"ClaimingZeroRounds"},{"inputs":[],"type":"error","name":"InsufficientStakedRare"},{"inputs":[],"type":"error","name":"InsufficientSyntheticRare"},{"inputs":[],"type":"error","name":"RewardAlreadyClaimed"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"_donor","type":"address","indexed":true},{"internalType":"uint256","name":"_round","type":"uint256","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountAdded","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newRoundRewardAmount","type":"uint256","indexed":false}],"type":"event","name":"AddRewards","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"_msgSender","type":"address","indexed":true},{"internalType":"address","name":"_claimer","type":"address","indexed":true},{"internalType":"uint256","name":"_amountToStaker","type":"uint256","indexed":false}],"type":"event","name":"RewardClaimed","anonymous":false},{"inputs":[{"internalType":"address","name":"_staker","type":"address","indexed":true},{"internalType":"uint256","name":"_amountStaking","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountSRareReceived","type":"uint256","indexed":false}],"type":"event","name":"Stake","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_lastSnapshotTimestamp","type":"uint256","indexed":false},{"internalType":"uint256","name":"_currentSnapshotTimestamp","type":"uint256","indexed":false},{"internalType":"uint256","name":"_round","type":"uint256","indexed":false}],"type":"event","name":"StakingSnapshot","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_staker","type":"address","indexed":true},{"internalType":"uint256","name":"_amountUnstaking","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountRareBurned","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountSRareSold","type":"uint256","indexed":false}],"type":"event","name":"Unstake","anonymous":false},{"inputs":[{"internalType":"address","name":"_donor","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addRewards"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint120","name":"_totalSRare","type":"uint120"},{"internalType":"uint120","name":"_stakedAmount","type":"uint120"}],"stateMutability":"pure","type":"function","name":"calculatePurchaseReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_totalSRareByUser","type":"uint256"},{"internalType":"uint256","name":"_totalRareStakedByUser","type":"uint256"},{"internalType":"uint256","name":"_unstakeAmount","type":"uint256"}],"stateMutability":"pure","type":"function","name":"calculateSaleReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint8","name":"_numRounds","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"claimRewards"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllTimeRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getAmountStakedByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_numRounds","type":"uint256"}],"stateMutability":"view","type":"function","name":"getClaimableRewardsForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCreationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256[]","name":"_rounds","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"getHistoricalRewardsForUserForRounds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLastSnapshotTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_round","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRoundRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSumOfAllClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTargetBeingStakedOn","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_userStakedTo","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_creator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint120","name":"_amount","type":"uint120"}],"stateMutability":"nonpayable","type":"function","name":"stake"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"takeSnapshot"},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unstake"}],"devdoc":{"kind":"dev","methods":{"addRewards(address,uint256)":{"params":{"_amount":"Amount of $RARE being staked.","_donor":"Address of the account donating the $RARE."}},"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 `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"calculatePurchaseReturn(uint120,uint120)":{"params":{"_stakedAmount":"Amount of RARE being staked.","_totalSRare":"Current supply of sRare."},"returns":{"_0":"uint256 Amount of synthetic tokens one would get for staking {_stakedAmount} given a totalSupply of {_totalSRare}."}},"calculateSaleReturn(uint256,uint256,uint256)":{"params":{"_totalRareStakedByUser":"Total Amount of RARE staked by the given user.","_totalSRareByUser":"Current balance of sRARE held by the given user.","_unstakeAmount":"Amount of sRare being traded in."},"returns":{"_0":"uint256 Amount of $RARE tokens one would get for unstaking {_unstakeAmount} given {_totalSRareByUser} and {_totalRareStakedByUser}."}},"claimRewards(address,uint8)":{"params":{"_numRounds":"uint256 number of rounds to claim since last claim.","_user":"Address of user to claim on behalf of."}},"getAllTimeRewards()":{"returns":{"_0":"uint256 Amount of $RARE tokens allocated as rewards."}},"getAmountStakedByUser(address)":{"params":{"_user":"Address of staker."},"returns":{"_0":"uint256 Amount of $RARE staked."}},"getClaimableRewardsForUser(address,uint256)":{"params":{"_numRounds":"Address of the user to get rewards.","_user":"Address of the user to get rewards."},"returns":{"_0":"uint256 Amount of $RARE tokens rewarded."}},"getCreationTime()":{"returns":{"_0":"uint256 unix creation time of the contract."}},"getCurrentRound()":{"returns":{"_0":"uint256 Claim round id."}},"getHistoricalRewardsForUserForRounds(address,uint256[])":{"params":{"_rounds":"List of uint256 round ids to look up the rewards.","_user":"Address of the user to get rewards."},"returns":{"_0":"uint256 Amount of $RARE tokens rewarded."}},"getLastSnapshotTimestamp()":{"returns":{"_0":"uint256 unix time of the most recent snapshot."}},"getRoundRewards(uint256)":{"returns":{"_0":"uint256 Amount of $RARE tokens allocated as rewards for round."}},"getStakingRegistry()":{"returns":{"_0":"address of the staking registry."}},"getSumOfAllClaimed()":{"returns":{"_0":"uint256 amount of rewards claimed."}},"getTargetBeingStakedOn()":{"returns":{"_0":"Address of target being staked on;"}},"name()":{"returns":{"_0":"Name of the synthetic asset."}},"stake(uint120)":{"params":{"_amount":"Amount of $RARE being staked."}},"symbol()":{"returns":{"_0":"Symbol of the synthetic asset."}},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` 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 `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"unstake(uint256)":{"params":{"_amount":"Amount of synthetic tokens to unstake."}}},"version":1},"userdoc":{"kind":"user","methods":{"addRewards(address,uint256)":{"notice":"Allocates rewards for the current round with the given amount."},"calculatePurchaseReturn(uint120,uint120)":{"notice":"Calculates the number of sRare yielded from staking."},"calculateSaleReturn(uint256,uint256,uint256)":{"notice":"Calculates the number of rare yielded from unstaking."},"claimRewards(address,uint8)":{"notice":"Claim rewards for the _user for the number of rounds supplied since last claim. Rewards are proportional to the synthetic tokens held during the snapshot associated with each round. Throws if user has already claimed the latest round. Throws if current round is being claimed."},"getAllTimeRewards()":{"notice":"Total rewards snapshotted since con."},"getAmountStakedByUser(address)":{"notice":"Query total amount of $RARE a user has staked on this contract."},"getClaimableRewardsForUser(address,uint256)":{"notice":"Query the available rewards for claim of the supplied user address for the number of rounds supplied. "},"getCreationTime()":{"notice":"Get the unix creation time of the staking contract."},"getCurrentRound()":{"notice":"Query current round. The current round is accumulating rewards."},"getHistoricalRewardsForUserForRounds(address,uint256[])":{"notice":"Query rewards for the supplied user address for the round supplied rounds. Does not omit rewards for rounds that have already been claimed. Allows for easier historical lookups."},"getLastSnapshotTimestamp()":{"notice":"Get the unix time of the most recent snapshot."},"getRoundRewards(uint256)":{"notice":"Total rewards available for the supplied round."},"getStakingRegistry()":{"notice":"Return the staking registry of the pool"},"getSumOfAllClaimed()":{"notice":"Total amount of Rewards claimed."},"getTargetBeingStakedOn()":{"notice":"Query the target being staked on by this contract."},"name()":{"notice":"Name of the synthetic asset."},"stake(uint120)":{"notice":"Stake $RARE tokens to the target associated with the contract and receive synthetic tokens in return."},"symbol()":{"notice":"Symbol of the synthetic asset."},"takeSnapshot()":{"notice":"Snapshots the rewards for the current round. Anyone can call this."},"unstake(uint256)":{"notice":"Unstake by returning synthetic tokens and receiving previously staked $RARE in return."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/token/IRarityPool.sol":"IRarityPool"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":186} \ No newline at end of file +{"abi":[{"type":"function","name":"addRewards","inputs":[{"name":"_donor","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePurchaseReturn","inputs":[{"name":"_totalSRare","type":"uint120","internalType":"uint120"},{"name":"_stakedAmount","type":"uint120","internalType":"uint120"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"calculateSaleReturn","inputs":[{"name":"_totalSRareByUser","type":"uint256","internalType":"uint256"},{"name":"_totalRareStakedByUser","type":"uint256","internalType":"uint256"},{"name":"_unstakeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"claimRewards","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_numRounds","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllTimeRewards","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getAmountStakedByUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getClaimableRewardsForUser","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_numRounds","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCreationTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentRound","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getHistoricalRewardsForUserForRounds","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_rounds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastSnapshotTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoundRewards","inputs":[{"name":"_round","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSumOfAllClaimed","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTargetBeingStakedOn","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_userStakedTo","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_creator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"stake","inputs":[{"name":"_amount","type":"uint120","internalType":"uint120"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"takeSnapshot","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"unstake","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddRewards","inputs":[{"name":"_donor","type":"address","indexed":true,"internalType":"address"},{"name":"_round","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountAdded","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newRoundRewardAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RewardClaimed","inputs":[{"name":"_msgSender","type":"address","indexed":true,"internalType":"address"},{"name":"_claimer","type":"address","indexed":true,"internalType":"address"},{"name":"_amountToStaker","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Stake","inputs":[{"name":"_staker","type":"address","indexed":true,"internalType":"address"},{"name":"_amountStaking","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountSRareReceived","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakingSnapshot","inputs":[{"name":"_lastSnapshotTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_currentSnapshotTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_round","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unstake","inputs":[{"name":"_staker","type":"address","indexed":true,"internalType":"address"},{"name":"_amountUnstaking","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountRareBurned","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountSRareSold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CannotAddZeroRewards","inputs":[]},{"type":"error","name":"CannotClaimCurrentRound","inputs":[]},{"type":"error","name":"ClaimingTooManyRounds","inputs":[]},{"type":"error","name":"ClaimingZeroRounds","inputs":[]},{"type":"error","name":"InsufficientStakedRare","inputs":[]},{"type":"error","name":"InsufficientSyntheticRare","inputs":[]},{"type":"error","name":"RewardAlreadyClaimed","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addRewards(address,uint256)":"a9fc507b","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","calculatePurchaseReturn(uint120,uint120)":"d775a4c7","calculateSaleReturn(uint256,uint256,uint256)":"74293bf8","claimRewards(address,uint8)":"b5fc2f85","getAllTimeRewards()":"94616420","getAmountStakedByUser(address)":"399d99ec","getClaimableRewardsForUser(address,uint256)":"636f5b27","getCreationTime()":"e6519a35","getCurrentRound()":"a32bf597","getHistoricalRewardsForUserForRounds(address,uint256[])":"cae06944","getLastSnapshotTimestamp()":"7c27ff86","getRoundRewards(uint256)":"91e2057e","getStakingRegistry()":"61347782","getSumOfAllClaimed()":"3b1c612e","getTargetBeingStakedOn()":"3b248c76","initialize(address,address,address)":"c0c53b8b","name()":"06fdde03","stake(uint120)":"9ca92dec","symbol()":"95d89b41","takeSnapshot()":"b3d3d37e","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","unstake(uint256)":"2e17de78"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CannotAddZeroRewards\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotClaimCurrentRound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimingTooManyRounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimingZeroRounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientStakedRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientSyntheticRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_donor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountAdded\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newRoundRewardAmount\",\"type\":\"uint256\"}],\"name\":\"AddRewards\",\"type\":\"event\"},{\"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\":\"_msgSender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountToStaker\",\"type\":\"uint256\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaking\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountSRareReceived\",\"type\":\"uint256\"}],\"name\":\"Stake\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lastSnapshotTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_currentSnapshotTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"}],\"name\":\"StakingSnapshot\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountUnstaking\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountRareBurned\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountSRareSold\",\"type\":\"uint256\"}],\"name\":\"Unstake\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_donor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"addRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint120\",\"name\":\"_totalSRare\",\"type\":\"uint120\"},{\"internalType\":\"uint120\",\"name\":\"_stakedAmount\",\"type\":\"uint120\"}],\"name\":\"calculatePurchaseReturn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalSRareByUser\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRareStakedByUser\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_unstakeAmount\",\"type\":\"uint256\"}],\"name\":\"calculateSaleReturn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_numRounds\",\"type\":\"uint8\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllTimeRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getAmountStakedByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_numRounds\",\"type\":\"uint256\"}],\"name\":\"getClaimableRewardsForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreationTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_rounds\",\"type\":\"uint256[]\"}],\"name\":\"getHistoricalRewardsForUserForRounds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastSnapshotTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"}],\"name\":\"getRoundRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSumOfAllClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTargetBeingStakedOn\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_userStakedTo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint120\",\"name\":\"_amount\",\"type\":\"uint120\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"takeSnapshot\",\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"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\":{\"addRewards(address,uint256)\":{\"params\":{\"_amount\":\"Amount of $RARE being staked.\",\"_donor\":\"Address of the account donating the $RARE.\"}},\"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 `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"calculatePurchaseReturn(uint120,uint120)\":{\"params\":{\"_stakedAmount\":\"Amount of RARE being staked.\",\"_totalSRare\":\"Current supply of sRare.\"},\"returns\":{\"_0\":\"uint256 Amount of synthetic tokens one would get for staking {_stakedAmount} given a totalSupply of {_totalSRare}.\"}},\"calculateSaleReturn(uint256,uint256,uint256)\":{\"params\":{\"_totalRareStakedByUser\":\"Total Amount of RARE staked by the given user.\",\"_totalSRareByUser\":\"Current balance of sRARE held by the given user.\",\"_unstakeAmount\":\"Amount of sRare being traded in.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens one would get for unstaking {_unstakeAmount} given {_totalSRareByUser} and {_totalRareStakedByUser}.\"}},\"claimRewards(address,uint8)\":{\"params\":{\"_numRounds\":\"uint256 number of rounds to claim since last claim.\",\"_user\":\"Address of user to claim on behalf of.\"}},\"getAllTimeRewards()\":{\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens allocated as rewards.\"}},\"getAmountStakedByUser(address)\":{\"params\":{\"_user\":\"Address of staker.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE staked.\"}},\"getClaimableRewardsForUser(address,uint256)\":{\"params\":{\"_numRounds\":\"Address of the user to get rewards.\",\"_user\":\"Address of the user to get rewards.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens rewarded.\"}},\"getCreationTime()\":{\"returns\":{\"_0\":\"uint256 unix creation time of the contract.\"}},\"getCurrentRound()\":{\"returns\":{\"_0\":\"uint256 Claim round id.\"}},\"getHistoricalRewardsForUserForRounds(address,uint256[])\":{\"params\":{\"_rounds\":\"List of uint256 round ids to look up the rewards.\",\"_user\":\"Address of the user to get rewards.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens rewarded.\"}},\"getLastSnapshotTimestamp()\":{\"returns\":{\"_0\":\"uint256 unix time of the most recent snapshot.\"}},\"getRoundRewards(uint256)\":{\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens allocated as rewards for round.\"}},\"getStakingRegistry()\":{\"returns\":{\"_0\":\"address of the staking registry.\"}},\"getSumOfAllClaimed()\":{\"returns\":{\"_0\":\"uint256 amount of rewards claimed.\"}},\"getTargetBeingStakedOn()\":{\"returns\":{\"_0\":\"Address of target being staked on;\"}},\"name()\":{\"returns\":{\"_0\":\"Name of the synthetic asset.\"}},\"stake(uint120)\":{\"params\":{\"_amount\":\"Amount of $RARE being staked.\"}},\"symbol()\":{\"returns\":{\"_0\":\"Symbol of the synthetic asset.\"}},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` 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 `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"unstake(uint256)\":{\"params\":{\"_amount\":\"Amount of synthetic tokens to unstake.\"}}},\"title\":\"IRarityPool\",\"version\":1},\"userdoc\":{\"errors\":{\"CannotAddZeroRewards()\":[{\"notice\":\"Error emitted via {addRewards} if adding 0 rewards.\"}],\"CannotClaimCurrentRound()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if claiming current round.\"}],\"ClaimingTooManyRounds()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if too many rounds are supplied.\"}],\"ClaimingZeroRounds()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if claiming no rounds.\"}],\"InsufficientStakedRare()\":[{\"notice\":\"Error emitted via {unstake} when the sale return proves greater than the amount staked. This should be impossible.\"}],\"InsufficientSyntheticRare()\":[{\"notice\":\"Error emitted via {unstake} when unstaking more synthetic tokens than is in their balance.\"}],\"RewardAlreadyClaimed()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if sender has already claimed their reward one of the supplied rounds.\"}],\"Unauthorized()\":[{\"notice\":\"Error emitted when user doesnt meet the criteria for call.\"}],\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"kind\":\"user\",\"methods\":{\"addRewards(address,uint256)\":{\"notice\":\"Allocates rewards for the current round with the given amount.\"},\"calculatePurchaseReturn(uint120,uint120)\":{\"notice\":\"Calculates the number of sRare yielded from staking.\"},\"calculateSaleReturn(uint256,uint256,uint256)\":{\"notice\":\"Calculates the number of rare yielded from unstaking.\"},\"claimRewards(address,uint8)\":{\"notice\":\"Claim rewards for the _user for the number of rounds supplied since last claim. Rewards are proportional to the synthetic tokens held during the snapshot associated with each round. Throws if user has already claimed the latest round. Throws if current round is being claimed.\"},\"getAllTimeRewards()\":{\"notice\":\"Total rewards snapshotted since con.\"},\"getAmountStakedByUser(address)\":{\"notice\":\"Query total amount of $RARE a user has staked on this contract.\"},\"getClaimableRewardsForUser(address,uint256)\":{\"notice\":\"Query the available rewards for claim of the supplied user address for the number of rounds supplied. \"},\"getCreationTime()\":{\"notice\":\"Get the unix creation time of the staking contract.\"},\"getCurrentRound()\":{\"notice\":\"Query current round. The current round is accumulating rewards.\"},\"getHistoricalRewardsForUserForRounds(address,uint256[])\":{\"notice\":\"Query rewards for the supplied user address for the round supplied rounds. Does not omit rewards for rounds that have already been claimed. Allows for easier historical lookups.\"},\"getLastSnapshotTimestamp()\":{\"notice\":\"Get the unix time of the most recent snapshot.\"},\"getRoundRewards(uint256)\":{\"notice\":\"Total rewards available for the supplied round.\"},\"getStakingRegistry()\":{\"notice\":\"Return the staking registry of the pool\"},\"getSumOfAllClaimed()\":{\"notice\":\"Total amount of Rewards claimed.\"},\"getTargetBeingStakedOn()\":{\"notice\":\"Query the target being staked on by this contract.\"},\"name()\":{\"notice\":\"Name of the synthetic asset.\"},\"stake(uint120)\":{\"notice\":\"Stake $RARE tokens to the target associated with the contract and receive synthetic tokens in return.\"},\"symbol()\":{\"notice\":\"Symbol of the synthetic asset.\"},\"takeSnapshot()\":{\"notice\":\"Snapshots the rewards for the current round. Anyone can call this.\"},\"unstake(uint256)\":{\"notice\":\"Unstake by returning synthetic tokens and receiving previously staked $RARE in return.\"}},\"notice\":\"The Rare Staking Pool ERC20 (Rarity Pool) interface containing all functions, events, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/token/IRarityPool.sol\":\"IRarityPool\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CannotAddZeroRewards"},{"inputs":[],"type":"error","name":"CannotClaimCurrentRound"},{"inputs":[],"type":"error","name":"ClaimingTooManyRounds"},{"inputs":[],"type":"error","name":"ClaimingZeroRounds"},{"inputs":[],"type":"error","name":"InsufficientStakedRare"},{"inputs":[],"type":"error","name":"InsufficientSyntheticRare"},{"inputs":[],"type":"error","name":"RewardAlreadyClaimed"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"_donor","type":"address","indexed":true},{"internalType":"uint256","name":"_round","type":"uint256","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountAdded","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newRoundRewardAmount","type":"uint256","indexed":false}],"type":"event","name":"AddRewards","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"_msgSender","type":"address","indexed":true},{"internalType":"address","name":"_claimer","type":"address","indexed":true},{"internalType":"uint256","name":"_amountToStaker","type":"uint256","indexed":false}],"type":"event","name":"RewardClaimed","anonymous":false},{"inputs":[{"internalType":"address","name":"_staker","type":"address","indexed":true},{"internalType":"uint256","name":"_amountStaking","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountSRareReceived","type":"uint256","indexed":false}],"type":"event","name":"Stake","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_lastSnapshotTimestamp","type":"uint256","indexed":false},{"internalType":"uint256","name":"_currentSnapshotTimestamp","type":"uint256","indexed":false},{"internalType":"uint256","name":"_round","type":"uint256","indexed":false}],"type":"event","name":"StakingSnapshot","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_staker","type":"address","indexed":true},{"internalType":"uint256","name":"_amountUnstaking","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountRareBurned","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountSRareSold","type":"uint256","indexed":false}],"type":"event","name":"Unstake","anonymous":false},{"inputs":[{"internalType":"address","name":"_donor","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addRewards"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint120","name":"_totalSRare","type":"uint120"},{"internalType":"uint120","name":"_stakedAmount","type":"uint120"}],"stateMutability":"pure","type":"function","name":"calculatePurchaseReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_totalSRareByUser","type":"uint256"},{"internalType":"uint256","name":"_totalRareStakedByUser","type":"uint256"},{"internalType":"uint256","name":"_unstakeAmount","type":"uint256"}],"stateMutability":"pure","type":"function","name":"calculateSaleReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint8","name":"_numRounds","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"claimRewards"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllTimeRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getAmountStakedByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_numRounds","type":"uint256"}],"stateMutability":"view","type":"function","name":"getClaimableRewardsForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCreationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256[]","name":"_rounds","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"getHistoricalRewardsForUserForRounds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLastSnapshotTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_round","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRoundRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSumOfAllClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTargetBeingStakedOn","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_userStakedTo","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_creator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint120","name":"_amount","type":"uint120"}],"stateMutability":"nonpayable","type":"function","name":"stake"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"takeSnapshot"},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unstake"}],"devdoc":{"kind":"dev","methods":{"addRewards(address,uint256)":{"params":{"_amount":"Amount of $RARE being staked.","_donor":"Address of the account donating the $RARE."}},"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 `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"calculatePurchaseReturn(uint120,uint120)":{"params":{"_stakedAmount":"Amount of RARE being staked.","_totalSRare":"Current supply of sRare."},"returns":{"_0":"uint256 Amount of synthetic tokens one would get for staking {_stakedAmount} given a totalSupply of {_totalSRare}."}},"calculateSaleReturn(uint256,uint256,uint256)":{"params":{"_totalRareStakedByUser":"Total Amount of RARE staked by the given user.","_totalSRareByUser":"Current balance of sRARE held by the given user.","_unstakeAmount":"Amount of sRare being traded in."},"returns":{"_0":"uint256 Amount of $RARE tokens one would get for unstaking {_unstakeAmount} given {_totalSRareByUser} and {_totalRareStakedByUser}."}},"claimRewards(address,uint8)":{"params":{"_numRounds":"uint256 number of rounds to claim since last claim.","_user":"Address of user to claim on behalf of."}},"getAllTimeRewards()":{"returns":{"_0":"uint256 Amount of $RARE tokens allocated as rewards."}},"getAmountStakedByUser(address)":{"params":{"_user":"Address of staker."},"returns":{"_0":"uint256 Amount of $RARE staked."}},"getClaimableRewardsForUser(address,uint256)":{"params":{"_numRounds":"Address of the user to get rewards.","_user":"Address of the user to get rewards."},"returns":{"_0":"uint256 Amount of $RARE tokens rewarded."}},"getCreationTime()":{"returns":{"_0":"uint256 unix creation time of the contract."}},"getCurrentRound()":{"returns":{"_0":"uint256 Claim round id."}},"getHistoricalRewardsForUserForRounds(address,uint256[])":{"params":{"_rounds":"List of uint256 round ids to look up the rewards.","_user":"Address of the user to get rewards."},"returns":{"_0":"uint256 Amount of $RARE tokens rewarded."}},"getLastSnapshotTimestamp()":{"returns":{"_0":"uint256 unix time of the most recent snapshot."}},"getRoundRewards(uint256)":{"returns":{"_0":"uint256 Amount of $RARE tokens allocated as rewards for round."}},"getStakingRegistry()":{"returns":{"_0":"address of the staking registry."}},"getSumOfAllClaimed()":{"returns":{"_0":"uint256 amount of rewards claimed."}},"getTargetBeingStakedOn()":{"returns":{"_0":"Address of target being staked on;"}},"name()":{"returns":{"_0":"Name of the synthetic asset."}},"stake(uint120)":{"params":{"_amount":"Amount of $RARE being staked."}},"symbol()":{"returns":{"_0":"Symbol of the synthetic asset."}},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` 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 `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"unstake(uint256)":{"params":{"_amount":"Amount of synthetic tokens to unstake."}}},"version":1},"userdoc":{"kind":"user","methods":{"addRewards(address,uint256)":{"notice":"Allocates rewards for the current round with the given amount."},"calculatePurchaseReturn(uint120,uint120)":{"notice":"Calculates the number of sRare yielded from staking."},"calculateSaleReturn(uint256,uint256,uint256)":{"notice":"Calculates the number of rare yielded from unstaking."},"claimRewards(address,uint8)":{"notice":"Claim rewards for the _user for the number of rounds supplied since last claim. Rewards are proportional to the synthetic tokens held during the snapshot associated with each round. Throws if user has already claimed the latest round. Throws if current round is being claimed."},"getAllTimeRewards()":{"notice":"Total rewards snapshotted since con."},"getAmountStakedByUser(address)":{"notice":"Query total amount of $RARE a user has staked on this contract."},"getClaimableRewardsForUser(address,uint256)":{"notice":"Query the available rewards for claim of the supplied user address for the number of rounds supplied. "},"getCreationTime()":{"notice":"Get the unix creation time of the staking contract."},"getCurrentRound()":{"notice":"Query current round. The current round is accumulating rewards."},"getHistoricalRewardsForUserForRounds(address,uint256[])":{"notice":"Query rewards for the supplied user address for the round supplied rounds. Does not omit rewards for rounds that have already been claimed. Allows for easier historical lookups."},"getLastSnapshotTimestamp()":{"notice":"Get the unix time of the most recent snapshot."},"getRoundRewards(uint256)":{"notice":"Total rewards available for the supplied round."},"getStakingRegistry()":{"notice":"Return the staking registry of the pool"},"getSumOfAllClaimed()":{"notice":"Total amount of Rewards claimed."},"getTargetBeingStakedOn()":{"notice":"Query the target being staked on by this contract."},"name()":{"notice":"Name of the synthetic asset."},"stake(uint120)":{"notice":"Stake $RARE tokens to the target associated with the contract and receive synthetic tokens in return."},"symbol()":{"notice":"Symbol of the synthetic asset."},"takeSnapshot()":{"notice":"Snapshots the rewards for the current round. Anyone can call this."},"unstake(uint256)":{"notice":"Unstake by returning synthetic tokens and receiving previously staked $RARE in return."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/token/IRarityPool.sol":"IRarityPool"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":197} \ No newline at end of file diff --git a/abis/IRarityPoolFactory.json b/abis/IRarityPoolFactory.json index dc81943..5dcf4b3 100644 --- a/abis/IRarityPoolFactory.json +++ b/abis/IRarityPoolFactory.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"deployStaking","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRareStakingTemplateAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingRegistryAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setRareStakingTemplate","inputs":[{"name":"_rareStakingTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingRegistry","inputs":[{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RareStakingTemplateUpdated","inputs":[{"name":"newRareStakingTemplate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingContractCreated","inputs":[{"name":"_deployingUser","type":"address","indexed":true,"internalType":"address"},{"name":"_userStakedOn","type":"address","indexed":true,"internalType":"address"},{"name":"_stakingAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingRegistryUpdated","inputs":[{"name":"newStakingRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deployStaking(address)":"1249ed23","getRareStakingTemplateAddress()":"c8cb01d8","getStakingRegistryAddress()":"9f997eb0","setRareStakingTemplate(address)":"7ed155de","setStakingRegistry(address)":"2c740844"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRareStakingTemplate\",\"type\":\"address\"}],\"name\":\"RareStakingTemplateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_deployingUser\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_userStakedOn\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"StakingContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingRegistry\",\"type\":\"address\"}],\"name\":\"StakingRegistryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"deployStaking\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRareStakingTemplateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingRegistryAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rareStakingTemplate\",\"type\":\"address\"}],\"name\":\"setRareStakingTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"setStakingRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"kind\":\"dev\",\"methods\":{\"deployStaking(address)\":{\"params\":{\"_user\":\"Address of the target to deploy staking contract for.\"},\"returns\":{\"_0\":\"address Address of the staking contract.\"}},\"getRareStakingTemplateAddress()\":{\"returns\":{\"_0\":\"address Address of the staking ERC20 template to be used.\"}},\"getStakingRegistryAddress()\":{\"returns\":{\"_0\":\"address Address of the staking registry contract.\"}},\"setRareStakingTemplate(address)\":{\"params\":{\"_rareStakingTemplate\":\"Address of the staking ERC20 template.\"}},\"setStakingRegistry(address)\":{\"params\":{\"_stakingRegistry\":\"Address of the new staking registry contract.\"}}},\"title\":\"IRarityPoolFactory\",\"version\":1},\"userdoc\":{\"errors\":{\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"RareStakingTemplateUpdated(address)\":{\"notice\":\"Emitted via {setRareStakingTemplate} when the staking template is updated.\"},\"StakingContractCreated(address,address,address)\":{\"notice\":\"Emitted via {deployStaking} when a new staking contract is deployed.\"},\"StakingRegistryUpdated(address)\":{\"notice\":\"Emitted via {setStakingRegistry} when the staking registry is updated.\"}},\"kind\":\"user\",\"methods\":{\"deployStaking(address)\":{\"notice\":\"Deploys a staking contract for the supplied target address. Reverts if address exists.\"},\"getRareStakingTemplateAddress()\":{\"notice\":\"Retrieve the currently template of the staking ERC20 contract.\"},\"getStakingRegistryAddress()\":{\"notice\":\"Retrieve the currently used staking registry address.\"},\"setRareStakingTemplate(address)\":{\"notice\":\"Set the rare staking ERC20 template address to be used.\"},\"setStakingRegistry(address)\":{\"notice\":\"Set the staking registry address field to be used.\"}},\"notice\":\"The Staking Factory interface containing all functions, events, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/factory/IRarityPoolFactory.sol\":\"IRarityPoolFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/staking/factory/IRarityPoolFactory.sol\":{\"keccak256\":\"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f\",\"dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"newRareStakingTemplate","type":"address","indexed":true}],"type":"event","name":"RareStakingTemplateUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_deployingUser","type":"address","indexed":true},{"internalType":"address","name":"_userStakedOn","type":"address","indexed":true},{"internalType":"address","name":"_stakingAddress","type":"address","indexed":true}],"type":"event","name":"StakingContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingRegistry","type":"address","indexed":true}],"type":"event","name":"StakingRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployStaking","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRareStakingTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingRegistryAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_rareStakingTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRareStakingTemplate"},{"inputs":[{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingRegistry"}],"devdoc":{"kind":"dev","methods":{"deployStaking(address)":{"params":{"_user":"Address of the target to deploy staking contract for."},"returns":{"_0":"address Address of the staking contract."}},"getRareStakingTemplateAddress()":{"returns":{"_0":"address Address of the staking ERC20 template to be used."}},"getStakingRegistryAddress()":{"returns":{"_0":"address Address of the staking registry contract."}},"setRareStakingTemplate(address)":{"params":{"_rareStakingTemplate":"Address of the staking ERC20 template."}},"setStakingRegistry(address)":{"params":{"_stakingRegistry":"Address of the new staking registry contract."}}},"version":1},"userdoc":{"kind":"user","methods":{"deployStaking(address)":{"notice":"Deploys a staking contract for the supplied target address. Reverts if address exists."},"getRareStakingTemplateAddress()":{"notice":"Retrieve the currently template of the staking ERC20 contract."},"getStakingRegistryAddress()":{"notice":"Retrieve the currently used staking registry address."},"setRareStakingTemplate(address)":{"notice":"Set the rare staking ERC20 template address to be used."},"setStakingRegistry(address)":{"notice":"Set the staking registry address field to be used."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/factory/IRarityPoolFactory.sol":"IRarityPoolFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/staking/factory/IRarityPoolFactory.sol":{"keccak256":"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159","urls":["bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f","dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq"],"license":"MIT"}},"version":1},"id":178} \ No newline at end of file +{"abi":[{"type":"function","name":"deployStaking","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRareStakingTemplateAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingRegistryAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setRareStakingTemplate","inputs":[{"name":"_rareStakingTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingRegistry","inputs":[{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RareStakingTemplateUpdated","inputs":[{"name":"newRareStakingTemplate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingContractCreated","inputs":[{"name":"_deployingUser","type":"address","indexed":true,"internalType":"address"},{"name":"_userStakedOn","type":"address","indexed":true,"internalType":"address"},{"name":"_stakingAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingRegistryUpdated","inputs":[{"name":"newStakingRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deployStaking(address)":"1249ed23","getRareStakingTemplateAddress()":"c8cb01d8","getStakingRegistryAddress()":"9f997eb0","setRareStakingTemplate(address)":"7ed155de","setStakingRegistry(address)":"2c740844"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRareStakingTemplate\",\"type\":\"address\"}],\"name\":\"RareStakingTemplateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_deployingUser\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_userStakedOn\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"StakingContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingRegistry\",\"type\":\"address\"}],\"name\":\"StakingRegistryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"deployStaking\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRareStakingTemplateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingRegistryAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rareStakingTemplate\",\"type\":\"address\"}],\"name\":\"setRareStakingTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"setStakingRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"kind\":\"dev\",\"methods\":{\"deployStaking(address)\":{\"params\":{\"_user\":\"Address of the target to deploy staking contract for.\"},\"returns\":{\"_0\":\"address Address of the staking contract.\"}},\"getRareStakingTemplateAddress()\":{\"returns\":{\"_0\":\"address Address of the staking ERC20 template to be used.\"}},\"getStakingRegistryAddress()\":{\"returns\":{\"_0\":\"address Address of the staking registry contract.\"}},\"setRareStakingTemplate(address)\":{\"params\":{\"_rareStakingTemplate\":\"Address of the staking ERC20 template.\"}},\"setStakingRegistry(address)\":{\"params\":{\"_stakingRegistry\":\"Address of the new staking registry contract.\"}}},\"title\":\"IRarityPoolFactory\",\"version\":1},\"userdoc\":{\"errors\":{\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"RareStakingTemplateUpdated(address)\":{\"notice\":\"Emitted via {setRareStakingTemplate} when the staking template is updated.\"},\"StakingContractCreated(address,address,address)\":{\"notice\":\"Emitted via {deployStaking} when a new staking contract is deployed.\"},\"StakingRegistryUpdated(address)\":{\"notice\":\"Emitted via {setStakingRegistry} when the staking registry is updated.\"}},\"kind\":\"user\",\"methods\":{\"deployStaking(address)\":{\"notice\":\"Deploys a staking contract for the supplied target address. Reverts if address exists.\"},\"getRareStakingTemplateAddress()\":{\"notice\":\"Retrieve the currently template of the staking ERC20 contract.\"},\"getStakingRegistryAddress()\":{\"notice\":\"Retrieve the currently used staking registry address.\"},\"setRareStakingTemplate(address)\":{\"notice\":\"Set the rare staking ERC20 template address to be used.\"},\"setStakingRegistry(address)\":{\"notice\":\"Set the staking registry address field to be used.\"}},\"notice\":\"The Staking Factory interface containing all functions, events, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/factory/IRarityPoolFactory.sol\":\"IRarityPoolFactory\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/staking/factory/IRarityPoolFactory.sol\":{\"keccak256\":\"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f\",\"dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"newRareStakingTemplate","type":"address","indexed":true}],"type":"event","name":"RareStakingTemplateUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_deployingUser","type":"address","indexed":true},{"internalType":"address","name":"_userStakedOn","type":"address","indexed":true},{"internalType":"address","name":"_stakingAddress","type":"address","indexed":true}],"type":"event","name":"StakingContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingRegistry","type":"address","indexed":true}],"type":"event","name":"StakingRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployStaking","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRareStakingTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingRegistryAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_rareStakingTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRareStakingTemplate"},{"inputs":[{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingRegistry"}],"devdoc":{"kind":"dev","methods":{"deployStaking(address)":{"params":{"_user":"Address of the target to deploy staking contract for."},"returns":{"_0":"address Address of the staking contract."}},"getRareStakingTemplateAddress()":{"returns":{"_0":"address Address of the staking ERC20 template to be used."}},"getStakingRegistryAddress()":{"returns":{"_0":"address Address of the staking registry contract."}},"setRareStakingTemplate(address)":{"params":{"_rareStakingTemplate":"Address of the staking ERC20 template."}},"setStakingRegistry(address)":{"params":{"_stakingRegistry":"Address of the new staking registry contract."}}},"version":1},"userdoc":{"kind":"user","methods":{"deployStaking(address)":{"notice":"Deploys a staking contract for the supplied target address. Reverts if address exists."},"getRareStakingTemplateAddress()":{"notice":"Retrieve the currently template of the staking ERC20 contract."},"getStakingRegistryAddress()":{"notice":"Retrieve the currently used staking registry address."},"setRareStakingTemplate(address)":{"notice":"Set the rare staking ERC20 template address to be used."},"setStakingRegistry(address)":{"notice":"Set the staking registry address field to be used."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/factory/IRarityPoolFactory.sol":"IRarityPoolFactory"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/staking/factory/IRarityPoolFactory.sol":{"keccak256":"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159","urls":["bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f","dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq"],"license":"MIT"}},"version":1},"id":77} \ No newline at end of file diff --git a/abis/IRewardAccumulator.json b/abis/IRewardAccumulator.json index cb8f4ed..07c1372 100644 --- a/abis/IRewardAccumulator.json +++ b/abis/IRewardAccumulator.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"estimateRarePrice","inputs":[{"name":"_tokenOut","type":"address","internalType":"address"},{"name":"_rareAmountIn","type":"uint128","internalType":"uint128"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_stakingPool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardSwap","inputs":[{"name":"_tokenOut","type":"address","internalType":"address"},{"name":"_minAmountOut","type":"uint256","internalType":"uint256"},{"name":"_rareIn","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RewardAccumulator","inputs":[{"name":"_msgSender","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenOut","type":"address","indexed":true,"internalType":"address"},{"name":"_amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_rareIn","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CannotSwapRareForRare","inputs":[]},{"type":"error","name":"InsufficientFunds","inputs":[]},{"type":"error","name":"ParameterValueTooLow","inputs":[]},{"type":"error","name":"RarePriceTooLow","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"UnsupportedERC20Token","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"estimateRarePrice(address,uint128)":"442471f0","initialize(address)":"c4d66de8","rewardSwap(address,uint256,uint128)":"94a5a29d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CannotSwapRareForRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ParameterValueTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RarePriceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedERC20Token\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_msgSender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_rareIn\",\"type\":\"uint256\"}],\"name\":\"RewardAccumulator\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_rareAmountIn\",\"type\":\"uint128\"}],\"name\":\"estimateRarePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingPool\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"_rareIn\",\"type\":\"uint128\"}],\"name\":\"rewardSwap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"charlescrain\",\"kind\":\"dev\",\"methods\":{\"estimateRarePrice(address,uint128)\":{\"params\":{\"_rareAmountIn\":\"uint128 amount of RARE to trade for the _tokenOut.\",\"_tokenOut\":\"Address of the ERC20 token to be swapped for.\"},\"returns\":{\"_0\":\"uint256 amount of _tokenOut for the _rareAmountIn.\"}},\"rewardSwap(address,uint256,uint128)\":{\"params\":{\"_minAmountOut\":\"Min amount one is willing to receive for the _rareIn.\",\"_rareIn\":\"The amount of RARE one is looking to trade.\",\"_tokenOut\":\"Address of the ERC20 to pay out with. If null address, then uses ETH.\"}}},\"title\":\"IRewardAccumulator\",\"version\":1},\"userdoc\":{\"errors\":{\"CannotSwapRareForRare()\":[{\"notice\":\"Error emitted via {rewardSwap} if _tokenOut is the $RARE address.\"}],\"InsufficientFunds()\":[{\"notice\":\"Error emitted via {rewardSwap} if reward swap doesn't have enough funds to perform the swap.\"}],\"ParameterValueTooLow()\":[{\"notice\":\"Error emitted when a parameter is too low.\"}],\"RarePriceTooLow()\":[{\"notice\":\"Error emitted via {rewardSwap} if the rare price is too low to handle the _minAmountOut requirement.\"}],\"Unauthorized()\":[{\"notice\":\"Error emitted when user doesnt meet the criteria for call.\"}],\"UnsupportedERC20Token()\":[{\"notice\":\"Emitted when an unsupported ERC20 token for reward swapping.\"}]},\"kind\":\"user\",\"methods\":{\"estimateRarePrice(address,uint128)\":{\"notice\":\"Estimate the discounted $RARE price for a given token.\"},\"rewardSwap(address,uint256,uint128)\":{\"notice\":\"Swap RARE for a discounted price on tokens stored\"}},\"notice\":\"The reward accumulator interface containing all functions, events, etc. for accumulating and swapping rewards.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/reward/IRewardAccumulator.sol\":\"IRewardAccumulator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/staking/reward/IRewardAccumulator.sol\":{\"keccak256\":\"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d\",\"dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CannotSwapRareForRare"},{"inputs":[],"type":"error","name":"InsufficientFunds"},{"inputs":[],"type":"error","name":"ParameterValueTooLow"},{"inputs":[],"type":"error","name":"RarePriceTooLow"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"UnsupportedERC20Token"},{"inputs":[{"internalType":"address","name":"_msgSender","type":"address","indexed":true},{"internalType":"address","name":"_tokenOut","type":"address","indexed":true},{"internalType":"uint256","name":"_amountOut","type":"uint256","indexed":false},{"internalType":"uint256","name":"_rareIn","type":"uint256","indexed":false}],"type":"event","name":"RewardAccumulator","anonymous":false},{"inputs":[{"internalType":"address","name":"_tokenOut","type":"address"},{"internalType":"uint128","name":"_rareAmountIn","type":"uint128"}],"stateMutability":"view","type":"function","name":"estimateRarePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_stakingPool","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_tokenOut","type":"address"},{"internalType":"uint256","name":"_minAmountOut","type":"uint256"},{"internalType":"uint128","name":"_rareIn","type":"uint128"}],"stateMutability":"nonpayable","type":"function","name":"rewardSwap"}],"devdoc":{"kind":"dev","methods":{"estimateRarePrice(address,uint128)":{"params":{"_rareAmountIn":"uint128 amount of RARE to trade for the _tokenOut.","_tokenOut":"Address of the ERC20 token to be swapped for."},"returns":{"_0":"uint256 amount of _tokenOut for the _rareAmountIn."}},"rewardSwap(address,uint256,uint128)":{"params":{"_minAmountOut":"Min amount one is willing to receive for the _rareIn.","_rareIn":"The amount of RARE one is looking to trade.","_tokenOut":"Address of the ERC20 to pay out with. If null address, then uses ETH."}}},"version":1},"userdoc":{"kind":"user","methods":{"estimateRarePrice(address,uint128)":{"notice":"Estimate the discounted $RARE price for a given token."},"rewardSwap(address,uint256,uint128)":{"notice":"Swap RARE for a discounted price on tokens stored"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/reward/IRewardAccumulator.sol":"IRewardAccumulator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/staking/reward/IRewardAccumulator.sol":{"keccak256":"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42","urls":["bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d","dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD"],"license":"MIT"}},"version":1},"id":184} \ No newline at end of file +{"abi":[{"type":"function","name":"estimateRarePrice","inputs":[{"name":"_tokenOut","type":"address","internalType":"address"},{"name":"_rareAmountIn","type":"uint128","internalType":"uint128"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_stakingPool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardSwap","inputs":[{"name":"_tokenOut","type":"address","internalType":"address"},{"name":"_minAmountOut","type":"uint256","internalType":"uint256"},{"name":"_rareIn","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RewardAccumulator","inputs":[{"name":"_msgSender","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenOut","type":"address","indexed":true,"internalType":"address"},{"name":"_amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_rareIn","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CannotSwapRareForRare","inputs":[]},{"type":"error","name":"InsufficientFunds","inputs":[]},{"type":"error","name":"ParameterValueTooLow","inputs":[]},{"type":"error","name":"RarePriceTooLow","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"UnsupportedERC20Token","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"estimateRarePrice(address,uint128)":"442471f0","initialize(address)":"c4d66de8","rewardSwap(address,uint256,uint128)":"94a5a29d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CannotSwapRareForRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ParameterValueTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RarePriceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedERC20Token\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_msgSender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_rareIn\",\"type\":\"uint256\"}],\"name\":\"RewardAccumulator\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_rareAmountIn\",\"type\":\"uint128\"}],\"name\":\"estimateRarePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingPool\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"_rareIn\",\"type\":\"uint128\"}],\"name\":\"rewardSwap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"charlescrain\",\"kind\":\"dev\",\"methods\":{\"estimateRarePrice(address,uint128)\":{\"params\":{\"_rareAmountIn\":\"uint128 amount of RARE to trade for the _tokenOut.\",\"_tokenOut\":\"Address of the ERC20 token to be swapped for.\"},\"returns\":{\"_0\":\"uint256 amount of _tokenOut for the _rareAmountIn.\"}},\"rewardSwap(address,uint256,uint128)\":{\"params\":{\"_minAmountOut\":\"Min amount one is willing to receive for the _rareIn.\",\"_rareIn\":\"The amount of RARE one is looking to trade.\",\"_tokenOut\":\"Address of the ERC20 to pay out with. If null address, then uses ETH.\"}}},\"title\":\"IRewardAccumulator\",\"version\":1},\"userdoc\":{\"errors\":{\"CannotSwapRareForRare()\":[{\"notice\":\"Error emitted via {rewardSwap} if _tokenOut is the $RARE address.\"}],\"InsufficientFunds()\":[{\"notice\":\"Error emitted via {rewardSwap} if reward swap doesn't have enough funds to perform the swap.\"}],\"ParameterValueTooLow()\":[{\"notice\":\"Error emitted when a parameter is too low.\"}],\"RarePriceTooLow()\":[{\"notice\":\"Error emitted via {rewardSwap} if the rare price is too low to handle the _minAmountOut requirement.\"}],\"Unauthorized()\":[{\"notice\":\"Error emitted when user doesnt meet the criteria for call.\"}],\"UnsupportedERC20Token()\":[{\"notice\":\"Emitted when an unsupported ERC20 token for reward swapping.\"}]},\"kind\":\"user\",\"methods\":{\"estimateRarePrice(address,uint128)\":{\"notice\":\"Estimate the discounted $RARE price for a given token.\"},\"rewardSwap(address,uint256,uint128)\":{\"notice\":\"Swap RARE for a discounted price on tokens stored\"}},\"notice\":\"The reward accumulator interface containing all functions, events, etc. for accumulating and swapping rewards.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/reward/IRewardAccumulator.sol\":\"IRewardAccumulator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/staking/reward/IRewardAccumulator.sol\":{\"keccak256\":\"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d\",\"dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CannotSwapRareForRare"},{"inputs":[],"type":"error","name":"InsufficientFunds"},{"inputs":[],"type":"error","name":"ParameterValueTooLow"},{"inputs":[],"type":"error","name":"RarePriceTooLow"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"UnsupportedERC20Token"},{"inputs":[{"internalType":"address","name":"_msgSender","type":"address","indexed":true},{"internalType":"address","name":"_tokenOut","type":"address","indexed":true},{"internalType":"uint256","name":"_amountOut","type":"uint256","indexed":false},{"internalType":"uint256","name":"_rareIn","type":"uint256","indexed":false}],"type":"event","name":"RewardAccumulator","anonymous":false},{"inputs":[{"internalType":"address","name":"_tokenOut","type":"address"},{"internalType":"uint128","name":"_rareAmountIn","type":"uint128"}],"stateMutability":"view","type":"function","name":"estimateRarePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_stakingPool","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_tokenOut","type":"address"},{"internalType":"uint256","name":"_minAmountOut","type":"uint256"},{"internalType":"uint128","name":"_rareIn","type":"uint128"}],"stateMutability":"nonpayable","type":"function","name":"rewardSwap"}],"devdoc":{"kind":"dev","methods":{"estimateRarePrice(address,uint128)":{"params":{"_rareAmountIn":"uint128 amount of RARE to trade for the _tokenOut.","_tokenOut":"Address of the ERC20 token to be swapped for."},"returns":{"_0":"uint256 amount of _tokenOut for the _rareAmountIn."}},"rewardSwap(address,uint256,uint128)":{"params":{"_minAmountOut":"Min amount one is willing to receive for the _rareIn.","_rareIn":"The amount of RARE one is looking to trade.","_tokenOut":"Address of the ERC20 to pay out with. If null address, then uses ETH."}}},"version":1},"userdoc":{"kind":"user","methods":{"estimateRarePrice(address,uint128)":{"notice":"Estimate the discounted $RARE price for a given token."},"rewardSwap(address,uint256,uint128)":{"notice":"Swap RARE for a discounted price on tokens stored"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/reward/IRewardAccumulator.sol":"IRewardAccumulator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/staking/reward/IRewardAccumulator.sol":{"keccak256":"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42","urls":["bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d","dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD"],"license":"MIT"}},"version":1},"id":195} \ No newline at end of file diff --git a/abis/IRewardAccumulatorFactory.json b/abis/IRewardAccumulatorFactory.json index 6e7bc84..f2d0260 100644 --- a/abis/IRewardAccumulatorFactory.json +++ b/abis/IRewardAccumulatorFactory.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"deployRewardSwap","inputs":[{"name":"_stakingAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRewardSwapTemplateAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setRewardAccumulatorTemplate","inputs":[{"name":"_rewardTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RewardAccumulatorTemplateUpdated","inputs":[{"name":"rewardTemplate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RewardSwapContractCreated","inputs":[{"name":"_stakingAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deployRewardSwap(address)":"733fd342","getRewardSwapTemplateAddress()":"bc3ccf6d","setRewardAccumulatorTemplate(address)":"7bd5029d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardTemplate\",\"type\":\"address\"}],\"name\":\"RewardAccumulatorTemplateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"RewardSwapContractCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"deployRewardSwap\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardSwapTemplateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardTemplate\",\"type\":\"address\"}],\"name\":\"setRewardAccumulatorTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"charlescrain\",\"kind\":\"dev\",\"methods\":{\"deployRewardSwap(address)\":{\"params\":{\"_stakingAddress\":\"Address of staking contract.\"},\"returns\":{\"_0\":\"address Address of the RewardAccumulator contract.\"}},\"getRewardSwapTemplateAddress()\":{\"returns\":{\"_0\":\"address Address of the template.\"}},\"setRewardAccumulatorTemplate(address)\":{\"params\":{\"_rewardTemplate\":\"Address of the RewardAccumulator template.\"}}},\"title\":\"IRewardAccumulatorFactory\",\"version\":1},\"userdoc\":{\"errors\":{\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"RewardAccumulatorTemplateUpdated(address)\":{\"notice\":\"Emitted via {setRewardAccumulatorTemplate} when the RewardAccumulatorTemplate is upaded.\"},\"RewardSwapContractCreated(address)\":{\"notice\":\"Emitted via {deployRewardSwap} when a new RewardAccumulator contract is deployed.\"}},\"kind\":\"user\",\"methods\":{\"deployRewardSwap(address)\":{\"notice\":\"Deploys a RewardAccumulator contract.\"},\"getRewardSwapTemplateAddress()\":{\"notice\":\"Retrieve the template contract\"},\"setRewardAccumulatorTemplate(address)\":{\"notice\":\"Set the RewardAccumulator template address to be used.\"}},\"notice\":\"The RewardAccumulator Factory interface containing all functions, events, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/factory/IRewardAccumulatorFactory.sol\":\"IRewardAccumulatorFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/staking/factory/IRewardAccumulatorFactory.sol\":{\"keccak256\":\"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1\",\"dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"rewardTemplate","type":"address","indexed":true}],"type":"event","name":"RewardAccumulatorTemplateUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address","indexed":true}],"type":"event","name":"RewardSwapContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployRewardSwap","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRewardSwapTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_rewardTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRewardAccumulatorTemplate"}],"devdoc":{"kind":"dev","methods":{"deployRewardSwap(address)":{"params":{"_stakingAddress":"Address of staking contract."},"returns":{"_0":"address Address of the RewardAccumulator contract."}},"getRewardSwapTemplateAddress()":{"returns":{"_0":"address Address of the template."}},"setRewardAccumulatorTemplate(address)":{"params":{"_rewardTemplate":"Address of the RewardAccumulator template."}}},"version":1},"userdoc":{"kind":"user","methods":{"deployRewardSwap(address)":{"notice":"Deploys a RewardAccumulator contract."},"getRewardSwapTemplateAddress()":{"notice":"Retrieve the template contract"},"setRewardAccumulatorTemplate(address)":{"notice":"Set the RewardAccumulator template address to be used."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/factory/IRewardAccumulatorFactory.sol":"IRewardAccumulatorFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/staking/factory/IRewardAccumulatorFactory.sol":{"keccak256":"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6","urls":["bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1","dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA"],"license":"MIT"}},"version":1},"id":179} \ No newline at end of file +{"abi":[{"type":"function","name":"deployRewardSwap","inputs":[{"name":"_stakingAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRewardSwapTemplateAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setRewardAccumulatorTemplate","inputs":[{"name":"_rewardTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RewardAccumulatorTemplateUpdated","inputs":[{"name":"rewardTemplate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RewardSwapContractCreated","inputs":[{"name":"_stakingAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deployRewardSwap(address)":"733fd342","getRewardSwapTemplateAddress()":"bc3ccf6d","setRewardAccumulatorTemplate(address)":"7bd5029d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardTemplate\",\"type\":\"address\"}],\"name\":\"RewardAccumulatorTemplateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"RewardSwapContractCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"deployRewardSwap\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardSwapTemplateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardTemplate\",\"type\":\"address\"}],\"name\":\"setRewardAccumulatorTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"charlescrain\",\"kind\":\"dev\",\"methods\":{\"deployRewardSwap(address)\":{\"params\":{\"_stakingAddress\":\"Address of staking contract.\"},\"returns\":{\"_0\":\"address Address of the RewardAccumulator contract.\"}},\"getRewardSwapTemplateAddress()\":{\"returns\":{\"_0\":\"address Address of the template.\"}},\"setRewardAccumulatorTemplate(address)\":{\"params\":{\"_rewardTemplate\":\"Address of the RewardAccumulator template.\"}}},\"title\":\"IRewardAccumulatorFactory\",\"version\":1},\"userdoc\":{\"errors\":{\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"RewardAccumulatorTemplateUpdated(address)\":{\"notice\":\"Emitted via {setRewardAccumulatorTemplate} when the RewardAccumulatorTemplate is upaded.\"},\"RewardSwapContractCreated(address)\":{\"notice\":\"Emitted via {deployRewardSwap} when a new RewardAccumulator contract is deployed.\"}},\"kind\":\"user\",\"methods\":{\"deployRewardSwap(address)\":{\"notice\":\"Deploys a RewardAccumulator contract.\"},\"getRewardSwapTemplateAddress()\":{\"notice\":\"Retrieve the template contract\"},\"setRewardAccumulatorTemplate(address)\":{\"notice\":\"Set the RewardAccumulator template address to be used.\"}},\"notice\":\"The RewardAccumulator Factory interface containing all functions, events, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/factory/IRewardAccumulatorFactory.sol\":\"IRewardAccumulatorFactory\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/staking/factory/IRewardAccumulatorFactory.sol\":{\"keccak256\":\"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1\",\"dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"rewardTemplate","type":"address","indexed":true}],"type":"event","name":"RewardAccumulatorTemplateUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address","indexed":true}],"type":"event","name":"RewardSwapContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployRewardSwap","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRewardSwapTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_rewardTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRewardAccumulatorTemplate"}],"devdoc":{"kind":"dev","methods":{"deployRewardSwap(address)":{"params":{"_stakingAddress":"Address of staking contract."},"returns":{"_0":"address Address of the RewardAccumulator contract."}},"getRewardSwapTemplateAddress()":{"returns":{"_0":"address Address of the template."}},"setRewardAccumulatorTemplate(address)":{"params":{"_rewardTemplate":"Address of the RewardAccumulator template."}}},"version":1},"userdoc":{"kind":"user","methods":{"deployRewardSwap(address)":{"notice":"Deploys a RewardAccumulator contract."},"getRewardSwapTemplateAddress()":{"notice":"Retrieve the template contract"},"setRewardAccumulatorTemplate(address)":{"notice":"Set the RewardAccumulator template address to be used."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/factory/IRewardAccumulatorFactory.sol":"IRewardAccumulatorFactory"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/staking/factory/IRewardAccumulatorFactory.sol":{"keccak256":"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6","urls":["bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1","dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA"],"license":"MIT"}},"version":1},"id":78} \ No newline at end of file diff --git a/abis/ISpaceOperatorRegistry.json b/abis/ISpaceOperatorRegistry.json index 19b81d8..e22b7f8 100644 --- a/abis/ISpaceOperatorRegistry.json +++ b/abis/ISpaceOperatorRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getPlatformCommission","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"isApprovedSpaceOperator","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setPlatformCommission","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_commission","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorApproved","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getPlatformCommission(address)":"2260494f","isApprovedSpaceOperator(address)":"5dc22eff","setPlatformCommission(address,uint8)":"8c479012","setSpaceOperatorApproved(address,bool)":"153875f3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"getPlatformCommission\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedSpaceOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_commission\",\"type\":\"uint8\"}],\"name\":\"setPlatformCommission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setSpaceOperatorApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISpaceOperatorRegistry\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"The interface for the SpaceOperatorRegistry\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":\"ISpaceOperatorRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"getPlatformCommission","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedSpaceOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"uint8","name":"_commission","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPlatformCommission"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorApproved"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/interfaces/ISpaceOperatorRegistry.sol":"ISpaceOperatorRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"}},"version":1},"id":39} \ No newline at end of file +{"abi":[{"type":"function","name":"getPlatformCommission","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"isApprovedSpaceOperator","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setPlatformCommission","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_commission","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorApproved","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getPlatformCommission(address)":"2260494f","isApprovedSpaceOperator(address)":"5dc22eff","setPlatformCommission(address,uint8)":"8c479012","setSpaceOperatorApproved(address,bool)":"153875f3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"getPlatformCommission\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedSpaceOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_commission\",\"type\":\"uint8\"}],\"name\":\"setPlatformCommission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setSpaceOperatorApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISpaceOperatorRegistry\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"The interface for the SpaceOperatorRegistry\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":\"ISpaceOperatorRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"getPlatformCommission","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedSpaceOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"uint8","name":"_commission","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPlatformCommission"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorApproved"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/interfaces/ISpaceOperatorRegistry.sol":"ISpaceOperatorRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"}},"version":1},"id":187} \ No newline at end of file diff --git a/abis/IStakingSettings.json b/abis/IStakingSettings.json index f809692..fb0d2cd 100644 --- a/abis/IStakingSettings.json +++ b/abis/IStakingSettings.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"calculateMarketplacePayoutFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateStakingFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStakingFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"calculateMarketplacePayoutFee(uint256)":"0ff77844","calculateStakingFee(uint256)":"8e1addb2","getStakingFeePercentage()":"9d5fb53c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplacePayoutFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateStakingFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"calculateMarketplacePayoutFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace payout fee for given amount of wei. marketplaceFee - stakingFee\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculateStakingFee(uint256)\":{\"details\":\"Utility function for calculating the staking fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getStakingFeePercentage()\":{\"details\":\"Get the staking percentage.\",\"returns\":{\"_0\":\"uint8 wei staking fee percentage.\"}}},\"title\":\"IStakingSettings Settings governing a staking config for a marketplace.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/IStakingSettings.sol\":\"IStakingSettings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplacePayoutFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateStakingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]}],"devdoc":{"kind":"dev","methods":{"calculateMarketplacePayoutFee(uint256)":{"details":"Utility function for calculating the marketplace payout fee for given amount of wei. marketplaceFee - stakingFee","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculateStakingFee(uint256)":{"details":"Utility function for calculating the staking fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"getStakingFeePercentage()":{"details":"Get the staking percentage.","returns":{"_0":"uint8 wei staking fee percentage."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/IStakingSettings.sol":"IStakingSettings"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"}},"version":1},"id":34} \ No newline at end of file +{"abi":[{"type":"function","name":"calculateMarketplacePayoutFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateStakingFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStakingFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"calculateMarketplacePayoutFee(uint256)":"0ff77844","calculateStakingFee(uint256)":"8e1addb2","getStakingFeePercentage()":"9d5fb53c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplacePayoutFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateStakingFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"calculateMarketplacePayoutFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace payout fee for given amount of wei. marketplaceFee - stakingFee\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculateStakingFee(uint256)\":{\"details\":\"Utility function for calculating the staking fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getStakingFeePercentage()\":{\"details\":\"Get the staking percentage.\",\"returns\":{\"_0\":\"uint8 wei staking fee percentage.\"}}},\"title\":\"IStakingSettings Settings governing a staking config for a marketplace.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/IStakingSettings.sol\":\"IStakingSettings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplacePayoutFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateStakingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]}],"devdoc":{"kind":"dev","methods":{"calculateMarketplacePayoutFee(uint256)":{"details":"Utility function for calculating the marketplace payout fee for given amount of wei. marketplaceFee - stakingFee","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculateStakingFee(uint256)":{"details":"Utility function for calculating the staking fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"getStakingFeePercentage()":{"details":"Get the staking percentage.","returns":{"_0":"uint8 wei staking fee percentage."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/IStakingSettings.sol":"IStakingSettings"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"}},"version":1},"id":172} \ No newline at end of file diff --git a/abis/ISuperRare.json b/abis/ISuperRare.json index ba27abf..e6a7f88 100644 --- a/abis/ISuperRare.json +++ b/abis/ISuperRare.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"creatorOfToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isWhitelisted","inputs":[{"name":"_creator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"_name","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"_symbol","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"creatorOfToken(uint256)":"d5da8d44","isWhitelisted(address)":"3af32abf","name()":"06fdde03","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"creatorOfToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"creatorOfToken(uint256)\":{\"details\":\"Gets the creator of the token\",\"params\":{\"_tokenId\":\"uint256 ID of the token\"},\"returns\":{\"_0\":\"address of the creator\"}},\"isWhitelisted(address)\":{\"details\":\"Returns whether the creator is whitelisted\",\"params\":{\"_creator\":\"address to check\"},\"returns\":{\"_0\":\"bool\"}},\"tokenURI(uint256)\":{\"details\":\"Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC 3986. The URI may point to a JSON file that conforms to the \\\"ERC721 Metadata JSON Schema\\\".\"},\"totalSupply()\":{\"details\":\"Gets the total amount of tokens stored by the contract\",\"returns\":{\"_0\":\"uint256 representing the total amount of tokens\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"name()\":{\"notice\":\"A descriptive name for a collection of NFTs in this contract\"},\"symbol()\":{\"notice\":\"An abbreviated name for NFTs in this contract\"},\"tokenURI(uint256)\":{\"notice\":\"A distinct Uniform Resource Identifier (URI) for a given asset.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/superrare/ISuperRare.sol\":\"ISuperRare\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/ERC721/superrare/ISuperRare.sol\":{\"keccak256\":\"0x5fd0bd50fc36eb38aaa1a32d2ba4692ad3993369440a99ef8d1536c39b3dcada\",\"license\":\"BSD-3-Clause\",\"urls\":[\"bzz-raw://cd46c1268707cdcc7c2b6f8f551f21c76e4d4fecffa7dfb5793c8620763658cc\",\"dweb:/ipfs/QmNYD4r7hJxwjqBQ24VK6CQecMdbkaHNb2GUyqPctaidRk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"creatorOfToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"}],"stateMutability":"view","type":"function","name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"name","outputs":[{"internalType":"string","name":"_name","type":"string"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"_symbol","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"creatorOfToken(uint256)":{"details":"Gets the creator of the token","params":{"_tokenId":"uint256 ID of the token"},"returns":{"_0":"address of the creator"}},"isWhitelisted(address)":{"details":"Returns whether the creator is whitelisted","params":{"_creator":"address to check"},"returns":{"_0":"bool"}},"tokenURI(uint256)":{"details":"Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC 3986. The URI may point to a JSON file that conforms to the \"ERC721 Metadata JSON Schema\"."},"totalSupply()":{"details":"Gets the total amount of tokens stored by the contract","returns":{"_0":"uint256 representing the total amount of tokens"}}},"version":1},"userdoc":{"kind":"user","methods":{"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"},"tokenURI(uint256)":{"notice":"A distinct Uniform Resource Identifier (URI) for a given asset."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/superrare/ISuperRare.sol":"ISuperRare"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/ERC721/superrare/ISuperRare.sol":{"keccak256":"0x5fd0bd50fc36eb38aaa1a32d2ba4692ad3993369440a99ef8d1536c39b3dcada","urls":["bzz-raw://cd46c1268707cdcc7c2b6f8f551f21c76e4d4fecffa7dfb5793c8620763658cc","dweb:/ipfs/QmNYD4r7hJxwjqBQ24VK6CQecMdbkaHNb2GUyqPctaidRk"],"license":"BSD-3-Clause"}},"version":1},"id":210} \ No newline at end of file +{"abi":[{"type":"function","name":"creatorOfToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isWhitelisted","inputs":[{"name":"_creator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"_name","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"_symbol","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"creatorOfToken(uint256)":"d5da8d44","isWhitelisted(address)":"3af32abf","name()":"06fdde03","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"creatorOfToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"creatorOfToken(uint256)\":{\"details\":\"Gets the creator of the token\",\"params\":{\"_tokenId\":\"uint256 ID of the token\"},\"returns\":{\"_0\":\"address of the creator\"}},\"isWhitelisted(address)\":{\"details\":\"Returns whether the creator is whitelisted\",\"params\":{\"_creator\":\"address to check\"},\"returns\":{\"_0\":\"bool\"}},\"tokenURI(uint256)\":{\"details\":\"Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC 3986. The URI may point to a JSON file that conforms to the \\\"ERC721 Metadata JSON Schema\\\".\"},\"totalSupply()\":{\"details\":\"Gets the total amount of tokens stored by the contract\",\"returns\":{\"_0\":\"uint256 representing the total amount of tokens\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"name()\":{\"notice\":\"A descriptive name for a collection of NFTs in this contract\"},\"symbol()\":{\"notice\":\"An abbreviated name for NFTs in this contract\"},\"tokenURI(uint256)\":{\"notice\":\"A distinct Uniform Resource Identifier (URI) for a given asset.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/superrare/ISuperRare.sol\":\"ISuperRare\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/ERC721/superrare/ISuperRare.sol\":{\"keccak256\":\"0x5fd0bd50fc36eb38aaa1a32d2ba4692ad3993369440a99ef8d1536c39b3dcada\",\"license\":\"BSD-3-Clause\",\"urls\":[\"bzz-raw://cd46c1268707cdcc7c2b6f8f551f21c76e4d4fecffa7dfb5793c8620763658cc\",\"dweb:/ipfs/QmNYD4r7hJxwjqBQ24VK6CQecMdbkaHNb2GUyqPctaidRk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"creatorOfToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"}],"stateMutability":"view","type":"function","name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"name","outputs":[{"internalType":"string","name":"_name","type":"string"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"_symbol","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"creatorOfToken(uint256)":{"details":"Gets the creator of the token","params":{"_tokenId":"uint256 ID of the token"},"returns":{"_0":"address of the creator"}},"isWhitelisted(address)":{"details":"Returns whether the creator is whitelisted","params":{"_creator":"address to check"},"returns":{"_0":"bool"}},"tokenURI(uint256)":{"details":"Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC 3986. The URI may point to a JSON file that conforms to the \"ERC721 Metadata JSON Schema\"."},"totalSupply()":{"details":"Gets the total amount of tokens stored by the contract","returns":{"_0":"uint256 representing the total amount of tokens"}}},"version":1},"userdoc":{"kind":"user","methods":{"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"},"tokenURI(uint256)":{"notice":"A distinct Uniform Resource Identifier (URI) for a given asset."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/superrare/ISuperRare.sol":"ISuperRare"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/ERC721/superrare/ISuperRare.sol":{"keccak256":"0x5fd0bd50fc36eb38aaa1a32d2ba4692ad3993369440a99ef8d1536c39b3dcada","urls":["bzz-raw://cd46c1268707cdcc7c2b6f8f551f21c76e4d4fecffa7dfb5793c8620763658cc","dweb:/ipfs/QmNYD4r7hJxwjqBQ24VK6CQecMdbkaHNb2GUyqPctaidRk"],"license":"BSD-3-Clause"}},"version":1},"id":183} \ No newline at end of file diff --git a/abis/ISuperRareAuctionHouse.json b/abis/ISuperRareAuctionHouse.json index 8f8be4b..1f5d2d1 100644 --- a/abis/ISuperRareAuctionHouse.json +++ b/abis/ISuperRareAuctionHouse.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"convertOfferToAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"bid(address,uint256,address,uint256)":"b5678588","cancelAuction(address,uint256)":"859b97fe","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":"060d9eeb","getAuctionDetails(address,uint256)":"0cd87c68","settleAuction(address,uint256)":"5138b08c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"convertOfferToAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount being converted into an auction.\",\"_currencyAddress\":\"Address of the currency being converted.\",\"_lengthOfAuction\":\"Number of seconds the auction will last.\",\"_originContract\":\"Contract address of the asset.\",\"_splitAddresses\":\"Addresses that the sellers take in will be split amongst.\",\"_splitRatios\":\"Ratios that the take in will be split by.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"settleAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}}},\"title\":\"ISuperRareAuctionHouse\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Converts an offer into a coldie auction.\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The interface for the SuperRareAuctionHouse Functions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/auctionhouse/ISuperRareAuctionHouse.sol\":\"ISuperRareAuctionHouse\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/auctionhouse/ISuperRareAuctionHouse.sol\":{\"keccak256\":\"0x443cb16d59d383f4498c88ffb89c1d7e0ef4c8746f2391732ee7559185784215\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f566ddabac5831ab16eed94a303fe969ba2364a047b332856c318f0fe0931c27\",\"dweb:/ipfs/QmdNDMXe5NWjx1P689kmQLArEUYW7pmvs3Ry535dHRfFST\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"convertOfferToAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"}],"devdoc":{"kind":"dev","methods":{"bid(address,uint256,address,uint256)":{"params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"cancelAuction(address,uint256)":{"params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_amount":"Amount being converted into an auction.","_currencyAddress":"Address of the currency being converted.","_lengthOfAuction":"Number of seconds the auction will last.","_originContract":"Contract address of the asset.","_splitAddresses":"Addresses that the sellers take in will be split amongst.","_splitRatios":"Ratios that the take in will be split by.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"settleAuction(address,uint256)":{"params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}}},"version":1},"userdoc":{"kind":"user","methods":{"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Converts an offer into a coldie auction."},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/auctionhouse/ISuperRareAuctionHouse.sol":"ISuperRareAuctionHouse"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/auctionhouse/ISuperRareAuctionHouse.sol":{"keccak256":"0x443cb16d59d383f4498c88ffb89c1d7e0ef4c8746f2391732ee7559185784215","urls":["bzz-raw://f566ddabac5831ab16eed94a303fe969ba2364a047b332856c318f0fe0931c27","dweb:/ipfs/QmdNDMXe5NWjx1P689kmQLArEUYW7pmvs3Ry535dHRfFST"],"license":"MIT"}},"version":1},"id":148} \ No newline at end of file +{"abi":[{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"convertOfferToAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"bid(address,uint256,address,uint256)":"b5678588","cancelAuction(address,uint256)":"859b97fe","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":"060d9eeb","getAuctionDetails(address,uint256)":"0cd87c68","settleAuction(address,uint256)":"5138b08c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"convertOfferToAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount being converted into an auction.\",\"_currencyAddress\":\"Address of the currency being converted.\",\"_lengthOfAuction\":\"Number of seconds the auction will last.\",\"_originContract\":\"Contract address of the asset.\",\"_splitAddresses\":\"Addresses that the sellers take in will be split amongst.\",\"_splitRatios\":\"Ratios that the take in will be split by.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"settleAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}}},\"title\":\"ISuperRareAuctionHouse\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Converts an offer into a coldie auction.\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The interface for the SuperRareAuctionHouse Functions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/auctionhouse/ISuperRareAuctionHouse.sol\":\"ISuperRareAuctionHouse\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/auctionhouse/ISuperRareAuctionHouse.sol\":{\"keccak256\":\"0x8d8b3238ea1eff36c36746470ccac4a727984271da0037b3e919954bf950b204\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07bba4661d77c78adfdde1add4c939b5d0fb79e71f409b5dec626481e46f685\",\"dweb:/ipfs/QmdRojysUu8qjSP84Qi54MqZZLGE9BvPmTYeywLJ4pJMf8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"convertOfferToAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"}],"devdoc":{"kind":"dev","methods":{"bid(address,uint256,address,uint256)":{"params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"cancelAuction(address,uint256)":{"params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_amount":"Amount being converted into an auction.","_currencyAddress":"Address of the currency being converted.","_lengthOfAuction":"Number of seconds the auction will last.","_originContract":"Contract address of the asset.","_splitAddresses":"Addresses that the sellers take in will be split amongst.","_splitRatios":"Ratios that the take in will be split by.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"settleAuction(address,uint256)":{"params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}}},"version":1},"userdoc":{"kind":"user","methods":{"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Converts an offer into a coldie auction."},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/auctionhouse/ISuperRareAuctionHouse.sol":"ISuperRareAuctionHouse"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/auctionhouse/ISuperRareAuctionHouse.sol":{"keccak256":"0x8d8b3238ea1eff36c36746470ccac4a727984271da0037b3e919954bf950b204","urls":["bzz-raw://e07bba4661d77c78adfdde1add4c939b5d0fb79e71f409b5dec626481e46f685","dweb:/ipfs/QmdRojysUu8qjSP84Qi54MqZZLGE9BvPmTYeywLJ4pJMf8"],"license":"MIT"}},"version":1},"id":157} \ No newline at end of file diff --git a/abis/ISuperRareAuctionHouseV2.json b/abis/ISuperRareAuctionHouseV2.json new file mode 100644 index 0000000..eff3c5b --- /dev/null +++ b/abis/ISuperRareAuctionHouseV2.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"bidWithAuctionMerkleProof","inputs":[{"name":"originContract","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"creator","type":"address","internalType":"address"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"bidAmount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelAuctionMerkleRoot","inputs":[{"name":"root","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getCreatorAuctionMerkleRootNonce","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMerkleAuctionConfig","inputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISuperRareAuctionHouseV2.MerkleAuctionConfig","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startingAmount","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"},{"name":"nonce","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenAuctionNonce","inputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"tokenContract","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserAuctionMerkleRoots","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isTokenInRoot","inputs":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"origin","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"registerAuctionMerkleRoot","inputs":[{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"currency","type":"address","internalType":"address"},{"name":"startingAmount","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_firstBid","type":"bool","indexed":false,"internalType":"bool"},{"name":"_marketplaceFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionMerkleBid","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"bidder","type":"address","indexed":true,"internalType":"address"},{"name":"creator","type":"address","indexed":false,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AuctionMerkleRootCancelled","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"AuctionMerkleRootRegistered","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"startingAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"duration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_bidder","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_marketplaceFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":false,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startingAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"bid(address,uint256,address,uint256)":"b5678588","bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])":"5060eadf","cancelAuction(address,uint256)":"859b97fe","cancelAuctionMerkleRoot(bytes32)":"ac964f8e","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","getAuctionDetails(address,uint256)":"0cd87c68","getCreatorAuctionMerkleRootNonce(address,bytes32)":"e29ac890","getMerkleAuctionConfig(address,bytes32)":"76ffb5a7","getTokenAuctionNonce(address,bytes32,address,uint256)":"d97f7657","getUserAuctionMerkleRoots(address)":"4ebade5f","isTokenInRoot(bytes32,address,uint256,bytes32[])":"5e51b2d4","registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])":"f8aa56ee","settleAuction(address,uint256)":"5138b08c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_firstBid\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_marketplaceFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"AuctionMerkleBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"AuctionMerkleRootCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startingAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"AuctionMerkleRootRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_marketplaceFee\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"bidAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"bidWithAuctionMerkleProof\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"cancelAuctionMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"getCreatorAuctionMerkleRootNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"getMerkleAuctionConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"struct ISuperRareAuctionHouseV2.MerkleAuctionConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"tokenContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenAuctionNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserAuctionMerkleRoots\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"isTokenInRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"registerAuctionMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRare Labs\",\"kind\":\"dev\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])\":{\"params\":{\"bidAmount\":\"The amount of the bid\",\"creator\":\"The creator of the auction\",\"merkleRoot\":\"The root hash of the Merkle tree\",\"originContract\":\"The contract address of the token\",\"proof\":\"The Merkle proof verifying token inclusion\",\"tokenId\":\"The ID of the token being bid on\"}},\"cancelAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelAuctionMerkleRoot(bytes32)\":{\"params\":{\"root\":\"The Merkle root to cancel\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startTime\":\"The time the auction should start.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"getCreatorAuctionMerkleRootNonce(address,bytes32)\":{\"params\":{\"root\":\"The Merkle root\",\"user\":\"The address of the user\"},\"returns\":{\"_0\":\"The current nonce value\"}},\"getMerkleAuctionConfig(address,bytes32)\":{\"params\":{\"creator\":\"The address of the creator\",\"root\":\"The Merkle root\"},\"returns\":{\"_0\":\"The MerkleAuctionConfig struct containing the auction configuration\"}},\"getTokenAuctionNonce(address,bytes32,address,uint256)\":{\"params\":{\"creator\":\"The creator of the auction\",\"root\":\"The Merkle root\",\"tokenContract\":\"The token contract address\",\"tokenId\":\"The token ID\"},\"returns\":{\"_0\":\"The current nonce for this token\"}},\"getUserAuctionMerkleRoots(address)\":{\"params\":{\"user\":\"The address of the user\"},\"returns\":{\"_0\":\"An array of Merkle roots\"}},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"params\":{\"origin\":\"The contract address of the token\",\"proof\":\"The Merkle proof for verification\",\"root\":\"The Merkle root to check against\",\"tokenId\":\"The ID of the token\"},\"returns\":{\"_0\":\"True if the token is included in the root, false otherwise\"}},\"registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"currency\":\"The currency address for the auction\",\"duration\":\"The length of the auction in seconds\",\"merkleRoot\":\"The root hash of the Merkle tree containing token IDs\",\"splitAddresses\":\"The addresses to split the proceeds with\",\"splitRatios\":\"The ratios for each split address\",\"startingAmount\":\"The minimum bid amount\"}},\"settleAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}}},\"title\":\"ISuperRareAuctionHouseV2\",\"version\":1},\"userdoc\":{\"events\":{\"AuctionBid(address,address,uint256,address,uint256,bool,uint256,address)\":{\"notice\":\"Emitted when a bid is placed\"},\"AuctionMerkleBid(address,uint256,address,address,bytes32,uint256,uint256)\":{\"notice\":\"Emitted when a bid with Merkle proof is placed\"},\"AuctionMerkleRootCancelled(address,bytes32)\":{\"notice\":\"Emitted when a Merkle auction root is cancelled\"},\"AuctionMerkleRootRegistered(address,bytes32,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a Merkle auction root is registered\"},\"AuctionSettled(address,uint256,address,address,uint256,uint256)\":{\"notice\":\"Emitted when an auction is settled\"},\"CancelAuction(address,uint256,address)\":{\"notice\":\"Emitted when an auction is cancelled\"},\"NewAuction(address,uint256,address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a new auction is created\"}},\"kind\":\"user\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])\":{\"notice\":\"Places a bid using a Merkle proof to verify token inclusion\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"cancelAuctionMerkleRoot(bytes32)\":{\"notice\":\"Cancels a previously registered Merkle root\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"getCreatorAuctionMerkleRootNonce(address,bytes32)\":{\"notice\":\"Gets the current nonce for a user's Merkle root\"},\"getMerkleAuctionConfig(address,bytes32)\":{\"notice\":\"Gets the Merkle auction configuration for a given creator and root\"},\"getTokenAuctionNonce(address,bytes32,address,uint256)\":{\"notice\":\"Gets the nonce for a specific token under a Merkle root\"},\"getUserAuctionMerkleRoots(address)\":{\"notice\":\"Gets all Merkle roots registered by a user\"},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"notice\":\"Verifies if a token is included in a Merkle root\"},\"registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Registers a new Merkle root for auction configuration\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The interface for the SuperRareAuctionHouseV2 Functions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/auctionhouse/ISuperRareAuctionHouseV2.sol\":\"ISuperRareAuctionHouseV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/v2/auctionhouse/ISuperRareAuctionHouseV2.sol\":{\"keccak256\":\"0xe3b08a1606ceb69903591867eb5bd26e945167c1dde948caf551e4c7b1fc5d39\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309469545ccfa63701ad4e6844101ca13037fd9c3f8bcddf3d79aae5ea147f02\",\"dweb:/ipfs/QmZRfr9wEj8hrBUbPbo8PsBYTzpLFmQFicm8WxeKYmruko\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_firstBid","type":"bool","indexed":false},{"internalType":"uint256","name":"_marketplaceFee","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"bidder","type":"address","indexed":true},{"internalType":"address","name":"creator","type":"address","indexed":false},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"AuctionMerkleBid","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true}],"type":"event","name":"AuctionMerkleRootCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"startingAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"duration","type":"uint256","indexed":false},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"AuctionMerkleRootRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"address","name":"_bidder","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_marketplaceFee","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":false}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":false},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_startingAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"originContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"bidAmount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"bidWithAuctionMerkleProof"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuctionMerkleRoot"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getCreatorAuctionMerkleRootNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"creator","type":"address"},{"internalType":"bytes32","name":"root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMerkleAuctionConfig","outputs":[{"internalType":"struct ISuperRareAuctionHouseV2.MerkleAuctionConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"startingAmount","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"address payable[]","name":"splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"},{"internalType":"uint256","name":"nonce","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"creator","type":"address"},{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTokenAuctionNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserAuctionMerkleRoots","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"address","name":"origin","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"isTokenInRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"startingAmount","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"address payable[]","name":"splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"registerAuctionMerkleRoot"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"}],"devdoc":{"kind":"dev","methods":{"bid(address,uint256,address,uint256)":{"params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])":{"params":{"bidAmount":"The amount of the bid","creator":"The creator of the auction","merkleRoot":"The root hash of the Merkle tree","originContract":"The contract address of the token","proof":"The Merkle proof verifying token inclusion","tokenId":"The ID of the token being bid on"}},"cancelAuction(address,uint256)":{"params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"cancelAuctionMerkleRoot(bytes32)":{"params":{"root":"The Merkle root to cancel"}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startTime":"The time the auction should start.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"getCreatorAuctionMerkleRootNonce(address,bytes32)":{"params":{"root":"The Merkle root","user":"The address of the user"},"returns":{"_0":"The current nonce value"}},"getMerkleAuctionConfig(address,bytes32)":{"params":{"creator":"The address of the creator","root":"The Merkle root"},"returns":{"_0":"The MerkleAuctionConfig struct containing the auction configuration"}},"getTokenAuctionNonce(address,bytes32,address,uint256)":{"params":{"creator":"The creator of the auction","root":"The Merkle root","tokenContract":"The token contract address","tokenId":"The token ID"},"returns":{"_0":"The current nonce for this token"}},"getUserAuctionMerkleRoots(address)":{"params":{"user":"The address of the user"},"returns":{"_0":"An array of Merkle roots"}},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"params":{"origin":"The contract address of the token","proof":"The Merkle proof for verification","root":"The Merkle root to check against","tokenId":"The ID of the token"},"returns":{"_0":"True if the token is included in the root, false otherwise"}},"registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])":{"params":{"currency":"The currency address for the auction","duration":"The length of the auction in seconds","merkleRoot":"The root hash of the Merkle tree containing token IDs","splitAddresses":"The addresses to split the proceeds with","splitRatios":"The ratios for each split address","startingAmount":"The minimum bid amount"}},"settleAuction(address,uint256)":{"params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}}},"version":1},"userdoc":{"kind":"user","methods":{"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])":{"notice":"Places a bid using a Merkle proof to verify token inclusion"},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"cancelAuctionMerkleRoot(bytes32)":{"notice":"Cancels a previously registered Merkle root"},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"getCreatorAuctionMerkleRootNonce(address,bytes32)":{"notice":"Gets the current nonce for a user's Merkle root"},"getMerkleAuctionConfig(address,bytes32)":{"notice":"Gets the Merkle auction configuration for a given creator and root"},"getTokenAuctionNonce(address,bytes32,address,uint256)":{"notice":"Gets the nonce for a specific token under a Merkle root"},"getUserAuctionMerkleRoots(address)":{"notice":"Gets all Merkle roots registered by a user"},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"notice":"Verifies if a token is included in a Merkle root"},"registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])":{"notice":"Registers a new Merkle root for auction configuration"},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/auctionhouse/ISuperRareAuctionHouseV2.sol":"ISuperRareAuctionHouseV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/v2/auctionhouse/ISuperRareAuctionHouseV2.sol":{"keccak256":"0xe3b08a1606ceb69903591867eb5bd26e945167c1dde948caf551e4c7b1fc5d39","urls":["bzz-raw://309469545ccfa63701ad4e6844101ca13037fd9c3f8bcddf3d79aae5ea147f02","dweb:/ipfs/QmZRfr9wEj8hrBUbPbo8PsBYTzpLFmQFicm8WxeKYmruko"],"license":"MIT"}},"version":1},"id":224} \ No newline at end of file diff --git a/abis/ISuperRareBazaar.json b/abis/ISuperRareBazaar.json index 2c9d625..599df11 100644 --- a/abis/ISuperRareBazaar.json +++ b/abis/ISuperRareBazaar.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"buy","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"convertOfferToAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"offer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_convertible","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"removeSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_listPrice","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":"534665e9","bid(address,uint256,address,uint256)":"b5678588","buy(address,uint256,address,uint256)":"b3ffb760","cancelAuction(address,uint256)":"859b97fe","cancelOffer(address,uint256,address)":"e92f94d1","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":"060d9eeb","getAuctionDetails(address,uint256)":"0cd87c68","getSalePrice(address,uint256,address)":"369679a4","offer(address,uint256,address,uint256,bool)":"0f2b2532","removeSalePrice(address,uint256,address)":"f7cfaad0","setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":"c8f94f4e","settleAuction(address,uint256)":"5138b08c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"}],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"convertOfferToAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"getSalePrice\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"removeSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"bid(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"buy(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount the piece if being bought for.\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelOffer(address,uint256,address)\":{\"params\":{\"_currencyAddress\":\"Currency address of the offer.\",\"_originContract\":\"Contract address of token.\",\"_tokenId\":\"TokenId that has an offer.\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount being converted into an auction.\",\"_currencyAddress\":\"Address of the currency being converted.\",\"_lengthOfAuction\":\"Number of seconds the auction will last.\",\"_originContract\":\"Contract address of the asset.\",\"_splitAddresses\":\"Addresses that the sellers take in will be split amongst.\",\"_splitRatios\":\"Ratios that the take in will be split by.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"offer(address,uint256,address,uint256,bool)\":{\"params\":{\"_amount\":\"Amount being offered.\",\"_convertible\":\"If the offer can be converted into an auction\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Contract address of the asset being listed.\",\"_tokenId\":\"Token Id of the asset.\"}},\"removeSalePrice(address,uint256,address)\":{\"params\":{\"_originContract\":\"The origin contract of the asset.\",\"_target\":\"The address of the person\",\"_tokenId\":\"The tokenId of the asset within the _originContract.\"}},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"params\":{\"_currencyAddress\":\"Contract address of the currency asset is being listed for.\",\"_listPrice\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_originContract\":\"Contract address of the asset being listed.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_target\":\"Address of the person this sale price is target to.\",\"_tokenId\":\"Token Id of the asset.\"}},\"settleAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}}},\"title\":\"ISuperRareBazaar\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept an offer placed on _originContract : _tokenId.\"},\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"buy(address,uint256,address,uint256)\":{\"notice\":\"Purchases the token for the current sale price.\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"cancelOffer(address,uint256,address)\":{\"notice\":\"Cancels an existing offer the sender has placed on a piece.\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Converts an offer into a coldie auction.\"},\"offer(address,uint256,address,uint256,bool)\":{\"notice\":\"Create an offer for a given asset\"},\"removeSalePrice(address,uint256,address)\":{\"notice\":\"Removes the current sale price of an asset for the given currency.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"notice\":\"Sets a sale price for the given asset(s).\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"Interface for the SuperRareBazaar Contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/bazaar/ISuperRareBazaar.sol\":\"ISuperRareBazaar\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/bazaar/ISuperRareBazaar.sol\":{\"keccak256\":\"0xb75cb39f8c63e813a2891b41ae6c835903c975b2646b689936c51bc6d3a74546\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://616f9aa0a4ae90da19f46b62041eadeef64b13a9e1870ac9791cb94f85c62805\",\"dweb:/ipfs/QmeqhUs6pzfsTUoarSArUMrtmHvvMYnTD4XiFLAj6KwaWk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buy"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelOffer"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"convertOfferToAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"view","type":"function","name":"getSalePrice","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_convertible","type":"bool"}],"stateMutability":"payable","type":"function","name":"offer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_listPrice","type":"uint256"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"}],"devdoc":{"kind":"dev","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount the offer was for/and is being accepted.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"bid(address,uint256,address,uint256)":{"params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"buy(address,uint256,address,uint256)":{"params":{"_amount":"Amount the piece if being bought for.","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelAuction(address,uint256)":{"params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"cancelOffer(address,uint256,address)":{"params":{"_currencyAddress":"Currency address of the offer.","_originContract":"Contract address of token.","_tokenId":"TokenId that has an offer."}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_amount":"Amount being converted into an auction.","_currencyAddress":"Address of the currency being converted.","_lengthOfAuction":"Number of seconds the auction will last.","_originContract":"Contract address of the asset.","_splitAddresses":"Addresses that the sellers take in will be split amongst.","_splitRatios":"Ratios that the take in will be split by.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"offer(address,uint256,address,uint256,bool)":{"params":{"_amount":"Amount being offered.","_convertible":"If the offer can be converted into an auction","_currencyAddress":"Address of the token being offered.","_originContract":"Contract address of the asset being listed.","_tokenId":"Token Id of the asset."}},"removeSalePrice(address,uint256,address)":{"params":{"_originContract":"The origin contract of the asset.","_target":"The address of the person","_tokenId":"The tokenId of the asset within the _originContract."}},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"params":{"_currencyAddress":"Contract address of the currency asset is being listed for.","_listPrice":"Amount of the currency the asset is being listed for (including all decimal points).","_originContract":"Contract address of the asset being listed.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_target":"Address of the person this sale price is target to.","_tokenId":"Token Id of the asset."}},"settleAuction(address,uint256)":{"params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept an offer placed on _originContract : _tokenId."},"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"buy(address,uint256,address,uint256)":{"notice":"Purchases the token for the current sale price."},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"cancelOffer(address,uint256,address)":{"notice":"Cancels an existing offer the sender has placed on a piece."},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Converts an offer into a coldie auction."},"offer(address,uint256,address,uint256,bool)":{"notice":"Create an offer for a given asset"},"removeSalePrice(address,uint256,address)":{"notice":"Removes the current sale price of an asset for the given currency."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"notice":"Sets a sale price for the given asset(s)."},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/bazaar/ISuperRareBazaar.sol":"ISuperRareBazaar"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/bazaar/ISuperRareBazaar.sol":{"keccak256":"0xb75cb39f8c63e813a2891b41ae6c835903c975b2646b689936c51bc6d3a74546","urls":["bzz-raw://616f9aa0a4ae90da19f46b62041eadeef64b13a9e1870ac9791cb94f85c62805","dweb:/ipfs/QmeqhUs6pzfsTUoarSArUMrtmHvvMYnTD4XiFLAj6KwaWk"],"license":"MIT"}},"version":1},"id":150} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"buy","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"convertOfferToAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"offer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_convertible","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"removeSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_listPrice","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":"534665e9","bid(address,uint256,address,uint256)":"b5678588","buy(address,uint256,address,uint256)":"b3ffb760","cancelAuction(address,uint256)":"859b97fe","cancelOffer(address,uint256,address)":"e92f94d1","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":"060d9eeb","getAuctionDetails(address,uint256)":"0cd87c68","getSalePrice(address,uint256,address)":"369679a4","offer(address,uint256,address,uint256,bool)":"0f2b2532","removeSalePrice(address,uint256,address)":"f7cfaad0","setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":"c8f94f4e","settleAuction(address,uint256)":"5138b08c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"}],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"convertOfferToAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"getSalePrice\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"removeSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"bid(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"buy(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount the piece if being bought for.\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelOffer(address,uint256,address)\":{\"params\":{\"_currencyAddress\":\"Currency address of the offer.\",\"_originContract\":\"Contract address of token.\",\"_tokenId\":\"TokenId that has an offer.\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount being converted into an auction.\",\"_currencyAddress\":\"Address of the currency being converted.\",\"_lengthOfAuction\":\"Number of seconds the auction will last.\",\"_originContract\":\"Contract address of the asset.\",\"_splitAddresses\":\"Addresses that the sellers take in will be split amongst.\",\"_splitRatios\":\"Ratios that the take in will be split by.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"offer(address,uint256,address,uint256,bool)\":{\"params\":{\"_amount\":\"Amount being offered.\",\"_convertible\":\"If the offer can be converted into an auction\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Contract address of the asset being listed.\",\"_tokenId\":\"Token Id of the asset.\"}},\"removeSalePrice(address,uint256,address)\":{\"params\":{\"_originContract\":\"The origin contract of the asset.\",\"_target\":\"The address of the person\",\"_tokenId\":\"The tokenId of the asset within the _originContract.\"}},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"params\":{\"_currencyAddress\":\"Contract address of the currency asset is being listed for.\",\"_listPrice\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_originContract\":\"Contract address of the asset being listed.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_target\":\"Address of the person this sale price is target to.\",\"_tokenId\":\"Token Id of the asset.\"}},\"settleAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}}},\"title\":\"ISuperRareBazaar\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept an offer placed on _originContract : _tokenId.\"},\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"buy(address,uint256,address,uint256)\":{\"notice\":\"Purchases the token for the current sale price.\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"cancelOffer(address,uint256,address)\":{\"notice\":\"Cancels an existing offer the sender has placed on a piece.\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Converts an offer into a coldie auction.\"},\"offer(address,uint256,address,uint256,bool)\":{\"notice\":\"Create an offer for a given asset\"},\"removeSalePrice(address,uint256,address)\":{\"notice\":\"Removes the current sale price of an asset for the given currency.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"notice\":\"Sets a sale price for the given asset(s).\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"Interface for the SuperRareBazaar Contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/bazaar/ISuperRareBazaar.sol\":\"ISuperRareBazaar\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/bazaar/ISuperRareBazaar.sol\":{\"keccak256\":\"0xb75cb39f8c63e813a2891b41ae6c835903c975b2646b689936c51bc6d3a74546\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://616f9aa0a4ae90da19f46b62041eadeef64b13a9e1870ac9791cb94f85c62805\",\"dweb:/ipfs/QmeqhUs6pzfsTUoarSArUMrtmHvvMYnTD4XiFLAj6KwaWk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buy"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelOffer"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"convertOfferToAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"view","type":"function","name":"getSalePrice","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_convertible","type":"bool"}],"stateMutability":"payable","type":"function","name":"offer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_listPrice","type":"uint256"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"}],"devdoc":{"kind":"dev","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount the offer was for/and is being accepted.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"bid(address,uint256,address,uint256)":{"params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"buy(address,uint256,address,uint256)":{"params":{"_amount":"Amount the piece if being bought for.","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelAuction(address,uint256)":{"params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"cancelOffer(address,uint256,address)":{"params":{"_currencyAddress":"Currency address of the offer.","_originContract":"Contract address of token.","_tokenId":"TokenId that has an offer."}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_amount":"Amount being converted into an auction.","_currencyAddress":"Address of the currency being converted.","_lengthOfAuction":"Number of seconds the auction will last.","_originContract":"Contract address of the asset.","_splitAddresses":"Addresses that the sellers take in will be split amongst.","_splitRatios":"Ratios that the take in will be split by.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"offer(address,uint256,address,uint256,bool)":{"params":{"_amount":"Amount being offered.","_convertible":"If the offer can be converted into an auction","_currencyAddress":"Address of the token being offered.","_originContract":"Contract address of the asset being listed.","_tokenId":"Token Id of the asset."}},"removeSalePrice(address,uint256,address)":{"params":{"_originContract":"The origin contract of the asset.","_target":"The address of the person","_tokenId":"The tokenId of the asset within the _originContract."}},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"params":{"_currencyAddress":"Contract address of the currency asset is being listed for.","_listPrice":"Amount of the currency the asset is being listed for (including all decimal points).","_originContract":"Contract address of the asset being listed.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_target":"Address of the person this sale price is target to.","_tokenId":"Token Id of the asset."}},"settleAuction(address,uint256)":{"params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept an offer placed on _originContract : _tokenId."},"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"buy(address,uint256,address,uint256)":{"notice":"Purchases the token for the current sale price."},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"cancelOffer(address,uint256,address)":{"notice":"Cancels an existing offer the sender has placed on a piece."},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Converts an offer into a coldie auction."},"offer(address,uint256,address,uint256,bool)":{"notice":"Create an offer for a given asset"},"removeSalePrice(address,uint256,address)":{"notice":"Removes the current sale price of an asset for the given currency."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"notice":"Sets a sale price for the given asset(s)."},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/bazaar/ISuperRareBazaar.sol":"ISuperRareBazaar"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"src/bazaar/ISuperRareBazaar.sol":{"keccak256":"0xb75cb39f8c63e813a2891b41ae6c835903c975b2646b689936c51bc6d3a74546","urls":["bzz-raw://616f9aa0a4ae90da19f46b62041eadeef64b13a9e1870ac9791cb94f85c62805","dweb:/ipfs/QmeqhUs6pzfsTUoarSArUMrtmHvvMYnTD4XiFLAj6KwaWk"],"license":"MIT"}},"version":1},"id":59} \ No newline at end of file diff --git a/abis/ISuperRareMarketplace.json b/abis/ISuperRareMarketplace.json index 9f644a2..b100604 100644 --- a/abis/ISuperRareMarketplace.json +++ b/abis/ISuperRareMarketplace.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"buy","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"offer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_convertible","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"removeSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_listPrice","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":"534665e9","buy(address,uint256,address,uint256)":"b3ffb760","cancelOffer(address,uint256,address)":"e92f94d1","offer(address,uint256,address,uint256,bool)":"0f2b2532","removeSalePrice(address,uint256,address)":"f7cfaad0","setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":"c8f94f4e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"}],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"removeSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"buy(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount the piece if being bought for (excluding marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelOffer(address,uint256,address)\":{\"params\":{\"_currencyAddress\":\"Currency address of the offer.\",\"_originContract\":\"Contract address of token.\",\"_tokenId\":\"TokenId that has an offer.\"}},\"offer(address,uint256,address,uint256,bool)\":{\"params\":{\"_amount\":\"Amount being offered (excluding marketplace fee).\",\"_convertible\":\"If the offer can be converted into an auction\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Contract address of the asset being listed.\",\"_tokenId\":\"Token Id of the asset.\"}},\"removeSalePrice(address,uint256,address)\":{\"params\":{\"_originContract\":\"The origin contract of the asset.\",\"_target\":\"The address of the person\",\"_tokenId\":\"The tokenId of the asset within the _originContract.\"}},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"params\":{\"_currencyAddress\":\"Contract address of the currency asset is being listed for.\",\"_listPrice\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_originContract\":\"Contract address of the asset being listed.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_target\":\"Address of the person this sale price is target to.\",\"_tokenId\":\"Token Id of the asset.\"}}},\"title\":\"ISuperRareMarketplace\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept an offer placed on _originContract : _tokenId.\"},\"buy(address,uint256,address,uint256)\":{\"notice\":\"Purchases the token for the current sale price.\"},\"cancelOffer(address,uint256,address)\":{\"notice\":\"Cancels an existing offer the sender has placed on a piece.\"},\"offer(address,uint256,address,uint256,bool)\":{\"notice\":\"Place an offer for a given asset\"},\"removeSalePrice(address,uint256,address)\":{\"notice\":\"Removes the current sale price of an asset for _target for the given currency.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"notice\":\"Sets a sale price for the given asset(s) directed at the _target address.\"}},\"notice\":\"The interface for the SuperRareMarketplace Functions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/ISuperRareMarketplace.sol\":\"ISuperRareMarketplace\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/marketplace/ISuperRareMarketplace.sol\":{\"keccak256\":\"0xc6c1021d1e1c6d967c7c20faf2528b667cc30fb8953f1629b9c8b56da7a6edde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbdf24cf7d91810d0287feeef80226191edb7ffd582127205075c6b92a807ca4\",\"dweb:/ipfs/QmR7PBriB7sw2EsUJWnGgrPtqiUNYMr9g4WsuEncEqcUMi\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buy"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_convertible","type":"bool"}],"stateMutability":"payable","type":"function","name":"offer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_listPrice","type":"uint256"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setSalePrice"}],"devdoc":{"kind":"dev","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount the offer was for/and is being accepted.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"buy(address,uint256,address,uint256)":{"params":{"_amount":"Amount the piece if being bought for (excluding marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelOffer(address,uint256,address)":{"params":{"_currencyAddress":"Currency address of the offer.","_originContract":"Contract address of token.","_tokenId":"TokenId that has an offer."}},"offer(address,uint256,address,uint256,bool)":{"params":{"_amount":"Amount being offered (excluding marketplace fee).","_convertible":"If the offer can be converted into an auction","_currencyAddress":"Address of the token being offered.","_originContract":"Contract address of the asset being listed.","_tokenId":"Token Id of the asset."}},"removeSalePrice(address,uint256,address)":{"params":{"_originContract":"The origin contract of the asset.","_target":"The address of the person","_tokenId":"The tokenId of the asset within the _originContract."}},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"params":{"_currencyAddress":"Contract address of the currency asset is being listed for.","_listPrice":"Amount of the currency the asset is being listed for (including all decimal points).","_originContract":"Contract address of the asset being listed.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_target":"Address of the person this sale price is target to.","_tokenId":"Token Id of the asset."}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept an offer placed on _originContract : _tokenId."},"buy(address,uint256,address,uint256)":{"notice":"Purchases the token for the current sale price."},"cancelOffer(address,uint256,address)":{"notice":"Cancels an existing offer the sender has placed on a piece."},"offer(address,uint256,address,uint256,bool)":{"notice":"Place an offer for a given asset"},"removeSalePrice(address,uint256,address)":{"notice":"Removes the current sale price of an asset for _target for the given currency."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"notice":"Sets a sale price for the given asset(s) directed at the _target address."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/ISuperRareMarketplace.sol":"ISuperRareMarketplace"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/marketplace/ISuperRareMarketplace.sol":{"keccak256":"0xc6c1021d1e1c6d967c7c20faf2528b667cc30fb8953f1629b9c8b56da7a6edde","urls":["bzz-raw://dbdf24cf7d91810d0287feeef80226191edb7ffd582127205075c6b92a807ca4","dweb:/ipfs/QmR7PBriB7sw2EsUJWnGgrPtqiUNYMr9g4WsuEncEqcUMi"],"license":"MIT"}},"version":1},"id":50} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"buy","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"offer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_convertible","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"removeSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_listPrice","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":"534665e9","buy(address,uint256,address,uint256)":"b3ffb760","cancelOffer(address,uint256,address)":"e92f94d1","offer(address,uint256,address,uint256,bool)":"0f2b2532","removeSalePrice(address,uint256,address)":"f7cfaad0","setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":"c8f94f4e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"}],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"removeSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"buy(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount the piece if being bought for (excluding marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelOffer(address,uint256,address)\":{\"params\":{\"_currencyAddress\":\"Currency address of the offer.\",\"_originContract\":\"Contract address of token.\",\"_tokenId\":\"TokenId that has an offer.\"}},\"offer(address,uint256,address,uint256,bool)\":{\"params\":{\"_amount\":\"Amount being offered (excluding marketplace fee).\",\"_convertible\":\"If the offer can be converted into an auction\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Contract address of the asset being listed.\",\"_tokenId\":\"Token Id of the asset.\"}},\"removeSalePrice(address,uint256,address)\":{\"params\":{\"_originContract\":\"The origin contract of the asset.\",\"_target\":\"The address of the person\",\"_tokenId\":\"The tokenId of the asset within the _originContract.\"}},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"params\":{\"_currencyAddress\":\"Contract address of the currency asset is being listed for.\",\"_listPrice\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_originContract\":\"Contract address of the asset being listed.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_target\":\"Address of the person this sale price is target to.\",\"_tokenId\":\"Token Id of the asset.\"}}},\"title\":\"ISuperRareMarketplace\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept an offer placed on _originContract : _tokenId.\"},\"buy(address,uint256,address,uint256)\":{\"notice\":\"Purchases the token for the current sale price.\"},\"cancelOffer(address,uint256,address)\":{\"notice\":\"Cancels an existing offer the sender has placed on a piece.\"},\"offer(address,uint256,address,uint256,bool)\":{\"notice\":\"Place an offer for a given asset\"},\"removeSalePrice(address,uint256,address)\":{\"notice\":\"Removes the current sale price of an asset for _target for the given currency.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"notice\":\"Sets a sale price for the given asset(s) directed at the _target address.\"}},\"notice\":\"The interface for the SuperRareMarketplace Functions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/ISuperRareMarketplace.sol\":\"ISuperRareMarketplace\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/marketplace/ISuperRareMarketplace.sol\":{\"keccak256\":\"0xc6c1021d1e1c6d967c7c20faf2528b667cc30fb8953f1629b9c8b56da7a6edde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbdf24cf7d91810d0287feeef80226191edb7ffd582127205075c6b92a807ca4\",\"dweb:/ipfs/QmR7PBriB7sw2EsUJWnGgrPtqiUNYMr9g4WsuEncEqcUMi\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buy"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_convertible","type":"bool"}],"stateMutability":"payable","type":"function","name":"offer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_listPrice","type":"uint256"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setSalePrice"}],"devdoc":{"kind":"dev","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount the offer was for/and is being accepted.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"buy(address,uint256,address,uint256)":{"params":{"_amount":"Amount the piece if being bought for (excluding marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelOffer(address,uint256,address)":{"params":{"_currencyAddress":"Currency address of the offer.","_originContract":"Contract address of token.","_tokenId":"TokenId that has an offer."}},"offer(address,uint256,address,uint256,bool)":{"params":{"_amount":"Amount being offered (excluding marketplace fee).","_convertible":"If the offer can be converted into an auction","_currencyAddress":"Address of the token being offered.","_originContract":"Contract address of the asset being listed.","_tokenId":"Token Id of the asset."}},"removeSalePrice(address,uint256,address)":{"params":{"_originContract":"The origin contract of the asset.","_target":"The address of the person","_tokenId":"The tokenId of the asset within the _originContract."}},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"params":{"_currencyAddress":"Contract address of the currency asset is being listed for.","_listPrice":"Amount of the currency the asset is being listed for (including all decimal points).","_originContract":"Contract address of the asset being listed.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_target":"Address of the person this sale price is target to.","_tokenId":"Token Id of the asset."}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept an offer placed on _originContract : _tokenId."},"buy(address,uint256,address,uint256)":{"notice":"Purchases the token for the current sale price."},"cancelOffer(address,uint256,address)":{"notice":"Cancels an existing offer the sender has placed on a piece."},"offer(address,uint256,address,uint256,bool)":{"notice":"Place an offer for a given asset"},"removeSalePrice(address,uint256,address)":{"notice":"Removes the current sale price of an asset for _target for the given currency."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"notice":"Sets a sale price for the given asset(s) directed at the _target address."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/ISuperRareMarketplace.sol":"ISuperRareMarketplace"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/marketplace/ISuperRareMarketplace.sol":{"keccak256":"0xc6c1021d1e1c6d967c7c20faf2528b667cc30fb8953f1629b9c8b56da7a6edde","urls":["bzz-raw://dbdf24cf7d91810d0287feeef80226191edb7ffd582127205075c6b92a807ca4","dweb:/ipfs/QmR7PBriB7sw2EsUJWnGgrPtqiUNYMr9g4WsuEncEqcUMi"],"license":"MIT"}},"version":1},"id":173} \ No newline at end of file diff --git a/abis/ITokenCreator.json b/abis/ITokenCreator.json index 7ceedb4..a841b45 100644 --- a/abis/ITokenCreator.json +++ b/abis/ITokenCreator.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"tokenCreator(uint256)":"40c1a064"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/ITokenCreator.sol\":\"ITokenCreator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/ITokenCreator.sol":"ITokenCreator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":214} \ No newline at end of file +{"abi":[{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"tokenCreator(uint256)":"40c1a064"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/ITokenCreator.sol\":\"ITokenCreator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/ITokenCreator.sol":"ITokenCreator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":235} \ No newline at end of file diff --git a/abis/LazySovereignNFT.json b/abis/LazySovereignNFT.json index 491d334..178a08c 100644 --- a/abis/LazySovereignNFT.json +++ b/abis/LazySovereignNFT.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMintConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct LazySovereignNFT.MintConfig","components":[{"name":"numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"},{"name":"lockedMetadata","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedMinter","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockBaseURI","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prepareMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prepareMintWithMinter","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"_minter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinterApproval","inputs":[{"name":"_minter","type":"address","internalType":"address"},{"name":"_isMinter","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseURI","inputs":[{"name":"_baseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_metadataUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MetadataLocked","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"MetadataUpdated","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepareMint","inputs":[{"name":"numberOfTokens","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadataUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657612a3d908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461194c5750806306fdde03146118a2578063081812fc14611882578063095ea7b3146117125780630de54ba0146116c357806318160ddd146116a357806318e97fd11461149157806323b872dd1461146c5780632a55205a146113da5780633403c4e9146113b15780633a3d146f146113725780633ebc82c51461133057806340c1a0641461130657806342842e0e146112d257806342966c68146112b557806353df5c7c146112535780635edc7c1914610d485780636297c16c14610ccc5780636352211e14610c9b57806370a0823114610c05578063715018a614610ba8578063755edd1714610964578063894ba833146109165780638da5cb5b146108ed578063931688cb1461071d5780639338bb5d1461068457806395d89b411461059f578063a22cb465146104de578063ab69607a146104bf578063b390ac2514610485578063b88d4fde146103fa578063b9fbd25c14610378578063c87b56dd1461033d578063e83157421461031d578063e985e9c5146102cf578063ee070805146102ac578063efc32cd4146102595763f2fde38b146101c557600080fd5b34610255576020366003190112610255576101de611a31565b916101e7611bcd565b6001600160a01b03831615610203578361020084611c25565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102a857806003193601126102a857610273611a31565b9061027c611bcd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102a857816003193601126102a85760209060ff80541690519015158152f35b5050346102a857806003193601126102a85760ff816020936102ef611a31565b6102f7611a62565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102a857816003193601126102a857602090610100549051908152f35b509134610375576020366003190112610375575061035e6103719235612422565b9051918291602083526020830190611a0c565b0390f35b80fd5b503461025557606036600319011261025557803567ffffffffffffffff81116103f6576103d5916103ab91369101611aa7565b91906103b5611a4c565b926103be611bcd565b6103cc60ff805416156123ae565b602435916127ae565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b8380fd5b8382346102a85760803660031901126102a857610415611a31565b9061041e611a62565b916044356064359367ffffffffffffffff851161048157366023860112156104815761045961047c9486602461020098369301359101611b96565b9261046c6104678433611ed6565b611dfd565b610477838383611f9e565b6121cb565b611eb2565b8580fd5b509034610255573660031901126102a857803567ffffffffffffffff811161025557610200916104b791369101611aa7565b6103be611bcd565b5050346102a857816003193601126102a85760209060fc549051908152f35b509034610255576104ee36611a78565b6001600160a01b039091169290919033841461055d5750338452609c60205280842083855260205261052e828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b5050346102a857816003193601126102a857805190826098546105c181611ce0565b8085529160019180831690811561065c57506001146105ff575b5050506105ed82610371940383611b58565b51918291602083526020830190611a0c565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610644575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101610627565b6103719750869350602092506105ed94915060ff191682840152151560051b820101946105db565b8284346103755780600319360112610375578180516106a281611b0a565b82815260606020820152015280516106b981611b0a565b6101055481528151916106d6836106cf81611d1a565b0384611b58565b6020820192835261071060ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190611a0c565b9051151560608301520390f35b508290346102a8576020806003193601126102555767ffffffffffffffff9082358281116108e9576107529036908501611aa7565b93909261075d611bcd565b60ff610107541661089d57841161088a575061010690610786846107818454611ce0565b61234e565b8490601f85116001146107f35750946107e2918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e97916107e8575b508560011b906000198760031b1c19161790555b51928392836123fa565b0390a180f35b9050840135886107c4565b90601f1985168387526000805160206129e88339815191529287905b828210610872575050916107e29391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610858575b5050600185811b0190556107d8565b850135600019600388901b60f8161c191690558780610849565b80600185968294968a0135815501950193019061080f565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b5050346102a857816003193601126102a85760335490516001600160a01b039091168152602090f35b833461037557806003193601126103755761092f611bcd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102a8576020928360031936011261025557610982611a31565b9261099160ff805416156123ae565b6033546001600160a01b039190821633148015610b93575b15610b375760fc548260fb541692610104966001885401809855610100548811610af6578651916109d983611b3c565b8483528116958615610ab5575061047c8794939289610a9893610a1a610a1483600052609960205260018060a01b0360406000205416151590565b15612762565b600082815260996020526040902054610a3d906001600160a01b03161515610a14565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46120af565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff84822054166109a9565b8334610375578060031936011261037557610bc1611bcd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102a85760203660031901126102a8576001600160a01b03610c29611a31565b16908115610c46576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611cba565b90516001600160a01b039091168152f35b503461025557602036600319011261025557803591610cea83611cba565b336001600160a01b0390911603610d05578361020084612256565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b508290346102a85760803660031901126102a85767ffffffffffffffff9281358481116103f657610d7c9036908401611aa7565b929060243586811161048157610d959036908401611aa7565b610da0979197611a4c565b9387549860ff94858b60081c16159889809a611247575b8015611231575b156111d75760ff19808d1660019081178d559b9c999a998a6111c6575b506001600160a01b038916156111835791610e2e91610e1e898f610e369796600a60fc558254168255606435610100555460081c16610e19816122ee565b6122ee565b610e2733611c25565b3691611b96565b933691611b96565b90610e4a858b5460081c16610e19816122ee565b82518481116111705780610e5f609754611ce0565b94601f958681116110ff575b506020908d8784116001146110805792611075575b5050600019600383901b1c1916908a1b176097555b81519384116110625750610eaa609854611ce0565b828111610fff575b506020918311600114610f73579180610f27959492610eff948b92610f68575b5050600019600383901b1c191690881b176098555b875460081c16610ef6816122ee565b610e19816122ee565b60fb80546001600160a01b0319166001600160a01b038316179055610f22611bcd565b611c25565b610f2f578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610ed2565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610fe7575091610eff95939185610f279998969410610fce575b505050811b01609855610ee7565b015160001960f88460031b161c191690558a8080610fc0565b8284015185558b969094019360209384019301610fa3565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611059575b0160051c019089905b82811061104e575050610eb2565b8b8155018990611040565b92508192611037565b634e487b7160e01b8a5260419052602489fd5b015190508c80610e80565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106110e7575084116110ce575b505050811b01609755610e95565b015160001960f88460031b161c191690558c80806110c0565b8284015185558f9690940193602093840193016110b1565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611167575b859493910160051c909101908d908f5b83821061115957505050610e6b565b81558594508e91018f61114a565b9250819261113a565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610ddb565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610dbe57506001878d1614610dbe565b506001878d1610610db7565b5050346102a857816003193601126102a8577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061128f611bcd565b5160208152806112a160208201611d1a565b0390a1610107805460ff1916600117905580f35b8382346102a85760203660031901126102a8576102009035612256565b5050346102a85761047c610200916112e936611ad5565b919251926112f684611b3c565b86845261046c6104678433611ed6565b5050346102a85760203660031901126102a85760335490516001600160a01b039091168152602090f35b83346103755760203660031901126103755761020061134d611a31565b611355611bcd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102a85760203660031901126102a85760209160ff9082906001600160a01b0361139d611a31565b168152610102855220541690519015158152f35b5050346102a857816003193601126102a85760fb5490516001600160a01b039091168152602090f35b5091346103755781600319360112610375578235815260fd60205281812054602435906001600160a01b03908116801561146057925b60fe60205284812054801561145657925b8381029381850414901517156114435750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611421565b508060fb541692611410565b83346103755761020061147e36611ad5565b9161148c6104678433611ed6565b611f9e565b508290346102a857826003193601126102a85780359067ffffffffffffffff906024358281116108e9576114c89036908301611aa7565b9290916114d3611bcd565b60ff610107541661165557848652602090610103825287872092851161164257506114fe8254611ce0565b601f81116115ff575b508590601f8511600114611574575095611563918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd97989161156957508560011b906000198760031b1c191617905551928392836123fa565b0390a280f35b9050840135896107c4565b90601f1985168388528288209288905b8282106115e7575050916115639391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a94106115cd575050600185811b0190556107d8565b850135600019600388901b60f8161c191690558880610849565b80600185968294968a01358155019501930190611584565b828752818720601f860160051c810191838710611638575b601f0160051c01905b81811061162d5750611507565b878155600101611620565b9091508190611617565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b5050346102a857816003193601126102a857602090610104549051908152f35b5050346102a857610200906116d736611a78565b91906116e1611bcd565b6116ef60ff805416156123ae565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b503461025557816003193601126102555761172b611a31565b6024359290916001600160a01b039190828061174687611cba565b1694169380851461183557803314908115611816575b50156117ae5750838552609b602052842080546001600160a01b0319168317905561178683611cba565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861175c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611dbf565b5050346102a857816003193601126102a857805190826097546118c481611ce0565b8085529160019180831690811561065c57506001146118ef575050506105ed82610371940383611b58565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611934575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101611917565b92505034610255576020366003190112610255573563ffffffff60e01b8116908181036103f65760209350631030681960e21b82149182156119d8575b82156119af575b50811561199f575b5015158152f35b6119a9915061271e565b38611998565b90915063152a902d60e11b1480156119c9575b9038611990565b506119d38161271e565b6119c2565b6301ffc9a760e01b81149250611989565b60005b8381106119fc5750506000910152565b81810151838201526020016119ec565b90602091611a25815180928185528580860191016119e9565b601f01601f1916010190565b600435906001600160a01b0382168203611a4757565b600080fd5b604435906001600160a01b0382168203611a4757565b602435906001600160a01b0382168203611a4757565b6040906003190112611a47576004356001600160a01b0381168103611a4757906024358015158103611a475790565b9181601f84011215611a475782359167ffffffffffffffff8311611a475760208381860195010111611a4757565b6060906003190112611a47576001600160a01b03906004358281168103611a4757916024359081168103611a47579060443590565b6060810190811067ffffffffffffffff821117611b2657604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff821117611b2657604052565b90601f8019910116810190811067ffffffffffffffff821117611b2657604052565b67ffffffffffffffff8111611b2657601f01601f191660200190565b929192611ba282611b7a565b91611bb06040519384611b58565b829481845281830111611a47578281602093846000960137010152565b6033546001600160a01b03163303611be157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15611c7557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b0316611cdd811515611c6e565b90565b90600182811c92168015611d10575b6020831014611cfa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611cef565b90600091610106908154611d2d81611ce0565b80835292600191808316908115611d9a5750600114611d4d575b50505050565b90929394506000526000805160206129e8833981519152916000925b848410611d825750506020925001019038808080611d47565b80546020858501810191909152909301928101611d69565b92505050602093945060ff929192191683830152151560051b01019038808080611d47565b600081815260996020526040902054611de2906001600160a01b03161515611c6e565b6000908152609b60205260409020546001600160a01b031690565b15611e0457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611eb957565b60405162461bcd60e51b815280611ed260048201611e5f565b0390fd5b906001600160a01b038080611eea84611cba565b16931691838314938415611f1d575b508315611f07575b50505090565b611f1391929350611dbf565b1614388080611f01565b909350600052609c60205260406000208260005260205260ff604060002054169238611ef9565b15611f4b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611fc691611fac84611cba565b6001600160a01b0393918416928492909183168414611f44565b1691821561205e5781611fe391611fdc86611cba565b1614611f44565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156121c1576120fd946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611a0c565b03926001600160a01b03165af1849181612181575b50612170575050503d600014612168573d61212c81611b7a565b9061213a6040519283611b58565b81528091833d92013e5b805191826121655760405162461bcd60e51b815280611ed260048201611e5f565b01fd5b506060612144565b6001600160e01b0319161492509050565b9091508581813d83116121ba575b6121998183611b58565b810103126108e957516001600160e01b0319811681036108e9579038612112565b503d61218f565b5050915050600190565b9293600093909291803b1561224b579484916122259660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611a0c565b0393165af18491816121815750612170575050503d600014612168573d61212c81611b7a565b505050915050600190565b6122636104678233611ed6565b61226c81611cba565b5061227681611cba565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b156122f557565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f811161235a575050565b60009061010682526000805160206129e8833981519152906020601f850160051c830194106123a4575b601f0160051c01915b82811061239957505050565b81815560010161238d565b9092508290612384565b156123b557565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b6000908082526101039060209082825260409261244184862054611ce0565b612676575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612669575b50506d04ee2d6d415b85acef81000000008086101561265b575b50662386f26fc100008086101561264c575b506305f5e1008086101561263d575b506127108086101561262e575b50606485101561261e575b600a80951015612614575b600194858401968660216124fa6124e58b611b7a565b9a6124f287519c8d611b58565b808c52611b7a565b8a89019790601f19013689378a0101905b6125e5575b50505051948593826101069081549161252883611ce0565b928981169081156125c4575060011461257d575b50505050600693928261256964173539b7b760d91b93602f60f81b611cdd999652518093868401906119e9565b019182015203601919810184520182611b58565b815292935090916000805160206129e88339815191525b8282106125ae575050840101908281612569611cdd61253c565b8054898301850152889650908301908701612594565b60ff1916858a01525050508015150285010191508281612569611cdd61253c565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530490878261250b5750612510565b91600101916124cf565b91936064600291049401916124c4565b600491939504940191386124b9565b600891939504940191386124ac565b6010919395049401913861249d565b84919395049401913861248b565b0494509150813880612471565b908493929352825280832090519283918181549061269382611ce0565b808652926001928084169081156126fa57506001146126bd575b50505050611cdd92500382611b58565b815285812095935091905b8183106126e2575050611cdd9350820101388080806126ad565b855487840185015294850194869450918301916126c8565b9350505050611cdd94925060ff191682840152151560051b820101388080806126ad565b63ffffffff60e01b166380ac58cd60e01b8114908115612751575b8115612743575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612739565b1561276957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116129a3576101045461294457604051936127d085611b0a565b8285526127de368383611b96565b60209080828801526040870191600097888452516101055581519067ffffffffffffffff8211612930576101069261281a836107818654611ce0565b81601f841160011461289b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92612890575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561288b604051928392836123fa565b0390a2565b015190503880612854565b848b5292996000805160206129e883398151915293601f198c1691905b82821061291857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106128ff575b505050811b019055612869565b015160001960f88460031b161c191690553880806128f2565b806001869782949787015181550196019401906128b8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fdfec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba264697066735822122083fb0250c67ec5e0a44bcc829488c3a8af5c1f6a1d23f276998b41c14f58284764736f6c63430008120033","sourceMap":"842:12360:204:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461194c5750806306fdde03146118a2578063081812fc14611882578063095ea7b3146117125780630de54ba0146116c357806318160ddd146116a357806318e97fd11461149157806323b872dd1461146c5780632a55205a146113da5780633403c4e9146113b15780633a3d146f146113725780633ebc82c51461133057806340c1a0641461130657806342842e0e146112d257806342966c68146112b557806353df5c7c146112535780635edc7c1914610d485780636297c16c14610ccc5780636352211e14610c9b57806370a0823114610c05578063715018a614610ba8578063755edd1714610964578063894ba833146109165780638da5cb5b146108ed578063931688cb1461071d5780639338bb5d1461068457806395d89b411461059f578063a22cb465146104de578063ab69607a146104bf578063b390ac2514610485578063b88d4fde146103fa578063b9fbd25c14610378578063c87b56dd1461033d578063e83157421461031d578063e985e9c5146102cf578063ee070805146102ac578063efc32cd4146102595763f2fde38b146101c557600080fd5b34610255576020366003190112610255576101de611a31565b916101e7611bcd565b6001600160a01b03831615610203578361020084611c25565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102a857806003193601126102a857610273611a31565b9061027c611bcd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102a857816003193601126102a85760209060ff80541690519015158152f35b5050346102a857806003193601126102a85760ff816020936102ef611a31565b6102f7611a62565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102a857816003193601126102a857602090610100549051908152f35b509134610375576020366003190112610375575061035e6103719235612422565b9051918291602083526020830190611a0c565b0390f35b80fd5b503461025557606036600319011261025557803567ffffffffffffffff81116103f6576103d5916103ab91369101611aa7565b91906103b5611a4c565b926103be611bcd565b6103cc60ff805416156123ae565b602435916127ae565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b8380fd5b8382346102a85760803660031901126102a857610415611a31565b9061041e611a62565b916044356064359367ffffffffffffffff851161048157366023860112156104815761045961047c9486602461020098369301359101611b96565b9261046c6104678433611ed6565b611dfd565b610477838383611f9e565b6121cb565b611eb2565b8580fd5b509034610255573660031901126102a857803567ffffffffffffffff811161025557610200916104b791369101611aa7565b6103be611bcd565b5050346102a857816003193601126102a85760209060fc549051908152f35b509034610255576104ee36611a78565b6001600160a01b039091169290919033841461055d5750338452609c60205280842083855260205261052e828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b5050346102a857816003193601126102a857805190826098546105c181611ce0565b8085529160019180831690811561065c57506001146105ff575b5050506105ed82610371940383611b58565b51918291602083526020830190611a0c565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610644575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101610627565b6103719750869350602092506105ed94915060ff191682840152151560051b820101946105db565b8284346103755780600319360112610375578180516106a281611b0a565b82815260606020820152015280516106b981611b0a565b6101055481528151916106d6836106cf81611d1a565b0384611b58565b6020820192835261071060ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190611a0c565b9051151560608301520390f35b508290346102a8576020806003193601126102555767ffffffffffffffff9082358281116108e9576107529036908501611aa7565b93909261075d611bcd565b60ff610107541661089d57841161088a575061010690610786846107818454611ce0565b61234e565b8490601f85116001146107f35750946107e2918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e97916107e8575b508560011b906000198760031b1c19161790555b51928392836123fa565b0390a180f35b9050840135886107c4565b90601f1985168387526000805160206129e88339815191529287905b828210610872575050916107e29391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610858575b5050600185811b0190556107d8565b850135600019600388901b60f8161c191690558780610849565b80600185968294968a0135815501950193019061080f565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b5050346102a857816003193601126102a85760335490516001600160a01b039091168152602090f35b833461037557806003193601126103755761092f611bcd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102a8576020928360031936011261025557610982611a31565b9261099160ff805416156123ae565b6033546001600160a01b039190821633148015610b93575b15610b375760fc548260fb541692610104966001885401809855610100548811610af6578651916109d983611b3c565b8483528116958615610ab5575061047c8794939289610a9893610a1a610a1483600052609960205260018060a01b0360406000205416151590565b15612762565b600082815260996020526040902054610a3d906001600160a01b03161515610a14565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46120af565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff84822054166109a9565b8334610375578060031936011261037557610bc1611bcd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102a85760203660031901126102a8576001600160a01b03610c29611a31565b16908115610c46576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611cba565b90516001600160a01b039091168152f35b503461025557602036600319011261025557803591610cea83611cba565b336001600160a01b0390911603610d05578361020084612256565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b508290346102a85760803660031901126102a85767ffffffffffffffff9281358481116103f657610d7c9036908401611aa7565b929060243586811161048157610d959036908401611aa7565b610da0979197611a4c565b9387549860ff94858b60081c16159889809a611247575b8015611231575b156111d75760ff19808d1660019081178d559b9c999a998a6111c6575b506001600160a01b038916156111835791610e2e91610e1e898f610e369796600a60fc558254168255606435610100555460081c16610e19816122ee565b6122ee565b610e2733611c25565b3691611b96565b933691611b96565b90610e4a858b5460081c16610e19816122ee565b82518481116111705780610e5f609754611ce0565b94601f958681116110ff575b506020908d8784116001146110805792611075575b5050600019600383901b1c1916908a1b176097555b81519384116110625750610eaa609854611ce0565b828111610fff575b506020918311600114610f73579180610f27959492610eff948b92610f68575b5050600019600383901b1c191690881b176098555b875460081c16610ef6816122ee565b610e19816122ee565b60fb80546001600160a01b0319166001600160a01b038316179055610f22611bcd565b611c25565b610f2f578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610ed2565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610fe7575091610eff95939185610f279998969410610fce575b505050811b01609855610ee7565b015160001960f88460031b161c191690558a8080610fc0565b8284015185558b969094019360209384019301610fa3565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611059575b0160051c019089905b82811061104e575050610eb2565b8b8155018990611040565b92508192611037565b634e487b7160e01b8a5260419052602489fd5b015190508c80610e80565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106110e7575084116110ce575b505050811b01609755610e95565b015160001960f88460031b161c191690558c80806110c0565b8284015185558f9690940193602093840193016110b1565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611167575b859493910160051c909101908d908f5b83821061115957505050610e6b565b81558594508e91018f61114a565b9250819261113a565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610ddb565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610dbe57506001878d1614610dbe565b506001878d1610610db7565b5050346102a857816003193601126102a8577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061128f611bcd565b5160208152806112a160208201611d1a565b0390a1610107805460ff1916600117905580f35b8382346102a85760203660031901126102a8576102009035612256565b5050346102a85761047c610200916112e936611ad5565b919251926112f684611b3c565b86845261046c6104678433611ed6565b5050346102a85760203660031901126102a85760335490516001600160a01b039091168152602090f35b83346103755760203660031901126103755761020061134d611a31565b611355611bcd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102a85760203660031901126102a85760209160ff9082906001600160a01b0361139d611a31565b168152610102855220541690519015158152f35b5050346102a857816003193601126102a85760fb5490516001600160a01b039091168152602090f35b5091346103755781600319360112610375578235815260fd60205281812054602435906001600160a01b03908116801561146057925b60fe60205284812054801561145657925b8381029381850414901517156114435750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611421565b508060fb541692611410565b83346103755761020061147e36611ad5565b9161148c6104678433611ed6565b611f9e565b508290346102a857826003193601126102a85780359067ffffffffffffffff906024358281116108e9576114c89036908301611aa7565b9290916114d3611bcd565b60ff610107541661165557848652602090610103825287872092851161164257506114fe8254611ce0565b601f81116115ff575b508590601f8511600114611574575095611563918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd97989161156957508560011b906000198760031b1c191617905551928392836123fa565b0390a280f35b9050840135896107c4565b90601f1985168388528288209288905b8282106115e7575050916115639391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a94106115cd575050600185811b0190556107d8565b850135600019600388901b60f8161c191690558880610849565b80600185968294968a01358155019501930190611584565b828752818720601f860160051c810191838710611638575b601f0160051c01905b81811061162d5750611507565b878155600101611620565b9091508190611617565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b5050346102a857816003193601126102a857602090610104549051908152f35b5050346102a857610200906116d736611a78565b91906116e1611bcd565b6116ef60ff805416156123ae565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b503461025557816003193601126102555761172b611a31565b6024359290916001600160a01b039190828061174687611cba565b1694169380851461183557803314908115611816575b50156117ae5750838552609b602052842080546001600160a01b0319168317905561178683611cba565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861175c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611dbf565b5050346102a857816003193601126102a857805190826097546118c481611ce0565b8085529160019180831690811561065c57506001146118ef575050506105ed82610371940383611b58565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611934575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101611917565b92505034610255576020366003190112610255573563ffffffff60e01b8116908181036103f65760209350631030681960e21b82149182156119d8575b82156119af575b50811561199f575b5015158152f35b6119a9915061271e565b38611998565b90915063152a902d60e11b1480156119c9575b9038611990565b506119d38161271e565b6119c2565b6301ffc9a760e01b81149250611989565b60005b8381106119fc5750506000910152565b81810151838201526020016119ec565b90602091611a25815180928185528580860191016119e9565b601f01601f1916010190565b600435906001600160a01b0382168203611a4757565b600080fd5b604435906001600160a01b0382168203611a4757565b602435906001600160a01b0382168203611a4757565b6040906003190112611a47576004356001600160a01b0381168103611a4757906024358015158103611a475790565b9181601f84011215611a475782359167ffffffffffffffff8311611a475760208381860195010111611a4757565b6060906003190112611a47576001600160a01b03906004358281168103611a4757916024359081168103611a47579060443590565b6060810190811067ffffffffffffffff821117611b2657604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff821117611b2657604052565b90601f8019910116810190811067ffffffffffffffff821117611b2657604052565b67ffffffffffffffff8111611b2657601f01601f191660200190565b929192611ba282611b7a565b91611bb06040519384611b58565b829481845281830111611a47578281602093846000960137010152565b6033546001600160a01b03163303611be157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15611c7557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b0316611cdd811515611c6e565b90565b90600182811c92168015611d10575b6020831014611cfa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611cef565b90600091610106908154611d2d81611ce0565b80835292600191808316908115611d9a5750600114611d4d575b50505050565b90929394506000526000805160206129e8833981519152916000925b848410611d825750506020925001019038808080611d47565b80546020858501810191909152909301928101611d69565b92505050602093945060ff929192191683830152151560051b01019038808080611d47565b600081815260996020526040902054611de2906001600160a01b03161515611c6e565b6000908152609b60205260409020546001600160a01b031690565b15611e0457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611eb957565b60405162461bcd60e51b815280611ed260048201611e5f565b0390fd5b906001600160a01b038080611eea84611cba565b16931691838314938415611f1d575b508315611f07575b50505090565b611f1391929350611dbf565b1614388080611f01565b909350600052609c60205260406000208260005260205260ff604060002054169238611ef9565b15611f4b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611fc691611fac84611cba565b6001600160a01b0393918416928492909183168414611f44565b1691821561205e5781611fe391611fdc86611cba565b1614611f44565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156121c1576120fd946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611a0c565b03926001600160a01b03165af1849181612181575b50612170575050503d600014612168573d61212c81611b7a565b9061213a6040519283611b58565b81528091833d92013e5b805191826121655760405162461bcd60e51b815280611ed260048201611e5f565b01fd5b506060612144565b6001600160e01b0319161492509050565b9091508581813d83116121ba575b6121998183611b58565b810103126108e957516001600160e01b0319811681036108e9579038612112565b503d61218f565b5050915050600190565b9293600093909291803b1561224b579484916122259660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611a0c565b0393165af18491816121815750612170575050503d600014612168573d61212c81611b7a565b505050915050600190565b6122636104678233611ed6565b61226c81611cba565b5061227681611cba565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b156122f557565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f811161235a575050565b60009061010682526000805160206129e8833981519152906020601f850160051c830194106123a4575b601f0160051c01915b82811061239957505050565b81815560010161238d565b9092508290612384565b156123b557565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b6000908082526101039060209082825260409261244184862054611ce0565b612676575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612669575b50506d04ee2d6d415b85acef81000000008086101561265b575b50662386f26fc100008086101561264c575b506305f5e1008086101561263d575b506127108086101561262e575b50606485101561261e575b600a80951015612614575b600194858401968660216124fa6124e58b611b7a565b9a6124f287519c8d611b58565b808c52611b7a565b8a89019790601f19013689378a0101905b6125e5575b50505051948593826101069081549161252883611ce0565b928981169081156125c4575060011461257d575b50505050600693928261256964173539b7b760d91b93602f60f81b611cdd999652518093868401906119e9565b019182015203601919810184520182611b58565b815292935090916000805160206129e88339815191525b8282106125ae575050840101908281612569611cdd61253c565b8054898301850152889650908301908701612594565b60ff1916858a01525050508015150285010191508281612569611cdd61253c565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530490878261250b5750612510565b91600101916124cf565b91936064600291049401916124c4565b600491939504940191386124b9565b600891939504940191386124ac565b6010919395049401913861249d565b84919395049401913861248b565b0494509150813880612471565b908493929352825280832090519283918181549061269382611ce0565b808652926001928084169081156126fa57506001146126bd575b50505050611cdd92500382611b58565b815285812095935091905b8183106126e2575050611cdd9350820101388080806126ad565b855487840185015294850194869450918301916126c8565b9350505050611cdd94925060ff191682840152151560051b820101388080806126ad565b63ffffffff60e01b166380ac58cd60e01b8114908115612751575b8115612743575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612739565b1561276957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116129a3576101045461294457604051936127d085611b0a565b8285526127de368383611b96565b60209080828801526040870191600097888452516101055581519067ffffffffffffffff8211612930576101069261281a836107818654611ce0565b81601f841160011461289b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92612890575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561288b604051928392836123fa565b0390a2565b015190503880612854565b848b5292996000805160206129e883398151915293601f198c1691905b82821061291857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106128ff575b505050811b019055612869565b015160001960f88460031b161c191690553880806128f2565b806001869782949787015181550196019401906128b8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fdfec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba264697066735822122083fb0250c67ec5e0a44bcc829488c3a8af5c1f6a1d23f276998b41c14f58284764736f6c63430008120033","sourceMap":"842:12360:204:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;842:12360:204;;2402:22:39;842:12360:204;;2496:8:39;;;;:::i;:::-;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;842:12360:204;;;;7807:16;842:12360;;;;;;-1:-1:-1;;;;;;842:12360:204;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:20;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;842:12360:204;;;;;4980:18:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:24;842:12360;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;6019:15;842:12360;;;;;;;:::i;:::-;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;4495:52:204;4504:8;842:12360;;;4503:9;4495:52;:::i;:::-;842:12360;;6019:15;;:::i;:::-;-1:-1:-1;;;;;842:12360:204;;;6045:15;842:12360;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6956:47:58;842:12360:204;;;6948:110:58;842:12360:204;;;;;;;;:::i;:::-;929:10:65;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;842:12360:204:-;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;5488:15;842:12360;;;;;;;:::i;:::-;1303:62:39;;:::i;842:12360:204:-;;;;;;;;;;;;;;;;2453:24:212;842:12360:204;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;842:12360:204;;;;;;;929:10:65;13528:17:58;;842:12360:204;;929:10:65;;842:12360:204;;13585:18:58;842:12360:204;;;;;;;;;;13585:46:58;842:12360:204;;;;;;;;;;;;;;;;;;;13585:46:58;842:12360:204;;;;;;13646:41:58;842:12360:204;929:10:65;13646:41:58;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:58;842:12360:204;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;9923:10;842:12360;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;;;:::i;:::-;842:12360:204;8048:25;842:12360;;;;;;;;8143:18;;842:12360;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;8187:25;842:12360;;;;8187:25;842:12360;;;;;;;;;;;;;;;;;;;;;;;8187:25;;;;;:::i;:::-;;;;842:12360;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;842:12360:204;;;;;;;;;;;;8187:25;842:12360;;;8187:25;842:12360;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;842:12360:204;;;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;7165:4:204;842:12360;;;;;;;;7201:10;7184:28;;;;842:12360;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4495:52;4504:8;842:12360;;;4503:9;4495:52;:::i;:::-;1513:6:39;842:12360:204;-1:-1:-1;;;;;842:12360:204;;;;6391:10;:21;:52;;;;842:12360;;;;2453:24:212;842:12360:204;;2332:22:212;842:12360:204;;12147:14;;842:12360;;;;;;;;12254:9;842:12360;12243:20;;842:12360;;;;;;;;:::i;:::-;;;;;;9487:16:58;;;842:12360:204;;9559:16:58;8950:53;9559:16;;;;;8929:150;9559:16;9550:58;9559:16;;-1:-1:-1;842:12360:204;7266:7:58;842:12360:204;;;;;;;;-1:-1:-1;842:12360:204;;;7680:31:58;;7592:126;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;842:12360:204;;;7266:7:58;842:12360:204;;;;;;9754:58:58;;-1:-1:-1;;;;;842:12360:204;7680:31:58;;9763:16;7592:126;9754:58;842:12360:204;;;10154:9:58;842:12360:204;;;;;;;;;;;;;;10193:7:58;842:12360:204;;;;;;;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;10230:33:58;;;;;8950:53;:::i;8929:150::-;842:12360:204;;;1794:18:212;842:12360:204;;;;;;1639:16:212;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;6391:52;:10;;842:12360;;6416:15;842:12360;;4504:8;842:12360;;;;;6391:52;;842:12360;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;842:12360:204;;-1:-1:-1;;;;;;842:12360:204;;;;;;;-1:-1:-1;;;;;842:12360:204;2806:40:39;842:12360:204;;2806:40:39;842:12360:204;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;-1:-1:-1;;;;;842:12360:204;;:::i;:::-;;2489:19:58;;;842:12360:204;;;;;;;;;2571:9:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;6897:17;;;;:::i;:::-;6918:10;-1:-1:-1;;;;;842:12360:204;;;6897:31;842:12360;;7000:8;;;;:::i;842:12360::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:45;3347:34;;;;;;842:12360:204;3346:108:45;;;;842:12360:204;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;;;;;3562:65:45;;842:12360:204;-1:-1:-1;;;;;;842:12360:204;;3821:22;842:12360;;;;;5366:69:45;842:12360:204;;;;;3917:2;2197:38:212;842:12360:204;;;;;;;;3956:22;842:12360;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;842:12360:204;;;:::i;:::-;;;;;:::i;:::-;;5366:69:45;842:12360:204;;;;;;5366:69:45;;;:::i;:::-;842:12360:204;;;;;;;;;1873:13:58;842:12360:204;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;842:12360:204;;;;;;;;;;;1873:13:58;842:12360:204;;;;;;;;;;;1896:17:58;842:12360:204;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:39;842:12360:204;;;5366:69:45;842:12360:204;;;;;;-1:-1:-1;;;;842:12360:204;;;;;;;;;;;1896:17:58;842:12360:204;;;;;;;5366:69:45;;;:::i;:::-;;;;:::i;:::-;1492:34:212;842:12360:204;;-1:-1:-1;;;;;;842:12360:204;-1:-1:-1;;;;;842:12360:204;;;;;1303:62:39;;:::i;:::-;2496:8;:::i;:::-;3647:99:45;;842:12360:204;;;3647:99:45;842:12360:204;;-1:-1:-1;;842:12360:204;;;;;;;3721:14:45;;842:12360:204;;3721:14:45;3647:99;;842:12360:204;;;;;;;-1:-1:-1;842:12360:204;;;;;1896:17:58;842:12360:204;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;5366:69:45;842:12360:204;;;;2496:8:39;842:12360:204;;;;;;;;;;;;;;1896:17:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;;;;;;;;;;1873:13:58;842:12360:204;;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;;;;;1873:13:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;3562:65:45;-1:-1:-1;;842:12360:204;;;;;3562:65:45;;;842:12360:204;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;842:12360:204;;;;;3436:17:45;3346:108;;3347:34;842:12360:204;;;;;3365:16:45;3347:34;;842:12360:204;;;;;;;;;;;;;;8808:34;1303:62:39;;;:::i;:::-;842:12360:204;;;;;;;;;;:::i;:::-;8808:34;;;8852:25;842:12360;;-1:-1:-1;;842:12360:204;8823:18;842:12360;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;:::i;:::-;;;;;;6956:47:58;6948:110;842:12360:204;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;842:12360:204:-;;;;;;;;-1:-1:-1;;842:12360:204;;;;1513:6:39;842:12360:204;;;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;7474:9;842:12360;;:::i;:::-;1303:62:39;;:::i;:::-;842:12360:204;;;;;;-1:-1:-1;;;;;842:12360:204;;1492:34:212;842:12360:204;;;1492:34:212;842:12360:204;1418:115:212;842:12360:204;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;-1:-1:-1;;;;;842:12360:204;;:::i;:::-;;;;9370:15;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;2332:22:212;842:12360:204;;;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:212;842:12360:204;;;;;;;;;-1:-1:-1;;;;;842:12360:204;;;1049:40:212;;842:12360:204;;1049:118:212;;1238:18;842:12360:204;;;;;;1238:33:212;;;;:131;;842:12360:204;;;;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;;1401:3:212;842:12360:204;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;1238:131:212;842:12360:204;1345:24:212;842:12360:204;1238:131:212;;;1049:118;842:12360:204;;1145:22:212;842:12360:204;;1049:118:212;;;842:12360:204;;;;;5365:7:58;842:12360:204;;;:::i;:::-;929:10:65;5235:99:58;5243:41;929:10:65;;5243:41:58;:::i;5235:99::-;5365:7;:::i;842:12360:204:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;;;:::i;:::-;842:12360:204;8478:25;842:12360;;;;;;;;;8574:10;842:12360;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8624:39;842:12360;;;;8624:39;842:12360;;;;;;;;;;;;;;;;;;;;;;8624:39;;;;;:::i;:::-;;;;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8624:39;842:12360;;;8624:39;842:12360;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;10869:14;842:12360;;;;;;;;;;;;;5050:36;842:12360;;;;:::i;:::-;1303:62:39;;;;:::i;:::-;4495:52:204;4504:8;842:12360;;;4503:9;4495:52;:::i;:::-;842:12360;;;;;;;;5050:15;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;842:12360:204;;;;4025:34:58;842:12360:204;4025:34:58;:::i;:::-;842:12360:204;;;4077:11:58;;;;842:12360:204;;929:10:65;;4158:21:58;:62;;;;;842:12360:204;;;;;-1:-1:-1;842:12360:204;;;13173:15:58;842:12360:204;;;;;;-1:-1:-1;;;;;;842:12360:204;;;;;13226:34:58;842:12360:204;13226:34:58;:::i;:::-;842:12360:204;13217:57:58;;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:62:58;842:12360:204;;;;4980:18:58;842:12360:204;;;;;929:10:65;842:12360:204;;;;;;;;;;4158:62:58;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:58;842:12360:204;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;11203:46:204;;;:110;;;;842:12360;11203:175;;;;842:12360;11203:239;;;;;842:12360;;;;;;;11203:239;11394:48;;;;:::i;:::-;11203:239;;;:175;2028:26:212;;-1:-1:-1;;;;2013:41:212;:93;;;;11203:175:204;;;;;2013:93:212;2070:36;;;;:::i;:::-;2013:93;;11203:110:204;-1:-1:-1;;;1168:51:69;;;-1:-1:-1;11203:110:204;;842:12360;;;;;;;;-1:-1:-1;;842:12360:204;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;842:12360:204;;;;:::o;:::-;;;;-1:-1:-1;;;;;842:12360:204;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;842:12360:204;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;842:12360:204;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;842:12360:204;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;;:::o;1599:130:39:-;1513:6;842:12360:204;-1:-1:-1;;;;;842:12360:204;929:10:65;1662:23:39;842:12360:204;;1599:130:39:o;842:12360:204:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;842:12360:204;;-1:-1:-1;;;;;842:12360:204;;;-1:-1:-1;;;;;;842:12360:204;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;842:12360:204:-;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;2651:219:58;-1:-1:-1;842:12360:204;;;7266:7:58;842:12360:204;;;;;;-1:-1:-1;;;;;842:12360:204;2785:56:58;2793:19;;;2785:56;:::i;:::-;2651:219;:::o;842:12360:204:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;8823:18;842:12360;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;842:12360:204;-1:-1:-1;;;;;;;;;;;842:12360:204;-1:-1:-1;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4407:167:58;-1:-1:-1;842:12360:204;;;7266:7:58;842:12360:204;;;;;;13851:53:58;;-1:-1:-1;;;;;842:12360:204;7680:31:58;;13851:53;:::i;:::-;-1:-1:-1;842:12360:204;;;4543:15:58;842:12360:204;;;;;;-1:-1:-1;;;;;842:12360:204;;4407:167:58:o;842:12360:204:-;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:204;;;;;;;;:::i;:::-;;;;7876:272:58;;-1:-1:-1;;;;;842:12360:204;;8001:34:58;7876:272;8001:34;:::i;:::-;842:12360:204;;;8053:16:58;;;;:52;;;;;7876:272;8053:87;;;;;7876:272;8045:96;;;7876:272;:::o;8053:87::-;8109:20;;;;;;:::i;:::-;842:12360:204;8109:31:58;8053:87;;;;;:52;842:12360:204;;;-1:-1:-1;842:12360:204;4980:18:58;842:12360:204;;;-1:-1:-1;842:12360:204;;-1:-1:-1;842:12360:204;;;;;-1:-1:-1;842:12360:204;;;8053:52:58;;;;842:12360:204;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;11762:1225:58;;11851:92;11762:1225;11859:34;;;:::i;:::-;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;11859:42:58;;11851:92;:::i;:::-;842:12360:204;11961:16:58;;;842:12360:204;;12171:34:58;12163:92;12171:34;;;;:::i;:::-;842:12360:204;12171:42:58;12163:92;:::i;:::-;12901:27;11975:1;842:12360:204;;;12324:15:58;842:12360:204;;;;;-1:-1:-1;;;;;842:12360:204;;;;;;;;;;;;12792:9:58;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:58;842:12360:204;;;;;;;;;;;;;12901:27:58;;11762:1225::o;842:12360:204:-;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;14463:853:58;;;842:12360:204;;14463:853:58;;;1713:19:63;;:23;:19;;842:12360:204;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;842:12360:204;;;;;;;;;;;;;;;14667:82:58;;;;842:12360:204;;;;;;;;:::i;:::-;14667:82:58;;-1:-1:-1;;;;;842:12360:204;14667:82:58;;;;;;;14628:682;-1:-1:-1;14663:595:58;;14877:381;;;842:12360:204;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:58;;;842:12360:204;;-1:-1:-1;;;14969:60:58;;842:12360:204;14969:60:58;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;842:12360:204;;;;;14663:595:58;-1:-1:-1;;;;;;842:12360:204;14799:62:58;;-1:-1:-1;842:12360:204;-1:-1:-1;14792:69:58:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;842:12360:204;;;;;-1:-1:-1;;;;;;842:12360:204;;;;;;14667:82:58;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;842:12360:204;;14463:853:58;;;1713:19:63;;:23;:19;;842:12360:204;;;;;;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;14667:82:58;;842:12360:204;;;;;;;;:::i;:::-;14667:82:58;842:12360:204;;14667:82:58;;;;;;;-1:-1:-1;14663:595:58;;14877:381;;;842:12360:204;;;;;;;;;:::i;14628:682:58:-;15288:11;;;;;;15295:4;15288:11;:::o;803:238:61:-;911:99;919:41;929:10:65;;919:41:61;:::i;911:99::-;10729:34:58;;;:::i;:::-;;10935;;;:::i;:::-;11007:31;842:12360:204;;;11014:15:58;842:12360:204;;;;;;;;;;-1:-1:-1;;;;;;842:12360:204;;;;;;-1:-1:-1;;;;;842:12360:204;;;;;;11254:9:58;842:12360:204;;;;;;;-1:-1:-1;;842:12360:204;;;;;;11302:7:58;842:12360:204;;;;;;;;;;;;;11007:31:58;11334:36;11007:31;;11334:36;803:238:61:o;842:12360:204:-;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;842:12360:204;8143:18;842:12360;;-1:-1:-1;;;;;;;;;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:204;;;;:::o;10218:451::-;-1:-1:-1;842:12360:204;;;;10341:10;842:12360;;;;;;;;;;;;;;:::i;:::-;10331:96;;-1:-1:-1;10582:19:204;;;602:28:68;;10287:8:71;10582:19:204;10278:17:71;;;;10274:103;;10218:451:204;10403:8:71;;;10394:17;;;;10390:103;;10218:451:204;10519:8:71;;10510:17;;;;10506:103;;10218:451:204;10635:7:71;;10626:16;;;;10622:100;;10218:451:204;10748:7:71;;10739:16;;;;10735:100;;10218:451:204;10852:16:71;10861:7;10852:16;;;10848:100;;10218:451:204;10974:7:71;10965:16;;;;10961:66;;10218:451:204;633:1:68;842:12360:204;;;;;;775:76:68;842:12360:204;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;842:12360:204;;;;775:76:68;;;864:280;633:1;;;864:280;842:12360:204;;;;;;;;10517:18;842:12360;;;;;;;:::i;:::-;;;;;;633:1:68;;;;842:12360:204;;;;;;;;;;10479:169;842:12360;;;;-1:-1:-1;;;842:12360:204;-1:-1:-1;;;10479:169:204;842:12360;;;;;;;;;;;:::i;:::-;;;;;;10479:169;;;;;;;;;;:::i;842:12360::-;;;;;-1:-1:-1;842:12360:204;;-1:-1:-1;;;;;;;;;;;842:12360:204;;;;;;-1:-1:-1;;842:12360:204;;;;;;;10479:169;842:12360;;;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;;;;;-1:-1:-1;;842:12360:204;10479:169;;;842:12360;-1:-1:-1;;;842:12360:204;;;;;;;;-1:-1:-1;842:12360:204;;;10479:169;842:12360;;864:280:68;-1:-1:-1;;842:12360:204;;;;-1:-1:-1;;;969:93:68;;;;842:12360:204;969:93:68;842:12360:204;1112:10:68;;;864:280;1108:21;1124:5;;;10961:66:71;842:12360:204;11011:1:71;842:12360:204;10961:66:71;;;10848:100;842:12360:204;;10861:7:71;10932:1;842:12360:204;;;;10848:100:71;;;10735;10819:1;842:12360:204;;;;;;10735:100:71;;;;10622;10706:1;842:12360:204;;;;;;10622:100:71;;;;10506:103;10592:2;842:12360:204;;;;;;10506:103:71;;;;10390;842:12360:204;;;;;;;10390:103:71;;;;10274;842:12360:204;;-1:-1:-1;842:12360:204;-1:-1:-1;842:12360:204;10274:103:71;;;;10331:96:204;842:12360;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1987:344:58;842:12360:204;;;;2161:36:58;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;1168:51:69;;1987:344:58;-1:-1:-1;1987:344:58:o;2146:126::-;-1:-1:-1;;;2213:59:58;;;-1:-1:-1;2146:126:58;;842:12360:204;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;12717:483;;;;12871:9;842:12360;12852:28;;842:12360;;12969:14;842:12360;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;13096:44;;;;;;842:12360;;13096:44;;-1:-1:-1;;842:12360:204;;;;;13083:57;842:12360;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13155:38;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13155:38;842:12360;;13155:38;;;;;:::i;:::-;;;;12717:483::o;842:12360::-;;;;-1:-1:-1;842:12360:204;;;;;;;;;;-1:-1:-1;;;;;;;;;;;842:12360:204;-1:-1:-1;;842:12360:204;;;;;;;;;;;;;;;;;13155:38;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getMintConfig()":"9338bb5d","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isApprovedMinter(address)":"3a3d146f","lockBaseURI()":"53df5c7c","maxTokens()":"e8315742","mintTo(address)":"755edd17","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","prepareMint(string,uint256)":"b390ac25","prepareMintWithMinter(string,uint256,address)":"b9fbd25c","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setMinterApproval(address,bool)":"0de54ba0","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBaseURI(string)":"931688cb","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isMinter\",\"type\":\"bool\"}],\"name\":\"setMinterApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_metadataUri\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract implements an ERC721 compliant NFT (Non-Fungible Token) with lazy minting.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setMinterApproval(address,bool)\":{\"details\":\"Set a minter for the contract\",\"params\":{\"_isMinter\":\"bool of whether the address is a minter.\",\"_minter\":\"address of the minter.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}},\"updateTokenURI(uint256,string)\":{\"details\":\"Update the token metadata URI.\",\"params\":{\"_metadataUri\":\"The new metadata URI.\"}}},\"title\":\"LazySovereignNFT\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":\"LazySovereignNFT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e\",\"dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataLocked","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256","indexed":true},{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"PrepareMint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"metadataUri","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMintConfig","outputs":[{"internalType":"struct LazySovereignNFT.MintConfig","name":"","type":"tuple","components":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"},{"internalType":"bool","name":"lockedMetadata","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockBaseURI"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"prepareMint"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"},{"internalType":"address","name":"_minter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintWithMinter"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"bool","name":"_isMinter","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setMinterApproval"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_metadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"burn(uint256)":{"details":"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."},"deleteToken(uint256)":{"details":"Delete a token with the given ID.","params":{"_tokenId":"The ID of the token to delete."}},"disableContract()":{"details":"Disable the contract, preventing further minting."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getMintConfig()":{"details":"Get the current minting configuration.","returns":{"_0":"mintConfig the mint config."}},"init(string,string,address,uint256)":{"details":"Contract initialization function.","params":{"_creator":"The address of the contract creator.","_maxTokens":"The maximum number of tokens that can be minted.","_name":"The name of the NFT contract.","_symbol":"The symbol of the NFT contract."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isApprovedMinter(address)":{"details":"Checks if the supplied address is approved for minting","params":{"_address":"The address of the minter."},"returns":{"_0":"bool, whether the address is approved for minting."}},"lockBaseURI()":{"details":"Lock the metadata to prevent further updates."},"mintTo(address)":{"details":"Mint a new token to the specified receiver.","params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"prepareMint(string,uint256)":{"details":"Prepare a minting batch with a specified base URI and number of tokens.","params":{"_baseURI":"The base URI for token metadata.","_numberOfTokens":"The number of tokens to prepare for minting."}},"prepareMintWithMinter(string,uint256,address)":{"details":"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.","params":{"_baseURI":"The base URI for token metadata.","_minter":"The address of the minter.","_numberOfTokens":"The number of tokens to prepare for minting."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"setDefaultRoyaltyReceiver(address)":{"details":"Set the default royalty receiver address.","params":{"_receiver":"The address of the default royalty receiver."}},"setMinterApproval(address,bool)":{"details":"Set a minter for the contract","params":{"_isMinter":"bool of whether the address is a minter.","_minter":"address of the minter."}},"setRoyaltyReceiverForToken(address,uint256)":{"details":"Set a specific royalty receiver address for a token.","params":{"_receiver":"The address of the royalty receiver.","_tokenId":"The ID of the token."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenCreator(uint256)":{"details":"Get the address of the token creator for a given token ID.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"address of the token creator."}},"tokenURI(uint256)":{"details":"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"The token's URI."}},"totalSupply()":{"details":"Get the total supply of tokens in existence.","returns":{"_0":"The total supply of tokens."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateBaseURI(string)":{"details":"Update the base URI.","params":{"_baseURI":"The new base URI."}},"updateTokenURI(uint256,string)":{"details":"Update the token metadata URI.","params":{"_metadataUri":"The new metadata URI."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":"LazySovereignNFT"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":{"keccak256":"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635","urls":["bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e","dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":204} \ No newline at end of file +{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMintConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct LazySovereignNFT.MintConfig","components":[{"name":"numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"},{"name":"lockedMetadata","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedMinter","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockBaseURI","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prepareMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prepareMintWithMinter","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"_minter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinterApproval","inputs":[{"name":"_minter","type":"address","internalType":"address"},{"name":"_isMinter","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseURI","inputs":[{"name":"_baseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_metadataUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MetadataLocked","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"MetadataUpdated","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepareMint","inputs":[{"name":"numberOfTokens","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadataUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657612a3d908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461194c5750806306fdde03146118a2578063081812fc14611882578063095ea7b3146117125780630de54ba0146116c357806318160ddd146116a357806318e97fd11461149157806323b872dd1461146c5780632a55205a146113da5780633403c4e9146113b15780633a3d146f146113725780633ebc82c51461133057806340c1a0641461130657806342842e0e146112d257806342966c68146112b557806353df5c7c146112535780635edc7c1914610d485780636297c16c14610ccc5780636352211e14610c9b57806370a0823114610c05578063715018a614610ba8578063755edd1714610964578063894ba833146109165780638da5cb5b146108ed578063931688cb1461071d5780639338bb5d1461068457806395d89b411461059f578063a22cb465146104de578063ab69607a146104bf578063b390ac2514610485578063b88d4fde146103fa578063b9fbd25c14610378578063c87b56dd1461033d578063e83157421461031d578063e985e9c5146102cf578063ee070805146102ac578063efc32cd4146102595763f2fde38b146101c557600080fd5b34610255576020366003190112610255576101de611a31565b916101e7611bcd565b6001600160a01b03831615610203578361020084611c25565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102a857806003193601126102a857610273611a31565b9061027c611bcd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102a857816003193601126102a85760209060ff80541690519015158152f35b5050346102a857806003193601126102a85760ff816020936102ef611a31565b6102f7611a62565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102a857816003193601126102a857602090610100549051908152f35b509134610375576020366003190112610375575061035e6103719235612422565b9051918291602083526020830190611a0c565b0390f35b80fd5b503461025557606036600319011261025557803567ffffffffffffffff81116103f6576103d5916103ab91369101611aa7565b91906103b5611a4c565b926103be611bcd565b6103cc60ff805416156123ae565b602435916127ae565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b8380fd5b8382346102a85760803660031901126102a857610415611a31565b9061041e611a62565b916044356064359367ffffffffffffffff851161048157366023860112156104815761045961047c9486602461020098369301359101611b96565b9261046c6104678433611ed6565b611dfd565b610477838383611f9e565b6121cb565b611eb2565b8580fd5b509034610255573660031901126102a857803567ffffffffffffffff811161025557610200916104b791369101611aa7565b6103be611bcd565b5050346102a857816003193601126102a85760209060fc549051908152f35b509034610255576104ee36611a78565b6001600160a01b039091169290919033841461055d5750338452609c60205280842083855260205261052e828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b5050346102a857816003193601126102a857805190826098546105c181611ce0565b8085529160019180831690811561065c57506001146105ff575b5050506105ed82610371940383611b58565b51918291602083526020830190611a0c565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610644575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101610627565b6103719750869350602092506105ed94915060ff191682840152151560051b820101946105db565b8284346103755780600319360112610375578180516106a281611b0a565b82815260606020820152015280516106b981611b0a565b6101055481528151916106d6836106cf81611d1a565b0384611b58565b6020820192835261071060ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190611a0c565b9051151560608301520390f35b508290346102a8576020806003193601126102555767ffffffffffffffff9082358281116108e9576107529036908501611aa7565b93909261075d611bcd565b60ff610107541661089d57841161088a575061010690610786846107818454611ce0565b61234e565b8490601f85116001146107f35750946107e2918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e97916107e8575b508560011b906000198760031b1c19161790555b51928392836123fa565b0390a180f35b9050840135886107c4565b90601f1985168387526000805160206129e88339815191529287905b828210610872575050916107e29391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610858575b5050600185811b0190556107d8565b850135600019600388901b60f8161c191690558780610849565b80600185968294968a0135815501950193019061080f565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b5050346102a857816003193601126102a85760335490516001600160a01b039091168152602090f35b833461037557806003193601126103755761092f611bcd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102a8576020928360031936011261025557610982611a31565b9261099160ff805416156123ae565b6033546001600160a01b039190821633148015610b93575b15610b375760fc548260fb541692610104966001885401809855610100548811610af6578651916109d983611b3c565b8483528116958615610ab5575061047c8794939289610a9893610a1a610a1483600052609960205260018060a01b0360406000205416151590565b15612762565b600082815260996020526040902054610a3d906001600160a01b03161515610a14565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46120af565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff84822054166109a9565b8334610375578060031936011261037557610bc1611bcd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102a85760203660031901126102a8576001600160a01b03610c29611a31565b16908115610c46576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611cba565b90516001600160a01b039091168152f35b503461025557602036600319011261025557803591610cea83611cba565b336001600160a01b0390911603610d05578361020084612256565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b508290346102a85760803660031901126102a85767ffffffffffffffff9281358481116103f657610d7c9036908401611aa7565b929060243586811161048157610d959036908401611aa7565b610da0979197611a4c565b9387549860ff94858b60081c16159889809a611247575b8015611231575b156111d75760ff19808d1660019081178d559b9c999a998a6111c6575b506001600160a01b038916156111835791610e2e91610e1e898f610e369796600a60fc558254168255606435610100555460081c16610e19816122ee565b6122ee565b610e2733611c25565b3691611b96565b933691611b96565b90610e4a858b5460081c16610e19816122ee565b82518481116111705780610e5f609754611ce0565b94601f958681116110ff575b506020908d8784116001146110805792611075575b5050600019600383901b1c1916908a1b176097555b81519384116110625750610eaa609854611ce0565b828111610fff575b506020918311600114610f73579180610f27959492610eff948b92610f68575b5050600019600383901b1c191690881b176098555b875460081c16610ef6816122ee565b610e19816122ee565b60fb80546001600160a01b0319166001600160a01b038316179055610f22611bcd565b611c25565b610f2f578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610ed2565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610fe7575091610eff95939185610f279998969410610fce575b505050811b01609855610ee7565b015160001960f88460031b161c191690558a8080610fc0565b8284015185558b969094019360209384019301610fa3565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611059575b0160051c019089905b82811061104e575050610eb2565b8b8155018990611040565b92508192611037565b634e487b7160e01b8a5260419052602489fd5b015190508c80610e80565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106110e7575084116110ce575b505050811b01609755610e95565b015160001960f88460031b161c191690558c80806110c0565b8284015185558f9690940193602093840193016110b1565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611167575b859493910160051c909101908d908f5b83821061115957505050610e6b565b81558594508e91018f61114a565b9250819261113a565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610ddb565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610dbe57506001878d1614610dbe565b506001878d1610610db7565b5050346102a857816003193601126102a8577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061128f611bcd565b5160208152806112a160208201611d1a565b0390a1610107805460ff1916600117905580f35b8382346102a85760203660031901126102a8576102009035612256565b5050346102a85761047c610200916112e936611ad5565b919251926112f684611b3c565b86845261046c6104678433611ed6565b5050346102a85760203660031901126102a85760335490516001600160a01b039091168152602090f35b83346103755760203660031901126103755761020061134d611a31565b611355611bcd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102a85760203660031901126102a85760209160ff9082906001600160a01b0361139d611a31565b168152610102855220541690519015158152f35b5050346102a857816003193601126102a85760fb5490516001600160a01b039091168152602090f35b5091346103755781600319360112610375578235815260fd60205281812054602435906001600160a01b03908116801561146057925b60fe60205284812054801561145657925b8381029381850414901517156114435750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611421565b508060fb541692611410565b83346103755761020061147e36611ad5565b9161148c6104678433611ed6565b611f9e565b508290346102a857826003193601126102a85780359067ffffffffffffffff906024358281116108e9576114c89036908301611aa7565b9290916114d3611bcd565b60ff610107541661165557848652602090610103825287872092851161164257506114fe8254611ce0565b601f81116115ff575b508590601f8511600114611574575095611563918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd97989161156957508560011b906000198760031b1c191617905551928392836123fa565b0390a280f35b9050840135896107c4565b90601f1985168388528288209288905b8282106115e7575050916115639391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a94106115cd575050600185811b0190556107d8565b850135600019600388901b60f8161c191690558880610849565b80600185968294968a01358155019501930190611584565b828752818720601f860160051c810191838710611638575b601f0160051c01905b81811061162d5750611507565b878155600101611620565b9091508190611617565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b5050346102a857816003193601126102a857602090610104549051908152f35b5050346102a857610200906116d736611a78565b91906116e1611bcd565b6116ef60ff805416156123ae565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b503461025557816003193601126102555761172b611a31565b6024359290916001600160a01b039190828061174687611cba565b1694169380851461183557803314908115611816575b50156117ae5750838552609b602052842080546001600160a01b0319168317905561178683611cba565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861175c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611dbf565b5050346102a857816003193601126102a857805190826097546118c481611ce0565b8085529160019180831690811561065c57506001146118ef575050506105ed82610371940383611b58565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611934575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101611917565b92505034610255576020366003190112610255573563ffffffff60e01b8116908181036103f65760209350631030681960e21b82149182156119d8575b82156119af575b50811561199f575b5015158152f35b6119a9915061271e565b38611998565b90915063152a902d60e11b1480156119c9575b9038611990565b506119d38161271e565b6119c2565b6301ffc9a760e01b81149250611989565b60005b8381106119fc5750506000910152565b81810151838201526020016119ec565b90602091611a25815180928185528580860191016119e9565b601f01601f1916010190565b600435906001600160a01b0382168203611a4757565b600080fd5b604435906001600160a01b0382168203611a4757565b602435906001600160a01b0382168203611a4757565b6040906003190112611a47576004356001600160a01b0381168103611a4757906024358015158103611a475790565b9181601f84011215611a475782359167ffffffffffffffff8311611a475760208381860195010111611a4757565b6060906003190112611a47576001600160a01b03906004358281168103611a4757916024359081168103611a47579060443590565b6060810190811067ffffffffffffffff821117611b2657604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff821117611b2657604052565b90601f8019910116810190811067ffffffffffffffff821117611b2657604052565b67ffffffffffffffff8111611b2657601f01601f191660200190565b929192611ba282611b7a565b91611bb06040519384611b58565b829481845281830111611a47578281602093846000960137010152565b6033546001600160a01b03163303611be157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15611c7557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b0316611cdd811515611c6e565b90565b90600182811c92168015611d10575b6020831014611cfa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611cef565b90600091610106908154611d2d81611ce0565b80835292600191808316908115611d9a5750600114611d4d575b50505050565b90929394506000526000805160206129e8833981519152916000925b848410611d825750506020925001019038808080611d47565b80546020858501810191909152909301928101611d69565b92505050602093945060ff929192191683830152151560051b01019038808080611d47565b600081815260996020526040902054611de2906001600160a01b03161515611c6e565b6000908152609b60205260409020546001600160a01b031690565b15611e0457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611eb957565b60405162461bcd60e51b815280611ed260048201611e5f565b0390fd5b906001600160a01b038080611eea84611cba565b16931691838314938415611f1d575b508315611f07575b50505090565b611f1391929350611dbf565b1614388080611f01565b909350600052609c60205260406000208260005260205260ff604060002054169238611ef9565b15611f4b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611fc691611fac84611cba565b6001600160a01b0393918416928492909183168414611f44565b1691821561205e5781611fe391611fdc86611cba565b1614611f44565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156121c1576120fd946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611a0c565b03926001600160a01b03165af1849181612181575b50612170575050503d600014612168573d61212c81611b7a565b9061213a6040519283611b58565b81528091833d92013e5b805191826121655760405162461bcd60e51b815280611ed260048201611e5f565b01fd5b506060612144565b6001600160e01b0319161492509050565b9091508581813d83116121ba575b6121998183611b58565b810103126108e957516001600160e01b0319811681036108e9579038612112565b503d61218f565b5050915050600190565b9293600093909291803b1561224b579484916122259660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611a0c565b0393165af18491816121815750612170575050503d600014612168573d61212c81611b7a565b505050915050600190565b6122636104678233611ed6565b61226c81611cba565b5061227681611cba565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b156122f557565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f811161235a575050565b60009061010682526000805160206129e8833981519152906020601f850160051c830194106123a4575b601f0160051c01915b82811061239957505050565b81815560010161238d565b9092508290612384565b156123b557565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b6000908082526101039060209082825260409261244184862054611ce0565b612676575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612669575b50506d04ee2d6d415b85acef81000000008086101561265b575b50662386f26fc100008086101561264c575b506305f5e1008086101561263d575b506127108086101561262e575b50606485101561261e575b600a80951015612614575b600194858401968660216124fa6124e58b611b7a565b9a6124f287519c8d611b58565b808c52611b7a565b8a89019790601f19013689378a0101905b6125e5575b50505051948593826101069081549161252883611ce0565b928981169081156125c4575060011461257d575b50505050600693928261256964173539b7b760d91b93602f60f81b611cdd999652518093868401906119e9565b019182015203601919810184520182611b58565b815292935090916000805160206129e88339815191525b8282106125ae575050840101908281612569611cdd61253c565b8054898301850152889650908301908701612594565b60ff1916858a01525050508015150285010191508281612569611cdd61253c565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530490878261250b5750612510565b91600101916124cf565b91936064600291049401916124c4565b600491939504940191386124b9565b600891939504940191386124ac565b6010919395049401913861249d565b84919395049401913861248b565b0494509150813880612471565b908493929352825280832090519283918181549061269382611ce0565b808652926001928084169081156126fa57506001146126bd575b50505050611cdd92500382611b58565b815285812095935091905b8183106126e2575050611cdd9350820101388080806126ad565b855487840185015294850194869450918301916126c8565b9350505050611cdd94925060ff191682840152151560051b820101388080806126ad565b63ffffffff60e01b166380ac58cd60e01b8114908115612751575b8115612743575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612739565b1561276957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116129a3576101045461294457604051936127d085611b0a565b8285526127de368383611b96565b60209080828801526040870191600097888452516101055581519067ffffffffffffffff8211612930576101069261281a836107818654611ce0565b81601f841160011461289b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92612890575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561288b604051928392836123fa565b0390a2565b015190503880612854565b848b5292996000805160206129e883398151915293601f198c1691905b82821061291857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106128ff575b505050811b019055612869565b015160001960f88460031b161c191690553880806128f2565b806001869782949787015181550196019401906128b8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fdfec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220f99df22439344e8238c87056ab74822f876d8ef675cba760581d53eec32c652464736f6c63430008120033","sourceMap":"842:12360:225:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461194c5750806306fdde03146118a2578063081812fc14611882578063095ea7b3146117125780630de54ba0146116c357806318160ddd146116a357806318e97fd11461149157806323b872dd1461146c5780632a55205a146113da5780633403c4e9146113b15780633a3d146f146113725780633ebc82c51461133057806340c1a0641461130657806342842e0e146112d257806342966c68146112b557806353df5c7c146112535780635edc7c1914610d485780636297c16c14610ccc5780636352211e14610c9b57806370a0823114610c05578063715018a614610ba8578063755edd1714610964578063894ba833146109165780638da5cb5b146108ed578063931688cb1461071d5780639338bb5d1461068457806395d89b411461059f578063a22cb465146104de578063ab69607a146104bf578063b390ac2514610485578063b88d4fde146103fa578063b9fbd25c14610378578063c87b56dd1461033d578063e83157421461031d578063e985e9c5146102cf578063ee070805146102ac578063efc32cd4146102595763f2fde38b146101c557600080fd5b34610255576020366003190112610255576101de611a31565b916101e7611bcd565b6001600160a01b03831615610203578361020084611c25565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102a857806003193601126102a857610273611a31565b9061027c611bcd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102a857816003193601126102a85760209060ff80541690519015158152f35b5050346102a857806003193601126102a85760ff816020936102ef611a31565b6102f7611a62565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102a857816003193601126102a857602090610100549051908152f35b509134610375576020366003190112610375575061035e6103719235612422565b9051918291602083526020830190611a0c565b0390f35b80fd5b503461025557606036600319011261025557803567ffffffffffffffff81116103f6576103d5916103ab91369101611aa7565b91906103b5611a4c565b926103be611bcd565b6103cc60ff805416156123ae565b602435916127ae565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b8380fd5b8382346102a85760803660031901126102a857610415611a31565b9061041e611a62565b916044356064359367ffffffffffffffff851161048157366023860112156104815761045961047c9486602461020098369301359101611b96565b9261046c6104678433611ed6565b611dfd565b610477838383611f9e565b6121cb565b611eb2565b8580fd5b509034610255573660031901126102a857803567ffffffffffffffff811161025557610200916104b791369101611aa7565b6103be611bcd565b5050346102a857816003193601126102a85760209060fc549051908152f35b509034610255576104ee36611a78565b6001600160a01b039091169290919033841461055d5750338452609c60205280842083855260205261052e828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b5050346102a857816003193601126102a857805190826098546105c181611ce0565b8085529160019180831690811561065c57506001146105ff575b5050506105ed82610371940383611b58565b51918291602083526020830190611a0c565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610644575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101610627565b6103719750869350602092506105ed94915060ff191682840152151560051b820101946105db565b8284346103755780600319360112610375578180516106a281611b0a565b82815260606020820152015280516106b981611b0a565b6101055481528151916106d6836106cf81611d1a565b0384611b58565b6020820192835261071060ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190611a0c565b9051151560608301520390f35b508290346102a8576020806003193601126102555767ffffffffffffffff9082358281116108e9576107529036908501611aa7565b93909261075d611bcd565b60ff610107541661089d57841161088a575061010690610786846107818454611ce0565b61234e565b8490601f85116001146107f35750946107e2918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e97916107e8575b508560011b906000198760031b1c19161790555b51928392836123fa565b0390a180f35b9050840135886107c4565b90601f1985168387526000805160206129e88339815191529287905b828210610872575050916107e29391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610858575b5050600185811b0190556107d8565b850135600019600388901b60f8161c191690558780610849565b80600185968294968a0135815501950193019061080f565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b5050346102a857816003193601126102a85760335490516001600160a01b039091168152602090f35b833461037557806003193601126103755761092f611bcd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102a8576020928360031936011261025557610982611a31565b9261099160ff805416156123ae565b6033546001600160a01b039190821633148015610b93575b15610b375760fc548260fb541692610104966001885401809855610100548811610af6578651916109d983611b3c565b8483528116958615610ab5575061047c8794939289610a9893610a1a610a1483600052609960205260018060a01b0360406000205416151590565b15612762565b600082815260996020526040902054610a3d906001600160a01b03161515610a14565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46120af565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff84822054166109a9565b8334610375578060031936011261037557610bc1611bcd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102a85760203660031901126102a8576001600160a01b03610c29611a31565b16908115610c46576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611cba565b90516001600160a01b039091168152f35b503461025557602036600319011261025557803591610cea83611cba565b336001600160a01b0390911603610d05578361020084612256565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b508290346102a85760803660031901126102a85767ffffffffffffffff9281358481116103f657610d7c9036908401611aa7565b929060243586811161048157610d959036908401611aa7565b610da0979197611a4c565b9387549860ff94858b60081c16159889809a611247575b8015611231575b156111d75760ff19808d1660019081178d559b9c999a998a6111c6575b506001600160a01b038916156111835791610e2e91610e1e898f610e369796600a60fc558254168255606435610100555460081c16610e19816122ee565b6122ee565b610e2733611c25565b3691611b96565b933691611b96565b90610e4a858b5460081c16610e19816122ee565b82518481116111705780610e5f609754611ce0565b94601f958681116110ff575b506020908d8784116001146110805792611075575b5050600019600383901b1c1916908a1b176097555b81519384116110625750610eaa609854611ce0565b828111610fff575b506020918311600114610f73579180610f27959492610eff948b92610f68575b5050600019600383901b1c191690881b176098555b875460081c16610ef6816122ee565b610e19816122ee565b60fb80546001600160a01b0319166001600160a01b038316179055610f22611bcd565b611c25565b610f2f578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610ed2565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610fe7575091610eff95939185610f279998969410610fce575b505050811b01609855610ee7565b015160001960f88460031b161c191690558a8080610fc0565b8284015185558b969094019360209384019301610fa3565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611059575b0160051c019089905b82811061104e575050610eb2565b8b8155018990611040565b92508192611037565b634e487b7160e01b8a5260419052602489fd5b015190508c80610e80565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106110e7575084116110ce575b505050811b01609755610e95565b015160001960f88460031b161c191690558c80806110c0565b8284015185558f9690940193602093840193016110b1565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611167575b859493910160051c909101908d908f5b83821061115957505050610e6b565b81558594508e91018f61114a565b9250819261113a565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610ddb565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610dbe57506001878d1614610dbe565b506001878d1610610db7565b5050346102a857816003193601126102a8577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061128f611bcd565b5160208152806112a160208201611d1a565b0390a1610107805460ff1916600117905580f35b8382346102a85760203660031901126102a8576102009035612256565b5050346102a85761047c610200916112e936611ad5565b919251926112f684611b3c565b86845261046c6104678433611ed6565b5050346102a85760203660031901126102a85760335490516001600160a01b039091168152602090f35b83346103755760203660031901126103755761020061134d611a31565b611355611bcd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102a85760203660031901126102a85760209160ff9082906001600160a01b0361139d611a31565b168152610102855220541690519015158152f35b5050346102a857816003193601126102a85760fb5490516001600160a01b039091168152602090f35b5091346103755781600319360112610375578235815260fd60205281812054602435906001600160a01b03908116801561146057925b60fe60205284812054801561145657925b8381029381850414901517156114435750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611421565b508060fb541692611410565b83346103755761020061147e36611ad5565b9161148c6104678433611ed6565b611f9e565b508290346102a857826003193601126102a85780359067ffffffffffffffff906024358281116108e9576114c89036908301611aa7565b9290916114d3611bcd565b60ff610107541661165557848652602090610103825287872092851161164257506114fe8254611ce0565b601f81116115ff575b508590601f8511600114611574575095611563918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd97989161156957508560011b906000198760031b1c191617905551928392836123fa565b0390a280f35b9050840135896107c4565b90601f1985168388528288209288905b8282106115e7575050916115639391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a94106115cd575050600185811b0190556107d8565b850135600019600388901b60f8161c191690558880610849565b80600185968294968a01358155019501930190611584565b828752818720601f860160051c810191838710611638575b601f0160051c01905b81811061162d5750611507565b878155600101611620565b9091508190611617565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b5050346102a857816003193601126102a857602090610104549051908152f35b5050346102a857610200906116d736611a78565b91906116e1611bcd565b6116ef60ff805416156123ae565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b503461025557816003193601126102555761172b611a31565b6024359290916001600160a01b039190828061174687611cba565b1694169380851461183557803314908115611816575b50156117ae5750838552609b602052842080546001600160a01b0319168317905561178683611cba565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861175c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611dbf565b5050346102a857816003193601126102a857805190826097546118c481611ce0565b8085529160019180831690811561065c57506001146118ef575050506105ed82610371940383611b58565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611934575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101611917565b92505034610255576020366003190112610255573563ffffffff60e01b8116908181036103f65760209350631030681960e21b82149182156119d8575b82156119af575b50811561199f575b5015158152f35b6119a9915061271e565b38611998565b90915063152a902d60e11b1480156119c9575b9038611990565b506119d38161271e565b6119c2565b6301ffc9a760e01b81149250611989565b60005b8381106119fc5750506000910152565b81810151838201526020016119ec565b90602091611a25815180928185528580860191016119e9565b601f01601f1916010190565b600435906001600160a01b0382168203611a4757565b600080fd5b604435906001600160a01b0382168203611a4757565b602435906001600160a01b0382168203611a4757565b6040906003190112611a47576004356001600160a01b0381168103611a4757906024358015158103611a475790565b9181601f84011215611a475782359167ffffffffffffffff8311611a475760208381860195010111611a4757565b6060906003190112611a47576001600160a01b03906004358281168103611a4757916024359081168103611a47579060443590565b6060810190811067ffffffffffffffff821117611b2657604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff821117611b2657604052565b90601f8019910116810190811067ffffffffffffffff821117611b2657604052565b67ffffffffffffffff8111611b2657601f01601f191660200190565b929192611ba282611b7a565b91611bb06040519384611b58565b829481845281830111611a47578281602093846000960137010152565b6033546001600160a01b03163303611be157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15611c7557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b0316611cdd811515611c6e565b90565b90600182811c92168015611d10575b6020831014611cfa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611cef565b90600091610106908154611d2d81611ce0565b80835292600191808316908115611d9a5750600114611d4d575b50505050565b90929394506000526000805160206129e8833981519152916000925b848410611d825750506020925001019038808080611d47565b80546020858501810191909152909301928101611d69565b92505050602093945060ff929192191683830152151560051b01019038808080611d47565b600081815260996020526040902054611de2906001600160a01b03161515611c6e565b6000908152609b60205260409020546001600160a01b031690565b15611e0457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611eb957565b60405162461bcd60e51b815280611ed260048201611e5f565b0390fd5b906001600160a01b038080611eea84611cba565b16931691838314938415611f1d575b508315611f07575b50505090565b611f1391929350611dbf565b1614388080611f01565b909350600052609c60205260406000208260005260205260ff604060002054169238611ef9565b15611f4b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611fc691611fac84611cba565b6001600160a01b0393918416928492909183168414611f44565b1691821561205e5781611fe391611fdc86611cba565b1614611f44565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156121c1576120fd946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611a0c565b03926001600160a01b03165af1849181612181575b50612170575050503d600014612168573d61212c81611b7a565b9061213a6040519283611b58565b81528091833d92013e5b805191826121655760405162461bcd60e51b815280611ed260048201611e5f565b01fd5b506060612144565b6001600160e01b0319161492509050565b9091508581813d83116121ba575b6121998183611b58565b810103126108e957516001600160e01b0319811681036108e9579038612112565b503d61218f565b5050915050600190565b9293600093909291803b1561224b579484916122259660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611a0c565b0393165af18491816121815750612170575050503d600014612168573d61212c81611b7a565b505050915050600190565b6122636104678233611ed6565b61226c81611cba565b5061227681611cba565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b156122f557565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f811161235a575050565b60009061010682526000805160206129e8833981519152906020601f850160051c830194106123a4575b601f0160051c01915b82811061239957505050565b81815560010161238d565b9092508290612384565b156123b557565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b6000908082526101039060209082825260409261244184862054611ce0565b612676575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612669575b50506d04ee2d6d415b85acef81000000008086101561265b575b50662386f26fc100008086101561264c575b506305f5e1008086101561263d575b506127108086101561262e575b50606485101561261e575b600a80951015612614575b600194858401968660216124fa6124e58b611b7a565b9a6124f287519c8d611b58565b808c52611b7a565b8a89019790601f19013689378a0101905b6125e5575b50505051948593826101069081549161252883611ce0565b928981169081156125c4575060011461257d575b50505050600693928261256964173539b7b760d91b93602f60f81b611cdd999652518093868401906119e9565b019182015203601919810184520182611b58565b815292935090916000805160206129e88339815191525b8282106125ae575050840101908281612569611cdd61253c565b8054898301850152889650908301908701612594565b60ff1916858a01525050508015150285010191508281612569611cdd61253c565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530490878261250b5750612510565b91600101916124cf565b91936064600291049401916124c4565b600491939504940191386124b9565b600891939504940191386124ac565b6010919395049401913861249d565b84919395049401913861248b565b0494509150813880612471565b908493929352825280832090519283918181549061269382611ce0565b808652926001928084169081156126fa57506001146126bd575b50505050611cdd92500382611b58565b815285812095935091905b8183106126e2575050611cdd9350820101388080806126ad565b855487840185015294850194869450918301916126c8565b9350505050611cdd94925060ff191682840152151560051b820101388080806126ad565b63ffffffff60e01b166380ac58cd60e01b8114908115612751575b8115612743575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612739565b1561276957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116129a3576101045461294457604051936127d085611b0a565b8285526127de368383611b96565b60209080828801526040870191600097888452516101055581519067ffffffffffffffff8211612930576101069261281a836107818654611ce0565b81601f841160011461289b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92612890575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561288b604051928392836123fa565b0390a2565b015190503880612854565b848b5292996000805160206129e883398151915293601f198c1691905b82821061291857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106128ff575b505050811b019055612869565b015160001960f88460031b161c191690553880806128f2565b806001869782949787015181550196019401906128b8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fdfec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220f99df22439344e8238c87056ab74822f876d8ef675cba760581d53eec32c652464736f6c63430008120033","sourceMap":"842:12360:225:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;842:12360:225;;2402:22:42;842:12360:225;;2496:8:42;;;;:::i;:::-;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;842:12360:225;;;;7807:16;842:12360;;;;;;-1:-1:-1;;;;;;842:12360:225;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:20;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;842:12360:225;;;;;4980:18:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:24;842:12360;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;6019:15;842:12360;;;;;;;:::i;:::-;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;4495:52:225;4504:8;842:12360;;;4503:9;4495:52;:::i;:::-;842:12360;;6019:15;;:::i;:::-;-1:-1:-1;;;;;842:12360:225;;;6045:15;842:12360;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6956:47:61;842:12360:225;;;6948:110:61;842:12360:225;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;842:12360:225:-;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;5488:15;842:12360;;;;;;;:::i;:::-;1303:62:42;;:::i;842:12360:225:-;;;;;;;;;;;;;;;;2453:24:233;842:12360:225;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;842:12360:225;;;;;;;929:10:68;13528:17:61;;842:12360:225;;929:10:68;;842:12360:225;;13585:18:61;842:12360:225;;;;;;;;;;13585:46:61;842:12360:225;;;;;;;;;;;;;;;;;;;13585:46:61;842:12360:225;;;;;;13646:41:61;842:12360:225;929:10:68;13646:41:61;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:61;842:12360:225;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;9923:10;842:12360;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;842:12360:225;8048:25;842:12360;;;;;;;;8143:18;;842:12360;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;8187:25;842:12360;;;;8187:25;842:12360;;;;;;;;;;;;;;;;;;;;;;;8187:25;;;;;:::i;:::-;;;;842:12360;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;842:12360:225;;;;;;;;;;;;8187:25;842:12360;;;8187:25;842:12360;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;842:12360:225;;;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;7165:4:225;842:12360;;;;;;;;7201:10;7184:28;;;;842:12360;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4495:52;4504:8;842:12360;;;4503:9;4495:52;:::i;:::-;1513:6:42;842:12360:225;-1:-1:-1;;;;;842:12360:225;;;;6391:10;:21;:52;;;;842:12360;;;;2453:24:233;842:12360:225;;2332:22:233;842:12360:225;;12147:14;;842:12360;;;;;;;;12254:9;842:12360;12243:20;;842:12360;;;;;;;;:::i;:::-;;;;;;9487:16:61;;;842:12360:225;;9559:16:61;8950:53;9559:16;;;;;8929:150;9559:16;9550:58;9559:16;;-1:-1:-1;842:12360:225;7266:7:61;842:12360:225;;;;;;;;-1:-1:-1;842:12360:225;;;7680:31:61;;7592:126;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;842:12360:225;;;7266:7:61;842:12360:225;;;;;;9754:58:61;;-1:-1:-1;;;;;842:12360:225;7680:31:61;;9763:16;7592:126;9754:58;842:12360:225;;;10154:9:61;842:12360:225;;;;;;;;;;;;;;10193:7:61;842:12360:225;;;;;;;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;10230:33:61;;;;;8950:53;:::i;8929:150::-;842:12360:225;;;1794:18:233;842:12360:225;;;;;;1639:16:233;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;6391:52;:10;;842:12360;;6416:15;842:12360;;4504:8;842:12360;;;;;6391:52;;842:12360;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;842:12360:225;;-1:-1:-1;;;;;;842:12360:225;;;;;;;-1:-1:-1;;;;;842:12360:225;2806:40:42;842:12360:225;;2806:40:42;842:12360:225;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;-1:-1:-1;;;;;842:12360:225;;:::i;:::-;;2489:19:61;;;842:12360:225;;;;;;;;;2571:9:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;6897:17;;;;:::i;:::-;6918:10;-1:-1:-1;;;;;842:12360:225;;;6897:31;842:12360;;7000:8;;;;:::i;842:12360::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;842:12360:225;3346:108:48;;;;842:12360:225;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;;;;;3562:65:48;;842:12360:225;-1:-1:-1;;;;;;842:12360:225;;3821:22;842:12360;;;;;5366:69:48;842:12360:225;;;;;3917:2;2197:38:233;842:12360:225;;;;;;;;3956:22;842:12360;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;842:12360:225;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;842:12360:225;;;;;;5366:69:48;;;:::i;:::-;842:12360:225;;;;;;;;;1873:13:61;842:12360:225;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;842:12360:225;;;;;;;;;;;1873:13:61;842:12360:225;;;;;;;;;;;1896:17:61;842:12360:225;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;842:12360:225;;;5366:69:48;842:12360:225;;;;;;-1:-1:-1;;;;842:12360:225;;;;;;;;;;;1896:17:61;842:12360:225;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;842:12360:225;;-1:-1:-1;;;;;;842:12360:225;-1:-1:-1;;;;;842:12360:225;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;842:12360:225;;;3647:99:48;842:12360:225;;-1:-1:-1;;842:12360:225;;;;;;;3721:14:48;;842:12360:225;;3721:14:48;3647:99;;842:12360:225;;;;;;;-1:-1:-1;842:12360:225;;;;;1896:17:61;842:12360:225;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;5366:69:48;842:12360:225;;;;2496:8:42;842:12360:225;;;;;;;;;;;;;;1896:17:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;;;;;;;;;;1873:13:61;842:12360:225;;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;;;;;1873:13:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;842:12360:225;;;;;3562:65:48;;;842:12360:225;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;842:12360:225;;;;;3436:17:48;3346:108;;3347:34;842:12360:225;;;;;3365:16:48;3347:34;;842:12360:225;;;;;;;;;;;;;;8808:34;1303:62:42;;;:::i;:::-;842:12360:225;;;;;;;;;;:::i;:::-;8808:34;;;8852:25;842:12360;;-1:-1:-1;;842:12360:225;8823:18;842:12360;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;842:12360:225;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;842:12360:225:-;;;;;;;;-1:-1:-1;;842:12360:225;;;;1513:6:42;842:12360:225;;;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;7474:9;842:12360;;:::i;:::-;1303:62:42;;:::i;:::-;842:12360:225;;;;;;-1:-1:-1;;;;;842:12360:225;;1492:34:233;842:12360:225;;;1492:34:233;842:12360:225;1418:115:233;842:12360:225;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;-1:-1:-1;;;;;842:12360:225;;:::i;:::-;;;;9370:15;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;2332:22:233;842:12360:225;;;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;842:12360:225;;;;;;;;;-1:-1:-1;;;;;842:12360:225;;;1049:40:233;;842:12360:225;;1049:118:233;;1238:18;842:12360:225;;;;;;1238:33:233;;;;:131;;842:12360:225;;;;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;;1401:3:233;842:12360:225;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;1238:131:233;842:12360:225;1345:24:233;842:12360:225;1238:131:233;;;1049:118;842:12360:225;;1145:22:233;842:12360:225;;1049:118:233;;;842:12360:225;;;;;5365:7:61;842:12360:225;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;842:12360:225:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;842:12360:225;8478:25;842:12360;;;;;;;;;8574:10;842:12360;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8624:39;842:12360;;;;8624:39;842:12360;;;;;;;;;;;;;;;;;;;;;;8624:39;;;;;:::i;:::-;;;;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8624:39;842:12360;;;8624:39;842:12360;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;10869:14;842:12360;;;;;;;;;;;;;5050:36;842:12360;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;4495:52:225;4504:8;842:12360;;;4503:9;4495:52;:::i;:::-;842:12360;;;;;;;;5050:15;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;842:12360:225;;;;4025:34:61;842:12360:225;4025:34:61;:::i;:::-;842:12360:225;;;4077:11:61;;;;842:12360:225;;929:10:68;;4158:21:61;:62;;;;;842:12360:225;;;;;-1:-1:-1;842:12360:225;;;13173:15:61;842:12360:225;;;;;;-1:-1:-1;;;;;;842:12360:225;;;;;13226:34:61;842:12360:225;13226:34:61;:::i;:::-;842:12360:225;13217:57:61;;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:62:61;842:12360:225;;;;4980:18:61;842:12360:225;;;;;929:10:68;842:12360:225;;;;;;;;;;4158:62:61;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;842:12360:225;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;11203:46:225;;;:110;;;;842:12360;11203:175;;;;842:12360;11203:239;;;;;842:12360;;;;;;;11203:239;11394:48;;;;:::i;:::-;11203:239;;;:175;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;11203:175:225;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;11203:110:225;-1:-1:-1;;;1168:51:72;;;-1:-1:-1;11203:110:225;;842:12360;;;;;;;;-1:-1:-1;;842:12360:225;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;842:12360:225;;;;:::o;:::-;;;;-1:-1:-1;;;;;842:12360:225;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;842:12360:225;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;842:12360:225;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;842:12360:225;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;;:::o;1599:130:42:-;1513:6;842:12360:225;-1:-1:-1;;;;;842:12360:225;929:10:68;1662:23:42;842:12360:225;;1599:130:42:o;842:12360:225:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;842:12360:225;;-1:-1:-1;;;;;842:12360:225;;;-1:-1:-1;;;;;;842:12360:225;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;842:12360:225:-;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;2651:219:61;-1:-1:-1;842:12360:225;;;7266:7:61;842:12360:225;;;;;;-1:-1:-1;;;;;842:12360:225;2785:56:61;2793:19;;;2785:56;:::i;:::-;2651:219;:::o;842:12360:225:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;8823:18;842:12360;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;842:12360:225;-1:-1:-1;;;;;;;;;;;842:12360:225;-1:-1:-1;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4407:167:61;-1:-1:-1;842:12360:225;;;7266:7:61;842:12360:225;;;;;;13851:53:61;;-1:-1:-1;;;;;842:12360:225;7680:31:61;;13851:53;:::i;:::-;-1:-1:-1;842:12360:225;;;4543:15:61;842:12360:225;;;;;;-1:-1:-1;;;;;842:12360:225;;4407:167:61:o;842:12360:225:-;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:225;;;;;;;;:::i;:::-;;;;7876:272:61;;-1:-1:-1;;;;;842:12360:225;;8001:34:61;7876:272;8001:34;:::i;:::-;842:12360:225;;;8053:16:61;;;;:52;;;;;7876:272;8053:87;;;;;7876:272;8045:96;;;7876:272;:::o;8053:87::-;8109:20;;;;;;:::i;:::-;842:12360:225;8109:31:61;8053:87;;;;;:52;842:12360:225;;;-1:-1:-1;842:12360:225;4980:18:61;842:12360:225;;;-1:-1:-1;842:12360:225;;-1:-1:-1;842:12360:225;;;;;-1:-1:-1;842:12360:225;;;8053:52:61;;;;842:12360:225;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;11762:1225:61;;11851:92;11762:1225;11859:34;;;:::i;:::-;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;842:12360:225;11961:16:61;;;842:12360:225;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;842:12360:225;12171:42:61;12163:92;:::i;:::-;12901:27;11975:1;842:12360:225;;;12324:15:61;842:12360:225;;;;;-1:-1:-1;;;;;842:12360:225;;;;;;;;;;;;12792:9:61;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;842:12360:225;;;;;;;;;;;;;12901:27:61;;11762:1225::o;842:12360:225:-;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;14463:853:61;;;842:12360:225;;14463:853:61;;;1713:19:66;;:23;:19;;842:12360:225;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;842:12360:225;;;;;;;;;;;;;;;14667:82:61;;;;842:12360:225;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;842:12360:225;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;842:12360:225;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;842:12360:225;;-1:-1:-1;;;14969:60:61;;842:12360:225;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;842:12360:225;;;;;14663:595:61;-1:-1:-1;;;;;;842:12360:225;14799:62:61;;-1:-1:-1;842:12360:225;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;842:12360:225;;;;;-1:-1:-1;;;;;;842:12360:225;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;842:12360:225;;14463:853:61;;;1713:19:66;;:23;:19;;842:12360:225;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;842:12360:225;;;;;;;;:::i;:::-;14667:82:61;842:12360:225;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;842:12360:225;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;803:238:64:-;911:99;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;11007:31;842:12360:225;;;11014:15:61;842:12360:225;;;;;;;;;;-1:-1:-1;;;;;;842:12360:225;;;;;;-1:-1:-1;;;;;842:12360:225;;;;;;11254:9:61;842:12360:225;;;;;;;-1:-1:-1;;842:12360:225;;;;;;11302:7:61;842:12360:225;;;;;;;;;;;;;11007:31:61;11334:36;11007:31;;11334:36;803:238:64:o;842:12360:225:-;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;842:12360:225;8143:18;842:12360;;-1:-1:-1;;;;;;;;;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;842:12360:225;;;;:::o;10218:451::-;-1:-1:-1;842:12360:225;;;;10341:10;842:12360;;;;;;;;;;;;;;:::i;:::-;10331:96;;-1:-1:-1;10582:19:225;;;602:28:71;;10287:8:74;10582:19:225;10278:17:74;;;;10274:103;;10218:451:225;10403:8:74;;;10394:17;;;;10390:103;;10218:451:225;10519:8:74;;10510:17;;;;10506:103;;10218:451:225;10635:7:74;;10626:16;;;;10622:100;;10218:451:225;10748:7:74;;10739:16;;;;10735:100;;10218:451:225;10852:16:74;10861:7;10852:16;;;10848:100;;10218:451:225;10974:7:74;10965:16;;;;10961:66;;10218:451:225;633:1:71;842:12360:225;;;;;;775:76:71;842:12360:225;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;842:12360:225;;;;775:76:71;;;864:280;633:1;;;864:280;842:12360:225;;;;;;;;10517:18;842:12360;;;;;;;:::i;:::-;;;;;;633:1:71;;;;842:12360:225;;;;;;;;;;10479:169;842:12360;;;;-1:-1:-1;;;842:12360:225;-1:-1:-1;;;10479:169:225;842:12360;;;;;;;;;;;:::i;:::-;;;;;;10479:169;;;;;;;;;;:::i;842:12360::-;;;;;-1:-1:-1;842:12360:225;;-1:-1:-1;;;;;;;;;;;842:12360:225;;;;;;-1:-1:-1;;842:12360:225;;;;;;;10479:169;842:12360;;;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;;;;;-1:-1:-1;;842:12360:225;10479:169;;;842:12360;-1:-1:-1;;;842:12360:225;;;;;;;;-1:-1:-1;842:12360:225;;;10479:169;842:12360;;864:280:71;-1:-1:-1;;842:12360:225;;;;-1:-1:-1;;;969:93:71;;;;842:12360:225;969:93:71;842:12360:225;1112:10:71;;;864:280;1108:21;1124:5;;;10961:66:74;842:12360:225;11011:1:74;842:12360:225;10961:66:74;;;10848:100;842:12360:225;;10861:7:74;10932:1;842:12360:225;;;;10848:100:74;;;10735;10819:1;842:12360:225;;;;;;10735:100:74;;;;10622;10706:1;842:12360:225;;;;;;10622:100:74;;;;10506:103;10592:2;842:12360:225;;;;;;10506:103:74;;;;10390;842:12360:225;;;;;;;10390:103:74;;;;10274;842:12360:225;;-1:-1:-1;842:12360:225;-1:-1:-1;842:12360:225;10274:103:74;;;;10331:96:225;842:12360;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1987:344:61;842:12360:225;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;1168:51:72;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;;842:12360:225;;;;:::o;:::-;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;12717:483;;;;12871:9;842:12360;12852:28;;842:12360;;12969:14;842:12360;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;13096:44;;;;;;842:12360;;13096:44;;-1:-1:-1;;842:12360:225;;;;;13083:57;842:12360;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13155:38;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13155:38;842:12360;;13155:38;;;;;:::i;:::-;;;;12717:483::o;842:12360::-;;;;-1:-1:-1;842:12360:225;;;;;;;;;;-1:-1:-1;;;;;;;;;;;842:12360:225;-1:-1:-1;;842:12360:225;;;;;;;;;;;;;;;;;13155:38;842:12360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;-1:-1:-1;;;842:12360:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getMintConfig()":"9338bb5d","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isApprovedMinter(address)":"3a3d146f","lockBaseURI()":"53df5c7c","maxTokens()":"e8315742","mintTo(address)":"755edd17","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","prepareMint(string,uint256)":"b390ac25","prepareMintWithMinter(string,uint256,address)":"b9fbd25c","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setMinterApproval(address,bool)":"0de54ba0","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBaseURI(string)":"931688cb","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isMinter\",\"type\":\"bool\"}],\"name\":\"setMinterApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_metadataUri\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract implements an ERC721 compliant NFT (Non-Fungible Token) with lazy minting.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setMinterApproval(address,bool)\":{\"details\":\"Set a minter for the contract\",\"params\":{\"_isMinter\":\"bool of whether the address is a minter.\",\"_minter\":\"address of the minter.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}},\"updateTokenURI(uint256,string)\":{\"details\":\"Update the token metadata URI.\",\"params\":{\"_metadataUri\":\"The new metadata URI.\"}}},\"title\":\"LazySovereignNFT\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":\"LazySovereignNFT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e\",\"dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataLocked","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256","indexed":true},{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"PrepareMint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"metadataUri","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMintConfig","outputs":[{"internalType":"struct LazySovereignNFT.MintConfig","name":"","type":"tuple","components":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"},{"internalType":"bool","name":"lockedMetadata","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockBaseURI"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"prepareMint"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"},{"internalType":"address","name":"_minter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintWithMinter"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"bool","name":"_isMinter","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setMinterApproval"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_metadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"burn(uint256)":{"details":"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."},"deleteToken(uint256)":{"details":"Delete a token with the given ID.","params":{"_tokenId":"The ID of the token to delete."}},"disableContract()":{"details":"Disable the contract, preventing further minting."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getMintConfig()":{"details":"Get the current minting configuration.","returns":{"_0":"mintConfig the mint config."}},"init(string,string,address,uint256)":{"details":"Contract initialization function.","params":{"_creator":"The address of the contract creator.","_maxTokens":"The maximum number of tokens that can be minted.","_name":"The name of the NFT contract.","_symbol":"The symbol of the NFT contract."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isApprovedMinter(address)":{"details":"Checks if the supplied address is approved for minting","params":{"_address":"The address of the minter."},"returns":{"_0":"bool, whether the address is approved for minting."}},"lockBaseURI()":{"details":"Lock the metadata to prevent further updates."},"mintTo(address)":{"details":"Mint a new token to the specified receiver.","params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"prepareMint(string,uint256)":{"details":"Prepare a minting batch with a specified base URI and number of tokens.","params":{"_baseURI":"The base URI for token metadata.","_numberOfTokens":"The number of tokens to prepare for minting."}},"prepareMintWithMinter(string,uint256,address)":{"details":"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.","params":{"_baseURI":"The base URI for token metadata.","_minter":"The address of the minter.","_numberOfTokens":"The number of tokens to prepare for minting."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"setDefaultRoyaltyReceiver(address)":{"details":"Set the default royalty receiver address.","params":{"_receiver":"The address of the default royalty receiver."}},"setMinterApproval(address,bool)":{"details":"Set a minter for the contract","params":{"_isMinter":"bool of whether the address is a minter.","_minter":"address of the minter."}},"setRoyaltyReceiverForToken(address,uint256)":{"details":"Set a specific royalty receiver address for a token.","params":{"_receiver":"The address of the royalty receiver.","_tokenId":"The ID of the token."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenCreator(uint256)":{"details":"Get the address of the token creator for a given token ID.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"address of the token creator."}},"tokenURI(uint256)":{"details":"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"The token's URI."}},"totalSupply()":{"details":"Get the total supply of tokens in existence.","returns":{"_0":"The total supply of tokens."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateBaseURI(string)":{"details":"Update the base URI.","params":{"_baseURI":"The new base URI."}},"updateTokenURI(uint256,string)":{"details":"Update the token metadata URI.","params":{"_metadataUri":"The new metadata URI."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":"LazySovereignNFT"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":{"keccak256":"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635","urls":["bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e","dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":225} \ No newline at end of file diff --git a/abis/LazySovereignNFTFactory.json b/abis/LazySovereignNFTFactory.json index 75cb0b1..5d72fee 100644 --- a/abis/LazySovereignNFTFactory.json +++ b/abis/LazySovereignNFTFactory.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"LAZY_ROYALTY_GUARD","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"LAZY_ROYALTY_GUARD_DEADMAN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"LAZY_SOVEREIGN_NFT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"lazySovereignNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lazySovereignNFTRoyaltyGuard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lazySovereignNFTRoyaltyGuardDeadmanTrigger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSovereignNFT","inputs":[{"name":"_sovereignNFT","type":"address","internalType":"address"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreated","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreated","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"contractType","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false}],"bytecode":{"object":"0x60806040908082523461013f5760008054336001600160a01b031980831682178455936001600160a01b03939290919084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36001600160401b0390612a59818101908382118383101761012b5790829162000b838339039083f0801561012157831684600154161760015584516133cd808201908282108483111761012b57908291620035dc8339039083f0801561012157831684600254161760025584519061356d808301918383109083111761010d57908291620069a98339039082f090811561010257501690600354161760035551610a3e9081620001458239f35b8451903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b85513d84823e3d90fd5b634e487b7160e01b85526041600452602485fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c918262e8ece61461069d5750816322d60fcb14610674578163637944f514610639578163715018a6146105df578163740adf31146105a4578163877ebf51146102185781638da5cb5b146101f0578163a55b1c25146101bd578163c4dca7ab14610194578163f2fde38b146100c8575063f5e0e6df1461009d57600080fd5b346100c457816003193601126100c45760015490516001600160a01b039091168152602090f35b5080fd5b905034610190576020366003190112610190576100e3610769565b906100ec61077f565b6001600160a01b0391821692831561013e575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346100c457816003193601126100c45760035490516001600160a01b039091168152602090f35b5050346100c4573660031901126101ed576101ea6101d9610769565b6101e161077f565b602435906107d7565b80f35b80fd5b5050346100c457816003193601126100c457905490516001600160a01b039091168152602090f35b839150346100c45760803660031901126100c45767ffffffffffffffff81358181116104425761024b9036908401610701565b90602435908111610442576102639036908401610701565b606435919060443580156105455785927f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6885146104d6575b7f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c58514610454575b7f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517085146103ca575b5050506001600160a01b03169182156103545750602093519233837f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec8380a3827feec8a411955d10f84b6b0e3110b206d0888593b71381b8ca931e8f131f7eb365339280a48152f35b60a490602086519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b039450919290916103e6908516610974565b93841691823b15610450579186918880946104168c5197889687958694635edc7c1960e01b865233928601610935565b03925af180156104465790859161042e575b806102eb565b610437906106d7565b610442578386610428565b8380fd5b86513d87823e3d90fd5b8780fd5b6002546001600160a01b03945061046c908516610974565b938416803b1561045057878361049b9289838d51809681958294635edc7c1960e01b84528c8b33928601610935565b03925af180156104cc579088916104b4575b50506102c3565b6104bd906106d7565b6104c85786896104ad565b8680fd5b89513d8a823e3d90fd5b6001546001600160a01b0394506104ee908516610974565b938416803b1561045057878361051d9289838d51809681958294635edc7c1960e01b84528c8b33928601610935565b03925af180156104cc57610532575b5061029b565b61053e909791976106d7565b958861052c565b865162461bcd60e51b8152602081870152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b5050346100c457816003193601126100c457602090517f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c66251708152f35b83346101ed57806003193601126101ed576105f861077f565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346100c457816003193601126100c457602090517f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd688152f35b5050346100c457816003193601126100c45760025490516001600160a01b039091168152602090f35b8490346100c457816003193601126100c457807f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c560209252f35b67ffffffffffffffff81116106eb57604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156107645780359067ffffffffffffffff928383116106eb5760405193601f8401601f19908116603f01168501908111858210176106eb576040528284526020838301011161076457816000926020809301838601378301015290565b600080fd5b600435906001600160a01b038216820361076457565b6000546001600160a01b0316330361079357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316908115610764577f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881146108df577f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c581146108c9577f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170146108b45760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b919082519283825260005b848110610921575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610900565b9060609261095261096092979695976080855260808501906108f5565b9083820360208501526108f5565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b038216156109ca57565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfea264697066735822122024a9d1146a249202ab1e235ef3c815b12e1924234fc3580a0e248507efca4cbd64736f6c634300081200336080806040523461001657612a3d908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461194c5750806306fdde03146118a2578063081812fc14611882578063095ea7b3146117125780630de54ba0146116c357806318160ddd146116a357806318e97fd11461149157806323b872dd1461146c5780632a55205a146113da5780633403c4e9146113b15780633a3d146f146113725780633ebc82c51461133057806340c1a0641461130657806342842e0e146112d257806342966c68146112b557806353df5c7c146112535780635edc7c1914610d485780636297c16c14610ccc5780636352211e14610c9b57806370a0823114610c05578063715018a614610ba8578063755edd1714610964578063894ba833146109165780638da5cb5b146108ed578063931688cb1461071d5780639338bb5d1461068457806395d89b411461059f578063a22cb465146104de578063ab69607a146104bf578063b390ac2514610485578063b88d4fde146103fa578063b9fbd25c14610378578063c87b56dd1461033d578063e83157421461031d578063e985e9c5146102cf578063ee070805146102ac578063efc32cd4146102595763f2fde38b146101c557600080fd5b34610255576020366003190112610255576101de611a31565b916101e7611bcd565b6001600160a01b03831615610203578361020084611c25565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102a857806003193601126102a857610273611a31565b9061027c611bcd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102a857816003193601126102a85760209060ff80541690519015158152f35b5050346102a857806003193601126102a85760ff816020936102ef611a31565b6102f7611a62565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102a857816003193601126102a857602090610100549051908152f35b509134610375576020366003190112610375575061035e6103719235612422565b9051918291602083526020830190611a0c565b0390f35b80fd5b503461025557606036600319011261025557803567ffffffffffffffff81116103f6576103d5916103ab91369101611aa7565b91906103b5611a4c565b926103be611bcd565b6103cc60ff805416156123ae565b602435916127ae565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b8380fd5b8382346102a85760803660031901126102a857610415611a31565b9061041e611a62565b916044356064359367ffffffffffffffff851161048157366023860112156104815761045961047c9486602461020098369301359101611b96565b9261046c6104678433611ed6565b611dfd565b610477838383611f9e565b6121cb565b611eb2565b8580fd5b509034610255573660031901126102a857803567ffffffffffffffff811161025557610200916104b791369101611aa7565b6103be611bcd565b5050346102a857816003193601126102a85760209060fc549051908152f35b509034610255576104ee36611a78565b6001600160a01b039091169290919033841461055d5750338452609c60205280842083855260205261052e828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b5050346102a857816003193601126102a857805190826098546105c181611ce0565b8085529160019180831690811561065c57506001146105ff575b5050506105ed82610371940383611b58565b51918291602083526020830190611a0c565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610644575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101610627565b6103719750869350602092506105ed94915060ff191682840152151560051b820101946105db565b8284346103755780600319360112610375578180516106a281611b0a565b82815260606020820152015280516106b981611b0a565b6101055481528151916106d6836106cf81611d1a565b0384611b58565b6020820192835261071060ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190611a0c565b9051151560608301520390f35b508290346102a8576020806003193601126102555767ffffffffffffffff9082358281116108e9576107529036908501611aa7565b93909261075d611bcd565b60ff610107541661089d57841161088a575061010690610786846107818454611ce0565b61234e565b8490601f85116001146107f35750946107e2918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e97916107e8575b508560011b906000198760031b1c19161790555b51928392836123fa565b0390a180f35b9050840135886107c4565b90601f1985168387526000805160206129e88339815191529287905b828210610872575050916107e29391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610858575b5050600185811b0190556107d8565b850135600019600388901b60f8161c191690558780610849565b80600185968294968a0135815501950193019061080f565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b5050346102a857816003193601126102a85760335490516001600160a01b039091168152602090f35b833461037557806003193601126103755761092f611bcd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102a8576020928360031936011261025557610982611a31565b9261099160ff805416156123ae565b6033546001600160a01b039190821633148015610b93575b15610b375760fc548260fb541692610104966001885401809855610100548811610af6578651916109d983611b3c565b8483528116958615610ab5575061047c8794939289610a9893610a1a610a1483600052609960205260018060a01b0360406000205416151590565b15612762565b600082815260996020526040902054610a3d906001600160a01b03161515610a14565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46120af565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff84822054166109a9565b8334610375578060031936011261037557610bc1611bcd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102a85760203660031901126102a8576001600160a01b03610c29611a31565b16908115610c46576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611cba565b90516001600160a01b039091168152f35b503461025557602036600319011261025557803591610cea83611cba565b336001600160a01b0390911603610d05578361020084612256565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b508290346102a85760803660031901126102a85767ffffffffffffffff9281358481116103f657610d7c9036908401611aa7565b929060243586811161048157610d959036908401611aa7565b610da0979197611a4c565b9387549860ff94858b60081c16159889809a611247575b8015611231575b156111d75760ff19808d1660019081178d559b9c999a998a6111c6575b506001600160a01b038916156111835791610e2e91610e1e898f610e369796600a60fc558254168255606435610100555460081c16610e19816122ee565b6122ee565b610e2733611c25565b3691611b96565b933691611b96565b90610e4a858b5460081c16610e19816122ee565b82518481116111705780610e5f609754611ce0565b94601f958681116110ff575b506020908d8784116001146110805792611075575b5050600019600383901b1c1916908a1b176097555b81519384116110625750610eaa609854611ce0565b828111610fff575b506020918311600114610f73579180610f27959492610eff948b92610f68575b5050600019600383901b1c191690881b176098555b875460081c16610ef6816122ee565b610e19816122ee565b60fb80546001600160a01b0319166001600160a01b038316179055610f22611bcd565b611c25565b610f2f578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610ed2565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610fe7575091610eff95939185610f279998969410610fce575b505050811b01609855610ee7565b015160001960f88460031b161c191690558a8080610fc0565b8284015185558b969094019360209384019301610fa3565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611059575b0160051c019089905b82811061104e575050610eb2565b8b8155018990611040565b92508192611037565b634e487b7160e01b8a5260419052602489fd5b015190508c80610e80565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106110e7575084116110ce575b505050811b01609755610e95565b015160001960f88460031b161c191690558c80806110c0565b8284015185558f9690940193602093840193016110b1565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611167575b859493910160051c909101908d908f5b83821061115957505050610e6b565b81558594508e91018f61114a565b9250819261113a565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610ddb565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610dbe57506001878d1614610dbe565b506001878d1610610db7565b5050346102a857816003193601126102a8577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061128f611bcd565b5160208152806112a160208201611d1a565b0390a1610107805460ff1916600117905580f35b8382346102a85760203660031901126102a8576102009035612256565b5050346102a85761047c610200916112e936611ad5565b919251926112f684611b3c565b86845261046c6104678433611ed6565b5050346102a85760203660031901126102a85760335490516001600160a01b039091168152602090f35b83346103755760203660031901126103755761020061134d611a31565b611355611bcd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102a85760203660031901126102a85760209160ff9082906001600160a01b0361139d611a31565b168152610102855220541690519015158152f35b5050346102a857816003193601126102a85760fb5490516001600160a01b039091168152602090f35b5091346103755781600319360112610375578235815260fd60205281812054602435906001600160a01b03908116801561146057925b60fe60205284812054801561145657925b8381029381850414901517156114435750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611421565b508060fb541692611410565b83346103755761020061147e36611ad5565b9161148c6104678433611ed6565b611f9e565b508290346102a857826003193601126102a85780359067ffffffffffffffff906024358281116108e9576114c89036908301611aa7565b9290916114d3611bcd565b60ff610107541661165557848652602090610103825287872092851161164257506114fe8254611ce0565b601f81116115ff575b508590601f8511600114611574575095611563918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd97989161156957508560011b906000198760031b1c191617905551928392836123fa565b0390a280f35b9050840135896107c4565b90601f1985168388528288209288905b8282106115e7575050916115639391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a94106115cd575050600185811b0190556107d8565b850135600019600388901b60f8161c191690558880610849565b80600185968294968a01358155019501930190611584565b828752818720601f860160051c810191838710611638575b601f0160051c01905b81811061162d5750611507565b878155600101611620565b9091508190611617565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b5050346102a857816003193601126102a857602090610104549051908152f35b5050346102a857610200906116d736611a78565b91906116e1611bcd565b6116ef60ff805416156123ae565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b503461025557816003193601126102555761172b611a31565b6024359290916001600160a01b039190828061174687611cba565b1694169380851461183557803314908115611816575b50156117ae5750838552609b602052842080546001600160a01b0319168317905561178683611cba565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861175c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611dbf565b5050346102a857816003193601126102a857805190826097546118c481611ce0565b8085529160019180831690811561065c57506001146118ef575050506105ed82610371940383611b58565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611934575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101611917565b92505034610255576020366003190112610255573563ffffffff60e01b8116908181036103f65760209350631030681960e21b82149182156119d8575b82156119af575b50811561199f575b5015158152f35b6119a9915061271e565b38611998565b90915063152a902d60e11b1480156119c9575b9038611990565b506119d38161271e565b6119c2565b6301ffc9a760e01b81149250611989565b60005b8381106119fc5750506000910152565b81810151838201526020016119ec565b90602091611a25815180928185528580860191016119e9565b601f01601f1916010190565b600435906001600160a01b0382168203611a4757565b600080fd5b604435906001600160a01b0382168203611a4757565b602435906001600160a01b0382168203611a4757565b6040906003190112611a47576004356001600160a01b0381168103611a4757906024358015158103611a475790565b9181601f84011215611a475782359167ffffffffffffffff8311611a475760208381860195010111611a4757565b6060906003190112611a47576001600160a01b03906004358281168103611a4757916024359081168103611a47579060443590565b6060810190811067ffffffffffffffff821117611b2657604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff821117611b2657604052565b90601f8019910116810190811067ffffffffffffffff821117611b2657604052565b67ffffffffffffffff8111611b2657601f01601f191660200190565b929192611ba282611b7a565b91611bb06040519384611b58565b829481845281830111611a47578281602093846000960137010152565b6033546001600160a01b03163303611be157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15611c7557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b0316611cdd811515611c6e565b90565b90600182811c92168015611d10575b6020831014611cfa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611cef565b90600091610106908154611d2d81611ce0565b80835292600191808316908115611d9a5750600114611d4d575b50505050565b90929394506000526000805160206129e8833981519152916000925b848410611d825750506020925001019038808080611d47565b80546020858501810191909152909301928101611d69565b92505050602093945060ff929192191683830152151560051b01019038808080611d47565b600081815260996020526040902054611de2906001600160a01b03161515611c6e565b6000908152609b60205260409020546001600160a01b031690565b15611e0457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611eb957565b60405162461bcd60e51b815280611ed260048201611e5f565b0390fd5b906001600160a01b038080611eea84611cba565b16931691838314938415611f1d575b508315611f07575b50505090565b611f1391929350611dbf565b1614388080611f01565b909350600052609c60205260406000208260005260205260ff604060002054169238611ef9565b15611f4b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611fc691611fac84611cba565b6001600160a01b0393918416928492909183168414611f44565b1691821561205e5781611fe391611fdc86611cba565b1614611f44565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156121c1576120fd946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611a0c565b03926001600160a01b03165af1849181612181575b50612170575050503d600014612168573d61212c81611b7a565b9061213a6040519283611b58565b81528091833d92013e5b805191826121655760405162461bcd60e51b815280611ed260048201611e5f565b01fd5b506060612144565b6001600160e01b0319161492509050565b9091508581813d83116121ba575b6121998183611b58565b810103126108e957516001600160e01b0319811681036108e9579038612112565b503d61218f565b5050915050600190565b9293600093909291803b1561224b579484916122259660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611a0c565b0393165af18491816121815750612170575050503d600014612168573d61212c81611b7a565b505050915050600190565b6122636104678233611ed6565b61226c81611cba565b5061227681611cba565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b156122f557565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f811161235a575050565b60009061010682526000805160206129e8833981519152906020601f850160051c830194106123a4575b601f0160051c01915b82811061239957505050565b81815560010161238d565b9092508290612384565b156123b557565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b6000908082526101039060209082825260409261244184862054611ce0565b612676575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612669575b50506d04ee2d6d415b85acef81000000008086101561265b575b50662386f26fc100008086101561264c575b506305f5e1008086101561263d575b506127108086101561262e575b50606485101561261e575b600a80951015612614575b600194858401968660216124fa6124e58b611b7a565b9a6124f287519c8d611b58565b808c52611b7a565b8a89019790601f19013689378a0101905b6125e5575b50505051948593826101069081549161252883611ce0565b928981169081156125c4575060011461257d575b50505050600693928261256964173539b7b760d91b93602f60f81b611cdd999652518093868401906119e9565b019182015203601919810184520182611b58565b815292935090916000805160206129e88339815191525b8282106125ae575050840101908281612569611cdd61253c565b8054898301850152889650908301908701612594565b60ff1916858a01525050508015150285010191508281612569611cdd61253c565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530490878261250b5750612510565b91600101916124cf565b91936064600291049401916124c4565b600491939504940191386124b9565b600891939504940191386124ac565b6010919395049401913861249d565b84919395049401913861248b565b0494509150813880612471565b908493929352825280832090519283918181549061269382611ce0565b808652926001928084169081156126fa57506001146126bd575b50505050611cdd92500382611b58565b815285812095935091905b8183106126e2575050611cdd9350820101388080806126ad565b855487840185015294850194869450918301916126c8565b9350505050611cdd94925060ff191682840152151560051b820101388080806126ad565b63ffffffff60e01b166380ac58cd60e01b8114908115612751575b8115612743575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612739565b1561276957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116129a3576101045461294457604051936127d085611b0a565b8285526127de368383611b96565b60209080828801526040870191600097888452516101055581519067ffffffffffffffff8211612930576101069261281a836107818654611ce0565b81601f841160011461289b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92612890575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561288b604051928392836123fa565b0390a2565b015190503880612854565b848b5292996000805160206129e883398151915293601f198c1691905b82821061291857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106128ff575b505050811b019055612869565b015160001960f88460031b161c191690553880806128f2565b806001869782949787015181550196019401906128b8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fdfec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba264697066735822122083fb0250c67ec5e0a44bcc829488c3a8af5c1f6a1d23f276998b41c14f58284764736f6c6343000812003360808060405234610016576133b1908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e81461200c57806301ffc9a714611f3457806306fdde0314611e8a578063081812fc14611e69578063095ea7b314611c4c5780630de54ba014611bfd57806318160ddd14611bdd57806318e97fd1146119f957806320427486146119c557806323b872dd146119a05780632a55205a1461190d5780632ce878da1461189a5780633403c4e9146118715780633a3d146f146118325780633ebc82c5146117f057806340c1a064146117c657806342842e0e1461179257806342966c6814611776578063472a6638146116d757806353df5c7c146116755780635edc7c191461116d5780636297c16c146110ef5780636352211e146110bd57806370a0823114611029578063715018a614610fcc578063755edd1714610d8957806387bc793f14610d61578063894ba83314610d135780638da5cb5b14610cea578063931688cb14610b1d5780639338bb5d14610a8457806395d89b411461099f5780639e860f2a1461089a578063a22cb4651461073c578063ab69607a1461071d578063b390ac25146106e4578063b88d4fde1461065b578063b9fbd25c146105dc578063bc7194551461052e578063c87b56dd146104f2578063e8315742146104d2578063e985e9c514610484578063eab8511814610429578063ee07080514610406578063efc32cd4146103b7578063f2fde38b146103205763ff6e8c8f1461022557600080fd5b3461031c5761023336612206565b6033546001600160a01b0396908716330361030d5760038410156102fa5783156102eb575090610264913691612a3e565b93835b85518110156102e75761028f61027c84612aa4565b83610287848a612abe565b511690612b00565b50828261029c8389612abe565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102d457600101610267565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103b35760203660031901126103b35761033c612105565b9161034561231d565b6001600160a01b03831615610361578361035e84612375565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461031c578060031936011261031c576103d1612105565b906103da61231d565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461031c578160031936011261031c5760209060ff80541690519015158152f35b82843461031c57602036600319011261031c5760209061047b61044a612105565b61045960ff6101095416612aa4565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461031c578060031936011261031c5760ff816020936104a4612105565b6104ac612136565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461031c578160031936011261031c57602090610100549051908152f35b5091903461052b57602036600319011261052b57506105146105279235612d97565b90519182916020835260208301906120e0565b0390f35b80fd5b5082346103b35760203660031901126103b35781359160038310156105d8576033546001600160a01b031633036105ca575061056982612aa4565b805490848155816105ac575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105a63394826121dd565b0390a280f35b845260208420908101905b81811015610575578481556001016105b7565b9051635c510c8360e11b8152fd5b8380fd5b508290346103b35760603660031901126103b35780356001600160401b0381116105d85761063a916106109136910161217b565b919061061a612120565b9261062361231d565b61063160ff80541615612d23565b602435916130df565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461031c57608036600319011261031c57610675612105565b9061067e612136565b91604435606435936001600160401b0385116106e057366023860112156106e0576106b86106db9486602461035e983693013591016122e6565b926106cb6106c68433612626565b61254d565b6106d68383836126ee565b61291b565b612602565b8580fd5b5082346103b35736600319011261031c5780356001600160401b0381116103b35761035e916107159136910161217b565b61062361231d565b82843461031c578160031936011261031c5760209060fc549051908152f35b5082346103b35761074c3661214c565b919060ff610109541660038110156102fa57600181036108505750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610841575b6001600160a01b0316923384146107ff5750338452609c6020528084208385526020526107d0828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610795576002855261010860205261088682862060018060a01b0383169060019160005201602052604060002054151590565b156107955781516282b42960e81b81528490fd5b503461031c576108a936612206565b6033546001600160a01b0396908716330361030d5750906108cb913691612a3e565b936003821015908161098c57826108e0578480f35b845b865181101561097c5761090a6108f785612aa4565b83610902848b612abe565b511690612b73565b508282610917838a612abe565b511690610969578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a46000198114610956576001016108e2565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461031c578160031936011261031c57805190826098546109c181612430565b80855291600191808316908115610a5c57506001146109ff575b5050506109ed826105279403836122aa565b519182916020835260208301906120e0565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a44575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101610a27565b6105279750869350602092506109ed94915060ff191682840152151560051b820101946109db565b50503461052b578060031936011261052b57818051610aa28161225e565b8281526060602082015201528051610ab98161225e565b610105548152815191610ad683610acf8161246a565b03846122aa565b60208201928352610b1060ff61010754169180840192151583526060815195869560208752516020870152519185015260808401906120e0565b9051151560608301520390f35b503461031c576020806003193601126103b3576001600160401b03908235828111610ce657610b4f903690850161217b565b939092610b5a61231d565b60ff6101075416610c9a578411610c87575061010690610b8384610b7e8454612430565b612cc3565b8490601f8511600114610bf0575094610bdf918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610be5575b508560011b906000198760031b1c19161790555b5192839283612d6f565b0390a180f35b905084013538610bc1565b90601f19851683875260008051602061335c8339815191529287905b828210610c6f57505091610bdf9391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c55575b5050600185811b019055610bd5565b850135600019600388901b60f8161c191690553880610c46565b80600185968294968a01358155019501930190610c0c565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461031c578160031936011261031c5760335490516001600160a01b039091168152602090f35b823461052b578060031936011261052b57610d2c61231d565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461031c578160031936011261031c576105279060ff61010954169051918291826121dd565b50913461031c57602092836003193601126103b357610da6612105565b92610db560ff80541615612d23565b6033546001600160a01b039190821633148015610fb7575b15610f5b5760fc548260fb541692610104966001885401809855610100548811610f1a57865191610dfd8361228f565b8483528116958615610ed957506106db8794939289610ebc93610e3e610e3883600052609960205260018060a01b0360406000205416151590565b15613093565b600082815260996020526040902054610e61906001600160a01b03161515610e38565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46127ff565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dcd565b823461052b578060031936011261052b57610fe561231d565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461031c57602036600319011261031c576001600160a01b0361104b612105565b16908115611068576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461052b57602036600319011261052b57506110de6020923561240a565b90516001600160a01b039091168152f35b508290346103b35760203660031901126103b35780359161110f8361240a565b336001600160a01b039091160361112a578361035e846129a6565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461031c57608036600319011261031c576001600160401b039281358481116105d85761119e903690840161217b565b92906024358681116106e0576111b7903690840161217b565b6111c2979197612120565b9387549860ff94858b60081c16159889809a611669575b8015611653575b156115f95760ff19808d1660019081178d559b9c999a998a6115e8575b506001600160a01b038916156115a5579161125091611240898f6112589796600a60fc558254168255606435610100555460081c1661123b81612c63565b612c63565b61124933612375565b36916122e6565b9336916122e6565b9061126c858b5460081c1661123b81612c63565b82518481116115925780611281609754612430565b94601f95868111611521575b506020908d8784116001146114a25792611497575b5050600019600383901b1c1916908a1b176097555b815193841161148457506112cc609854612430565b828111611421575b506020918311600114611395579180611349959492611321948b9261138a575b5050600019600383901b1c191690881b176098555b875460081c1661131881612c63565b61123b81612c63565b60fb80546001600160a01b0319166001600160a01b03831617905561134461231d565b612375565b611351578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b0151905038806112f4565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106114095750916113219593918561134999989694106113f0575b505050811b01609855611309565b015160001960f88460031b161c191690553880806113e2565b8284015185558b9690940193602093840193016113c5565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061147b575b0160051c019089905b8281106114705750506112d4565b8b8155018990611462565b92508192611459565b634e487b7160e01b8a5260419052602489fd5b0151905038806112a2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611509575084116114f0575b505050811b016097556112b7565b015160001960f88460031b161c191690553880806114e2565b8284015185558f9690940193602093840193016114d3565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611589575b859493910160051c909101908d908f5b83821061157b5750505061128d565b81558594508e91018f61156c565b9250819261155c565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d55386111fd565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156111e057506001878d16146111e0565b506001878d16106111d9565b82843461031c578160031936011261031c577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e906116b161231d565b5160208152806116c36020820161246a565b0390a1610107805460ff1916600117905580f35b508290346103b35760203660031901126103b35780359160038310156105d8576033546001600160a01b0316330361176957506101099182549160ff83169060038210156117565750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461031c57602036600319011261031c5761035e90356129a6565b82843461031c576106db61035e916117a9366121a8565b919251926117b68461228f565b8684526106cb6106c68433612626565b82843461031c57602036600319011261031c5760335490516001600160a01b039091168152602090f35b823461052b57602036600319011261052b5761035e61180d612105565b61181561231d565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461031c57602036600319011261031c5760209160ff9082906001600160a01b0361185d612105565b168152610102855220541690519015158152f35b82843461031c578160031936011261031c5760fb5490516001600160a01b039091168152602090f35b50503461052b578060031936011261052b576118bb60ff6101095416612aa4565b9180519182845490818152602080910195835280832092905b8282106118f65761052786866118ec828b03836122aa565b5191829182612079565b8354875295860195600193840193909101906118d4565b5091903461052b578160031936011261052b578235815260fd60205281812054602435906001600160a01b03908116801561199457925b60fe60205284812054801561198a57925b8381029381850414901517156119775750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611955565b508060fb541692611944565b823461052b5761035e6119b2366121a8565b916119c06106c68433612626565b6126ee565b82843461031c57602036600319011261031c576020906119e3612105565b60018060a01b0380603354169116149051908152f35b503461031c578260031936011261031c578035906001600160401b0390602435828111610ce657611a2d903690830161217b565b929091611a3861231d565b60ff6101075416611b8f578486526020906101038252878720928511611b7c5750611a638254612430565b601f8111611b39575b508590601f8511600114611ac85750956105a6918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610be557508560011b906000198760031b1c19161790555192839283612d6f565b90601f1985168388528288209288905b828210611b21575050916105a69391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c55575050600185811b019055610bd5565b80600185968294968a01358155019501930190611ad8565b828752818720601f860160051c810191838710611b72575b601f0160051c01905b818110611b675750611a6c565b878155600101611b5a565b9091508190611b51565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461031c578160031936011261031c57602090610104549051908152f35b82843461031c5761035e90611c113661214c565b9190611c1b61231d565b611c2960ff80541615612d23565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103b357816003193601126103b357611c67612105565b906024359260ff61010954166003811015611e565760018103611e0f5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611e03575b6001600160a01b03918280611cc78761240a565b16941693808514611db657803314908115611d97575b5015611d2f5750838552609b602052842080546001600160a01b03191683179055611d078361240a565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611cdd565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611cb35760028552610108602052611e4581862060018060a01b0385169060019160005201602052604060002054151590565b15611cb357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461052b57602036600319011261052b57506110de6020923561250f565b82843461031c578160031936011261031c5780519082609754611eac81612430565b80855291600191808316908115610a5c5750600114611ed7575050506109ed826105279403836122aa565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611f1c575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101611eff565b508290346103b35760203660031901126103b35735906001600160e01b031982168083036105d8576020935063fa31a45b60e01b8114928315611ffb575b8315611f83575b5050519015158152f35b919250631030681960e21b811491908215611fea575b8215611fc1575b508115611fb1575b50908380611f79565b611fbb9150613317565b83611fa8565b90915063152a902d60e11b148015611fdb575b9084611fa0565b50611fe581613317565b611fd4565b6301ffc9a760e01b81149250611f99565b6301ffc9a760e01b82149350611f72565b5082346103b357602091826003193601126105d8573560038110156105d85761203490612aa4565b9281518093808654928381520195835280832092905b8282106120625761052786866118ec828b03836122aa565b83548752958601956001938401939091019061204a565b6020908160408183019282815285518094520193019160005b8281106120a0575050505090565b83516001600160a01b031685529381019392810192600101612092565b60005b8381106120d05750506000910152565b81810151838201526020016120c0565b906020916120f9815180928185528580860191016120bd565b601f01601f1916010190565b600435906001600160a01b038216820361211b57565b600080fd5b604435906001600160a01b038216820361211b57565b602435906001600160a01b038216820361211b57565b604090600319011261211b576004356001600160a01b038116810361211b5790602435801515810361211b5790565b9181601f8401121561211b578235916001600160401b03831161211b576020838186019501011161211b57565b606090600319011261211b576001600160a01b0390600435828116810361211b5791602435908116810361211b579060443590565b9190602083019260038210156121f05752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261211b57600435600381101561211b57916024356001600160401b039283821161211b578060238301121561211b57816004013593841161211b5760248460051b8301011161211b576024019190565b606081019081106001600160401b0382111761227957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761227957604052565b90601f801991011681019081106001600160401b0382111761227957604052565b6001600160401b03811161227957601f01601f191660200190565b9291926122f2826122cb565b9161230060405193846122aa565b82948184528183011161211b578281602093846000960137010152565b6033546001600160a01b0316330361233157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156123c557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661242d8115156123be565b90565b90600182811c92168015612460575b602083101461244a57565b634e487b7160e01b600052602260045260246000fd5b91607f169161243f565b9060009161010690815461247d81612430565b808352926001918083169081156124ea575060011461249d575b50505050565b909293945060005260008051602061335c833981519152916000925b8484106124d25750506020925001019038808080612497565b805460208585018101919091529093019281016124b9565b92505050602093945060ff929192191683830152151560051b01019038808080612497565b600081815260996020526040902054612532906001600160a01b031615156123be565b6000908152609b60205260409020546001600160a01b031690565b1561255457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561260957565b60405162461bcd60e51b815280612622600482016125af565b0390fd5b906001600160a01b03808061263a8461240a565b1693169183831493841561266d575b508315612657575b50505090565b6126639192935061250f565b1614388080612651565b909350600052609c60205260406000208260005260205260ff604060002054169238612649565b1561269b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90612716916126fc8461240a565b6001600160a01b0393918416928492909183168414612694565b169182156127ae57816127339161272c8661240a565b1614612694565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156129115761284d946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b9660848301906120e0565b03926001600160a01b03165af18491816128d1575b506128c0575050503d6000146128b8573d61287c816122cb565b9061288a60405192836122aa565b81528091833d92013e5b805191826128b55760405162461bcd60e51b815280612622600482016125af565b01fd5b506060612894565b6001600160e01b0319161492509050565b9091508581813d831161290a575b6128e981836122aa565b81010312610ce657516001600160e01b031981168103610ce6579038612862565b503d6128df565b5050915050600190565b9293600093909291803b1561299b579484916129759660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906120e0565b0393165af18491816128d157506128c0575050503d6000146128b8573d61287c816122cb565b505050915050600190565b6129b36106c68233612626565b6129bc8161240a565b506129c68161240a565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612279578360051b6040519260208094612a67828501826122aa565b809781520191810192831161211b57905b828210612a855750505050565b81356001600160a01b038116810361211b578152908301908301612a78565b60038110156121f057600052610108602052604060002090565b8051821015612ad25760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612ad25760005260206000200190600090565b6000828152600182016020526040902054612b6c57805490680100000000000000008210156122795782612b55612b3e846001809601855584612ae8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c5c5760001991808301818111612c4857825490848201918211612c3457808203612bff575b50505080548015612beb57820191612bce8383612ae8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612c1f612c0f612b3e9386612ae8565b90549060031b1c92839286612ae8565b90558652846020526040862055388080612bb6565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612c6a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612ccf575050565b600090610106825260008051602061335c833981519152906020601f850160051c83019410612d19575b601f0160051c01915b828110612d0e57505050565b818155600101612d02565b9092508290612cf9565b15612d2a57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612db684862054612430565b612feb575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612fde575b50506d04ee2d6d415b85acef810000000080861015612fd0575b50662386f26fc1000080861015612fc1575b506305f5e10080861015612fb2575b5061271080861015612fa3575b506064851015612f93575b600a80951015612f89575b60019485840196866021612e6f612e5a8b6122cb565b9a612e6787519c8d6122aa565b808c526122cb565b8a89019790601f19013689378a0101905b612f5a575b505050519485938261010690815491612e9d83612430565b92898116908115612f395750600114612ef2575b505050506006939282612ede64173539b7b760d91b93602f60f81b61242d999652518093868401906120bd565b0191820152036019198101845201826122aa565b8152929350909160008051602061335c8339815191525b828210612f23575050840101908281612ede61242d612eb1565b8054898301850152889650908301908701612f09565b60ff1916858a01525050508015150285010191508281612ede61242d612eb1565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782612e805750612e85565b9160010191612e44565b9193606460029104940191612e39565b60049193950494019138612e2e565b60089193950494019138612e21565b60109193950494019138612e12565b849193950494019138612e00565b0494509150813880612de6565b908493929352825280832090519283918181549061300882612430565b8086529260019280841690811561306f5750600114613032575b5050505061242d925003826122aa565b815285812095935091905b81831061305757505061242d935082010138808080613022565b8554878401850152948501948694509183019161303d565b935050505061242d94925060ff191682840152151560051b82010138808080613022565b1561309a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116132d3576101045461327457604051936131018561225e565b82855261310f3683836122e6565b6020908082880152604087019160009788845251610105558151906001600160401b038211613260576101069261314a83610b7e8654612430565b81601f84116001146131cb57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a926131c0575b50508160011b916000199060031b1c19161790555b5115156101079060ff801983541691161790556131bb60405192839283612d6f565b0390a2565b015190503880613184565b848b52929960008051602061335c83398151915293601f198c1691905b82821061324857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c941061322f575b505050811b019055613199565b015160001960f88460031b161c19169055388080613222565b806001869782949787015181550196019401906131e8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b811490811561334a575b811561333c575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061333256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba264697066735822122021d2821b803a3709515d735f1f04f2ed6d9a07724e1875b57b90e344009adabb64736f6c634300081200336080806040523461001657613551908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e8146121ac57806301ffc9a7146120d457806306fdde031461202a578063081812fc14612009578063095ea7b314611dec5780630de54ba014611d9d57806318160ddd14611d7d57806318e97fd114611b995780632042748614611b6557806321c4a5d814611aae57806323b872dd14611a895780632a55205a146119f65780632ce878da146119835780633403c4e91461195a5780633a3d146f1461191b5780633ebc82c5146118d957806340c1a064146118af57806342842e0e1461187b57806342966c681461185f578063472a6638146117c057806353df5c7c1461175e5780635aec8d62146116b65780635edc7c19146111ae5780636297c16c146111305780636352211e146110fe57806370a082311461106a578063715018a61461100d578063717392ed14610fed578063755edd1714610daa57806387bc793f14610d82578063894ba83314610d345780638da5cb5b14610d0b578063931688cb14610b3e5780639338bb5d14610aa557806395d89b41146109c05780639e860f2a146108bb578063a22cb4651461075d578063ab69607a1461073e578063b390ac2514610705578063b88d4fde1461067c578063b9fbd25c146105fd578063bc7194551461054f578063c87b56dd14610513578063e8315742146104f3578063e985e9c5146104a5578063eab851181461044a578063ee07080514610427578063efc32cd4146103d8578063f2fde38b146103415763ff6e8c8f1461024657600080fd5b3461033d57610254366123a6565b6033546001600160a01b0396908716330361032e57600384101561031b57831561030c575090610285913691612bde565b93835b8551811015610308576102b061029d84612c44565b836102a8848a612c5e565b511690612ca0565b5082826102bd8389612c5e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102f557600101610288565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103d45760203660031901126103d45761035d6122a5565b916103666124bd565b6001600160a01b03831615610382578361037f84612515565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461033d578060031936011261033d576103f26122a5565b906103fb6124bd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461033d578160031936011261033d5760209060ff80541690519015158152f35b82843461033d57602036600319011261033d5760209061049c61046b6122a5565b61047a60ff6101095416612c44565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461033d578060031936011261033d5760ff816020936104c56122a5565b6104cd6122d6565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461033d578160031936011261033d57602090610100549051908152f35b5091903461054c57602036600319011261054c57506105356105489235612f37565b9051918291602083526020830190612280565b0390f35b80fd5b5082346103d45760203660031901126103d45781359160038310156105f9576033546001600160a01b031633036105eb575061058a82612c44565b805490848155816105cd575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105c733948261237d565b0390a280f35b845260208420908101905b81811015610596578481556001016105d8565b9051635c510c8360e11b8152fd5b8380fd5b508290346103d45760603660031901126103d45780356001600160401b0381116105f95761065b916106319136910161231b565b919061063b6122c0565b926106446124bd565b61065260ff80541615612ec3565b6024359161327f565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461033d57608036600319011261033d576106966122a5565b9061069f6122d6565b91604435606435936001600160401b0385116107015736602386011215610701576106d96106fc9486602461037f98369301359101612486565b926106ec6106e784336127c6565b6126ed565b6106f783838361288e565b612abb565b6127a2565b8580fd5b5082346103d45736600319011261033d5780356001600160401b0381116103d45761037f916107369136910161231b565b6106446124bd565b82843461033d578160031936011261033d5760209060fc549051908152f35b5082346103d45761076d366122ec565b919060ff6101095416600381101561031b57600181036108715750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610862575b6001600160a01b0316923384146108205750338452609c6020528084208385526020526107f1828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036107b657600285526101086020526108a782862060018060a01b0383169060019160005201602052604060002054151590565b156107b65781516282b42960e81b81528490fd5b503461033d576108ca366123a6565b6033546001600160a01b0396908716330361032e5750906108ec913691612bde565b93600382101590816109ad5782610901578480f35b845b865181101561099d5761092b61091885612c44565b83610923848b612c5e565b511690612d13565b508282610938838a612c5e565b51169061098a578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a4600019811461097757600101610903565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461033d578160031936011261033d57805190826098546109e2816125d0565b80855291600191808316908115610a7d5750600114610a20575b505050610a0e8261054894038361244a565b51918291602083526020830190612280565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a6557505050610a0e82602061054895820101946109fc565b80546020878701810191909152909501948101610a48565b610548975086935060209250610a0e94915060ff191682840152151560051b820101946109fc565b50503461054c578060031936011261054c57818051610ac3816123fe565b8281526060602082015201528051610ada816123fe565b610105548152815191610af783610af08161260a565b038461244a565b60208201928352610b3160ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190612280565b9051151560608301520390f35b503461033d576020806003193601126103d4576001600160401b03908235828111610d0757610b70903690850161231b565b939092610b7b6124bd565b60ff6101075416610cbb578411610ca8575061010690610ba484610b9f84546125d0565b612e63565b8490601f8511600114610c11575094610c00918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610c06575b508560011b906000198760031b1c19161790555b5192839283612f0f565b0390a180f35b905084013538610be2565b90601f1985168387526000805160206134fc8339815191529287905b828210610c9057505091610c009391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c76575b5050600185811b019055610bf6565b850135600019600388901b60f8161c191690553880610c67565b80600185968294968a01358155019501930190610c2d565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461033d578160031936011261033d5760335490516001600160a01b039091168152602090f35b823461054c578060031936011261054c57610d4d6124bd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461033d578160031936011261033d576105489060ff610109541690519182918261237d565b50913461033d57602092836003193601126103d457610dc76122a5565b92610dd660ff80541615612ec3565b6033546001600160a01b039190821633148015610fd8575b15610f7c5760fc548260fb541692610104966001885401809855610100548811610f3b57865191610e1e8361242f565b8483528116958615610efa57506106fc8794939289610edd93610e5f610e5983600052609960205260018060a01b0360406000205416151590565b15613233565b600082815260996020526040902054610e82906001600160a01b03161515610e59565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a461299f565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dee565b82843461033d578160031936011261033d5760209061010a549051908152f35b823461054c578060031936011261054c576110266124bd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461033d57602036600319011261033d576001600160a01b0361108c6122a5565b169081156110a9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461054c57602036600319011261054c575061111f602092356125aa565b90516001600160a01b039091168152f35b508290346103d45760203660031901126103d457803591611150836125aa565b336001600160a01b039091160361116b578361037f84612b46565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461033d57608036600319011261033d576001600160401b039281358481116105f9576111df903690840161231b565b9290602435868111610701576111f8903690840161231b565b6112039791976122c0565b9387549860ff94858b60081c16159889809a6116aa575b8015611694575b1561163a5760ff19808d1660019081178d559b9c999a998a611629575b506001600160a01b038916156115e6579161129191611281898f6112999796600a60fc558254168255606435610100555460081c1661127c81612e03565b612e03565b61128a33612515565b3691612486565b933691612486565b906112ad858b5460081c1661127c81612e03565b82518481116115d357806112c26097546125d0565b94601f95868111611562575b506020908d8784116001146114e357926114d8575b5050600019600383901b1c1916908a1b176097555b81519384116114c5575061130d6098546125d0565b828111611462575b5060209183116001146113d657918061138a959492611362948b926113cb575b5050600019600383901b1c191690881b176098555b875460081c1661135981612e03565b61127c81612e03565b60fb80546001600160a01b0319166001600160a01b0383161790556113856124bd565b612515565b611392578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611335565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b81811061144a5750916113629593918561138a9998969410611431575b505050811b0160985561134a565b015160001960f88460031b161c19169055388080611423565b8284015185558b969094019360209384019301611406565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bc575b0160051c019089905b8281106114b1575050611315565b8b81550189906114a3565b9250819261149a565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e3565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154a57508411611531575b505050811b016097556112f8565b015160001960f88460031b161c19169055388080611523565b8284015185558f969094019360209384019301611514565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115ca575b859493910160051c909101908d908f5b8382106115bc575050506112ce565b81558594508e91018f6115ad565b9250819261159d565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d553861123e565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122157506001878d1614611221565b506001878d161061121a565b5082346103d457826003193601126103d45761010a54421061175157506101099081549060ff821690600382101561173e57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b82843461033d578160031936011261033d577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061179a6124bd565b5160208152806117ac6020820161260a565b0390a1610107805460ff1916600117905580f35b508290346103d45760203660031901126103d45780359160038310156105f9576033546001600160a01b0316330361185257506101099182549160ff831690600382101561183f5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461033d57602036600319011261033d5761037f9035612b46565b82843461033d576106fc61037f9161189236612348565b9192519261189f8461242f565b8684526106ec6106e784336127c6565b82843461033d57602036600319011261033d5760335490516001600160a01b039091168152602090f35b823461054c57602036600319011261054c5761037f6118f66122a5565b6118fe6124bd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461033d57602036600319011261033d5760209160ff9082906001600160a01b036119466122a5565b168152610102855220541690519015158152f35b82843461033d578160031936011261033d5760fb5490516001600160a01b039091168152602090f35b50503461054c578060031936011261054c576119a460ff6101095416612c44565b9180519182845490818152602080910195835280832092905b8282106119df5761054886866119d5828b038361244a565b5191829182612219565b8354875295860195600193840193909101906119bd565b5091903461054c578160031936011261054c578235815260fd60205281812054602435906001600160a01b039081168015611a7d57925b60fe602052848120548015611a7357925b838102938185041490151715611a605750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a3e565b508060fb541692611a2d565b823461054c5761037f611a9b36612348565b91611aa96106e784336127c6565b61288e565b5082346103d45760203660031901126103d4576033548235906001600160a01b03163303611b57576301e1338090818102918183041490151715611b4457420191824211611b31575061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b634e487b7160e01b845260118352602484fd5b5051635c510c8360e11b8152fd5b82843461033d57602036600319011261033d57602090611b836122a5565b60018060a01b0380603354169116149051908152f35b503461033d578260031936011261033d578035906001600160401b0390602435828111610d0757611bcd903690830161231b565b929091611bd86124bd565b60ff6101075416611d2f578486526020906101038252878720928511611d1c5750611c0382546125d0565b601f8111611cd9575b508590601f8511600114611c685750956105c7918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610c0657508560011b906000198760031b1c19161790555192839283612f0f565b90601f1985168388528288209288905b828210611cc1575050916105c79391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c76575050600185811b019055610bf6565b80600185968294968a01358155019501930190611c78565b828752818720601f860160051c810191838710611d12575b601f0160051c01905b818110611d075750611c0c565b878155600101611cfa565b9091508190611cf1565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461033d578160031936011261033d57602090610104549051908152f35b82843461033d5761037f90611db1366122ec565b9190611dbb6124bd565b611dc960ff80541615612ec3565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103d457816003193601126103d457611e076122a5565b906024359260ff61010954166003811015611ff65760018103611faf5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611fa3575b6001600160a01b03918280611e67876125aa565b16941693808514611f5657803314908115611f37575b5015611ecf5750838552609b602052842080546001600160a01b03191683179055611ea7836125aa565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611e7d565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611e535760028552610108602052611fe581862060018060a01b0385169060019160005201602052604060002054151590565b15611e5357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461054c57602036600319011261054c575061111f602092356126af565b82843461033d578160031936011261033d578051908260975461204c816125d0565b80855291600191808316908115610a7d575060011461207757505050610a0e8261054894038361244a565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106120bc57505050610a0e82602061054895820101946109fc565b8054602087870181019190915290950194810161209f565b508290346103d45760203660031901126103d45735906001600160e01b031982168083036105f9576020935063fa31a45b60e01b811492831561219b575b8315612123575b5050519015158152f35b919250631030681960e21b81149190821561218a575b8215612161575b508115612151575b50908380612119565b61215b91506134b7565b83612148565b90915063152a902d60e11b14801561217b575b9084612140565b50612185816134b7565b612174565b6301ffc9a760e01b81149250612139565b6301ffc9a760e01b82149350612112565b5082346103d457602091826003193601126105f9573560038110156105f9576121d490612c44565b9281518093808654928381520195835280832092905b8282106122025761054886866119d5828b038361244a565b8354875295860195600193840193909101906121ea565b6020908160408183019282815285518094520193019160005b828110612240575050505090565b83516001600160a01b031685529381019392810192600101612232565b60005b8381106122705750506000910152565b8181015183820152602001612260565b906020916122998151809281855285808601910161225d565b601f01601f1916010190565b600435906001600160a01b03821682036122bb57565b600080fd5b604435906001600160a01b03821682036122bb57565b602435906001600160a01b03821682036122bb57565b60409060031901126122bb576004356001600160a01b03811681036122bb579060243580151581036122bb5790565b9181601f840112156122bb578235916001600160401b0383116122bb57602083818601950101116122bb57565b60609060031901126122bb576001600160a01b039060043582811681036122bb579160243590811681036122bb579060443590565b9190602083019260038210156123905752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126122bb5760043560038110156122bb57916024356001600160401b03928382116122bb57806023830112156122bb5781600401359384116122bb5760248460051b830101116122bb576024019190565b606081019081106001600160401b0382111761241957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761241957604052565b90601f801991011681019081106001600160401b0382111761241957604052565b6001600160401b03811161241957601f01601f191660200190565b9291926124928261246b565b916124a0604051938461244a565b8294818452818301116122bb578281602093846000960137010152565b6033546001600160a01b031633036124d157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561256557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166125cd81151561255e565b90565b90600182811c92168015612600575b60208310146125ea57565b634e487b7160e01b600052602260045260246000fd5b91607f16916125df565b9060009161010690815461261d816125d0565b8083529260019180831690811561268a575060011461263d575b50505050565b90929394506000526000805160206134fc833981519152916000925b8484106126725750506020925001019038808080612637565b80546020858501810191909152909301928101612659565b92505050602093945060ff929192191683830152151560051b01019038808080612637565b6000818152609960205260409020546126d2906001600160a01b0316151561255e565b6000908152609b60205260409020546001600160a01b031690565b156126f457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156127a957565b60405162461bcd60e51b8152806127c26004820161274f565b0390fd5b906001600160a01b0380806127da846125aa565b1693169183831493841561280d575b5083156127f7575b50505090565b612803919293506126af565b16143880806127f1565b909350600052609c60205260406000208260005260205260ff6040600020541692386127e9565b1561283b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906128b69161289c846125aa565b6001600160a01b0393918416928492909183168414612834565b1691821561294e57816128d3916128cc866125aa565b1614612834565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b15612ab1576129ed946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612280565b03926001600160a01b03165af1849181612a71575b50612a60575050503d600014612a58573d612a1c8161246b565b90612a2a604051928361244a565b81528091833d92013e5b80519182612a555760405162461bcd60e51b8152806127c26004820161274f565b01fd5b506060612a34565b6001600160e01b0319161492509050565b9091508581813d8311612aaa575b612a89818361244a565b81010312610d0757516001600160e01b031981168103610d07579038612a02565b503d612a7f565b5050915050600190565b9293600093909291803b15612b3b57948491612b159660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612280565b0393165af1849181612a715750612a60575050503d600014612a58573d612a1c8161246b565b505050915050600190565b612b536106e782336127c6565b612b5c816125aa565b50612b66816125aa565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612419578360051b6040519260208094612c078285018261244a565b80978152019181019283116122bb57905b828210612c255750505050565b81356001600160a01b03811681036122bb578152908301908301612c18565b600381101561239057600052610108602052604060002090565b8051821015612c725760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612c725760005260206000200190600090565b6000828152600182016020526040902054612d0c57805490680100000000000000008210156124195782612cf5612cde846001809601855584612c88565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612dfc5760001991808301818111612de857825490848201918211612dd457808203612d9f575b50505080548015612d8b57820191612d6e8383612c88565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612dbf612daf612cde9386612c88565b90549060031b1c92839286612c88565b90558652846020526040862055388080612d56565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612e0a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612e6f575050565b60009061010682526000805160206134fc833981519152906020601f850160051c83019410612eb9575b601f0160051c01915b828110612eae57505050565b818155600101612ea2565b9092508290612e99565b15612eca57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612f56848620546125d0565b61318b575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000858181101561317e575b50506d04ee2d6d415b85acef810000000080861015613170575b50662386f26fc1000080861015613161575b506305f5e10080861015613152575b5061271080861015613143575b506064851015613133575b600a80951015613129575b6001948584019686602161300f612ffa8b61246b565b9a61300787519c8d61244a565b808c5261246b565b8a89019790601f19013689378a0101905b6130fa575b50505051948593826101069081549161303d836125d0565b928981169081156130d95750600114613092575b50505050600693928261307e64173539b7b760d91b93602f60f81b6125cd9996525180938684019061225d565b01918201520360191981018452018261244a565b815292935090916000805160206134fc8339815191525b8282106130c357505084010190828161307e6125cd613051565b80548983018501528896509083019087016130a9565b60ff1916858a0152505050801515028501019150828161307e6125cd613051565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049087826130205750613025565b9160010191612fe4565b9193606460029104940191612fd9565b60049193950494019138612fce565b60089193950494019138612fc1565b60109193950494019138612fb2565b849193950494019138612fa0565b0494509150813880612f86565b90849392935282528083209051928391818154906131a8826125d0565b8086529260019280841690811561320f57506001146131d2575b505050506125cd9250038261244a565b815285812095935091905b8183106131f75750506125cd9350820101388080806131c2565b855487840185015294850194869450918301916131dd565b93505050506125cd94925060ff191682840152151560051b820101388080806131c2565b1561323a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b929190610100548211613473576101045461341457604051936132a1856123fe565b8285526132af368383612486565b6020908082880152604087019160009788845251610105558151906001600160401b03821161340057610106926132ea83610b9f86546125d0565b81601f841160011461336b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92613360575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561335b60405192839283612f0f565b0390a2565b015190503880613324565b848b5292996000805160206134fc83398151915293601f198c1691905b8282106133e857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106133cf575b505050811b019055613339565b015160001960f88460031b161c191690553880806133c2565b80600186978294978701518155019601940190613388565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b81149081156134ea575b81156134dc575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b811491506134d256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220b8968dc29c8c48e0866375ea26516ac82f253e346d7f6867a8d6075fab514a4764736f6c63430008120033","sourceMap":"387:3375:205:-:0;;;;;;;;;2518:6:78;387:3375:205;;719:10:99;-1:-1:-1;;;;;;387:3375:205;;;;;;;;-1:-1:-1;;;;;387:3375:205;2518:6:78;387:3375:205;;719:10:99;387:3375:205;;2566:40:78;2518:6;;2566:40;-1:-1:-1;;;;;1176:22:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:3375;;;;;;;;;;;1295:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:3375;;;1339:49;387:3375;;;1339:49;387:3375;;;1456:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:3375;;;1514:65;387:3375;;;1514:65;387:3375;;;;;;;;;1456:48;387:3375;;;;;;;;;;1456:48;-1:-1:-1;;;387:3375:205;;;;;;;;1295:34;387:3375;;;;;;;;;1295:34;-1:-1:-1;;;387:3375:205;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c918262e8ece61461069d5750816322d60fcb14610674578163637944f514610639578163715018a6146105df578163740adf31146105a4578163877ebf51146102185781638da5cb5b146101f0578163a55b1c25146101bd578163c4dca7ab14610194578163f2fde38b146100c8575063f5e0e6df1461009d57600080fd5b346100c457816003193601126100c45760015490516001600160a01b039091168152602090f35b5080fd5b905034610190576020366003190112610190576100e3610769565b906100ec61077f565b6001600160a01b0391821692831561013e575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346100c457816003193601126100c45760035490516001600160a01b039091168152602090f35b5050346100c4573660031901126101ed576101ea6101d9610769565b6101e161077f565b602435906107d7565b80f35b80fd5b5050346100c457816003193601126100c457905490516001600160a01b039091168152602090f35b839150346100c45760803660031901126100c45767ffffffffffffffff81358181116104425761024b9036908401610701565b90602435908111610442576102639036908401610701565b606435919060443580156105455785927f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6885146104d6575b7f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c58514610454575b7f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517085146103ca575b5050506001600160a01b03169182156103545750602093519233837f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec8380a3827feec8a411955d10f84b6b0e3110b206d0888593b71381b8ca931e8f131f7eb365339280a48152f35b60a490602086519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b039450919290916103e6908516610974565b93841691823b15610450579186918880946104168c5197889687958694635edc7c1960e01b865233928601610935565b03925af180156104465790859161042e575b806102eb565b610437906106d7565b610442578386610428565b8380fd5b86513d87823e3d90fd5b8780fd5b6002546001600160a01b03945061046c908516610974565b938416803b1561045057878361049b9289838d51809681958294635edc7c1960e01b84528c8b33928601610935565b03925af180156104cc579088916104b4575b50506102c3565b6104bd906106d7565b6104c85786896104ad565b8680fd5b89513d8a823e3d90fd5b6001546001600160a01b0394506104ee908516610974565b938416803b1561045057878361051d9289838d51809681958294635edc7c1960e01b84528c8b33928601610935565b03925af180156104cc57610532575b5061029b565b61053e909791976106d7565b958861052c565b865162461bcd60e51b8152602081870152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b5050346100c457816003193601126100c457602090517f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c66251708152f35b83346101ed57806003193601126101ed576105f861077f565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346100c457816003193601126100c457602090517f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd688152f35b5050346100c457816003193601126100c45760025490516001600160a01b039091168152602090f35b8490346100c457816003193601126100c457807f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c560209252f35b67ffffffffffffffff81116106eb57604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156107645780359067ffffffffffffffff928383116106eb5760405193601f8401601f19908116603f01168501908111858210176106eb576040528284526020838301011161076457816000926020809301838601378301015290565b600080fd5b600435906001600160a01b038216820361076457565b6000546001600160a01b0316330361079357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316908115610764577f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881146108df577f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c581146108c9577f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170146108b45760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b919082519283825260005b848110610921575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610900565b9060609261095261096092979695976080855260808501906108f5565b9083820360208501526108f5565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b038216156109ca57565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfea264697066735822122024a9d1146a249202ab1e235ef3c815b12e1924234fc3580a0e248507efca4cbd64736f6c63430008120033","sourceMap":"387:3375:205:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;387:3375:205;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;387:3375:205;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;387:3375:205;;;;2162:22:78;;387:3375:205;;;;;;;-1:-1:-1;;;;;387:3375:205;;;;;;;;2566:40:78;387:3375:205;2566:40:78;;387:3375:205;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;387:3375:205;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;387:3375:205;;;;;;;;;;;;;;;-1:-1:-1;;387:3375:205;;;;1117:1:78;387:3375:205;;:::i;:::-;1063:62:78;;:::i;:::-;387:3375:205;;1117:1:78;;:::i;:::-;387:3375:205;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;387:3375:205;;;;;;;;;;;;;;;;;-1:-1:-1;;387:3375:205;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2477:15;;387:3375;;2580:15;2609:35;483:31;2609:35;;2605:190;;387:3375;565:31;2808:35;;2804:292;;387:3375;655:39;3109:43;;3105:328;;387:3375;-1:-1:-1;;;;;;;;387:3375:205;;3463:21;;387:3375;;;;;;3630:10;;3593:48;;;;;3630:10;3656:63;3630:10;3656:63;;;387:3375;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;387:3375:205;;;;;3105:328;387:3375;;-1:-1:-1;;;;;387:3375:205;-1:-1:-1;387:3375:205;;;;3178:56;;387:3375;;3178:56;:::i;:::-;387:3375;;;3248:174;;;;;;387:3375;;;;;;3248:174;387:3375;;;;;;;;;;;;3248:174;;3370:10;3248:174;;;;:::i;:::-;;;;;;;;;;;;;;3105:328;;;;3248:174;;;;:::i;:::-;387:3375;;3248:174;;;;387:3375;;;;3248:174;387:3375;;;;;;;;;3248:174;387:3375;;;2804:292;2882:28;387:3375;-1:-1:-1;;;;;387:3375:205;-1:-1:-1;2869:42:205;;387:3375;;2869:42;:::i;:::-;387:3375;;;2925:160;;;;;387:3375;;2925:160;387:3375;;;;;;;;;;;;;;2925:160;;3033:10;;;2925:160;;;;:::i;:::-;;;;;;;;;;;;;;2804:292;;;;;2925:160;;;;:::i;:::-;387:3375;;2925:160;;;;387:3375;;;;2925:160;387:3375;;;;;;;;;2605:190;387:3375;;-1:-1:-1;;;;;387:3375:205;-1:-1:-1;2670:30:205;;387:3375;;2670:30;:::i;:::-;387:3375;;;2714:70;;;;;387:3375;;2714:70;387:3375;;;;;;;;;;;;;;2714:70;;2761:10;;;2714:70;;;;:::i;:::-;;;;;;;;;;;2605:190;;;;2714:70;;;;;;;:::i;:::-;;;;;387:3375;;;-1:-1:-1;;;387:3375:205;;;;;;;;;;;;;;;;;-1:-1:-1;;;387:3375:205;;;;;;;;;;;;;;;;;;;;;;;;655:39;387:3375;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;387:3375:205;;-1:-1:-1;;;;;;387:3375:205;;;;;;-1:-1:-1;;;;;387:3375:205;2566:40:78;387:3375:205;;2566:40:78;387:3375:205;;;;;;;;;;;;;;;;;;;483:31;387:3375;;;;;;;;;;;;;;;;;738:43;387:3375;;;-1:-1:-1;;;;;387:3375:205;;;;;;;;;;;;;;;;;;;;;;;565:31;387:3375;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;387:3375:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;387:3375:205;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;387:3375:205;;;;;;-1:-1:-1;;;;;387:3375:205;;;;;;:::o;1359:130:78:-;1273:6;387:3375:205;-1:-1:-1;;;;;387:3375:205;719:10:99;1422:23:78;387:3375:205;;1359:130:78:o;387:3375:205:-;;;;;;;;;;;;;;;;;;;;;;;;;1592:661;-1:-1:-1;;;;;387:3375:205;;1720:27;;387:3375;;483:31;1762:35;;1758:118;;565:31;1889:35;;1885:130;;655:39;2028:43;2024:152;;387:3375;;-1:-1:-1;;;387:3375:205;;;;;;;;;;;;;;;;;-1:-1:-1;;;387:3375:205;;;;;;;2024:152;-1:-1:-1;;;;;387:3375:205;;2087:58;387:3375;;;2087:58;387:3375;2159:7::o;1885:130::-;387:3375;-1:-1:-1;;;;;387:3375:205;;1940:44;387:3375;;;1940:44;387:3375;1998:7::o;1758:118::-;387:3375;-1:-1:-1;;;;;387:3375:205;;;;;;;;1859:7::o;387:3375::-;;;;;;;;;-1:-1:-1;387:3375:205;;;;;;;;;-1:-1:-1;387:3375:205;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;387:3375:205;;;;;;;;;:::o;973:759:82:-;1101:558;973:759;1101:558;;;;;;;;;;;;;;;;;;387:3375:205;-1:-1:-1;;;;;387:3375:205;;1676:22:82;387:3375:205;;973:759:82:o;387:3375:205:-;;;-1:-1:-1;;;387:3375:205;;1101:558:82;387:3375:205;;;;;;;;;-1:-1:-1;;;387:3375:205;;;;;;","linkReferences":{}},"methodIdentifiers":{"LAZY_ROYALTY_GUARD()":"00e8ece6","LAZY_ROYALTY_GUARD_DEADMAN()":"740adf31","LAZY_SOVEREIGN_NFT()":"637944f5","createSovereignNFTContract(string,string,uint256,bytes32)":"877ebf51","lazySovereignNFT()":"f5e0e6df","lazySovereignNFTRoyaltyGuard()":"22d60fcb","lazySovereignNFTRoyaltyGuardDeadmanTrigger()":"c4dca7ab","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setSovereignNFT(address,bytes32)":"a55b1c25","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"contractType\",\"type\":\"bytes32\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol\":\"LazySovereignNFTFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e\",\"dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e\",\"dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol\":{\"keccak256\":\"0xa1f7d51eabeaa518149141704c530f33cd5b5b2c9668c13d6950be8a2b46ec92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3214ccb4e2e570b32b585eed6ef34902cacd10afdf4b525a31b5023250544e9c\",\"dweb:/ipfs/QmUu92QsbMwwXLx8GWqKtuM9DM6RfLaopE5yp2ienUzecB\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df\",\"dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79\",\"dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true}],"type":"event","name":"SovereignNFTContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"bytes32","name":"contractType","type":"bytes32","indexed":true}],"type":"event","name":"SovereignNFTContractCreated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_ROYALTY_GUARD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_ROYALTY_GUARD_DEADMAN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_SOVEREIGN_NFT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFTRoyaltyGuard","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFTRoyaltyGuardDeadmanTrigger","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_sovereignNFT","type":"address"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setSovereignNFT"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol":"LazySovereignNFTFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db","urls":["bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e","dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":{"keccak256":"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635","urls":["bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e","dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol":{"keccak256":"0xa1f7d51eabeaa518149141704c530f33cd5b5b2c9668c13d6950be8a2b46ec92","urls":["bzz-raw://3214ccb4e2e570b32b585eed6ef34902cacd10afdf4b525a31b5023250544e9c","dweb:/ipfs/QmUu92QsbMwwXLx8GWqKtuM9DM6RfLaopE5yp2ienUzecB"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol":{"keccak256":"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7","urls":["bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df","dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c","urls":["bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79","dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":205} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"LAZY_ROYALTY_GUARD","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"LAZY_ROYALTY_GUARD_DEADMAN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"LAZY_SOVEREIGN_NFT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"lazySovereignNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lazySovereignNFTRoyaltyGuard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lazySovereignNFTRoyaltyGuardDeadmanTrigger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSovereignNFT","inputs":[{"name":"_sovereignNFT","type":"address","internalType":"address"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreated","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreated","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"contractType","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false}],"bytecode":{"object":"0x60806040908082523461013f5760008054336001600160a01b031980831682178455936001600160a01b03939290919084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36001600160401b0390612a59818101908382118383101761012b5790829162000b838339039083f0801561012157831684600154161760015584516133cd808201908282108483111761012b57908291620035dc8339039083f0801561012157831684600254161760025584519061356d808301918383109083111761010d57908291620069a98339039082f090811561010257501690600354161760035551610a3e9081620001458239f35b8451903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b85513d84823e3d90fd5b634e487b7160e01b85526041600452602485fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c918262e8ece61461069d5750816322d60fcb14610674578163637944f514610639578163715018a6146105df578163740adf31146105a4578163877ebf51146102185781638da5cb5b146101f0578163a55b1c25146101bd578163c4dca7ab14610194578163f2fde38b146100c8575063f5e0e6df1461009d57600080fd5b346100c457816003193601126100c45760015490516001600160a01b039091168152602090f35b5080fd5b905034610190576020366003190112610190576100e3610769565b906100ec61077f565b6001600160a01b0391821692831561013e575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346100c457816003193601126100c45760035490516001600160a01b039091168152602090f35b5050346100c4573660031901126101ed576101ea6101d9610769565b6101e161077f565b602435906107d7565b80f35b80fd5b5050346100c457816003193601126100c457905490516001600160a01b039091168152602090f35b839150346100c45760803660031901126100c45767ffffffffffffffff81358181116104425761024b9036908401610701565b90602435908111610442576102639036908401610701565b606435919060443580156105455785927f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6885146104d6575b7f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c58514610454575b7f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517085146103ca575b5050506001600160a01b03169182156103545750602093519233837f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec8380a3827feec8a411955d10f84b6b0e3110b206d0888593b71381b8ca931e8f131f7eb365339280a48152f35b60a490602086519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b039450919290916103e6908516610974565b93841691823b15610450579186918880946104168c5197889687958694635edc7c1960e01b865233928601610935565b03925af180156104465790859161042e575b806102eb565b610437906106d7565b610442578386610428565b8380fd5b86513d87823e3d90fd5b8780fd5b6002546001600160a01b03945061046c908516610974565b938416803b1561045057878361049b9289838d51809681958294635edc7c1960e01b84528c8b33928601610935565b03925af180156104cc579088916104b4575b50506102c3565b6104bd906106d7565b6104c85786896104ad565b8680fd5b89513d8a823e3d90fd5b6001546001600160a01b0394506104ee908516610974565b938416803b1561045057878361051d9289838d51809681958294635edc7c1960e01b84528c8b33928601610935565b03925af180156104cc57610532575b5061029b565b61053e909791976106d7565b958861052c565b865162461bcd60e51b8152602081870152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b5050346100c457816003193601126100c457602090517f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c66251708152f35b83346101ed57806003193601126101ed576105f861077f565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346100c457816003193601126100c457602090517f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd688152f35b5050346100c457816003193601126100c45760025490516001600160a01b039091168152602090f35b8490346100c457816003193601126100c457807f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c560209252f35b67ffffffffffffffff81116106eb57604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156107645780359067ffffffffffffffff928383116106eb5760405193601f8401601f19908116603f01168501908111858210176106eb576040528284526020838301011161076457816000926020809301838601378301015290565b600080fd5b600435906001600160a01b038216820361076457565b6000546001600160a01b0316330361079357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316908115610764577f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881146108df577f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c581146108c9577f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170146108b45760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b919082519283825260005b848110610921575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610900565b9060609261095261096092979695976080855260808501906108f5565b9083820360208501526108f5565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b038216156109ca57565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfea26469706673582212200e1603b2d3e3d168f22ad9bf83639762b75af2f895573534f359dd1212dde86864736f6c634300081200336080806040523461001657612a3d908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461194c5750806306fdde03146118a2578063081812fc14611882578063095ea7b3146117125780630de54ba0146116c357806318160ddd146116a357806318e97fd11461149157806323b872dd1461146c5780632a55205a146113da5780633403c4e9146113b15780633a3d146f146113725780633ebc82c51461133057806340c1a0641461130657806342842e0e146112d257806342966c68146112b557806353df5c7c146112535780635edc7c1914610d485780636297c16c14610ccc5780636352211e14610c9b57806370a0823114610c05578063715018a614610ba8578063755edd1714610964578063894ba833146109165780638da5cb5b146108ed578063931688cb1461071d5780639338bb5d1461068457806395d89b411461059f578063a22cb465146104de578063ab69607a146104bf578063b390ac2514610485578063b88d4fde146103fa578063b9fbd25c14610378578063c87b56dd1461033d578063e83157421461031d578063e985e9c5146102cf578063ee070805146102ac578063efc32cd4146102595763f2fde38b146101c557600080fd5b34610255576020366003190112610255576101de611a31565b916101e7611bcd565b6001600160a01b03831615610203578361020084611c25565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102a857806003193601126102a857610273611a31565b9061027c611bcd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102a857816003193601126102a85760209060ff80541690519015158152f35b5050346102a857806003193601126102a85760ff816020936102ef611a31565b6102f7611a62565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102a857816003193601126102a857602090610100549051908152f35b509134610375576020366003190112610375575061035e6103719235612422565b9051918291602083526020830190611a0c565b0390f35b80fd5b503461025557606036600319011261025557803567ffffffffffffffff81116103f6576103d5916103ab91369101611aa7565b91906103b5611a4c565b926103be611bcd565b6103cc60ff805416156123ae565b602435916127ae565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b8380fd5b8382346102a85760803660031901126102a857610415611a31565b9061041e611a62565b916044356064359367ffffffffffffffff851161048157366023860112156104815761045961047c9486602461020098369301359101611b96565b9261046c6104678433611ed6565b611dfd565b610477838383611f9e565b6121cb565b611eb2565b8580fd5b509034610255573660031901126102a857803567ffffffffffffffff811161025557610200916104b791369101611aa7565b6103be611bcd565b5050346102a857816003193601126102a85760209060fc549051908152f35b509034610255576104ee36611a78565b6001600160a01b039091169290919033841461055d5750338452609c60205280842083855260205261052e828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b5050346102a857816003193601126102a857805190826098546105c181611ce0565b8085529160019180831690811561065c57506001146105ff575b5050506105ed82610371940383611b58565b51918291602083526020830190611a0c565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610644575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101610627565b6103719750869350602092506105ed94915060ff191682840152151560051b820101946105db565b8284346103755780600319360112610375578180516106a281611b0a565b82815260606020820152015280516106b981611b0a565b6101055481528151916106d6836106cf81611d1a565b0384611b58565b6020820192835261071060ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190611a0c565b9051151560608301520390f35b508290346102a8576020806003193601126102555767ffffffffffffffff9082358281116108e9576107529036908501611aa7565b93909261075d611bcd565b60ff610107541661089d57841161088a575061010690610786846107818454611ce0565b61234e565b8490601f85116001146107f35750946107e2918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e97916107e8575b508560011b906000198760031b1c19161790555b51928392836123fa565b0390a180f35b9050840135886107c4565b90601f1985168387526000805160206129e88339815191529287905b828210610872575050916107e29391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610858575b5050600185811b0190556107d8565b850135600019600388901b60f8161c191690558780610849565b80600185968294968a0135815501950193019061080f565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b5050346102a857816003193601126102a85760335490516001600160a01b039091168152602090f35b833461037557806003193601126103755761092f611bcd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102a8576020928360031936011261025557610982611a31565b9261099160ff805416156123ae565b6033546001600160a01b039190821633148015610b93575b15610b375760fc548260fb541692610104966001885401809855610100548811610af6578651916109d983611b3c565b8483528116958615610ab5575061047c8794939289610a9893610a1a610a1483600052609960205260018060a01b0360406000205416151590565b15612762565b600082815260996020526040902054610a3d906001600160a01b03161515610a14565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46120af565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff84822054166109a9565b8334610375578060031936011261037557610bc1611bcd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102a85760203660031901126102a8576001600160a01b03610c29611a31565b16908115610c46576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611cba565b90516001600160a01b039091168152f35b503461025557602036600319011261025557803591610cea83611cba565b336001600160a01b0390911603610d05578361020084612256565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b508290346102a85760803660031901126102a85767ffffffffffffffff9281358481116103f657610d7c9036908401611aa7565b929060243586811161048157610d959036908401611aa7565b610da0979197611a4c565b9387549860ff94858b60081c16159889809a611247575b8015611231575b156111d75760ff19808d1660019081178d559b9c999a998a6111c6575b506001600160a01b038916156111835791610e2e91610e1e898f610e369796600a60fc558254168255606435610100555460081c16610e19816122ee565b6122ee565b610e2733611c25565b3691611b96565b933691611b96565b90610e4a858b5460081c16610e19816122ee565b82518481116111705780610e5f609754611ce0565b94601f958681116110ff575b506020908d8784116001146110805792611075575b5050600019600383901b1c1916908a1b176097555b81519384116110625750610eaa609854611ce0565b828111610fff575b506020918311600114610f73579180610f27959492610eff948b92610f68575b5050600019600383901b1c191690881b176098555b875460081c16610ef6816122ee565b610e19816122ee565b60fb80546001600160a01b0319166001600160a01b038316179055610f22611bcd565b611c25565b610f2f578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610ed2565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610fe7575091610eff95939185610f279998969410610fce575b505050811b01609855610ee7565b015160001960f88460031b161c191690558a8080610fc0565b8284015185558b969094019360209384019301610fa3565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611059575b0160051c019089905b82811061104e575050610eb2565b8b8155018990611040565b92508192611037565b634e487b7160e01b8a5260419052602489fd5b015190508c80610e80565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106110e7575084116110ce575b505050811b01609755610e95565b015160001960f88460031b161c191690558c80806110c0565b8284015185558f9690940193602093840193016110b1565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611167575b859493910160051c909101908d908f5b83821061115957505050610e6b565b81558594508e91018f61114a565b9250819261113a565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610ddb565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610dbe57506001878d1614610dbe565b506001878d1610610db7565b5050346102a857816003193601126102a8577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061128f611bcd565b5160208152806112a160208201611d1a565b0390a1610107805460ff1916600117905580f35b8382346102a85760203660031901126102a8576102009035612256565b5050346102a85761047c610200916112e936611ad5565b919251926112f684611b3c565b86845261046c6104678433611ed6565b5050346102a85760203660031901126102a85760335490516001600160a01b039091168152602090f35b83346103755760203660031901126103755761020061134d611a31565b611355611bcd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102a85760203660031901126102a85760209160ff9082906001600160a01b0361139d611a31565b168152610102855220541690519015158152f35b5050346102a857816003193601126102a85760fb5490516001600160a01b039091168152602090f35b5091346103755781600319360112610375578235815260fd60205281812054602435906001600160a01b03908116801561146057925b60fe60205284812054801561145657925b8381029381850414901517156114435750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611421565b508060fb541692611410565b83346103755761020061147e36611ad5565b9161148c6104678433611ed6565b611f9e565b508290346102a857826003193601126102a85780359067ffffffffffffffff906024358281116108e9576114c89036908301611aa7565b9290916114d3611bcd565b60ff610107541661165557848652602090610103825287872092851161164257506114fe8254611ce0565b601f81116115ff575b508590601f8511600114611574575095611563918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd97989161156957508560011b906000198760031b1c191617905551928392836123fa565b0390a280f35b9050840135896107c4565b90601f1985168388528288209288905b8282106115e7575050916115639391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a94106115cd575050600185811b0190556107d8565b850135600019600388901b60f8161c191690558880610849565b80600185968294968a01358155019501930190611584565b828752818720601f860160051c810191838710611638575b601f0160051c01905b81811061162d5750611507565b878155600101611620565b9091508190611617565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b5050346102a857816003193601126102a857602090610104549051908152f35b5050346102a857610200906116d736611a78565b91906116e1611bcd565b6116ef60ff805416156123ae565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b503461025557816003193601126102555761172b611a31565b6024359290916001600160a01b039190828061174687611cba565b1694169380851461183557803314908115611816575b50156117ae5750838552609b602052842080546001600160a01b0319168317905561178683611cba565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861175c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103755760203660031901126103755750610cbb60209235611dbf565b5050346102a857816003193601126102a857805190826097546118c481611ce0565b8085529160019180831690811561065c57506001146118ef575050506105ed82610371940383611b58565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611934575050506105ed82602061037195820101946105db565b80546020878701810191909152909501948101611917565b92505034610255576020366003190112610255573563ffffffff60e01b8116908181036103f65760209350631030681960e21b82149182156119d8575b82156119af575b50811561199f575b5015158152f35b6119a9915061271e565b38611998565b90915063152a902d60e11b1480156119c9575b9038611990565b506119d38161271e565b6119c2565b6301ffc9a760e01b81149250611989565b60005b8381106119fc5750506000910152565b81810151838201526020016119ec565b90602091611a25815180928185528580860191016119e9565b601f01601f1916010190565b600435906001600160a01b0382168203611a4757565b600080fd5b604435906001600160a01b0382168203611a4757565b602435906001600160a01b0382168203611a4757565b6040906003190112611a47576004356001600160a01b0381168103611a4757906024358015158103611a475790565b9181601f84011215611a475782359167ffffffffffffffff8311611a475760208381860195010111611a4757565b6060906003190112611a47576001600160a01b03906004358281168103611a4757916024359081168103611a47579060443590565b6060810190811067ffffffffffffffff821117611b2657604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff821117611b2657604052565b90601f8019910116810190811067ffffffffffffffff821117611b2657604052565b67ffffffffffffffff8111611b2657601f01601f191660200190565b929192611ba282611b7a565b91611bb06040519384611b58565b829481845281830111611a47578281602093846000960137010152565b6033546001600160a01b03163303611be157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15611c7557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b0316611cdd811515611c6e565b90565b90600182811c92168015611d10575b6020831014611cfa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611cef565b90600091610106908154611d2d81611ce0565b80835292600191808316908115611d9a5750600114611d4d575b50505050565b90929394506000526000805160206129e8833981519152916000925b848410611d825750506020925001019038808080611d47565b80546020858501810191909152909301928101611d69565b92505050602093945060ff929192191683830152151560051b01019038808080611d47565b600081815260996020526040902054611de2906001600160a01b03161515611c6e565b6000908152609b60205260409020546001600160a01b031690565b15611e0457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611eb957565b60405162461bcd60e51b815280611ed260048201611e5f565b0390fd5b906001600160a01b038080611eea84611cba565b16931691838314938415611f1d575b508315611f07575b50505090565b611f1391929350611dbf565b1614388080611f01565b909350600052609c60205260406000208260005260205260ff604060002054169238611ef9565b15611f4b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611fc691611fac84611cba565b6001600160a01b0393918416928492909183168414611f44565b1691821561205e5781611fe391611fdc86611cba565b1614611f44565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156121c1576120fd946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611a0c565b03926001600160a01b03165af1849181612181575b50612170575050503d600014612168573d61212c81611b7a565b9061213a6040519283611b58565b81528091833d92013e5b805191826121655760405162461bcd60e51b815280611ed260048201611e5f565b01fd5b506060612144565b6001600160e01b0319161492509050565b9091508581813d83116121ba575b6121998183611b58565b810103126108e957516001600160e01b0319811681036108e9579038612112565b503d61218f565b5050915050600190565b9293600093909291803b1561224b579484916122259660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611a0c565b0393165af18491816121815750612170575050503d600014612168573d61212c81611b7a565b505050915050600190565b6122636104678233611ed6565b61226c81611cba565b5061227681611cba565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b156122f557565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f811161235a575050565b60009061010682526000805160206129e8833981519152906020601f850160051c830194106123a4575b601f0160051c01915b82811061239957505050565b81815560010161238d565b9092508290612384565b156123b557565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b6000908082526101039060209082825260409261244184862054611ce0565b612676575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612669575b50506d04ee2d6d415b85acef81000000008086101561265b575b50662386f26fc100008086101561264c575b506305f5e1008086101561263d575b506127108086101561262e575b50606485101561261e575b600a80951015612614575b600194858401968660216124fa6124e58b611b7a565b9a6124f287519c8d611b58565b808c52611b7a565b8a89019790601f19013689378a0101905b6125e5575b50505051948593826101069081549161252883611ce0565b928981169081156125c4575060011461257d575b50505050600693928261256964173539b7b760d91b93602f60f81b611cdd999652518093868401906119e9565b019182015203601919810184520182611b58565b815292935090916000805160206129e88339815191525b8282106125ae575050840101908281612569611cdd61253c565b8054898301850152889650908301908701612594565b60ff1916858a01525050508015150285010191508281612569611cdd61253c565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530490878261250b5750612510565b91600101916124cf565b91936064600291049401916124c4565b600491939504940191386124b9565b600891939504940191386124ac565b6010919395049401913861249d565b84919395049401913861248b565b0494509150813880612471565b908493929352825280832090519283918181549061269382611ce0565b808652926001928084169081156126fa57506001146126bd575b50505050611cdd92500382611b58565b815285812095935091905b8183106126e2575050611cdd9350820101388080806126ad565b855487840185015294850194869450918301916126c8565b9350505050611cdd94925060ff191682840152151560051b820101388080806126ad565b63ffffffff60e01b166380ac58cd60e01b8114908115612751575b8115612743575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612739565b1561276957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116129a3576101045461294457604051936127d085611b0a565b8285526127de368383611b96565b60209080828801526040870191600097888452516101055581519067ffffffffffffffff8211612930576101069261281a836107818654611ce0565b81601f841160011461289b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92612890575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561288b604051928392836123fa565b0390a2565b015190503880612854565b848b5292996000805160206129e883398151915293601f198c1691905b82821061291857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106128ff575b505050811b019055612869565b015160001960f88460031b161c191690553880806128f2565b806001869782949787015181550196019401906128b8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fdfec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220f99df22439344e8238c87056ab74822f876d8ef675cba760581d53eec32c652464736f6c6343000812003360808060405234610016576133b1908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e81461200c57806301ffc9a714611f3457806306fdde0314611e8a578063081812fc14611e69578063095ea7b314611c4c5780630de54ba014611bfd57806318160ddd14611bdd57806318e97fd1146119f957806320427486146119c557806323b872dd146119a05780632a55205a1461190d5780632ce878da1461189a5780633403c4e9146118715780633a3d146f146118325780633ebc82c5146117f057806340c1a064146117c657806342842e0e1461179257806342966c6814611776578063472a6638146116d757806353df5c7c146116755780635edc7c191461116d5780636297c16c146110ef5780636352211e146110bd57806370a0823114611029578063715018a614610fcc578063755edd1714610d8957806387bc793f14610d61578063894ba83314610d135780638da5cb5b14610cea578063931688cb14610b1d5780639338bb5d14610a8457806395d89b411461099f5780639e860f2a1461089a578063a22cb4651461073c578063ab69607a1461071d578063b390ac25146106e4578063b88d4fde1461065b578063b9fbd25c146105dc578063bc7194551461052e578063c87b56dd146104f2578063e8315742146104d2578063e985e9c514610484578063eab8511814610429578063ee07080514610406578063efc32cd4146103b7578063f2fde38b146103205763ff6e8c8f1461022557600080fd5b3461031c5761023336612206565b6033546001600160a01b0396908716330361030d5760038410156102fa5783156102eb575090610264913691612a3e565b93835b85518110156102e75761028f61027c84612aa4565b83610287848a612abe565b511690612b00565b50828261029c8389612abe565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102d457600101610267565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103b35760203660031901126103b35761033c612105565b9161034561231d565b6001600160a01b03831615610361578361035e84612375565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461031c578060031936011261031c576103d1612105565b906103da61231d565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461031c578160031936011261031c5760209060ff80541690519015158152f35b82843461031c57602036600319011261031c5760209061047b61044a612105565b61045960ff6101095416612aa4565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461031c578060031936011261031c5760ff816020936104a4612105565b6104ac612136565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461031c578160031936011261031c57602090610100549051908152f35b5091903461052b57602036600319011261052b57506105146105279235612d97565b90519182916020835260208301906120e0565b0390f35b80fd5b5082346103b35760203660031901126103b35781359160038310156105d8576033546001600160a01b031633036105ca575061056982612aa4565b805490848155816105ac575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105a63394826121dd565b0390a280f35b845260208420908101905b81811015610575578481556001016105b7565b9051635c510c8360e11b8152fd5b8380fd5b508290346103b35760603660031901126103b35780356001600160401b0381116105d85761063a916106109136910161217b565b919061061a612120565b9261062361231d565b61063160ff80541615612d23565b602435916130df565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461031c57608036600319011261031c57610675612105565b9061067e612136565b91604435606435936001600160401b0385116106e057366023860112156106e0576106b86106db9486602461035e983693013591016122e6565b926106cb6106c68433612626565b61254d565b6106d68383836126ee565b61291b565b612602565b8580fd5b5082346103b35736600319011261031c5780356001600160401b0381116103b35761035e916107159136910161217b565b61062361231d565b82843461031c578160031936011261031c5760209060fc549051908152f35b5082346103b35761074c3661214c565b919060ff610109541660038110156102fa57600181036108505750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610841575b6001600160a01b0316923384146107ff5750338452609c6020528084208385526020526107d0828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610795576002855261010860205261088682862060018060a01b0383169060019160005201602052604060002054151590565b156107955781516282b42960e81b81528490fd5b503461031c576108a936612206565b6033546001600160a01b0396908716330361030d5750906108cb913691612a3e565b936003821015908161098c57826108e0578480f35b845b865181101561097c5761090a6108f785612aa4565b83610902848b612abe565b511690612b73565b508282610917838a612abe565b511690610969578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a46000198114610956576001016108e2565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461031c578160031936011261031c57805190826098546109c181612430565b80855291600191808316908115610a5c57506001146109ff575b5050506109ed826105279403836122aa565b519182916020835260208301906120e0565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a44575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101610a27565b6105279750869350602092506109ed94915060ff191682840152151560051b820101946109db565b50503461052b578060031936011261052b57818051610aa28161225e565b8281526060602082015201528051610ab98161225e565b610105548152815191610ad683610acf8161246a565b03846122aa565b60208201928352610b1060ff61010754169180840192151583526060815195869560208752516020870152519185015260808401906120e0565b9051151560608301520390f35b503461031c576020806003193601126103b3576001600160401b03908235828111610ce657610b4f903690850161217b565b939092610b5a61231d565b60ff6101075416610c9a578411610c87575061010690610b8384610b7e8454612430565b612cc3565b8490601f8511600114610bf0575094610bdf918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610be5575b508560011b906000198760031b1c19161790555b5192839283612d6f565b0390a180f35b905084013538610bc1565b90601f19851683875260008051602061335c8339815191529287905b828210610c6f57505091610bdf9391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c55575b5050600185811b019055610bd5565b850135600019600388901b60f8161c191690553880610c46565b80600185968294968a01358155019501930190610c0c565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461031c578160031936011261031c5760335490516001600160a01b039091168152602090f35b823461052b578060031936011261052b57610d2c61231d565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461031c578160031936011261031c576105279060ff61010954169051918291826121dd565b50913461031c57602092836003193601126103b357610da6612105565b92610db560ff80541615612d23565b6033546001600160a01b039190821633148015610fb7575b15610f5b5760fc548260fb541692610104966001885401809855610100548811610f1a57865191610dfd8361228f565b8483528116958615610ed957506106db8794939289610ebc93610e3e610e3883600052609960205260018060a01b0360406000205416151590565b15613093565b600082815260996020526040902054610e61906001600160a01b03161515610e38565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46127ff565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dcd565b823461052b578060031936011261052b57610fe561231d565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461031c57602036600319011261031c576001600160a01b0361104b612105565b16908115611068576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461052b57602036600319011261052b57506110de6020923561240a565b90516001600160a01b039091168152f35b508290346103b35760203660031901126103b35780359161110f8361240a565b336001600160a01b039091160361112a578361035e846129a6565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461031c57608036600319011261031c576001600160401b039281358481116105d85761119e903690840161217b565b92906024358681116106e0576111b7903690840161217b565b6111c2979197612120565b9387549860ff94858b60081c16159889809a611669575b8015611653575b156115f95760ff19808d1660019081178d559b9c999a998a6115e8575b506001600160a01b038916156115a5579161125091611240898f6112589796600a60fc558254168255606435610100555460081c1661123b81612c63565b612c63565b61124933612375565b36916122e6565b9336916122e6565b9061126c858b5460081c1661123b81612c63565b82518481116115925780611281609754612430565b94601f95868111611521575b506020908d8784116001146114a25792611497575b5050600019600383901b1c1916908a1b176097555b815193841161148457506112cc609854612430565b828111611421575b506020918311600114611395579180611349959492611321948b9261138a575b5050600019600383901b1c191690881b176098555b875460081c1661131881612c63565b61123b81612c63565b60fb80546001600160a01b0319166001600160a01b03831617905561134461231d565b612375565b611351578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b0151905038806112f4565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106114095750916113219593918561134999989694106113f0575b505050811b01609855611309565b015160001960f88460031b161c191690553880806113e2565b8284015185558b9690940193602093840193016113c5565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061147b575b0160051c019089905b8281106114705750506112d4565b8b8155018990611462565b92508192611459565b634e487b7160e01b8a5260419052602489fd5b0151905038806112a2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611509575084116114f0575b505050811b016097556112b7565b015160001960f88460031b161c191690553880806114e2565b8284015185558f9690940193602093840193016114d3565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611589575b859493910160051c909101908d908f5b83821061157b5750505061128d565b81558594508e91018f61156c565b9250819261155c565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d55386111fd565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156111e057506001878d16146111e0565b506001878d16106111d9565b82843461031c578160031936011261031c577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e906116b161231d565b5160208152806116c36020820161246a565b0390a1610107805460ff1916600117905580f35b508290346103b35760203660031901126103b35780359160038310156105d8576033546001600160a01b0316330361176957506101099182549160ff83169060038210156117565750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461031c57602036600319011261031c5761035e90356129a6565b82843461031c576106db61035e916117a9366121a8565b919251926117b68461228f565b8684526106cb6106c68433612626565b82843461031c57602036600319011261031c5760335490516001600160a01b039091168152602090f35b823461052b57602036600319011261052b5761035e61180d612105565b61181561231d565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461031c57602036600319011261031c5760209160ff9082906001600160a01b0361185d612105565b168152610102855220541690519015158152f35b82843461031c578160031936011261031c5760fb5490516001600160a01b039091168152602090f35b50503461052b578060031936011261052b576118bb60ff6101095416612aa4565b9180519182845490818152602080910195835280832092905b8282106118f65761052786866118ec828b03836122aa565b5191829182612079565b8354875295860195600193840193909101906118d4565b5091903461052b578160031936011261052b578235815260fd60205281812054602435906001600160a01b03908116801561199457925b60fe60205284812054801561198a57925b8381029381850414901517156119775750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611955565b508060fb541692611944565b823461052b5761035e6119b2366121a8565b916119c06106c68433612626565b6126ee565b82843461031c57602036600319011261031c576020906119e3612105565b60018060a01b0380603354169116149051908152f35b503461031c578260031936011261031c578035906001600160401b0390602435828111610ce657611a2d903690830161217b565b929091611a3861231d565b60ff6101075416611b8f578486526020906101038252878720928511611b7c5750611a638254612430565b601f8111611b39575b508590601f8511600114611ac85750956105a6918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610be557508560011b906000198760031b1c19161790555192839283612d6f565b90601f1985168388528288209288905b828210611b21575050916105a69391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c55575050600185811b019055610bd5565b80600185968294968a01358155019501930190611ad8565b828752818720601f860160051c810191838710611b72575b601f0160051c01905b818110611b675750611a6c565b878155600101611b5a565b9091508190611b51565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461031c578160031936011261031c57602090610104549051908152f35b82843461031c5761035e90611c113661214c565b9190611c1b61231d565b611c2960ff80541615612d23565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103b357816003193601126103b357611c67612105565b906024359260ff61010954166003811015611e565760018103611e0f5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611e03575b6001600160a01b03918280611cc78761240a565b16941693808514611db657803314908115611d97575b5015611d2f5750838552609b602052842080546001600160a01b03191683179055611d078361240a565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611cdd565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611cb35760028552610108602052611e4581862060018060a01b0385169060019160005201602052604060002054151590565b15611cb357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461052b57602036600319011261052b57506110de6020923561250f565b82843461031c578160031936011261031c5780519082609754611eac81612430565b80855291600191808316908115610a5c5750600114611ed7575050506109ed826105279403836122aa565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611f1c575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101611eff565b508290346103b35760203660031901126103b35735906001600160e01b031982168083036105d8576020935063fa31a45b60e01b8114928315611ffb575b8315611f83575b5050519015158152f35b919250631030681960e21b811491908215611fea575b8215611fc1575b508115611fb1575b50908380611f79565b611fbb9150613317565b83611fa8565b90915063152a902d60e11b148015611fdb575b9084611fa0565b50611fe581613317565b611fd4565b6301ffc9a760e01b81149250611f99565b6301ffc9a760e01b82149350611f72565b5082346103b357602091826003193601126105d8573560038110156105d85761203490612aa4565b9281518093808654928381520195835280832092905b8282106120625761052786866118ec828b03836122aa565b83548752958601956001938401939091019061204a565b6020908160408183019282815285518094520193019160005b8281106120a0575050505090565b83516001600160a01b031685529381019392810192600101612092565b60005b8381106120d05750506000910152565b81810151838201526020016120c0565b906020916120f9815180928185528580860191016120bd565b601f01601f1916010190565b600435906001600160a01b038216820361211b57565b600080fd5b604435906001600160a01b038216820361211b57565b602435906001600160a01b038216820361211b57565b604090600319011261211b576004356001600160a01b038116810361211b5790602435801515810361211b5790565b9181601f8401121561211b578235916001600160401b03831161211b576020838186019501011161211b57565b606090600319011261211b576001600160a01b0390600435828116810361211b5791602435908116810361211b579060443590565b9190602083019260038210156121f05752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261211b57600435600381101561211b57916024356001600160401b039283821161211b578060238301121561211b57816004013593841161211b5760248460051b8301011161211b576024019190565b606081019081106001600160401b0382111761227957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761227957604052565b90601f801991011681019081106001600160401b0382111761227957604052565b6001600160401b03811161227957601f01601f191660200190565b9291926122f2826122cb565b9161230060405193846122aa565b82948184528183011161211b578281602093846000960137010152565b6033546001600160a01b0316330361233157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156123c557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661242d8115156123be565b90565b90600182811c92168015612460575b602083101461244a57565b634e487b7160e01b600052602260045260246000fd5b91607f169161243f565b9060009161010690815461247d81612430565b808352926001918083169081156124ea575060011461249d575b50505050565b909293945060005260008051602061335c833981519152916000925b8484106124d25750506020925001019038808080612497565b805460208585018101919091529093019281016124b9565b92505050602093945060ff929192191683830152151560051b01019038808080612497565b600081815260996020526040902054612532906001600160a01b031615156123be565b6000908152609b60205260409020546001600160a01b031690565b1561255457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561260957565b60405162461bcd60e51b815280612622600482016125af565b0390fd5b906001600160a01b03808061263a8461240a565b1693169183831493841561266d575b508315612657575b50505090565b6126639192935061250f565b1614388080612651565b909350600052609c60205260406000208260005260205260ff604060002054169238612649565b1561269b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90612716916126fc8461240a565b6001600160a01b0393918416928492909183168414612694565b169182156127ae57816127339161272c8661240a565b1614612694565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156129115761284d946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b9660848301906120e0565b03926001600160a01b03165af18491816128d1575b506128c0575050503d6000146128b8573d61287c816122cb565b9061288a60405192836122aa565b81528091833d92013e5b805191826128b55760405162461bcd60e51b815280612622600482016125af565b01fd5b506060612894565b6001600160e01b0319161492509050565b9091508581813d831161290a575b6128e981836122aa565b81010312610ce657516001600160e01b031981168103610ce6579038612862565b503d6128df565b5050915050600190565b9293600093909291803b1561299b579484916129759660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906120e0565b0393165af18491816128d157506128c0575050503d6000146128b8573d61287c816122cb565b505050915050600190565b6129b36106c68233612626565b6129bc8161240a565b506129c68161240a565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612279578360051b6040519260208094612a67828501826122aa565b809781520191810192831161211b57905b828210612a855750505050565b81356001600160a01b038116810361211b578152908301908301612a78565b60038110156121f057600052610108602052604060002090565b8051821015612ad25760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612ad25760005260206000200190600090565b6000828152600182016020526040902054612b6c57805490680100000000000000008210156122795782612b55612b3e846001809601855584612ae8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c5c5760001991808301818111612c4857825490848201918211612c3457808203612bff575b50505080548015612beb57820191612bce8383612ae8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612c1f612c0f612b3e9386612ae8565b90549060031b1c92839286612ae8565b90558652846020526040862055388080612bb6565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612c6a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612ccf575050565b600090610106825260008051602061335c833981519152906020601f850160051c83019410612d19575b601f0160051c01915b828110612d0e57505050565b818155600101612d02565b9092508290612cf9565b15612d2a57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612db684862054612430565b612feb575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612fde575b50506d04ee2d6d415b85acef810000000080861015612fd0575b50662386f26fc1000080861015612fc1575b506305f5e10080861015612fb2575b5061271080861015612fa3575b506064851015612f93575b600a80951015612f89575b60019485840196866021612e6f612e5a8b6122cb565b9a612e6787519c8d6122aa565b808c526122cb565b8a89019790601f19013689378a0101905b612f5a575b505050519485938261010690815491612e9d83612430565b92898116908115612f395750600114612ef2575b505050506006939282612ede64173539b7b760d91b93602f60f81b61242d999652518093868401906120bd565b0191820152036019198101845201826122aa565b8152929350909160008051602061335c8339815191525b828210612f23575050840101908281612ede61242d612eb1565b8054898301850152889650908301908701612f09565b60ff1916858a01525050508015150285010191508281612ede61242d612eb1565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782612e805750612e85565b9160010191612e44565b9193606460029104940191612e39565b60049193950494019138612e2e565b60089193950494019138612e21565b60109193950494019138612e12565b849193950494019138612e00565b0494509150813880612de6565b908493929352825280832090519283918181549061300882612430565b8086529260019280841690811561306f5750600114613032575b5050505061242d925003826122aa565b815285812095935091905b81831061305757505061242d935082010138808080613022565b8554878401850152948501948694509183019161303d565b935050505061242d94925060ff191682840152151560051b82010138808080613022565b1561309a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116132d3576101045461327457604051936131018561225e565b82855261310f3683836122e6565b6020908082880152604087019160009788845251610105558151906001600160401b038211613260576101069261314a83610b7e8654612430565b81601f84116001146131cb57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a926131c0575b50508160011b916000199060031b1c19161790555b5115156101079060ff801983541691161790556131bb60405192839283612d6f565b0390a2565b015190503880613184565b848b52929960008051602061335c83398151915293601f198c1691905b82821061324857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c941061322f575b505050811b019055613199565b015160001960f88460031b161c19169055388080613222565b806001869782949787015181550196019401906131e8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b811490811561334a575b811561333c575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061333256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220452739dd9b0777b580952cfb4d71c2bac5639b08d03f3e756ecb6c50acadf2a564736f6c634300081200336080806040523461001657613551908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e8146121ac57806301ffc9a7146120d457806306fdde031461202a578063081812fc14612009578063095ea7b314611dec5780630de54ba014611d9d57806318160ddd14611d7d57806318e97fd114611b995780632042748614611b6557806321c4a5d814611aae57806323b872dd14611a895780632a55205a146119f65780632ce878da146119835780633403c4e91461195a5780633a3d146f1461191b5780633ebc82c5146118d957806340c1a064146118af57806342842e0e1461187b57806342966c681461185f578063472a6638146117c057806353df5c7c1461175e5780635aec8d62146116b65780635edc7c19146111ae5780636297c16c146111305780636352211e146110fe57806370a082311461106a578063715018a61461100d578063717392ed14610fed578063755edd1714610daa57806387bc793f14610d82578063894ba83314610d345780638da5cb5b14610d0b578063931688cb14610b3e5780639338bb5d14610aa557806395d89b41146109c05780639e860f2a146108bb578063a22cb4651461075d578063ab69607a1461073e578063b390ac2514610705578063b88d4fde1461067c578063b9fbd25c146105fd578063bc7194551461054f578063c87b56dd14610513578063e8315742146104f3578063e985e9c5146104a5578063eab851181461044a578063ee07080514610427578063efc32cd4146103d8578063f2fde38b146103415763ff6e8c8f1461024657600080fd5b3461033d57610254366123a6565b6033546001600160a01b0396908716330361032e57600384101561031b57831561030c575090610285913691612bde565b93835b8551811015610308576102b061029d84612c44565b836102a8848a612c5e565b511690612ca0565b5082826102bd8389612c5e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102f557600101610288565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103d45760203660031901126103d45761035d6122a5565b916103666124bd565b6001600160a01b03831615610382578361037f84612515565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461033d578060031936011261033d576103f26122a5565b906103fb6124bd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461033d578160031936011261033d5760209060ff80541690519015158152f35b82843461033d57602036600319011261033d5760209061049c61046b6122a5565b61047a60ff6101095416612c44565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461033d578060031936011261033d5760ff816020936104c56122a5565b6104cd6122d6565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461033d578160031936011261033d57602090610100549051908152f35b5091903461054c57602036600319011261054c57506105356105489235612f37565b9051918291602083526020830190612280565b0390f35b80fd5b5082346103d45760203660031901126103d45781359160038310156105f9576033546001600160a01b031633036105eb575061058a82612c44565b805490848155816105cd575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105c733948261237d565b0390a280f35b845260208420908101905b81811015610596578481556001016105d8565b9051635c510c8360e11b8152fd5b8380fd5b508290346103d45760603660031901126103d45780356001600160401b0381116105f95761065b916106319136910161231b565b919061063b6122c0565b926106446124bd565b61065260ff80541615612ec3565b6024359161327f565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461033d57608036600319011261033d576106966122a5565b9061069f6122d6565b91604435606435936001600160401b0385116107015736602386011215610701576106d96106fc9486602461037f98369301359101612486565b926106ec6106e784336127c6565b6126ed565b6106f783838361288e565b612abb565b6127a2565b8580fd5b5082346103d45736600319011261033d5780356001600160401b0381116103d45761037f916107369136910161231b565b6106446124bd565b82843461033d578160031936011261033d5760209060fc549051908152f35b5082346103d45761076d366122ec565b919060ff6101095416600381101561031b57600181036108715750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610862575b6001600160a01b0316923384146108205750338452609c6020528084208385526020526107f1828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036107b657600285526101086020526108a782862060018060a01b0383169060019160005201602052604060002054151590565b156107b65781516282b42960e81b81528490fd5b503461033d576108ca366123a6565b6033546001600160a01b0396908716330361032e5750906108ec913691612bde565b93600382101590816109ad5782610901578480f35b845b865181101561099d5761092b61091885612c44565b83610923848b612c5e565b511690612d13565b508282610938838a612c5e565b51169061098a578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a4600019811461097757600101610903565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461033d578160031936011261033d57805190826098546109e2816125d0565b80855291600191808316908115610a7d5750600114610a20575b505050610a0e8261054894038361244a565b51918291602083526020830190612280565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a6557505050610a0e82602061054895820101946109fc565b80546020878701810191909152909501948101610a48565b610548975086935060209250610a0e94915060ff191682840152151560051b820101946109fc565b50503461054c578060031936011261054c57818051610ac3816123fe565b8281526060602082015201528051610ada816123fe565b610105548152815191610af783610af08161260a565b038461244a565b60208201928352610b3160ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190612280565b9051151560608301520390f35b503461033d576020806003193601126103d4576001600160401b03908235828111610d0757610b70903690850161231b565b939092610b7b6124bd565b60ff6101075416610cbb578411610ca8575061010690610ba484610b9f84546125d0565b612e63565b8490601f8511600114610c11575094610c00918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610c06575b508560011b906000198760031b1c19161790555b5192839283612f0f565b0390a180f35b905084013538610be2565b90601f1985168387526000805160206134fc8339815191529287905b828210610c9057505091610c009391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c76575b5050600185811b019055610bf6565b850135600019600388901b60f8161c191690553880610c67565b80600185968294968a01358155019501930190610c2d565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461033d578160031936011261033d5760335490516001600160a01b039091168152602090f35b823461054c578060031936011261054c57610d4d6124bd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461033d578160031936011261033d576105489060ff610109541690519182918261237d565b50913461033d57602092836003193601126103d457610dc76122a5565b92610dd660ff80541615612ec3565b6033546001600160a01b039190821633148015610fd8575b15610f7c5760fc548260fb541692610104966001885401809855610100548811610f3b57865191610e1e8361242f565b8483528116958615610efa57506106fc8794939289610edd93610e5f610e5983600052609960205260018060a01b0360406000205416151590565b15613233565b600082815260996020526040902054610e82906001600160a01b03161515610e59565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a461299f565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dee565b82843461033d578160031936011261033d5760209061010a549051908152f35b823461054c578060031936011261054c576110266124bd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461033d57602036600319011261033d576001600160a01b0361108c6122a5565b169081156110a9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461054c57602036600319011261054c575061111f602092356125aa565b90516001600160a01b039091168152f35b508290346103d45760203660031901126103d457803591611150836125aa565b336001600160a01b039091160361116b578361037f84612b46565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461033d57608036600319011261033d576001600160401b039281358481116105f9576111df903690840161231b565b9290602435868111610701576111f8903690840161231b565b6112039791976122c0565b9387549860ff94858b60081c16159889809a6116aa575b8015611694575b1561163a5760ff19808d1660019081178d559b9c999a998a611629575b506001600160a01b038916156115e6579161129191611281898f6112999796600a60fc558254168255606435610100555460081c1661127c81612e03565b612e03565b61128a33612515565b3691612486565b933691612486565b906112ad858b5460081c1661127c81612e03565b82518481116115d357806112c26097546125d0565b94601f95868111611562575b506020908d8784116001146114e357926114d8575b5050600019600383901b1c1916908a1b176097555b81519384116114c5575061130d6098546125d0565b828111611462575b5060209183116001146113d657918061138a959492611362948b926113cb575b5050600019600383901b1c191690881b176098555b875460081c1661135981612e03565b61127c81612e03565b60fb80546001600160a01b0319166001600160a01b0383161790556113856124bd565b612515565b611392578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611335565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b81811061144a5750916113629593918561138a9998969410611431575b505050811b0160985561134a565b015160001960f88460031b161c19169055388080611423565b8284015185558b969094019360209384019301611406565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bc575b0160051c019089905b8281106114b1575050611315565b8b81550189906114a3565b9250819261149a565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e3565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154a57508411611531575b505050811b016097556112f8565b015160001960f88460031b161c19169055388080611523565b8284015185558f969094019360209384019301611514565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115ca575b859493910160051c909101908d908f5b8382106115bc575050506112ce565b81558594508e91018f6115ad565b9250819261159d565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d553861123e565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122157506001878d1614611221565b506001878d161061121a565b5082346103d457826003193601126103d45761010a54421061175157506101099081549060ff821690600382101561173e57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b82843461033d578160031936011261033d577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061179a6124bd565b5160208152806117ac6020820161260a565b0390a1610107805460ff1916600117905580f35b508290346103d45760203660031901126103d45780359160038310156105f9576033546001600160a01b0316330361185257506101099182549160ff831690600382101561183f5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461033d57602036600319011261033d5761037f9035612b46565b82843461033d576106fc61037f9161189236612348565b9192519261189f8461242f565b8684526106ec6106e784336127c6565b82843461033d57602036600319011261033d5760335490516001600160a01b039091168152602090f35b823461054c57602036600319011261054c5761037f6118f66122a5565b6118fe6124bd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461033d57602036600319011261033d5760209160ff9082906001600160a01b036119466122a5565b168152610102855220541690519015158152f35b82843461033d578160031936011261033d5760fb5490516001600160a01b039091168152602090f35b50503461054c578060031936011261054c576119a460ff6101095416612c44565b9180519182845490818152602080910195835280832092905b8282106119df5761054886866119d5828b038361244a565b5191829182612219565b8354875295860195600193840193909101906119bd565b5091903461054c578160031936011261054c578235815260fd60205281812054602435906001600160a01b039081168015611a7d57925b60fe602052848120548015611a7357925b838102938185041490151715611a605750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a3e565b508060fb541692611a2d565b823461054c5761037f611a9b36612348565b91611aa96106e784336127c6565b61288e565b5082346103d45760203660031901126103d4576033548235906001600160a01b03163303611b57576301e1338090818102918183041490151715611b4457420191824211611b31575061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b634e487b7160e01b845260118352602484fd5b5051635c510c8360e11b8152fd5b82843461033d57602036600319011261033d57602090611b836122a5565b60018060a01b0380603354169116149051908152f35b503461033d578260031936011261033d578035906001600160401b0390602435828111610d0757611bcd903690830161231b565b929091611bd86124bd565b60ff6101075416611d2f578486526020906101038252878720928511611d1c5750611c0382546125d0565b601f8111611cd9575b508590601f8511600114611c685750956105c7918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610c0657508560011b906000198760031b1c19161790555192839283612f0f565b90601f1985168388528288209288905b828210611cc1575050916105c79391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c76575050600185811b019055610bf6565b80600185968294968a01358155019501930190611c78565b828752818720601f860160051c810191838710611d12575b601f0160051c01905b818110611d075750611c0c565b878155600101611cfa565b9091508190611cf1565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461033d578160031936011261033d57602090610104549051908152f35b82843461033d5761037f90611db1366122ec565b9190611dbb6124bd565b611dc960ff80541615612ec3565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103d457816003193601126103d457611e076122a5565b906024359260ff61010954166003811015611ff65760018103611faf5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611fa3575b6001600160a01b03918280611e67876125aa565b16941693808514611f5657803314908115611f37575b5015611ecf5750838552609b602052842080546001600160a01b03191683179055611ea7836125aa565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611e7d565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611e535760028552610108602052611fe581862060018060a01b0385169060019160005201602052604060002054151590565b15611e5357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461054c57602036600319011261054c575061111f602092356126af565b82843461033d578160031936011261033d578051908260975461204c816125d0565b80855291600191808316908115610a7d575060011461207757505050610a0e8261054894038361244a565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106120bc57505050610a0e82602061054895820101946109fc565b8054602087870181019190915290950194810161209f565b508290346103d45760203660031901126103d45735906001600160e01b031982168083036105f9576020935063fa31a45b60e01b811492831561219b575b8315612123575b5050519015158152f35b919250631030681960e21b81149190821561218a575b8215612161575b508115612151575b50908380612119565b61215b91506134b7565b83612148565b90915063152a902d60e11b14801561217b575b9084612140565b50612185816134b7565b612174565b6301ffc9a760e01b81149250612139565b6301ffc9a760e01b82149350612112565b5082346103d457602091826003193601126105f9573560038110156105f9576121d490612c44565b9281518093808654928381520195835280832092905b8282106122025761054886866119d5828b038361244a565b8354875295860195600193840193909101906121ea565b6020908160408183019282815285518094520193019160005b828110612240575050505090565b83516001600160a01b031685529381019392810192600101612232565b60005b8381106122705750506000910152565b8181015183820152602001612260565b906020916122998151809281855285808601910161225d565b601f01601f1916010190565b600435906001600160a01b03821682036122bb57565b600080fd5b604435906001600160a01b03821682036122bb57565b602435906001600160a01b03821682036122bb57565b60409060031901126122bb576004356001600160a01b03811681036122bb579060243580151581036122bb5790565b9181601f840112156122bb578235916001600160401b0383116122bb57602083818601950101116122bb57565b60609060031901126122bb576001600160a01b039060043582811681036122bb579160243590811681036122bb579060443590565b9190602083019260038210156123905752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126122bb5760043560038110156122bb57916024356001600160401b03928382116122bb57806023830112156122bb5781600401359384116122bb5760248460051b830101116122bb576024019190565b606081019081106001600160401b0382111761241957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761241957604052565b90601f801991011681019081106001600160401b0382111761241957604052565b6001600160401b03811161241957601f01601f191660200190565b9291926124928261246b565b916124a0604051938461244a565b8294818452818301116122bb578281602093846000960137010152565b6033546001600160a01b031633036124d157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561256557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166125cd81151561255e565b90565b90600182811c92168015612600575b60208310146125ea57565b634e487b7160e01b600052602260045260246000fd5b91607f16916125df565b9060009161010690815461261d816125d0565b8083529260019180831690811561268a575060011461263d575b50505050565b90929394506000526000805160206134fc833981519152916000925b8484106126725750506020925001019038808080612637565b80546020858501810191909152909301928101612659565b92505050602093945060ff929192191683830152151560051b01019038808080612637565b6000818152609960205260409020546126d2906001600160a01b0316151561255e565b6000908152609b60205260409020546001600160a01b031690565b156126f457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156127a957565b60405162461bcd60e51b8152806127c26004820161274f565b0390fd5b906001600160a01b0380806127da846125aa565b1693169183831493841561280d575b5083156127f7575b50505090565b612803919293506126af565b16143880806127f1565b909350600052609c60205260406000208260005260205260ff6040600020541692386127e9565b1561283b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906128b69161289c846125aa565b6001600160a01b0393918416928492909183168414612834565b1691821561294e57816128d3916128cc866125aa565b1614612834565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b15612ab1576129ed946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612280565b03926001600160a01b03165af1849181612a71575b50612a60575050503d600014612a58573d612a1c8161246b565b90612a2a604051928361244a565b81528091833d92013e5b80519182612a555760405162461bcd60e51b8152806127c26004820161274f565b01fd5b506060612a34565b6001600160e01b0319161492509050565b9091508581813d8311612aaa575b612a89818361244a565b81010312610d0757516001600160e01b031981168103610d07579038612a02565b503d612a7f565b5050915050600190565b9293600093909291803b15612b3b57948491612b159660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612280565b0393165af1849181612a715750612a60575050503d600014612a58573d612a1c8161246b565b505050915050600190565b612b536106e782336127c6565b612b5c816125aa565b50612b66816125aa565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612419578360051b6040519260208094612c078285018261244a565b80978152019181019283116122bb57905b828210612c255750505050565b81356001600160a01b03811681036122bb578152908301908301612c18565b600381101561239057600052610108602052604060002090565b8051821015612c725760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612c725760005260206000200190600090565b6000828152600182016020526040902054612d0c57805490680100000000000000008210156124195782612cf5612cde846001809601855584612c88565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612dfc5760001991808301818111612de857825490848201918211612dd457808203612d9f575b50505080548015612d8b57820191612d6e8383612c88565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612dbf612daf612cde9386612c88565b90549060031b1c92839286612c88565b90558652846020526040862055388080612d56565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612e0a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612e6f575050565b60009061010682526000805160206134fc833981519152906020601f850160051c83019410612eb9575b601f0160051c01915b828110612eae57505050565b818155600101612ea2565b9092508290612e99565b15612eca57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612f56848620546125d0565b61318b575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000858181101561317e575b50506d04ee2d6d415b85acef810000000080861015613170575b50662386f26fc1000080861015613161575b506305f5e10080861015613152575b5061271080861015613143575b506064851015613133575b600a80951015613129575b6001948584019686602161300f612ffa8b61246b565b9a61300787519c8d61244a565b808c5261246b565b8a89019790601f19013689378a0101905b6130fa575b50505051948593826101069081549161303d836125d0565b928981169081156130d95750600114613092575b50505050600693928261307e64173539b7b760d91b93602f60f81b6125cd9996525180938684019061225d565b01918201520360191981018452018261244a565b815292935090916000805160206134fc8339815191525b8282106130c357505084010190828161307e6125cd613051565b80548983018501528896509083019087016130a9565b60ff1916858a0152505050801515028501019150828161307e6125cd613051565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049087826130205750613025565b9160010191612fe4565b9193606460029104940191612fd9565b60049193950494019138612fce565b60089193950494019138612fc1565b60109193950494019138612fb2565b849193950494019138612fa0565b0494509150813880612f86565b90849392935282528083209051928391818154906131a8826125d0565b8086529260019280841690811561320f57506001146131d2575b505050506125cd9250038261244a565b815285812095935091905b8183106131f75750506125cd9350820101388080806131c2565b855487840185015294850194869450918301916131dd565b93505050506125cd94925060ff191682840152151560051b820101388080806131c2565b1561323a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b929190610100548211613473576101045461341457604051936132a1856123fe565b8285526132af368383612486565b6020908082880152604087019160009788845251610105558151906001600160401b03821161340057610106926132ea83610b9f86546125d0565b81601f841160011461336b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92613360575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561335b60405192839283612f0f565b0390a2565b015190503880613324565b848b5292996000805160206134fc83398151915293601f198c1691905b8282106133e857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106133cf575b505050811b019055613339565b015160001960f88460031b161c191690553880806133c2565b80600186978294978701518155019601940190613388565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b81149081156134ea575b81156134dc575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b811491506134d256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba26469706673582212205a1ad579f6120d95892eb81845933bef9bdac474cf43e08468c9e24ae378ca0464736f6c63430008120033","sourceMap":"387:3375:226:-:0;;;;;;;;;2518:6:81;387:3375:226;;719:10:102;-1:-1:-1;;;;;;387:3375:226;;;;;;;;-1:-1:-1;;;;;387:3375:226;2518:6:81;387:3375:226;;719:10:102;387:3375:226;;2566:40:81;2518:6;;2566:40;-1:-1:-1;;;;;1176:22:226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:3375;;;;;;;;;;;1295:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:3375;;;1339:49;387:3375;;;1339:49;387:3375;;;1456:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;387:3375;;;1514:65;387:3375;;;1514:65;387:3375;;;;;;;;;1456:48;387:3375;;;;;;;;;;1456:48;-1:-1:-1;;;387:3375:226;;;;;;;;1295:34;387:3375;;;;;;;;;1295:34;-1:-1:-1;;;387:3375:226;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c918262e8ece61461069d5750816322d60fcb14610674578163637944f514610639578163715018a6146105df578163740adf31146105a4578163877ebf51146102185781638da5cb5b146101f0578163a55b1c25146101bd578163c4dca7ab14610194578163f2fde38b146100c8575063f5e0e6df1461009d57600080fd5b346100c457816003193601126100c45760015490516001600160a01b039091168152602090f35b5080fd5b905034610190576020366003190112610190576100e3610769565b906100ec61077f565b6001600160a01b0391821692831561013e575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346100c457816003193601126100c45760035490516001600160a01b039091168152602090f35b5050346100c4573660031901126101ed576101ea6101d9610769565b6101e161077f565b602435906107d7565b80f35b80fd5b5050346100c457816003193601126100c457905490516001600160a01b039091168152602090f35b839150346100c45760803660031901126100c45767ffffffffffffffff81358181116104425761024b9036908401610701565b90602435908111610442576102639036908401610701565b606435919060443580156105455785927f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6885146104d6575b7f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c58514610454575b7f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c662517085146103ca575b5050506001600160a01b03169182156103545750602093519233837f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec8380a3827feec8a411955d10f84b6b0e3110b206d0888593b71381b8ca931e8f131f7eb365339280a48152f35b60a490602086519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b039450919290916103e6908516610974565b93841691823b15610450579186918880946104168c5197889687958694635edc7c1960e01b865233928601610935565b03925af180156104465790859161042e575b806102eb565b610437906106d7565b610442578386610428565b8380fd5b86513d87823e3d90fd5b8780fd5b6002546001600160a01b03945061046c908516610974565b938416803b1561045057878361049b9289838d51809681958294635edc7c1960e01b84528c8b33928601610935565b03925af180156104cc579088916104b4575b50506102c3565b6104bd906106d7565b6104c85786896104ad565b8680fd5b89513d8a823e3d90fd5b6001546001600160a01b0394506104ee908516610974565b938416803b1561045057878361051d9289838d51809681958294635edc7c1960e01b84528c8b33928601610935565b03925af180156104cc57610532575b5061029b565b61053e909791976106d7565b958861052c565b865162461bcd60e51b8152602081870152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b5050346100c457816003193601126100c457602090517f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c66251708152f35b83346101ed57806003193601126101ed576105f861077f565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346100c457816003193601126100c457602090517f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd688152f35b5050346100c457816003193601126100c45760025490516001600160a01b039091168152602090f35b8490346100c457816003193601126100c457807f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c560209252f35b67ffffffffffffffff81116106eb57604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156107645780359067ffffffffffffffff928383116106eb5760405193601f8401601f19908116603f01168501908111858210176106eb576040528284526020838301011161076457816000926020809301838601378301015290565b600080fd5b600435906001600160a01b038216820361076457565b6000546001600160a01b0316330361079357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316908115610764577f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd6881146108df577f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c581146108c9577f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c6625170146108b45760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b919082519283825260005b848110610921575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610900565b9060609261095261096092979695976080855260808501906108f5565b9083820360208501526108f5565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b038216156109ca57565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfea26469706673582212200e1603b2d3e3d168f22ad9bf83639762b75af2f895573534f359dd1212dde86864736f6c63430008120033","sourceMap":"387:3375:226:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;387:3375:226;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;387:3375:226;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;-1:-1:-1;;;;;387:3375:226;;;;2162:22:81;;387:3375:226;;;;;;;-1:-1:-1;;;;;387:3375:226;;;;;;;;2566:40:81;387:3375:226;2566:40:81;;387:3375:226;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;387:3375:226;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;387:3375:226;;;;;;;;;;;;;;;-1:-1:-1;;387:3375:226;;;;1117:1:81;387:3375:226;;:::i;:::-;1063:62:81;;:::i;:::-;387:3375:226;;1117:1:81;;:::i;:::-;387:3375:226;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;387:3375:226;;;;;;;;;;;;;;;;;-1:-1:-1;;387:3375:226;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2477:15;;387:3375;;2580:15;2609:35;483:31;2609:35;;2605:190;;387:3375;565:31;2808:35;;2804:292;;387:3375;655:39;3109:43;;3105:328;;387:3375;-1:-1:-1;;;;;;;;387:3375:226;;3463:21;;387:3375;;;;;;3630:10;;3593:48;;;;;3630:10;3656:63;3630:10;3656:63;;;387:3375;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;387:3375:226;;;;;3105:328;387:3375;;-1:-1:-1;;;;;387:3375:226;-1:-1:-1;387:3375:226;;;;3178:56;;387:3375;;3178:56;:::i;:::-;387:3375;;;3248:174;;;;;;387:3375;;;;;;3248:174;387:3375;;;;;;;;;;;;3248:174;;3370:10;3248:174;;;;:::i;:::-;;;;;;;;;;;;;;3105:328;;;;3248:174;;;;:::i;:::-;387:3375;;3248:174;;;;387:3375;;;;3248:174;387:3375;;;;;;;;;3248:174;387:3375;;;2804:292;2882:28;387:3375;-1:-1:-1;;;;;387:3375:226;-1:-1:-1;2869:42:226;;387:3375;;2869:42;:::i;:::-;387:3375;;;2925:160;;;;;387:3375;;2925:160;387:3375;;;;;;;;;;;;;;2925:160;;3033:10;;;2925:160;;;;:::i;:::-;;;;;;;;;;;;;;2804:292;;;;;2925:160;;;;:::i;:::-;387:3375;;2925:160;;;;387:3375;;;;2925:160;387:3375;;;;;;;;;2605:190;387:3375;;-1:-1:-1;;;;;387:3375:226;-1:-1:-1;2670:30:226;;387:3375;;2670:30;:::i;:::-;387:3375;;;2714:70;;;;;387:3375;;2714:70;387:3375;;;;;;;;;;;;;;2714:70;;2761:10;;;2714:70;;;;:::i;:::-;;;;;;;;;;;2605:190;;;;2714:70;;;;;;;:::i;:::-;;;;;387:3375;;;-1:-1:-1;;;387:3375:226;;;;;;;;;;;;;;;;;-1:-1:-1;;;387:3375:226;;;;;;;;;;;;;;;;;;;;;;;;655:39;387:3375;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;387:3375:226;;-1:-1:-1;;;;;;387:3375:226;;;;;;-1:-1:-1;;;;;387:3375:226;2566:40:81;387:3375:226;;2566:40:81;387:3375:226;;;;;;;;;;;;;;;;;;;483:31;387:3375;;;;;;;;;;;;;;;;;738:43;387:3375;;;-1:-1:-1;;;;;387:3375:226;;;;;;;;;;;;;;;;;;;;;;;565:31;387:3375;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;387:3375:226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;387:3375:226;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;387:3375:226;;;;;;-1:-1:-1;;;;;387:3375:226;;;;;;:::o;1359:130:81:-;1273:6;387:3375:226;-1:-1:-1;;;;;387:3375:226;719:10:102;1422:23:81;387:3375:226;;1359:130:81:o;387:3375:226:-;;;;;;;;;;;;;;;;;;;;;;;;;1592:661;-1:-1:-1;;;;;387:3375:226;;1720:27;;387:3375;;483:31;1762:35;;1758:118;;565:31;1889:35;;1885:130;;655:39;2028:43;2024:152;;387:3375;;-1:-1:-1;;;387:3375:226;;;;;;;;;;;;;;;;;-1:-1:-1;;;387:3375:226;;;;;;;2024:152;-1:-1:-1;;;;;387:3375:226;;2087:58;387:3375;;;2087:58;387:3375;2159:7::o;1885:130::-;387:3375;-1:-1:-1;;;;;387:3375:226;;1940:44;387:3375;;;1940:44;387:3375;1998:7::o;1758:118::-;387:3375;-1:-1:-1;;;;;387:3375:226;;;;;;;;1859:7::o;387:3375::-;;;;;;;;;-1:-1:-1;387:3375:226;;;;;;;;;-1:-1:-1;387:3375:226;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;387:3375:226;;;;;;;;;:::o;973:759:85:-;1101:558;973:759;1101:558;;;;;;;;;;;;;;;;;;387:3375:226;-1:-1:-1;;;;;387:3375:226;;1676:22:85;387:3375:226;;973:759:85:o;387:3375:226:-;;;-1:-1:-1;;;387:3375:226;;1101:558:85;387:3375:226;;;;;;;;;-1:-1:-1;;;387:3375:226;;;;;;","linkReferences":{}},"methodIdentifiers":{"LAZY_ROYALTY_GUARD()":"00e8ece6","LAZY_ROYALTY_GUARD_DEADMAN()":"740adf31","LAZY_SOVEREIGN_NFT()":"637944f5","createSovereignNFTContract(string,string,uint256,bytes32)":"877ebf51","lazySovereignNFT()":"f5e0e6df","lazySovereignNFTRoyaltyGuard()":"22d60fcb","lazySovereignNFTRoyaltyGuardDeadmanTrigger()":"c4dca7ab","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setSovereignNFT(address,bytes32)":"a55b1c25","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"contractType\",\"type\":\"bytes32\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol\":\"LazySovereignNFTFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e\",\"dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e\",\"dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol\":{\"keccak256\":\"0xa1f7d51eabeaa518149141704c530f33cd5b5b2c9668c13d6950be8a2b46ec92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3214ccb4e2e570b32b585eed6ef34902cacd10afdf4b525a31b5023250544e9c\",\"dweb:/ipfs/QmUu92QsbMwwXLx8GWqKtuM9DM6RfLaopE5yp2ienUzecB\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df\",\"dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79\",\"dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true}],"type":"event","name":"SovereignNFTContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"bytes32","name":"contractType","type":"bytes32","indexed":true}],"type":"event","name":"SovereignNFTContractCreated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_ROYALTY_GUARD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_ROYALTY_GUARD_DEADMAN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_SOVEREIGN_NFT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFTRoyaltyGuard","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFTRoyaltyGuardDeadmanTrigger","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_sovereignNFT","type":"address"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setSovereignNFT"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol":"LazySovereignNFTFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db","urls":["bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e","dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":{"keccak256":"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635","urls":["bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e","dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFTFactory.sol":{"keccak256":"0xa1f7d51eabeaa518149141704c530f33cd5b5b2c9668c13d6950be8a2b46ec92","urls":["bzz-raw://3214ccb4e2e570b32b585eed6ef34902cacd10afdf4b525a31b5023250544e9c","dweb:/ipfs/QmUu92QsbMwwXLx8GWqKtuM9DM6RfLaopE5yp2ienUzecB"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol":{"keccak256":"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7","urls":["bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df","dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c","urls":["bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79","dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":226} \ No newline at end of file diff --git a/abis/LazySovereignNFTRoyaltyGuard.json b/abis/LazySovereignNFTRoyaltyGuard.json index c0192d6..5910b7b 100644 --- a/abis/LazySovereignNFTRoyaltyGuard.json +++ b/abis/LazySovereignNFTRoyaltyGuard.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"getMintConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct LazySovereignNFT.MintConfig","components":[{"name":"numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"},{"name":"lockedMetadata","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedMinter","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockBaseURI","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prepareMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prepareMintWithMinter","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"_minter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinterApproval","inputs":[{"name":"_minter","type":"address","internalType":"address"},{"name":"_isMinter","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseURI","inputs":[{"name":"_baseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_metadataUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"MetadataLocked","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"MetadataUpdated","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepareMint","inputs":[{"name":"numberOfTokens","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadataUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x60808060405234610016576133b1908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e81461200c57806301ffc9a714611f3457806306fdde0314611e8a578063081812fc14611e69578063095ea7b314611c4c5780630de54ba014611bfd57806318160ddd14611bdd57806318e97fd1146119f957806320427486146119c557806323b872dd146119a05780632a55205a1461190d5780632ce878da1461189a5780633403c4e9146118715780633a3d146f146118325780633ebc82c5146117f057806340c1a064146117c657806342842e0e1461179257806342966c6814611776578063472a6638146116d757806353df5c7c146116755780635edc7c191461116d5780636297c16c146110ef5780636352211e146110bd57806370a0823114611029578063715018a614610fcc578063755edd1714610d8957806387bc793f14610d61578063894ba83314610d135780638da5cb5b14610cea578063931688cb14610b1d5780639338bb5d14610a8457806395d89b411461099f5780639e860f2a1461089a578063a22cb4651461073c578063ab69607a1461071d578063b390ac25146106e4578063b88d4fde1461065b578063b9fbd25c146105dc578063bc7194551461052e578063c87b56dd146104f2578063e8315742146104d2578063e985e9c514610484578063eab8511814610429578063ee07080514610406578063efc32cd4146103b7578063f2fde38b146103205763ff6e8c8f1461022557600080fd5b3461031c5761023336612206565b6033546001600160a01b0396908716330361030d5760038410156102fa5783156102eb575090610264913691612a3e565b93835b85518110156102e75761028f61027c84612aa4565b83610287848a612abe565b511690612b00565b50828261029c8389612abe565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102d457600101610267565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103b35760203660031901126103b35761033c612105565b9161034561231d565b6001600160a01b03831615610361578361035e84612375565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461031c578060031936011261031c576103d1612105565b906103da61231d565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461031c578160031936011261031c5760209060ff80541690519015158152f35b82843461031c57602036600319011261031c5760209061047b61044a612105565b61045960ff6101095416612aa4565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461031c578060031936011261031c5760ff816020936104a4612105565b6104ac612136565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461031c578160031936011261031c57602090610100549051908152f35b5091903461052b57602036600319011261052b57506105146105279235612d97565b90519182916020835260208301906120e0565b0390f35b80fd5b5082346103b35760203660031901126103b35781359160038310156105d8576033546001600160a01b031633036105ca575061056982612aa4565b805490848155816105ac575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105a63394826121dd565b0390a280f35b845260208420908101905b81811015610575578481556001016105b7565b9051635c510c8360e11b8152fd5b8380fd5b508290346103b35760603660031901126103b35780356001600160401b0381116105d85761063a916106109136910161217b565b919061061a612120565b9261062361231d565b61063160ff80541615612d23565b602435916130df565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461031c57608036600319011261031c57610675612105565b9061067e612136565b91604435606435936001600160401b0385116106e057366023860112156106e0576106b86106db9486602461035e983693013591016122e6565b926106cb6106c68433612626565b61254d565b6106d68383836126ee565b61291b565b612602565b8580fd5b5082346103b35736600319011261031c5780356001600160401b0381116103b35761035e916107159136910161217b565b61062361231d565b82843461031c578160031936011261031c5760209060fc549051908152f35b5082346103b35761074c3661214c565b919060ff610109541660038110156102fa57600181036108505750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610841575b6001600160a01b0316923384146107ff5750338452609c6020528084208385526020526107d0828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610795576002855261010860205261088682862060018060a01b0383169060019160005201602052604060002054151590565b156107955781516282b42960e81b81528490fd5b503461031c576108a936612206565b6033546001600160a01b0396908716330361030d5750906108cb913691612a3e565b936003821015908161098c57826108e0578480f35b845b865181101561097c5761090a6108f785612aa4565b83610902848b612abe565b511690612b73565b508282610917838a612abe565b511690610969578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a46000198114610956576001016108e2565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461031c578160031936011261031c57805190826098546109c181612430565b80855291600191808316908115610a5c57506001146109ff575b5050506109ed826105279403836122aa565b519182916020835260208301906120e0565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a44575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101610a27565b6105279750869350602092506109ed94915060ff191682840152151560051b820101946109db565b50503461052b578060031936011261052b57818051610aa28161225e565b8281526060602082015201528051610ab98161225e565b610105548152815191610ad683610acf8161246a565b03846122aa565b60208201928352610b1060ff61010754169180840192151583526060815195869560208752516020870152519185015260808401906120e0565b9051151560608301520390f35b503461031c576020806003193601126103b3576001600160401b03908235828111610ce657610b4f903690850161217b565b939092610b5a61231d565b60ff6101075416610c9a578411610c87575061010690610b8384610b7e8454612430565b612cc3565b8490601f8511600114610bf0575094610bdf918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610be5575b508560011b906000198760031b1c19161790555b5192839283612d6f565b0390a180f35b905084013538610bc1565b90601f19851683875260008051602061335c8339815191529287905b828210610c6f57505091610bdf9391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c55575b5050600185811b019055610bd5565b850135600019600388901b60f8161c191690553880610c46565b80600185968294968a01358155019501930190610c0c565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461031c578160031936011261031c5760335490516001600160a01b039091168152602090f35b823461052b578060031936011261052b57610d2c61231d565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461031c578160031936011261031c576105279060ff61010954169051918291826121dd565b50913461031c57602092836003193601126103b357610da6612105565b92610db560ff80541615612d23565b6033546001600160a01b039190821633148015610fb7575b15610f5b5760fc548260fb541692610104966001885401809855610100548811610f1a57865191610dfd8361228f565b8483528116958615610ed957506106db8794939289610ebc93610e3e610e3883600052609960205260018060a01b0360406000205416151590565b15613093565b600082815260996020526040902054610e61906001600160a01b03161515610e38565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46127ff565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dcd565b823461052b578060031936011261052b57610fe561231d565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461031c57602036600319011261031c576001600160a01b0361104b612105565b16908115611068576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461052b57602036600319011261052b57506110de6020923561240a565b90516001600160a01b039091168152f35b508290346103b35760203660031901126103b35780359161110f8361240a565b336001600160a01b039091160361112a578361035e846129a6565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461031c57608036600319011261031c576001600160401b039281358481116105d85761119e903690840161217b565b92906024358681116106e0576111b7903690840161217b565b6111c2979197612120565b9387549860ff94858b60081c16159889809a611669575b8015611653575b156115f95760ff19808d1660019081178d559b9c999a998a6115e8575b506001600160a01b038916156115a5579161125091611240898f6112589796600a60fc558254168255606435610100555460081c1661123b81612c63565b612c63565b61124933612375565b36916122e6565b9336916122e6565b9061126c858b5460081c1661123b81612c63565b82518481116115925780611281609754612430565b94601f95868111611521575b506020908d8784116001146114a25792611497575b5050600019600383901b1c1916908a1b176097555b815193841161148457506112cc609854612430565b828111611421575b506020918311600114611395579180611349959492611321948b9261138a575b5050600019600383901b1c191690881b176098555b875460081c1661131881612c63565b61123b81612c63565b60fb80546001600160a01b0319166001600160a01b03831617905561134461231d565b612375565b611351578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b0151905038806112f4565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106114095750916113219593918561134999989694106113f0575b505050811b01609855611309565b015160001960f88460031b161c191690553880806113e2565b8284015185558b9690940193602093840193016113c5565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061147b575b0160051c019089905b8281106114705750506112d4565b8b8155018990611462565b92508192611459565b634e487b7160e01b8a5260419052602489fd5b0151905038806112a2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611509575084116114f0575b505050811b016097556112b7565b015160001960f88460031b161c191690553880806114e2565b8284015185558f9690940193602093840193016114d3565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611589575b859493910160051c909101908d908f5b83821061157b5750505061128d565b81558594508e91018f61156c565b9250819261155c565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d55386111fd565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156111e057506001878d16146111e0565b506001878d16106111d9565b82843461031c578160031936011261031c577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e906116b161231d565b5160208152806116c36020820161246a565b0390a1610107805460ff1916600117905580f35b508290346103b35760203660031901126103b35780359160038310156105d8576033546001600160a01b0316330361176957506101099182549160ff83169060038210156117565750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461031c57602036600319011261031c5761035e90356129a6565b82843461031c576106db61035e916117a9366121a8565b919251926117b68461228f565b8684526106cb6106c68433612626565b82843461031c57602036600319011261031c5760335490516001600160a01b039091168152602090f35b823461052b57602036600319011261052b5761035e61180d612105565b61181561231d565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461031c57602036600319011261031c5760209160ff9082906001600160a01b0361185d612105565b168152610102855220541690519015158152f35b82843461031c578160031936011261031c5760fb5490516001600160a01b039091168152602090f35b50503461052b578060031936011261052b576118bb60ff6101095416612aa4565b9180519182845490818152602080910195835280832092905b8282106118f65761052786866118ec828b03836122aa565b5191829182612079565b8354875295860195600193840193909101906118d4565b5091903461052b578160031936011261052b578235815260fd60205281812054602435906001600160a01b03908116801561199457925b60fe60205284812054801561198a57925b8381029381850414901517156119775750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611955565b508060fb541692611944565b823461052b5761035e6119b2366121a8565b916119c06106c68433612626565b6126ee565b82843461031c57602036600319011261031c576020906119e3612105565b60018060a01b0380603354169116149051908152f35b503461031c578260031936011261031c578035906001600160401b0390602435828111610ce657611a2d903690830161217b565b929091611a3861231d565b60ff6101075416611b8f578486526020906101038252878720928511611b7c5750611a638254612430565b601f8111611b39575b508590601f8511600114611ac85750956105a6918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610be557508560011b906000198760031b1c19161790555192839283612d6f565b90601f1985168388528288209288905b828210611b21575050916105a69391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c55575050600185811b019055610bd5565b80600185968294968a01358155019501930190611ad8565b828752818720601f860160051c810191838710611b72575b601f0160051c01905b818110611b675750611a6c565b878155600101611b5a565b9091508190611b51565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461031c578160031936011261031c57602090610104549051908152f35b82843461031c5761035e90611c113661214c565b9190611c1b61231d565b611c2960ff80541615612d23565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103b357816003193601126103b357611c67612105565b906024359260ff61010954166003811015611e565760018103611e0f5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611e03575b6001600160a01b03918280611cc78761240a565b16941693808514611db657803314908115611d97575b5015611d2f5750838552609b602052842080546001600160a01b03191683179055611d078361240a565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611cdd565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611cb35760028552610108602052611e4581862060018060a01b0385169060019160005201602052604060002054151590565b15611cb357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461052b57602036600319011261052b57506110de6020923561250f565b82843461031c578160031936011261031c5780519082609754611eac81612430565b80855291600191808316908115610a5c5750600114611ed7575050506109ed826105279403836122aa565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611f1c575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101611eff565b508290346103b35760203660031901126103b35735906001600160e01b031982168083036105d8576020935063fa31a45b60e01b8114928315611ffb575b8315611f83575b5050519015158152f35b919250631030681960e21b811491908215611fea575b8215611fc1575b508115611fb1575b50908380611f79565b611fbb9150613317565b83611fa8565b90915063152a902d60e11b148015611fdb575b9084611fa0565b50611fe581613317565b611fd4565b6301ffc9a760e01b81149250611f99565b6301ffc9a760e01b82149350611f72565b5082346103b357602091826003193601126105d8573560038110156105d85761203490612aa4565b9281518093808654928381520195835280832092905b8282106120625761052786866118ec828b03836122aa565b83548752958601956001938401939091019061204a565b6020908160408183019282815285518094520193019160005b8281106120a0575050505090565b83516001600160a01b031685529381019392810192600101612092565b60005b8381106120d05750506000910152565b81810151838201526020016120c0565b906020916120f9815180928185528580860191016120bd565b601f01601f1916010190565b600435906001600160a01b038216820361211b57565b600080fd5b604435906001600160a01b038216820361211b57565b602435906001600160a01b038216820361211b57565b604090600319011261211b576004356001600160a01b038116810361211b5790602435801515810361211b5790565b9181601f8401121561211b578235916001600160401b03831161211b576020838186019501011161211b57565b606090600319011261211b576001600160a01b0390600435828116810361211b5791602435908116810361211b579060443590565b9190602083019260038210156121f05752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261211b57600435600381101561211b57916024356001600160401b039283821161211b578060238301121561211b57816004013593841161211b5760248460051b8301011161211b576024019190565b606081019081106001600160401b0382111761227957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761227957604052565b90601f801991011681019081106001600160401b0382111761227957604052565b6001600160401b03811161227957601f01601f191660200190565b9291926122f2826122cb565b9161230060405193846122aa565b82948184528183011161211b578281602093846000960137010152565b6033546001600160a01b0316330361233157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156123c557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661242d8115156123be565b90565b90600182811c92168015612460575b602083101461244a57565b634e487b7160e01b600052602260045260246000fd5b91607f169161243f565b9060009161010690815461247d81612430565b808352926001918083169081156124ea575060011461249d575b50505050565b909293945060005260008051602061335c833981519152916000925b8484106124d25750506020925001019038808080612497565b805460208585018101919091529093019281016124b9565b92505050602093945060ff929192191683830152151560051b01019038808080612497565b600081815260996020526040902054612532906001600160a01b031615156123be565b6000908152609b60205260409020546001600160a01b031690565b1561255457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561260957565b60405162461bcd60e51b815280612622600482016125af565b0390fd5b906001600160a01b03808061263a8461240a565b1693169183831493841561266d575b508315612657575b50505090565b6126639192935061250f565b1614388080612651565b909350600052609c60205260406000208260005260205260ff604060002054169238612649565b1561269b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90612716916126fc8461240a565b6001600160a01b0393918416928492909183168414612694565b169182156127ae57816127339161272c8661240a565b1614612694565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156129115761284d946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b9660848301906120e0565b03926001600160a01b03165af18491816128d1575b506128c0575050503d6000146128b8573d61287c816122cb565b9061288a60405192836122aa565b81528091833d92013e5b805191826128b55760405162461bcd60e51b815280612622600482016125af565b01fd5b506060612894565b6001600160e01b0319161492509050565b9091508581813d831161290a575b6128e981836122aa565b81010312610ce657516001600160e01b031981168103610ce6579038612862565b503d6128df565b5050915050600190565b9293600093909291803b1561299b579484916129759660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906120e0565b0393165af18491816128d157506128c0575050503d6000146128b8573d61287c816122cb565b505050915050600190565b6129b36106c68233612626565b6129bc8161240a565b506129c68161240a565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612279578360051b6040519260208094612a67828501826122aa565b809781520191810192831161211b57905b828210612a855750505050565b81356001600160a01b038116810361211b578152908301908301612a78565b60038110156121f057600052610108602052604060002090565b8051821015612ad25760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612ad25760005260206000200190600090565b6000828152600182016020526040902054612b6c57805490680100000000000000008210156122795782612b55612b3e846001809601855584612ae8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c5c5760001991808301818111612c4857825490848201918211612c3457808203612bff575b50505080548015612beb57820191612bce8383612ae8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612c1f612c0f612b3e9386612ae8565b90549060031b1c92839286612ae8565b90558652846020526040862055388080612bb6565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612c6a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612ccf575050565b600090610106825260008051602061335c833981519152906020601f850160051c83019410612d19575b601f0160051c01915b828110612d0e57505050565b818155600101612d02565b9092508290612cf9565b15612d2a57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612db684862054612430565b612feb575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612fde575b50506d04ee2d6d415b85acef810000000080861015612fd0575b50662386f26fc1000080861015612fc1575b506305f5e10080861015612fb2575b5061271080861015612fa3575b506064851015612f93575b600a80951015612f89575b60019485840196866021612e6f612e5a8b6122cb565b9a612e6787519c8d6122aa565b808c526122cb565b8a89019790601f19013689378a0101905b612f5a575b505050519485938261010690815491612e9d83612430565b92898116908115612f395750600114612ef2575b505050506006939282612ede64173539b7b760d91b93602f60f81b61242d999652518093868401906120bd565b0191820152036019198101845201826122aa565b8152929350909160008051602061335c8339815191525b828210612f23575050840101908281612ede61242d612eb1565b8054898301850152889650908301908701612f09565b60ff1916858a01525050508015150285010191508281612ede61242d612eb1565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782612e805750612e85565b9160010191612e44565b9193606460029104940191612e39565b60049193950494019138612e2e565b60089193950494019138612e21565b60109193950494019138612e12565b849193950494019138612e00565b0494509150813880612de6565b908493929352825280832090519283918181549061300882612430565b8086529260019280841690811561306f5750600114613032575b5050505061242d925003826122aa565b815285812095935091905b81831061305757505061242d935082010138808080613022565b8554878401850152948501948694509183019161303d565b935050505061242d94925060ff191682840152151560051b82010138808080613022565b1561309a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116132d3576101045461327457604051936131018561225e565b82855261310f3683836122e6565b6020908082880152604087019160009788845251610105558151906001600160401b038211613260576101069261314a83610b7e8654612430565b81601f84116001146131cb57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a926131c0575b50508160011b916000199060031b1c19161790555b5115156101079060ff801983541691161790556131bb60405192839283612d6f565b0390a2565b015190503880613184565b848b52929960008051602061335c83398151915293601f198c1691905b82821061324857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c941061322f575b505050811b019055613199565b015160001960f88460031b161c19169055388080613222565b806001869782949787015181550196019401906131e8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b811490811561334a575b811561333c575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061333256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba264697066735822122021d2821b803a3709515d735f1f04f2ed6d9a07724e1875b57b90e344009adabb64736f6c63430008120033","sourceMap":"187:1659:206:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e81461200c57806301ffc9a714611f3457806306fdde0314611e8a578063081812fc14611e69578063095ea7b314611c4c5780630de54ba014611bfd57806318160ddd14611bdd57806318e97fd1146119f957806320427486146119c557806323b872dd146119a05780632a55205a1461190d5780632ce878da1461189a5780633403c4e9146118715780633a3d146f146118325780633ebc82c5146117f057806340c1a064146117c657806342842e0e1461179257806342966c6814611776578063472a6638146116d757806353df5c7c146116755780635edc7c191461116d5780636297c16c146110ef5780636352211e146110bd57806370a0823114611029578063715018a614610fcc578063755edd1714610d8957806387bc793f14610d61578063894ba83314610d135780638da5cb5b14610cea578063931688cb14610b1d5780639338bb5d14610a8457806395d89b411461099f5780639e860f2a1461089a578063a22cb4651461073c578063ab69607a1461071d578063b390ac25146106e4578063b88d4fde1461065b578063b9fbd25c146105dc578063bc7194551461052e578063c87b56dd146104f2578063e8315742146104d2578063e985e9c514610484578063eab8511814610429578063ee07080514610406578063efc32cd4146103b7578063f2fde38b146103205763ff6e8c8f1461022557600080fd5b3461031c5761023336612206565b6033546001600160a01b0396908716330361030d5760038410156102fa5783156102eb575090610264913691612a3e565b93835b85518110156102e75761028f61027c84612aa4565b83610287848a612abe565b511690612b00565b50828261029c8389612abe565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102d457600101610267565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103b35760203660031901126103b35761033c612105565b9161034561231d565b6001600160a01b03831615610361578361035e84612375565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461031c578060031936011261031c576103d1612105565b906103da61231d565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461031c578160031936011261031c5760209060ff80541690519015158152f35b82843461031c57602036600319011261031c5760209061047b61044a612105565b61045960ff6101095416612aa4565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461031c578060031936011261031c5760ff816020936104a4612105565b6104ac612136565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461031c578160031936011261031c57602090610100549051908152f35b5091903461052b57602036600319011261052b57506105146105279235612d97565b90519182916020835260208301906120e0565b0390f35b80fd5b5082346103b35760203660031901126103b35781359160038310156105d8576033546001600160a01b031633036105ca575061056982612aa4565b805490848155816105ac575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105a63394826121dd565b0390a280f35b845260208420908101905b81811015610575578481556001016105b7565b9051635c510c8360e11b8152fd5b8380fd5b508290346103b35760603660031901126103b35780356001600160401b0381116105d85761063a916106109136910161217b565b919061061a612120565b9261062361231d565b61063160ff80541615612d23565b602435916130df565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461031c57608036600319011261031c57610675612105565b9061067e612136565b91604435606435936001600160401b0385116106e057366023860112156106e0576106b86106db9486602461035e983693013591016122e6565b926106cb6106c68433612626565b61254d565b6106d68383836126ee565b61291b565b612602565b8580fd5b5082346103b35736600319011261031c5780356001600160401b0381116103b35761035e916107159136910161217b565b61062361231d565b82843461031c578160031936011261031c5760209060fc549051908152f35b5082346103b35761074c3661214c565b919060ff610109541660038110156102fa57600181036108505750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610841575b6001600160a01b0316923384146107ff5750338452609c6020528084208385526020526107d0828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610795576002855261010860205261088682862060018060a01b0383169060019160005201602052604060002054151590565b156107955781516282b42960e81b81528490fd5b503461031c576108a936612206565b6033546001600160a01b0396908716330361030d5750906108cb913691612a3e565b936003821015908161098c57826108e0578480f35b845b865181101561097c5761090a6108f785612aa4565b83610902848b612abe565b511690612b73565b508282610917838a612abe565b511690610969578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a46000198114610956576001016108e2565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461031c578160031936011261031c57805190826098546109c181612430565b80855291600191808316908115610a5c57506001146109ff575b5050506109ed826105279403836122aa565b519182916020835260208301906120e0565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a44575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101610a27565b6105279750869350602092506109ed94915060ff191682840152151560051b820101946109db565b50503461052b578060031936011261052b57818051610aa28161225e565b8281526060602082015201528051610ab98161225e565b610105548152815191610ad683610acf8161246a565b03846122aa565b60208201928352610b1060ff61010754169180840192151583526060815195869560208752516020870152519185015260808401906120e0565b9051151560608301520390f35b503461031c576020806003193601126103b3576001600160401b03908235828111610ce657610b4f903690850161217b565b939092610b5a61231d565b60ff6101075416610c9a578411610c87575061010690610b8384610b7e8454612430565b612cc3565b8490601f8511600114610bf0575094610bdf918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610be5575b508560011b906000198760031b1c19161790555b5192839283612d6f565b0390a180f35b905084013538610bc1565b90601f19851683875260008051602061335c8339815191529287905b828210610c6f57505091610bdf9391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c55575b5050600185811b019055610bd5565b850135600019600388901b60f8161c191690553880610c46565b80600185968294968a01358155019501930190610c0c565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461031c578160031936011261031c5760335490516001600160a01b039091168152602090f35b823461052b578060031936011261052b57610d2c61231d565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461031c578160031936011261031c576105279060ff61010954169051918291826121dd565b50913461031c57602092836003193601126103b357610da6612105565b92610db560ff80541615612d23565b6033546001600160a01b039190821633148015610fb7575b15610f5b5760fc548260fb541692610104966001885401809855610100548811610f1a57865191610dfd8361228f565b8483528116958615610ed957506106db8794939289610ebc93610e3e610e3883600052609960205260018060a01b0360406000205416151590565b15613093565b600082815260996020526040902054610e61906001600160a01b03161515610e38565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46127ff565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dcd565b823461052b578060031936011261052b57610fe561231d565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461031c57602036600319011261031c576001600160a01b0361104b612105565b16908115611068576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461052b57602036600319011261052b57506110de6020923561240a565b90516001600160a01b039091168152f35b508290346103b35760203660031901126103b35780359161110f8361240a565b336001600160a01b039091160361112a578361035e846129a6565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461031c57608036600319011261031c576001600160401b039281358481116105d85761119e903690840161217b565b92906024358681116106e0576111b7903690840161217b565b6111c2979197612120565b9387549860ff94858b60081c16159889809a611669575b8015611653575b156115f95760ff19808d1660019081178d559b9c999a998a6115e8575b506001600160a01b038916156115a5579161125091611240898f6112589796600a60fc558254168255606435610100555460081c1661123b81612c63565b612c63565b61124933612375565b36916122e6565b9336916122e6565b9061126c858b5460081c1661123b81612c63565b82518481116115925780611281609754612430565b94601f95868111611521575b506020908d8784116001146114a25792611497575b5050600019600383901b1c1916908a1b176097555b815193841161148457506112cc609854612430565b828111611421575b506020918311600114611395579180611349959492611321948b9261138a575b5050600019600383901b1c191690881b176098555b875460081c1661131881612c63565b61123b81612c63565b60fb80546001600160a01b0319166001600160a01b03831617905561134461231d565b612375565b611351578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b0151905038806112f4565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106114095750916113219593918561134999989694106113f0575b505050811b01609855611309565b015160001960f88460031b161c191690553880806113e2565b8284015185558b9690940193602093840193016113c5565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061147b575b0160051c019089905b8281106114705750506112d4565b8b8155018990611462565b92508192611459565b634e487b7160e01b8a5260419052602489fd5b0151905038806112a2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611509575084116114f0575b505050811b016097556112b7565b015160001960f88460031b161c191690553880806114e2565b8284015185558f9690940193602093840193016114d3565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611589575b859493910160051c909101908d908f5b83821061157b5750505061128d565b81558594508e91018f61156c565b9250819261155c565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d55386111fd565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156111e057506001878d16146111e0565b506001878d16106111d9565b82843461031c578160031936011261031c577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e906116b161231d565b5160208152806116c36020820161246a565b0390a1610107805460ff1916600117905580f35b508290346103b35760203660031901126103b35780359160038310156105d8576033546001600160a01b0316330361176957506101099182549160ff83169060038210156117565750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461031c57602036600319011261031c5761035e90356129a6565b82843461031c576106db61035e916117a9366121a8565b919251926117b68461228f565b8684526106cb6106c68433612626565b82843461031c57602036600319011261031c5760335490516001600160a01b039091168152602090f35b823461052b57602036600319011261052b5761035e61180d612105565b61181561231d565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461031c57602036600319011261031c5760209160ff9082906001600160a01b0361185d612105565b168152610102855220541690519015158152f35b82843461031c578160031936011261031c5760fb5490516001600160a01b039091168152602090f35b50503461052b578060031936011261052b576118bb60ff6101095416612aa4565b9180519182845490818152602080910195835280832092905b8282106118f65761052786866118ec828b03836122aa565b5191829182612079565b8354875295860195600193840193909101906118d4565b5091903461052b578160031936011261052b578235815260fd60205281812054602435906001600160a01b03908116801561199457925b60fe60205284812054801561198a57925b8381029381850414901517156119775750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611955565b508060fb541692611944565b823461052b5761035e6119b2366121a8565b916119c06106c68433612626565b6126ee565b82843461031c57602036600319011261031c576020906119e3612105565b60018060a01b0380603354169116149051908152f35b503461031c578260031936011261031c578035906001600160401b0390602435828111610ce657611a2d903690830161217b565b929091611a3861231d565b60ff6101075416611b8f578486526020906101038252878720928511611b7c5750611a638254612430565b601f8111611b39575b508590601f8511600114611ac85750956105a6918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610be557508560011b906000198760031b1c19161790555192839283612d6f565b90601f1985168388528288209288905b828210611b21575050916105a69391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c55575050600185811b019055610bd5565b80600185968294968a01358155019501930190611ad8565b828752818720601f860160051c810191838710611b72575b601f0160051c01905b818110611b675750611a6c565b878155600101611b5a565b9091508190611b51565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461031c578160031936011261031c57602090610104549051908152f35b82843461031c5761035e90611c113661214c565b9190611c1b61231d565b611c2960ff80541615612d23565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103b357816003193601126103b357611c67612105565b906024359260ff61010954166003811015611e565760018103611e0f5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611e03575b6001600160a01b03918280611cc78761240a565b16941693808514611db657803314908115611d97575b5015611d2f5750838552609b602052842080546001600160a01b03191683179055611d078361240a565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611cdd565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611cb35760028552610108602052611e4581862060018060a01b0385169060019160005201602052604060002054151590565b15611cb357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461052b57602036600319011261052b57506110de6020923561250f565b82843461031c578160031936011261031c5780519082609754611eac81612430565b80855291600191808316908115610a5c5750600114611ed7575050506109ed826105279403836122aa565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611f1c575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101611eff565b508290346103b35760203660031901126103b35735906001600160e01b031982168083036105d8576020935063fa31a45b60e01b8114928315611ffb575b8315611f83575b5050519015158152f35b919250631030681960e21b811491908215611fea575b8215611fc1575b508115611fb1575b50908380611f79565b611fbb9150613317565b83611fa8565b90915063152a902d60e11b148015611fdb575b9084611fa0565b50611fe581613317565b611fd4565b6301ffc9a760e01b81149250611f99565b6301ffc9a760e01b82149350611f72565b5082346103b357602091826003193601126105d8573560038110156105d85761203490612aa4565b9281518093808654928381520195835280832092905b8282106120625761052786866118ec828b03836122aa565b83548752958601956001938401939091019061204a565b6020908160408183019282815285518094520193019160005b8281106120a0575050505090565b83516001600160a01b031685529381019392810192600101612092565b60005b8381106120d05750506000910152565b81810151838201526020016120c0565b906020916120f9815180928185528580860191016120bd565b601f01601f1916010190565b600435906001600160a01b038216820361211b57565b600080fd5b604435906001600160a01b038216820361211b57565b602435906001600160a01b038216820361211b57565b604090600319011261211b576004356001600160a01b038116810361211b5790602435801515810361211b5790565b9181601f8401121561211b578235916001600160401b03831161211b576020838186019501011161211b57565b606090600319011261211b576001600160a01b0390600435828116810361211b5791602435908116810361211b579060443590565b9190602083019260038210156121f05752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261211b57600435600381101561211b57916024356001600160401b039283821161211b578060238301121561211b57816004013593841161211b5760248460051b8301011161211b576024019190565b606081019081106001600160401b0382111761227957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761227957604052565b90601f801991011681019081106001600160401b0382111761227957604052565b6001600160401b03811161227957601f01601f191660200190565b9291926122f2826122cb565b9161230060405193846122aa565b82948184528183011161211b578281602093846000960137010152565b6033546001600160a01b0316330361233157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156123c557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661242d8115156123be565b90565b90600182811c92168015612460575b602083101461244a57565b634e487b7160e01b600052602260045260246000fd5b91607f169161243f565b9060009161010690815461247d81612430565b808352926001918083169081156124ea575060011461249d575b50505050565b909293945060005260008051602061335c833981519152916000925b8484106124d25750506020925001019038808080612497565b805460208585018101919091529093019281016124b9565b92505050602093945060ff929192191683830152151560051b01019038808080612497565b600081815260996020526040902054612532906001600160a01b031615156123be565b6000908152609b60205260409020546001600160a01b031690565b1561255457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561260957565b60405162461bcd60e51b815280612622600482016125af565b0390fd5b906001600160a01b03808061263a8461240a565b1693169183831493841561266d575b508315612657575b50505090565b6126639192935061250f565b1614388080612651565b909350600052609c60205260406000208260005260205260ff604060002054169238612649565b1561269b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90612716916126fc8461240a565b6001600160a01b0393918416928492909183168414612694565b169182156127ae57816127339161272c8661240a565b1614612694565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156129115761284d946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b9660848301906120e0565b03926001600160a01b03165af18491816128d1575b506128c0575050503d6000146128b8573d61287c816122cb565b9061288a60405192836122aa565b81528091833d92013e5b805191826128b55760405162461bcd60e51b815280612622600482016125af565b01fd5b506060612894565b6001600160e01b0319161492509050565b9091508581813d831161290a575b6128e981836122aa565b81010312610ce657516001600160e01b031981168103610ce6579038612862565b503d6128df565b5050915050600190565b9293600093909291803b1561299b579484916129759660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906120e0565b0393165af18491816128d157506128c0575050503d6000146128b8573d61287c816122cb565b505050915050600190565b6129b36106c68233612626565b6129bc8161240a565b506129c68161240a565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612279578360051b6040519260208094612a67828501826122aa565b809781520191810192831161211b57905b828210612a855750505050565b81356001600160a01b038116810361211b578152908301908301612a78565b60038110156121f057600052610108602052604060002090565b8051821015612ad25760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612ad25760005260206000200190600090565b6000828152600182016020526040902054612b6c57805490680100000000000000008210156122795782612b55612b3e846001809601855584612ae8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c5c5760001991808301818111612c4857825490848201918211612c3457808203612bff575b50505080548015612beb57820191612bce8383612ae8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612c1f612c0f612b3e9386612ae8565b90549060031b1c92839286612ae8565b90558652846020526040862055388080612bb6565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612c6a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612ccf575050565b600090610106825260008051602061335c833981519152906020601f850160051c83019410612d19575b601f0160051c01915b828110612d0e57505050565b818155600101612d02565b9092508290612cf9565b15612d2a57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612db684862054612430565b612feb575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612fde575b50506d04ee2d6d415b85acef810000000080861015612fd0575b50662386f26fc1000080861015612fc1575b506305f5e10080861015612fb2575b5061271080861015612fa3575b506064851015612f93575b600a80951015612f89575b60019485840196866021612e6f612e5a8b6122cb565b9a612e6787519c8d6122aa565b808c526122cb565b8a89019790601f19013689378a0101905b612f5a575b505050519485938261010690815491612e9d83612430565b92898116908115612f395750600114612ef2575b505050506006939282612ede64173539b7b760d91b93602f60f81b61242d999652518093868401906120bd565b0191820152036019198101845201826122aa565b8152929350909160008051602061335c8339815191525b828210612f23575050840101908281612ede61242d612eb1565b8054898301850152889650908301908701612f09565b60ff1916858a01525050508015150285010191508281612ede61242d612eb1565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782612e805750612e85565b9160010191612e44565b9193606460029104940191612e39565b60049193950494019138612e2e565b60089193950494019138612e21565b60109193950494019138612e12565b849193950494019138612e00565b0494509150813880612de6565b908493929352825280832090519283918181549061300882612430565b8086529260019280841690811561306f5750600114613032575b5050505061242d925003826122aa565b815285812095935091905b81831061305757505061242d935082010138808080613022565b8554878401850152948501948694509183019161303d565b935050505061242d94925060ff191682840152151560051b82010138808080613022565b1561309a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116132d3576101045461327457604051936131018561225e565b82855261310f3683836122e6565b6020908082880152604087019160009788845251610105558151906001600160401b038211613260576101069261314a83610b7e8654612430565b81601f84116001146131cb57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a926131c0575b50508160011b916000199060031b1c19161790555b5115156101079060ff801983541691161790556131bb60405192839283612d6f565b0390a2565b015190503880613184565b848b52929960008051602061335c83398151915293601f198c1691905b82821061324857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c941061322f575b505050811b019055613199565b015160001960f88460031b161c19169055388080613222565b806001869782949787015181550196019401906131e8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b811490811561334a575b811561333c575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061333256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba264697066735822122021d2821b803a3709515d735f1f04f2ed6d9a07724e1875b57b90e344009adabb64736f6c63430008120033","sourceMap":"187:1659:206:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:39;187:1659:206;-1:-1:-1;;;;;187:1659:206;;;;2088:10:111;1220:16:206;2064:71:111;;187:1659:206;;;;;;2839:39:111;;2835:84;;187:1659:206;;;;;;;:::i;:::-;5643:13:111;;5677:3;187:1659:206;;5658:17:111;;;;;8398:50:109;5717:15:111;;;:::i;:::-;5737:9;;;;;:::i;:::-;187:1659:206;;8398:50:109;;:::i;:::-;;5795:9:111;;;;;;:::i;:::-;187:1659:206;;2088:10:111;5764:52;;;;-1:-1:-1;;187:1659:206;;;;;;5643:13:111;;187:1659:206;-1:-1:-1;;;187:1659:206;;;;;;;;5658:17:111;;187:1659:206;;2835:84:111;187:1659:206;-1:-1:-1;;;2887:32:111;;187:1659:206;;2887:32:111;187:1659:206;-1:-1:-1;;;187:1659:206;;;;;;;;2064:71:111;187:1659:206;-1:-1:-1;;;2108:27:111;;187:1659:206;;2108:27:111;187:1659:206;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;187:1659:206;;2402:22:39;187:1659:206;;2496:8:39;;;;:::i;:::-;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;187:1659:206;;;;7807:16:204;187:1659:206;;;;;;-1:-1:-1;;;;;;187:1659:206;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:20:204;187:1659:206;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;8963:55:109;187:1659:206;;:::i;:::-;4167:14:111;187:1659:206;4172:8:111;187:1659:206;;4167:14:111;:::i;:::-;-1:-1:-1;;;;;187:1659:206;;;-1:-1:-1;187:1659:206;;;;4351:12:109;;;187:1659:206;;;;;;4351:24:109;;;4255:127;8963:55;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;187:1659:206;;;;;4980:18:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:24:204;187:1659:206;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;;;1513:6:39;187:1659:206;-1:-1:-1;;;;;187:1659:206;2088:10:111;1220:16:206;2064:71:111;;3436:15;;;;:::i;:::-;187:1659:206;;;;;;;;;;;;3462:34:111;187:1659:206;;2088:10:111;3462:34;2088:10;3462:34;;;:::i;:::-;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;2064:71:111;187:1659:206;;-1:-1:-1;;;2108:27:111;;;187:1659:206;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;-1:-1:-1;;;;;187:1659:206;;;;6019:15:204;187:1659:206;;;;;;;:::i;:::-;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;4495:52:204;4504:8;187:1659:206;;;4503:9:204;4495:52;:::i;:::-;187:1659:206;;6019:15:204;;:::i;:::-;-1:-1:-1;;;;;187:1659:206;;;6045:15:204;187:1659:206;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;6956:47:58;187:1659:206;;;6948:110:58;187:1659:206;;;;;;;;:::i;:::-;929:10:65;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;187:1659:206:-;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;-1:-1:-1;;;;;187:1659:206;;;;5488:15:204;187:1659:206;;;;;;;:::i;:::-;1303:62:39;;:::i;187:1659:206:-;;;;;;;;;;;;;;;;2453:24:212;187:1659:206;;;;;;;;;;;;;;;;:::i;:::-;;;;1460:8:111;187:1659:206;;;;;;;;1472:28:111;1460:40;;1472:28;;-1:-1:-1;1472:28:111;187:1659:206;;;1515:4:111;187:1659:206;;;;;;;-1:-1:-1;;;;;187:1659:206;;-1:-1:-1;187:1659:206;;;4351:12:109;;187:1659:206;;;;;;4351:24:109;1510:92:111;;1456:309;-1:-1:-1;;;;;187:1659:206;;929:10:65;13528:17:58;;187:1659:206;;929:10:65;;187:1659:206;;13585:18:58;187:1659:206;;;;;;;;;;13585:46:58;187:1659:206;;;;;;;;;;;;;;;;;;;13585:46:58;187:1659:206;;;;;;13646:41:58;187:1659:206;929:10:65;13646:41:58;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:111;187:1659:206;;-1:-1:-1;;;1574:28:111;;187:1659:206;;1574:28:111;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;187:1659:206;;1672:4:111;187:1659:206;;8963:55:109;187:1659:206;;;;;;;;;;8963:55:109;4351:12;4255:127;-1:-1:-1;187:1659:206;4351:12:109;187:1659:206;;;-1:-1:-1;187:1659:206;;4351:24:109;;4255:127;;8963:55;1668:90:111;1456:309;1668:90;187:1659:206;;-1:-1:-1;;;1730:28:111;;187:1659:206;;1730:28:111;187:1659:206;;;;;;;;:::i;:::-;1513:6:39;187:1659:206;-1:-1:-1;;;;;187:1659:206;;;;2088:10:111;1220:16:206;2064:71:111;;187:1659:206;;;;;;;:::i;:::-;;;;;;;;;;5589:39:111;5585:387;;187:1659:206;;;5585:387:111;5643:13;5677:3;187:1659:206;;5658:17:111;;;;;8719:53:109;5845:15:111;;;:::i;:::-;5868:9;;;;;:::i;:::-;187:1659:206;;8719:53:109;;:::i;:::-;;5926:9:111;;;;;;:::i;:::-;187:1659:206;;;;;2088:10:111;;;5895:52;;;;-1:-1:-1;;187:1659:206;;;;;;5643:13:111;;187:1659:206;-1:-1:-1;;;187:1659:206;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;5658:17:111;;;;;;;;5585:387;;;;;187:1659:206;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:58;187:1659:206;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;9923:10:204;187:1659:206;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;;;:::i;:::-;187:1659:206;8048:25:204;187:1659:206;;;;;;;;8143:18:204;;187:1659:206;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;8187:25:204;187:1659:206;;;;8187:25:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;8187:25:204;;;;;:::i;:::-;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;187:1659:206;;;;;;;;;;;;8187:25:204;187:1659:206;;;8187:25:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;187:1659:206;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;7165:4:204;187:1659:206;;;;;;;;7201:10:204;7184:28;;;;187:1659:206;;;;;;;;;;;;;;;;;;;4333:8:111;187:1659:206;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;4495:52:204;4504:8;187:1659:206;;;4503:9:204;4495:52;:::i;:::-;1513:6:39;187:1659:206;-1:-1:-1;;;;;187:1659:206;;;;6391:10:204;:21;:52;;;;187:1659:206;;;;2453:24:212;187:1659:206;;2332:22:212;187:1659:206;;12147:14:204;;187:1659:206;;;;;;;;12254:9:204;187:1659:206;12243:20:204;;187:1659:206;;;;;;;;:::i;:::-;;;;;;9487:16:58;;;187:1659:206;;9559:16:58;8950:53;9559:16;;;;;8929:150;9559:16;9550:58;9559:16;;-1:-1:-1;187:1659:206;7266:7:58;187:1659:206;;;;;;;;-1:-1:-1;187:1659:206;;;7680:31:58;;7592:126;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;187:1659:206;;;7266:7:58;187:1659:206;;;;;;9754:58:58;;-1:-1:-1;;;;;187:1659:206;7680:31:58;;9763:16;7592:126;9754:58;187:1659:206;;;10154:9:58;187:1659:206;;;;;;;;;;;;;;10193:7:58;187:1659:206;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;10230:33:58;;;;;8950:53;:::i;8929:150::-;187:1659:206;;;1794:18:212;187:1659:206;;;;;;1639:16:212;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;6391:52:204;:10;;187:1659:206;;6416:15:204;187:1659:206;;4504:8:204;187:1659:206;;;;;6391:52:204;;187:1659:206;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;187:1659:206;;-1:-1:-1;;;;;;187:1659:206;;;;;;;-1:-1:-1;;;;;187:1659:206;2806:40:39;187:1659:206;;2806:40:39;187:1659:206;;;;;;;;;-1:-1:-1;;187:1659:206;;;;-1:-1:-1;;;;;187:1659:206;;:::i;:::-;;2489:19:58;;;187:1659:206;;;;;;;;;2571:9:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;6897:17:204;;;;:::i;:::-;6918:10;-1:-1:-1;;;;;187:1659:206;;;6897:31:204;187:1659:206;;7000:8:204;;;;:::i;187:1659:206:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:45;3347:34;;;;;;187:1659:206;3346:108:45;;;;187:1659:206;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;;;;;3562:65:45;;187:1659:206;-1:-1:-1;;;;;;187:1659:206;;3821:22:204;187:1659:206;;;;;5366:69:45;187:1659:206;;;;;3917:2:204;2197:38:212;187:1659:206;;;;;;;;3956:22:204;187:1659:206;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;187:1659:206;;;:::i;:::-;;;;;:::i;:::-;;5366:69:45;187:1659:206;;;;;;5366:69:45;;;:::i;:::-;187:1659:206;;;;;;;;;1873:13:58;187:1659:206;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;187:1659:206;;;;;;;;;;;1873:13:58;187:1659:206;;;;;;;;;;;1896:17:58;187:1659:206;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:39;187:1659:206;;;5366:69:45;187:1659:206;;;;;;-1:-1:-1;;;;187:1659:206;;;;;;;;;;;1896:17:58;187:1659:206;;;;;;;5366:69:45;;;:::i;:::-;;;;:::i;:::-;1492:34:212;187:1659:206;;-1:-1:-1;;;;;;187:1659:206;-1:-1:-1;;;;;187:1659:206;;;;;1303:62:39;;:::i;:::-;2496:8;:::i;:::-;3647:99:45;;187:1659:206;;;3647:99:45;187:1659:206;;-1:-1:-1;;187:1659:206;;;;;;;3721:14:45;;187:1659:206;;3721:14:45;3647:99;;187:1659:206;;;;;;;-1:-1:-1;187:1659:206;;;;;1896:17:58;187:1659:206;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;5366:69:45;187:1659:206;;;;2496:8:39;187:1659:206;;;;;;;;;;;;;;1896:17:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;;;;;;;;;;1873:13:58;187:1659:206;;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;;;;;1873:13:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;3562:65:45;-1:-1:-1;;187:1659:206;;;;;3562:65:45;;;187:1659:206;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;187:1659:206;;;;;3436:17:45;3346:108;;3347:34;187:1659:206;;;;;3365:16:45;3347:34;;187:1659:206;;;;;;;;;;;;;;8808:34:204;1303:62:39;;;:::i;:::-;187:1659:206;;;;;;;;;;:::i;:::-;8808:34:204;;;8852:25;187:1659:206;;-1:-1:-1;;187:1659:206;8823:18:204;187:1659:206;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;;;1513:6:39;187:1659:206;-1:-1:-1;;;;;187:1659:206;2088:10:111;1220:16:206;2064:71:111;;5330:8;;187:1659:206;;;;;;;;;;;;;;2088:10:111;;;187:1659:206;2088:10:111;;5302:51;;;;187:1659:206;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;2064:71:111;187:1659:206;-1:-1:-1;;;2108:27:111;;;187:1659:206;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;:::i;:::-;;;;;;6956:47:58;6948:110;187:1659:206;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;187:1659:206:-;;;;;;;;-1:-1:-1;;187:1659:206;;;;1513:6:39;187:1659:206;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;7474:9:204;187:1659:206;;:::i;:::-;1303:62:39;;:::i;:::-;187:1659:206;;;;;;-1:-1:-1;;;;;187:1659:206;;1492:34:212;187:1659:206;;;1492:34:212;187:1659:206;1418:115:212;187:1659:206;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;:::i;:::-;;;;9370:15:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;2332:22:212;187:1659:206;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;4008:14:111;187:1659:206;4013:8:111;187:1659:206;;4008:14:111;:::i;:::-;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:212;187:1659:206;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;1049:40:212;;187:1659:206;;1049:118:212;;1238:18;187:1659:206;;;;;;1238:33:212;;;;:131;;187:1659:206;;;;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;;1401:3:212;187:1659:206;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;1238:131:212;187:1659:206;1345:24:212;187:1659:206;1238:131:212;;;1049:118;187:1659:206;;1145:22:212;187:1659:206;;1049:118:212;;;187:1659:206;;;;;5365:7:58;187:1659:206;;;:::i;:::-;929:10:65;5235:99:58;5243:41;929:10:65;;5243:41:58;:::i;5235:99::-;5365:7;:::i;187:1659:206:-;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;:::i;:::-;;;;;;;1513:6:39;187:1659:206;;;;1220:16;187:1659;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;;;:::i;:::-;187:1659:206;8478:25:204;187:1659:206;;;;;;;;;8574:10:204;187:1659:206;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8624:39:204;187:1659:206;;;;8624:39:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;8624:39:204;;;;;:::i;187:1659:206:-;;;;;;;;;;;;;;;;;;;;;;;;8624:39:204;187:1659:206;;;8624:39:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;10869:14:204;187:1659:206;;;;;;;;;;;;;5050:36:204;187:1659:206;;;;:::i;:::-;1303:62:39;;;;:::i;:::-;4495:52:204;4504:8;187:1659:206;;;4503:9:204;4495:52;:::i;:::-;187:1659:206;;;;;;;;5050:15:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:111;187:1659:206;;;;;;;;;1460:40:111;;187:1659:206;;-1:-1:-1;187:1659:206;;;;1515:4:111;187:1659:206;;;;;;;-1:-1:-1;;;;;187:1659:206;;-1:-1:-1;187:1659:206;;;4351:12:109;;187:1659:206;;;;;;4351:24:109;1510:92:111;;1456:309;-1:-1:-1;;;;;187:1659:206;;;4025:34:58;;;:::i;:::-;187:1659:206;;;4077:11:58;;;;187:1659:206;;929:10:65;;4158:21:58;:62;;;;;1456:309:111;187:1659:206;;;;-1:-1:-1;187:1659:206;;;13173:15:58;187:1659:206;;;;;;-1:-1:-1;;;;;;187:1659:206;;;;;13226:34:58;187:1659:206;13226:34:58;:::i;:::-;187:1659:206;13217:57:58;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:62:58;187:1659:206;;;;4980:18:58;187:1659:206;;;;;929:10:65;187:1659:206;;;;;;;;;;4158:62:58;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;1510:92:111;187:1659:206;-1:-1:-1;;;1574:28:111;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;187:1659:206;;1672:4:111;187:1659:206;;8963:55:109;187:1659:206;;;;;;;;;;8963:55:109;4351:12;4255:127;-1:-1:-1;187:1659:206;4351:12:109;187:1659:206;;;-1:-1:-1;187:1659:206;;4351:24:109;;4255:127;;8963:55;1668:90:111;1456:309;1668:90;187:1659:206;-1:-1:-1;;;1730:28:111;;;187:1659:206;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:58;187:1659:206;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;;;-1:-1:-1;;;;;;187:1659:206;;;;;;;;;-1:-1:-1;;;;4844:47:111;;;:88;;;;187:1659:206;712:108;;;;187:1659;;;;;;;;;;712:108;11218:31:204;;-1:-1:-1;;;;11203:46:204;;;11218:31;11203:110;;;;712:108:206;11203:175:204;;;;712:108:206;11203:239:204;;;;;712:108:206;;;;;;;11203:239:204;11394:48;;;;:::i;:::-;11203:239;;;:175;2028:26:212;;-1:-1:-1;;;;2013:41:212;:93;;;;11203:175:204;;;;;2013:93:212;2070:36;;;;:::i;:::-;2013:93;;11203:110:204;-1:-1:-1;;;937:40:103;;;-1:-1:-1;11203:110:204;;4844:88:111;-1:-1:-1;;;937:40:103;;;-1:-1:-1;4844:88:111;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;3857:15:111;;;:::i;:::-;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;187:1659:206;;;;:::o;:::-;;;;-1:-1:-1;;;;;187:1659:206;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;187:1659:206;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;187:1659:206;;;;;-1:-1:-1;187:1659:206;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;:::o;:::-;-1:-1:-1;;;;;187:1659:206;;;;;;-1:-1:-1;;187:1659:206;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;;:::o;1599:130:39:-;1513:6;187:1659:206;-1:-1:-1;;;;;187:1659:206;929:10:65;1662:23:39;187:1659:206;;1599:130:39:o;187:1659:206:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;187:1659:206;;-1:-1:-1;;;;;187:1659:206;;;-1:-1:-1;;;;;;187:1659:206;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;187:1659:206:-;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;2651:219:58;-1:-1:-1;187:1659:206;;;7266:7:58;187:1659:206;;;;;;-1:-1:-1;;;;;187:1659:206;2785:56:58;2793:19;;;2785:56;:::i;:::-;2651:219;:::o;187:1659:206:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;8823:18:204;187:1659:206;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;187:1659:206;-1:-1:-1;;;;;;;;;;;187:1659:206;-1:-1:-1;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4407:167:58;-1:-1:-1;187:1659:206;;;7266:7:58;187:1659:206;;;;;;13851:53:58;;-1:-1:-1;;;;;187:1659:206;7680:31:58;;13851:53;:::i;:::-;-1:-1:-1;187:1659:206;;;4543:15:58;187:1659:206;;;;;;-1:-1:-1;;;;;187:1659:206;;4407:167:58:o;187:1659:206:-;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:206;;;;;;;;:::i;:::-;;;;7876:272:58;;-1:-1:-1;;;;;187:1659:206;;8001:34:58;7876:272;8001:34;:::i;:::-;187:1659:206;;;8053:16:58;;;;:52;;;;;7876:272;8053:87;;;;;7876:272;8045:96;;;7876:272;:::o;8053:87::-;8109:20;;;;;;:::i;:::-;187:1659:206;8109:31:58;8053:87;;;;;:52;187:1659:206;;;-1:-1:-1;187:1659:206;4980:18:58;187:1659:206;;;-1:-1:-1;187:1659:206;;-1:-1:-1;187:1659:206;;;;;-1:-1:-1;187:1659:206;;;8053:52:58;;;;187:1659:206;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;11762:1225:58;;11851:92;11762:1225;11859:34;;;:::i;:::-;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;11859:42:58;;11851:92;:::i;:::-;187:1659:206;11961:16:58;;;187:1659:206;;12171:34:58;12163:92;12171:34;;;;:::i;:::-;187:1659:206;12171:42:58;12163:92;:::i;:::-;12901:27;11975:1;187:1659:206;;;12324:15:58;187:1659:206;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;12792:9:58;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:58;187:1659:206;;;;;;;;;;;;;12901:27:58;;11762:1225::o;187:1659:206:-;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;14463:853:58;;;187:1659:206;;14463:853:58;;;1713:19:63;;:23;:19;;187:1659:206;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;187:1659:206;;;;;;;;;;;;;;;14667:82:58;;;;187:1659:206;;;;;;;;:::i;:::-;14667:82:58;;-1:-1:-1;;;;;187:1659:206;14667:82:58;;;;;;;14628:682;-1:-1:-1;14663:595:58;;14877:381;;;187:1659:206;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:58;;;187:1659:206;;-1:-1:-1;;;14969:60:58;;187:1659:206;14969:60:58;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;187:1659:206;;;;;14663:595:58;-1:-1:-1;;;;;;187:1659:206;14799:62:58;;-1:-1:-1;187:1659:206;-1:-1:-1;14792:69:58:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;187:1659:206;;;;;-1:-1:-1;;;;;;187:1659:206;;;;;;14667:82:58;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;187:1659:206;;14463:853:58;;;1713:19:63;;:23;:19;;187:1659:206;;;;;;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;14667:82:58;;187:1659:206;;;;;;;;:::i;:::-;14667:82:58;187:1659:206;;14667:82:58;;;;;;;-1:-1:-1;14663:595:58;;14877:381;;;187:1659:206;;;;;;;;;:::i;14628:682:58:-;15288:11;;;;;;15295:4;15288:11;:::o;803:238:61:-;911:99;919:41;929:10:65;;919:41:61;:::i;911:99::-;10729:34:58;;;:::i;:::-;;10935;;;:::i;:::-;11007:31;187:1659:206;;;11014:15:58;187:1659:206;;;;;;;;;;-1:-1:-1;;;;;;187:1659:206;;;;;;-1:-1:-1;;;;;187:1659:206;;;;;;11254:9:58;187:1659:206;;;;;;;-1:-1:-1;;187:1659:206;;;;;;11302:7:58;187:1659:206;;;;;;;;;;;;;11007:31:58;11334:36;11007:31;;11334:36;803:238:61:o;187:1659:206:-;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:206;3857:4:111;187:1659:206;;;-1:-1:-1;187:1659:206;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:206;;-1:-1:-1;187:1659:206;;;-1:-1:-1;187:1659:206;:::o;2214:404:109:-;-1:-1:-1;187:1659:206;;;4351:12:109;;;187:1659:206;;;;;;2298:21:109;;187:1659:206;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:206;2493:12:109;187:1659:206;;;-1:-1:-1;187:1659:206;;;2547:11:109;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:109;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;3023:15:109;;;;3019:1149;3023:15;;;-1:-1:-1;;187:1659:206;;;;;;;;;;;;;;;;;;;;3505:26:109;;;3501:398;;3019:1149;187:1659:206;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:109;4103:11;:::o;187:1659:206:-;-1:-1:-1;;;187:1659:206;;;;;;;;3501:398:109;187:1659:206;3571:22:109;3693:26;3571:22;;;:::i;:::-;187:1659:206;;;;;;3693:26:109;;;;;:::i;187:1659:206:-;;;;;;;;;;;;3501:398:109;;;;;187:1659:206;-1:-1:-1;;;187:1659:206;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;3019:1149:109;4145:12;;;;;:::o;187:1659:206:-;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;187:1659:206;8143:18:204;187:1659:206;;-1:-1:-1;;;;;;;;;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:206;;;;:::o;10218:451:204:-;-1:-1:-1;187:1659:206;;;;10341:10:204;187:1659:206;;;;;;;;;;;;;;:::i;:::-;10331:96:204;;-1:-1:-1;10582:19:204;;;602:28:68;;10287:8:71;10582:19:204;10278:17:71;;;;10274:103;;10218:451:204;10403:8:71;;;10394:17;;;;10390:103;;10218:451:204;10519:8:71;;10510:17;;;;10506:103;;10218:451:204;10635:7:71;;10626:16;;;;10622:100;;10218:451:204;10748:7:71;;10739:16;;;;10735:100;;10218:451:204;10852:16:71;10861:7;10852:16;;;10848:100;;10218:451:204;10974:7:71;10965:16;;;;10961:66;;10218:451:204;633:1:68;187:1659:206;;;;;;775:76:68;187:1659:206;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;187:1659:206;;;;775:76:68;;;864:280;633:1;;;864:280;187:1659:206;;;;;;;;10517:18:204;187:1659:206;;;;;;;:::i;:::-;;;;;;633:1:68;;;;187:1659:206;;;;;;;;;;10479:169:204;187:1659:206;;;;-1:-1:-1;;;187:1659:206;-1:-1:-1;;;10479:169:204;187:1659:206;;;;;;;;;;;:::i;:::-;;;;;;10479:169:204;;;;;;;;;;:::i;187:1659:206:-;;;;;-1:-1:-1;187:1659:206;;-1:-1:-1;;;;;;;;;;;187:1659:206;;;;;;-1:-1:-1;;187:1659:206;;;;;;;10479:169:204;187:1659:206;;;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;;;;;-1:-1:-1;;187:1659:206;10479:169:204;;;187:1659:206;-1:-1:-1;;;187:1659:206;;;;;;;;-1:-1:-1;187:1659:206;;;10479:169:204;187:1659:206;;864:280:68;-1:-1:-1;;187:1659:206;;;;-1:-1:-1;;;969:93:68;;;;187:1659:206;969:93:68;187:1659:206;1112:10:68;;;864:280;1108:21;1124:5;;;10961:66:71;187:1659:206;11011:1:71;187:1659:206;10961:66:71;;;10848:100;187:1659:206;;10861:7:71;10932:1;187:1659:206;;;;10848:100:71;;;10735;10819:1;187:1659:206;;;;;;10735:100:71;;;;10622;10706:1;187:1659:206;;;;;;10622:100:71;;;;10506:103;10592:2;187:1659:206;;;;;;10506:103:71;;;;10390;187:1659:206;;;;;;;10390:103:71;;;;10274;187:1659:206;;-1:-1:-1;187:1659:206;-1:-1:-1;187:1659:206;10274:103:71;;;;10331:96:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;12717:483:204;;;;12871:9;187:1659:206;12852:28:204;;187:1659:206;;12969:14:204;187:1659:206;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;13096:44:204;;;;;;187:1659:206;;13096:44:204;;-1:-1:-1;;187:1659:206;;;;;13083:57:204;187:1659:206;;;;-1:-1:-1;;;;;187:1659:206;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13155:38:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13155:38:204;187:1659:206;;13155:38:204;;;;;:::i;:::-;;;;12717:483::o;187:1659:206:-;;;;-1:-1:-1;187:1659:206;;;;;;;;;;-1:-1:-1;;;;;;;;;;;187:1659:206;-1:-1:-1;;187:1659:206;;;;;;;;;;;;;;;;;13155:38:204;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1987:344:58;187:1659:206;;;;2161:36:58;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:103;;1987:344:58;-1:-1:-1;1987:344:58:o;2146:126::-;-1:-1:-1;;;2213:59:58;;;-1:-1:-1;2146:126:58;","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","getMintConfig()":"9338bb5d","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isApprovedMinter(address)":"3a3d146f","isOperatorInList(address)":"eab85118","lockBaseURI()":"53df5c7c","maxTokens()":"e8315742","mintTo(address)":"755edd17","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","prepareMint(string,uint256)":"b390ac25","prepareMintWithMinter(string,uint256,address)":"b9fbd25c","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setMinterApproval(address,bool)":"0de54ba0","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBaseURI(string)":"931688cb","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isMinter\",\"type\":\"bool\"}],\"name\":\"setMinterApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_metadataUri\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setMinterApproval(address,bool)\":{\"details\":\"Set a minter for the contract\",\"params\":{\"_isMinter\":\"bool of whether the address is a minter.\",\"_minter\":\"address of the minter.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}},\"updateTokenURI(uint256,string)\":{\"details\":\"Update the token metadata URI.\",\"params\":{\"_metadataUri\":\"The new metadata URI.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":\"LazySovereignNFTRoyaltyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e\",\"dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df\",\"dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataLocked","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256","indexed":true},{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"PrepareMint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"metadataUri","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMintConfig","outputs":[{"internalType":"struct LazySovereignNFT.MintConfig","name":"","type":"tuple","components":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"},{"internalType":"bool","name":"lockedMetadata","type":"bool"}]}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockBaseURI"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"prepareMint"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"},{"internalType":"address","name":"_minter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintWithMinter"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"bool","name":"_isMinter","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setMinterApproval"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_metadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"burn(uint256)":{"details":"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"deleteToken(uint256)":{"details":"Delete a token with the given ID.","params":{"_tokenId":"The ID of the token to delete."}},"disableContract()":{"details":"Disable the contract, preventing further minting."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"getMintConfig()":{"details":"Get the current minting configuration.","returns":{"_0":"mintConfig the mint config."}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"init(string,string,address,uint256)":{"details":"Contract initialization function.","params":{"_creator":"The address of the contract creator.","_maxTokens":"The maximum number of tokens that can be minted.","_name":"The name of the NFT contract.","_symbol":"The symbol of the NFT contract."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isApprovedMinter(address)":{"details":"Checks if the supplied address is approved for minting","params":{"_address":"The address of the minter."},"returns":{"_0":"bool, whether the address is approved for minting."}},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"lockBaseURI()":{"details":"Lock the metadata to prevent further updates."},"mintTo(address)":{"details":"Mint a new token to the specified receiver.","params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"prepareMint(string,uint256)":{"details":"Prepare a minting batch with a specified base URI and number of tokens.","params":{"_baseURI":"The base URI for token metadata.","_numberOfTokens":"The number of tokens to prepare for minting."}},"prepareMintWithMinter(string,uint256,address)":{"details":"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.","params":{"_baseURI":"The base URI for token metadata.","_minter":"The address of the minter.","_numberOfTokens":"The number of tokens to prepare for minting."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"setDefaultRoyaltyReceiver(address)":{"details":"Set the default royalty receiver address.","params":{"_receiver":"The address of the default royalty receiver."}},"setMinterApproval(address,bool)":{"details":"Set a minter for the contract","params":{"_isMinter":"bool of whether the address is a minter.","_minter":"address of the minter."}},"setRoyaltyReceiverForToken(address,uint256)":{"details":"Set a specific royalty receiver address for a token.","params":{"_receiver":"The address of the royalty receiver.","_tokenId":"The ID of the token."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"tokenCreator(uint256)":{"details":"Get the address of the token creator for a given token ID.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"address of the token creator."}},"tokenURI(uint256)":{"details":"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"The token's URI."}},"totalSupply()":{"details":"Get the total supply of tokens in existence.","returns":{"_0":"The total supply of tokens."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateBaseURI(string)":{"details":"Update the base URI.","params":{"_baseURI":"The new base URI."}},"updateTokenURI(uint256,string)":{"details":"Update the token metadata URI.","params":{"_metadataUri":"The new metadata URI."}}},"version":1},"userdoc":{"kind":"user","methods":{"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol":"LazySovereignNFTRoyaltyGuard"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":{"keccak256":"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635","urls":["bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e","dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol":{"keccak256":"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7","urls":["bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df","dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":206} \ No newline at end of file +{"abi":[{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"getMintConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct LazySovereignNFT.MintConfig","components":[{"name":"numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"},{"name":"lockedMetadata","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedMinter","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockBaseURI","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prepareMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prepareMintWithMinter","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"_minter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinterApproval","inputs":[{"name":"_minter","type":"address","internalType":"address"},{"name":"_isMinter","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseURI","inputs":[{"name":"_baseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_metadataUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"MetadataLocked","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"MetadataUpdated","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepareMint","inputs":[{"name":"numberOfTokens","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadataUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x60808060405234610016576133b1908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e81461200c57806301ffc9a714611f3457806306fdde0314611e8a578063081812fc14611e69578063095ea7b314611c4c5780630de54ba014611bfd57806318160ddd14611bdd57806318e97fd1146119f957806320427486146119c557806323b872dd146119a05780632a55205a1461190d5780632ce878da1461189a5780633403c4e9146118715780633a3d146f146118325780633ebc82c5146117f057806340c1a064146117c657806342842e0e1461179257806342966c6814611776578063472a6638146116d757806353df5c7c146116755780635edc7c191461116d5780636297c16c146110ef5780636352211e146110bd57806370a0823114611029578063715018a614610fcc578063755edd1714610d8957806387bc793f14610d61578063894ba83314610d135780638da5cb5b14610cea578063931688cb14610b1d5780639338bb5d14610a8457806395d89b411461099f5780639e860f2a1461089a578063a22cb4651461073c578063ab69607a1461071d578063b390ac25146106e4578063b88d4fde1461065b578063b9fbd25c146105dc578063bc7194551461052e578063c87b56dd146104f2578063e8315742146104d2578063e985e9c514610484578063eab8511814610429578063ee07080514610406578063efc32cd4146103b7578063f2fde38b146103205763ff6e8c8f1461022557600080fd5b3461031c5761023336612206565b6033546001600160a01b0396908716330361030d5760038410156102fa5783156102eb575090610264913691612a3e565b93835b85518110156102e75761028f61027c84612aa4565b83610287848a612abe565b511690612b00565b50828261029c8389612abe565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102d457600101610267565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103b35760203660031901126103b35761033c612105565b9161034561231d565b6001600160a01b03831615610361578361035e84612375565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461031c578060031936011261031c576103d1612105565b906103da61231d565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461031c578160031936011261031c5760209060ff80541690519015158152f35b82843461031c57602036600319011261031c5760209061047b61044a612105565b61045960ff6101095416612aa4565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461031c578060031936011261031c5760ff816020936104a4612105565b6104ac612136565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461031c578160031936011261031c57602090610100549051908152f35b5091903461052b57602036600319011261052b57506105146105279235612d97565b90519182916020835260208301906120e0565b0390f35b80fd5b5082346103b35760203660031901126103b35781359160038310156105d8576033546001600160a01b031633036105ca575061056982612aa4565b805490848155816105ac575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105a63394826121dd565b0390a280f35b845260208420908101905b81811015610575578481556001016105b7565b9051635c510c8360e11b8152fd5b8380fd5b508290346103b35760603660031901126103b35780356001600160401b0381116105d85761063a916106109136910161217b565b919061061a612120565b9261062361231d565b61063160ff80541615612d23565b602435916130df565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461031c57608036600319011261031c57610675612105565b9061067e612136565b91604435606435936001600160401b0385116106e057366023860112156106e0576106b86106db9486602461035e983693013591016122e6565b926106cb6106c68433612626565b61254d565b6106d68383836126ee565b61291b565b612602565b8580fd5b5082346103b35736600319011261031c5780356001600160401b0381116103b35761035e916107159136910161217b565b61062361231d565b82843461031c578160031936011261031c5760209060fc549051908152f35b5082346103b35761074c3661214c565b919060ff610109541660038110156102fa57600181036108505750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610841575b6001600160a01b0316923384146107ff5750338452609c6020528084208385526020526107d0828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610795576002855261010860205261088682862060018060a01b0383169060019160005201602052604060002054151590565b156107955781516282b42960e81b81528490fd5b503461031c576108a936612206565b6033546001600160a01b0396908716330361030d5750906108cb913691612a3e565b936003821015908161098c57826108e0578480f35b845b865181101561097c5761090a6108f785612aa4565b83610902848b612abe565b511690612b73565b508282610917838a612abe565b511690610969578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a46000198114610956576001016108e2565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461031c578160031936011261031c57805190826098546109c181612430565b80855291600191808316908115610a5c57506001146109ff575b5050506109ed826105279403836122aa565b519182916020835260208301906120e0565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a44575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101610a27565b6105279750869350602092506109ed94915060ff191682840152151560051b820101946109db565b50503461052b578060031936011261052b57818051610aa28161225e565b8281526060602082015201528051610ab98161225e565b610105548152815191610ad683610acf8161246a565b03846122aa565b60208201928352610b1060ff61010754169180840192151583526060815195869560208752516020870152519185015260808401906120e0565b9051151560608301520390f35b503461031c576020806003193601126103b3576001600160401b03908235828111610ce657610b4f903690850161217b565b939092610b5a61231d565b60ff6101075416610c9a578411610c87575061010690610b8384610b7e8454612430565b612cc3565b8490601f8511600114610bf0575094610bdf918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610be5575b508560011b906000198760031b1c19161790555b5192839283612d6f565b0390a180f35b905084013538610bc1565b90601f19851683875260008051602061335c8339815191529287905b828210610c6f57505091610bdf9391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c55575b5050600185811b019055610bd5565b850135600019600388901b60f8161c191690553880610c46565b80600185968294968a01358155019501930190610c0c565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461031c578160031936011261031c5760335490516001600160a01b039091168152602090f35b823461052b578060031936011261052b57610d2c61231d565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461031c578160031936011261031c576105279060ff61010954169051918291826121dd565b50913461031c57602092836003193601126103b357610da6612105565b92610db560ff80541615612d23565b6033546001600160a01b039190821633148015610fb7575b15610f5b5760fc548260fb541692610104966001885401809855610100548811610f1a57865191610dfd8361228f565b8483528116958615610ed957506106db8794939289610ebc93610e3e610e3883600052609960205260018060a01b0360406000205416151590565b15613093565b600082815260996020526040902054610e61906001600160a01b03161515610e38565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46127ff565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dcd565b823461052b578060031936011261052b57610fe561231d565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461031c57602036600319011261031c576001600160a01b0361104b612105565b16908115611068576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461052b57602036600319011261052b57506110de6020923561240a565b90516001600160a01b039091168152f35b508290346103b35760203660031901126103b35780359161110f8361240a565b336001600160a01b039091160361112a578361035e846129a6565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461031c57608036600319011261031c576001600160401b039281358481116105d85761119e903690840161217b565b92906024358681116106e0576111b7903690840161217b565b6111c2979197612120565b9387549860ff94858b60081c16159889809a611669575b8015611653575b156115f95760ff19808d1660019081178d559b9c999a998a6115e8575b506001600160a01b038916156115a5579161125091611240898f6112589796600a60fc558254168255606435610100555460081c1661123b81612c63565b612c63565b61124933612375565b36916122e6565b9336916122e6565b9061126c858b5460081c1661123b81612c63565b82518481116115925780611281609754612430565b94601f95868111611521575b506020908d8784116001146114a25792611497575b5050600019600383901b1c1916908a1b176097555b815193841161148457506112cc609854612430565b828111611421575b506020918311600114611395579180611349959492611321948b9261138a575b5050600019600383901b1c191690881b176098555b875460081c1661131881612c63565b61123b81612c63565b60fb80546001600160a01b0319166001600160a01b03831617905561134461231d565b612375565b611351578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b0151905038806112f4565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106114095750916113219593918561134999989694106113f0575b505050811b01609855611309565b015160001960f88460031b161c191690553880806113e2565b8284015185558b9690940193602093840193016113c5565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061147b575b0160051c019089905b8281106114705750506112d4565b8b8155018990611462565b92508192611459565b634e487b7160e01b8a5260419052602489fd5b0151905038806112a2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611509575084116114f0575b505050811b016097556112b7565b015160001960f88460031b161c191690553880806114e2565b8284015185558f9690940193602093840193016114d3565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611589575b859493910160051c909101908d908f5b83821061157b5750505061128d565b81558594508e91018f61156c565b9250819261155c565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d55386111fd565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156111e057506001878d16146111e0565b506001878d16106111d9565b82843461031c578160031936011261031c577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e906116b161231d565b5160208152806116c36020820161246a565b0390a1610107805460ff1916600117905580f35b508290346103b35760203660031901126103b35780359160038310156105d8576033546001600160a01b0316330361176957506101099182549160ff83169060038210156117565750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461031c57602036600319011261031c5761035e90356129a6565b82843461031c576106db61035e916117a9366121a8565b919251926117b68461228f565b8684526106cb6106c68433612626565b82843461031c57602036600319011261031c5760335490516001600160a01b039091168152602090f35b823461052b57602036600319011261052b5761035e61180d612105565b61181561231d565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461031c57602036600319011261031c5760209160ff9082906001600160a01b0361185d612105565b168152610102855220541690519015158152f35b82843461031c578160031936011261031c5760fb5490516001600160a01b039091168152602090f35b50503461052b578060031936011261052b576118bb60ff6101095416612aa4565b9180519182845490818152602080910195835280832092905b8282106118f65761052786866118ec828b03836122aa565b5191829182612079565b8354875295860195600193840193909101906118d4565b5091903461052b578160031936011261052b578235815260fd60205281812054602435906001600160a01b03908116801561199457925b60fe60205284812054801561198a57925b8381029381850414901517156119775750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611955565b508060fb541692611944565b823461052b5761035e6119b2366121a8565b916119c06106c68433612626565b6126ee565b82843461031c57602036600319011261031c576020906119e3612105565b60018060a01b0380603354169116149051908152f35b503461031c578260031936011261031c578035906001600160401b0390602435828111610ce657611a2d903690830161217b565b929091611a3861231d565b60ff6101075416611b8f578486526020906101038252878720928511611b7c5750611a638254612430565b601f8111611b39575b508590601f8511600114611ac85750956105a6918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610be557508560011b906000198760031b1c19161790555192839283612d6f565b90601f1985168388528288209288905b828210611b21575050916105a69391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c55575050600185811b019055610bd5565b80600185968294968a01358155019501930190611ad8565b828752818720601f860160051c810191838710611b72575b601f0160051c01905b818110611b675750611a6c565b878155600101611b5a565b9091508190611b51565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461031c578160031936011261031c57602090610104549051908152f35b82843461031c5761035e90611c113661214c565b9190611c1b61231d565b611c2960ff80541615612d23565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103b357816003193601126103b357611c67612105565b906024359260ff61010954166003811015611e565760018103611e0f5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611e03575b6001600160a01b03918280611cc78761240a565b16941693808514611db657803314908115611d97575b5015611d2f5750838552609b602052842080546001600160a01b03191683179055611d078361240a565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611cdd565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611cb35760028552610108602052611e4581862060018060a01b0385169060019160005201602052604060002054151590565b15611cb357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461052b57602036600319011261052b57506110de6020923561250f565b82843461031c578160031936011261031c5780519082609754611eac81612430565b80855291600191808316908115610a5c5750600114611ed7575050506109ed826105279403836122aa565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611f1c575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101611eff565b508290346103b35760203660031901126103b35735906001600160e01b031982168083036105d8576020935063fa31a45b60e01b8114928315611ffb575b8315611f83575b5050519015158152f35b919250631030681960e21b811491908215611fea575b8215611fc1575b508115611fb1575b50908380611f79565b611fbb9150613317565b83611fa8565b90915063152a902d60e11b148015611fdb575b9084611fa0565b50611fe581613317565b611fd4565b6301ffc9a760e01b81149250611f99565b6301ffc9a760e01b82149350611f72565b5082346103b357602091826003193601126105d8573560038110156105d85761203490612aa4565b9281518093808654928381520195835280832092905b8282106120625761052786866118ec828b03836122aa565b83548752958601956001938401939091019061204a565b6020908160408183019282815285518094520193019160005b8281106120a0575050505090565b83516001600160a01b031685529381019392810192600101612092565b60005b8381106120d05750506000910152565b81810151838201526020016120c0565b906020916120f9815180928185528580860191016120bd565b601f01601f1916010190565b600435906001600160a01b038216820361211b57565b600080fd5b604435906001600160a01b038216820361211b57565b602435906001600160a01b038216820361211b57565b604090600319011261211b576004356001600160a01b038116810361211b5790602435801515810361211b5790565b9181601f8401121561211b578235916001600160401b03831161211b576020838186019501011161211b57565b606090600319011261211b576001600160a01b0390600435828116810361211b5791602435908116810361211b579060443590565b9190602083019260038210156121f05752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261211b57600435600381101561211b57916024356001600160401b039283821161211b578060238301121561211b57816004013593841161211b5760248460051b8301011161211b576024019190565b606081019081106001600160401b0382111761227957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761227957604052565b90601f801991011681019081106001600160401b0382111761227957604052565b6001600160401b03811161227957601f01601f191660200190565b9291926122f2826122cb565b9161230060405193846122aa565b82948184528183011161211b578281602093846000960137010152565b6033546001600160a01b0316330361233157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156123c557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661242d8115156123be565b90565b90600182811c92168015612460575b602083101461244a57565b634e487b7160e01b600052602260045260246000fd5b91607f169161243f565b9060009161010690815461247d81612430565b808352926001918083169081156124ea575060011461249d575b50505050565b909293945060005260008051602061335c833981519152916000925b8484106124d25750506020925001019038808080612497565b805460208585018101919091529093019281016124b9565b92505050602093945060ff929192191683830152151560051b01019038808080612497565b600081815260996020526040902054612532906001600160a01b031615156123be565b6000908152609b60205260409020546001600160a01b031690565b1561255457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561260957565b60405162461bcd60e51b815280612622600482016125af565b0390fd5b906001600160a01b03808061263a8461240a565b1693169183831493841561266d575b508315612657575b50505090565b6126639192935061250f565b1614388080612651565b909350600052609c60205260406000208260005260205260ff604060002054169238612649565b1561269b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90612716916126fc8461240a565b6001600160a01b0393918416928492909183168414612694565b169182156127ae57816127339161272c8661240a565b1614612694565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156129115761284d946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b9660848301906120e0565b03926001600160a01b03165af18491816128d1575b506128c0575050503d6000146128b8573d61287c816122cb565b9061288a60405192836122aa565b81528091833d92013e5b805191826128b55760405162461bcd60e51b815280612622600482016125af565b01fd5b506060612894565b6001600160e01b0319161492509050565b9091508581813d831161290a575b6128e981836122aa565b81010312610ce657516001600160e01b031981168103610ce6579038612862565b503d6128df565b5050915050600190565b9293600093909291803b1561299b579484916129759660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906120e0565b0393165af18491816128d157506128c0575050503d6000146128b8573d61287c816122cb565b505050915050600190565b6129b36106c68233612626565b6129bc8161240a565b506129c68161240a565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612279578360051b6040519260208094612a67828501826122aa565b809781520191810192831161211b57905b828210612a855750505050565b81356001600160a01b038116810361211b578152908301908301612a78565b60038110156121f057600052610108602052604060002090565b8051821015612ad25760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612ad25760005260206000200190600090565b6000828152600182016020526040902054612b6c57805490680100000000000000008210156122795782612b55612b3e846001809601855584612ae8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c5c5760001991808301818111612c4857825490848201918211612c3457808203612bff575b50505080548015612beb57820191612bce8383612ae8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612c1f612c0f612b3e9386612ae8565b90549060031b1c92839286612ae8565b90558652846020526040862055388080612bb6565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612c6a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612ccf575050565b600090610106825260008051602061335c833981519152906020601f850160051c83019410612d19575b601f0160051c01915b828110612d0e57505050565b818155600101612d02565b9092508290612cf9565b15612d2a57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612db684862054612430565b612feb575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612fde575b50506d04ee2d6d415b85acef810000000080861015612fd0575b50662386f26fc1000080861015612fc1575b506305f5e10080861015612fb2575b5061271080861015612fa3575b506064851015612f93575b600a80951015612f89575b60019485840196866021612e6f612e5a8b6122cb565b9a612e6787519c8d6122aa565b808c526122cb565b8a89019790601f19013689378a0101905b612f5a575b505050519485938261010690815491612e9d83612430565b92898116908115612f395750600114612ef2575b505050506006939282612ede64173539b7b760d91b93602f60f81b61242d999652518093868401906120bd565b0191820152036019198101845201826122aa565b8152929350909160008051602061335c8339815191525b828210612f23575050840101908281612ede61242d612eb1565b8054898301850152889650908301908701612f09565b60ff1916858a01525050508015150285010191508281612ede61242d612eb1565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782612e805750612e85565b9160010191612e44565b9193606460029104940191612e39565b60049193950494019138612e2e565b60089193950494019138612e21565b60109193950494019138612e12565b849193950494019138612e00565b0494509150813880612de6565b908493929352825280832090519283918181549061300882612430565b8086529260019280841690811561306f5750600114613032575b5050505061242d925003826122aa565b815285812095935091905b81831061305757505061242d935082010138808080613022565b8554878401850152948501948694509183019161303d565b935050505061242d94925060ff191682840152151560051b82010138808080613022565b1561309a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116132d3576101045461327457604051936131018561225e565b82855261310f3683836122e6565b6020908082880152604087019160009788845251610105558151906001600160401b038211613260576101069261314a83610b7e8654612430565b81601f84116001146131cb57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a926131c0575b50508160011b916000199060031b1c19161790555b5115156101079060ff801983541691161790556131bb60405192839283612d6f565b0390a2565b015190503880613184565b848b52929960008051602061335c83398151915293601f198c1691905b82821061324857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c941061322f575b505050811b019055613199565b015160001960f88460031b161c19169055388080613222565b806001869782949787015181550196019401906131e8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b811490811561334a575b811561333c575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061333256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220452739dd9b0777b580952cfb4d71c2bac5639b08d03f3e756ecb6c50acadf2a564736f6c63430008120033","sourceMap":"187:1659:227:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e81461200c57806301ffc9a714611f3457806306fdde0314611e8a578063081812fc14611e69578063095ea7b314611c4c5780630de54ba014611bfd57806318160ddd14611bdd57806318e97fd1146119f957806320427486146119c557806323b872dd146119a05780632a55205a1461190d5780632ce878da1461189a5780633403c4e9146118715780633a3d146f146118325780633ebc82c5146117f057806340c1a064146117c657806342842e0e1461179257806342966c6814611776578063472a6638146116d757806353df5c7c146116755780635edc7c191461116d5780636297c16c146110ef5780636352211e146110bd57806370a0823114611029578063715018a614610fcc578063755edd1714610d8957806387bc793f14610d61578063894ba83314610d135780638da5cb5b14610cea578063931688cb14610b1d5780639338bb5d14610a8457806395d89b411461099f5780639e860f2a1461089a578063a22cb4651461073c578063ab69607a1461071d578063b390ac25146106e4578063b88d4fde1461065b578063b9fbd25c146105dc578063bc7194551461052e578063c87b56dd146104f2578063e8315742146104d2578063e985e9c514610484578063eab8511814610429578063ee07080514610406578063efc32cd4146103b7578063f2fde38b146103205763ff6e8c8f1461022557600080fd5b3461031c5761023336612206565b6033546001600160a01b0396908716330361030d5760038410156102fa5783156102eb575090610264913691612a3e565b93835b85518110156102e75761028f61027c84612aa4565b83610287848a612abe565b511690612b00565b50828261029c8389612abe565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102d457600101610267565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103b35760203660031901126103b35761033c612105565b9161034561231d565b6001600160a01b03831615610361578361035e84612375565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461031c578060031936011261031c576103d1612105565b906103da61231d565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461031c578160031936011261031c5760209060ff80541690519015158152f35b82843461031c57602036600319011261031c5760209061047b61044a612105565b61045960ff6101095416612aa4565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461031c578060031936011261031c5760ff816020936104a4612105565b6104ac612136565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461031c578160031936011261031c57602090610100549051908152f35b5091903461052b57602036600319011261052b57506105146105279235612d97565b90519182916020835260208301906120e0565b0390f35b80fd5b5082346103b35760203660031901126103b35781359160038310156105d8576033546001600160a01b031633036105ca575061056982612aa4565b805490848155816105ac575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105a63394826121dd565b0390a280f35b845260208420908101905b81811015610575578481556001016105b7565b9051635c510c8360e11b8152fd5b8380fd5b508290346103b35760603660031901126103b35780356001600160401b0381116105d85761063a916106109136910161217b565b919061061a612120565b9261062361231d565b61063160ff80541615612d23565b602435916130df565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461031c57608036600319011261031c57610675612105565b9061067e612136565b91604435606435936001600160401b0385116106e057366023860112156106e0576106b86106db9486602461035e983693013591016122e6565b926106cb6106c68433612626565b61254d565b6106d68383836126ee565b61291b565b612602565b8580fd5b5082346103b35736600319011261031c5780356001600160401b0381116103b35761035e916107159136910161217b565b61062361231d565b82843461031c578160031936011261031c5760209060fc549051908152f35b5082346103b35761074c3661214c565b919060ff610109541660038110156102fa57600181036108505750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610841575b6001600160a01b0316923384146107ff5750338452609c6020528084208385526020526107d0828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610795576002855261010860205261088682862060018060a01b0383169060019160005201602052604060002054151590565b156107955781516282b42960e81b81528490fd5b503461031c576108a936612206565b6033546001600160a01b0396908716330361030d5750906108cb913691612a3e565b936003821015908161098c57826108e0578480f35b845b865181101561097c5761090a6108f785612aa4565b83610902848b612abe565b511690612b73565b508282610917838a612abe565b511690610969578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a46000198114610956576001016108e2565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461031c578160031936011261031c57805190826098546109c181612430565b80855291600191808316908115610a5c57506001146109ff575b5050506109ed826105279403836122aa565b519182916020835260208301906120e0565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a44575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101610a27565b6105279750869350602092506109ed94915060ff191682840152151560051b820101946109db565b50503461052b578060031936011261052b57818051610aa28161225e565b8281526060602082015201528051610ab98161225e565b610105548152815191610ad683610acf8161246a565b03846122aa565b60208201928352610b1060ff61010754169180840192151583526060815195869560208752516020870152519185015260808401906120e0565b9051151560608301520390f35b503461031c576020806003193601126103b3576001600160401b03908235828111610ce657610b4f903690850161217b565b939092610b5a61231d565b60ff6101075416610c9a578411610c87575061010690610b8384610b7e8454612430565b612cc3565b8490601f8511600114610bf0575094610bdf918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610be5575b508560011b906000198760031b1c19161790555b5192839283612d6f565b0390a180f35b905084013538610bc1565b90601f19851683875260008051602061335c8339815191529287905b828210610c6f57505091610bdf9391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c55575b5050600185811b019055610bd5565b850135600019600388901b60f8161c191690553880610c46565b80600185968294968a01358155019501930190610c0c565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461031c578160031936011261031c5760335490516001600160a01b039091168152602090f35b823461052b578060031936011261052b57610d2c61231d565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461031c578160031936011261031c576105279060ff61010954169051918291826121dd565b50913461031c57602092836003193601126103b357610da6612105565b92610db560ff80541615612d23565b6033546001600160a01b039190821633148015610fb7575b15610f5b5760fc548260fb541692610104966001885401809855610100548811610f1a57865191610dfd8361228f565b8483528116958615610ed957506106db8794939289610ebc93610e3e610e3883600052609960205260018060a01b0360406000205416151590565b15613093565b600082815260996020526040902054610e61906001600160a01b03161515610e38565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46127ff565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dcd565b823461052b578060031936011261052b57610fe561231d565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461031c57602036600319011261031c576001600160a01b0361104b612105565b16908115611068576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461052b57602036600319011261052b57506110de6020923561240a565b90516001600160a01b039091168152f35b508290346103b35760203660031901126103b35780359161110f8361240a565b336001600160a01b039091160361112a578361035e846129a6565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461031c57608036600319011261031c576001600160401b039281358481116105d85761119e903690840161217b565b92906024358681116106e0576111b7903690840161217b565b6111c2979197612120565b9387549860ff94858b60081c16159889809a611669575b8015611653575b156115f95760ff19808d1660019081178d559b9c999a998a6115e8575b506001600160a01b038916156115a5579161125091611240898f6112589796600a60fc558254168255606435610100555460081c1661123b81612c63565b612c63565b61124933612375565b36916122e6565b9336916122e6565b9061126c858b5460081c1661123b81612c63565b82518481116115925780611281609754612430565b94601f95868111611521575b506020908d8784116001146114a25792611497575b5050600019600383901b1c1916908a1b176097555b815193841161148457506112cc609854612430565b828111611421575b506020918311600114611395579180611349959492611321948b9261138a575b5050600019600383901b1c191690881b176098555b875460081c1661131881612c63565b61123b81612c63565b60fb80546001600160a01b0319166001600160a01b03831617905561134461231d565b612375565b611351578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b0151905038806112f4565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106114095750916113219593918561134999989694106113f0575b505050811b01609855611309565b015160001960f88460031b161c191690553880806113e2565b8284015185558b9690940193602093840193016113c5565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061147b575b0160051c019089905b8281106114705750506112d4565b8b8155018990611462565b92508192611459565b634e487b7160e01b8a5260419052602489fd5b0151905038806112a2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611509575084116114f0575b505050811b016097556112b7565b015160001960f88460031b161c191690553880806114e2565b8284015185558f9690940193602093840193016114d3565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611589575b859493910160051c909101908d908f5b83821061157b5750505061128d565b81558594508e91018f61156c565b9250819261155c565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d55386111fd565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156111e057506001878d16146111e0565b506001878d16106111d9565b82843461031c578160031936011261031c577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e906116b161231d565b5160208152806116c36020820161246a565b0390a1610107805460ff1916600117905580f35b508290346103b35760203660031901126103b35780359160038310156105d8576033546001600160a01b0316330361176957506101099182549160ff83169060038210156117565750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461031c57602036600319011261031c5761035e90356129a6565b82843461031c576106db61035e916117a9366121a8565b919251926117b68461228f565b8684526106cb6106c68433612626565b82843461031c57602036600319011261031c5760335490516001600160a01b039091168152602090f35b823461052b57602036600319011261052b5761035e61180d612105565b61181561231d565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461031c57602036600319011261031c5760209160ff9082906001600160a01b0361185d612105565b168152610102855220541690519015158152f35b82843461031c578160031936011261031c5760fb5490516001600160a01b039091168152602090f35b50503461052b578060031936011261052b576118bb60ff6101095416612aa4565b9180519182845490818152602080910195835280832092905b8282106118f65761052786866118ec828b03836122aa565b5191829182612079565b8354875295860195600193840193909101906118d4565b5091903461052b578160031936011261052b578235815260fd60205281812054602435906001600160a01b03908116801561199457925b60fe60205284812054801561198a57925b8381029381850414901517156119775750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611955565b508060fb541692611944565b823461052b5761035e6119b2366121a8565b916119c06106c68433612626565b6126ee565b82843461031c57602036600319011261031c576020906119e3612105565b60018060a01b0380603354169116149051908152f35b503461031c578260031936011261031c578035906001600160401b0390602435828111610ce657611a2d903690830161217b565b929091611a3861231d565b60ff6101075416611b8f578486526020906101038252878720928511611b7c5750611a638254612430565b601f8111611b39575b508590601f8511600114611ac85750956105a6918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610be557508560011b906000198760031b1c19161790555192839283612d6f565b90601f1985168388528288209288905b828210611b21575050916105a69391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c55575050600185811b019055610bd5565b80600185968294968a01358155019501930190611ad8565b828752818720601f860160051c810191838710611b72575b601f0160051c01905b818110611b675750611a6c565b878155600101611b5a565b9091508190611b51565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461031c578160031936011261031c57602090610104549051908152f35b82843461031c5761035e90611c113661214c565b9190611c1b61231d565b611c2960ff80541615612d23565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103b357816003193601126103b357611c67612105565b906024359260ff61010954166003811015611e565760018103611e0f5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611e03575b6001600160a01b03918280611cc78761240a565b16941693808514611db657803314908115611d97575b5015611d2f5750838552609b602052842080546001600160a01b03191683179055611d078361240a565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611cdd565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611cb35760028552610108602052611e4581862060018060a01b0385169060019160005201602052604060002054151590565b15611cb357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461052b57602036600319011261052b57506110de6020923561250f565b82843461031c578160031936011261031c5780519082609754611eac81612430565b80855291600191808316908115610a5c5750600114611ed7575050506109ed826105279403836122aa565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611f1c575050506109ed82602061052795820101946109db565b80546020878701810191909152909501948101611eff565b508290346103b35760203660031901126103b35735906001600160e01b031982168083036105d8576020935063fa31a45b60e01b8114928315611ffb575b8315611f83575b5050519015158152f35b919250631030681960e21b811491908215611fea575b8215611fc1575b508115611fb1575b50908380611f79565b611fbb9150613317565b83611fa8565b90915063152a902d60e11b148015611fdb575b9084611fa0565b50611fe581613317565b611fd4565b6301ffc9a760e01b81149250611f99565b6301ffc9a760e01b82149350611f72565b5082346103b357602091826003193601126105d8573560038110156105d85761203490612aa4565b9281518093808654928381520195835280832092905b8282106120625761052786866118ec828b03836122aa565b83548752958601956001938401939091019061204a565b6020908160408183019282815285518094520193019160005b8281106120a0575050505090565b83516001600160a01b031685529381019392810192600101612092565b60005b8381106120d05750506000910152565b81810151838201526020016120c0565b906020916120f9815180928185528580860191016120bd565b601f01601f1916010190565b600435906001600160a01b038216820361211b57565b600080fd5b604435906001600160a01b038216820361211b57565b602435906001600160a01b038216820361211b57565b604090600319011261211b576004356001600160a01b038116810361211b5790602435801515810361211b5790565b9181601f8401121561211b578235916001600160401b03831161211b576020838186019501011161211b57565b606090600319011261211b576001600160a01b0390600435828116810361211b5791602435908116810361211b579060443590565b9190602083019260038210156121f05752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261211b57600435600381101561211b57916024356001600160401b039283821161211b578060238301121561211b57816004013593841161211b5760248460051b8301011161211b576024019190565b606081019081106001600160401b0382111761227957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761227957604052565b90601f801991011681019081106001600160401b0382111761227957604052565b6001600160401b03811161227957601f01601f191660200190565b9291926122f2826122cb565b9161230060405193846122aa565b82948184528183011161211b578281602093846000960137010152565b6033546001600160a01b0316330361233157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156123c557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661242d8115156123be565b90565b90600182811c92168015612460575b602083101461244a57565b634e487b7160e01b600052602260045260246000fd5b91607f169161243f565b9060009161010690815461247d81612430565b808352926001918083169081156124ea575060011461249d575b50505050565b909293945060005260008051602061335c833981519152916000925b8484106124d25750506020925001019038808080612497565b805460208585018101919091529093019281016124b9565b92505050602093945060ff929192191683830152151560051b01019038808080612497565b600081815260996020526040902054612532906001600160a01b031615156123be565b6000908152609b60205260409020546001600160a01b031690565b1561255457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561260957565b60405162461bcd60e51b815280612622600482016125af565b0390fd5b906001600160a01b03808061263a8461240a565b1693169183831493841561266d575b508315612657575b50505090565b6126639192935061250f565b1614388080612651565b909350600052609c60205260406000208260005260205260ff604060002054169238612649565b1561269b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90612716916126fc8461240a565b6001600160a01b0393918416928492909183168414612694565b169182156127ae57816127339161272c8661240a565b1614612694565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b156129115761284d946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b9660848301906120e0565b03926001600160a01b03165af18491816128d1575b506128c0575050503d6000146128b8573d61287c816122cb565b9061288a60405192836122aa565b81528091833d92013e5b805191826128b55760405162461bcd60e51b815280612622600482016125af565b01fd5b506060612894565b6001600160e01b0319161492509050565b9091508581813d831161290a575b6128e981836122aa565b81010312610ce657516001600160e01b031981168103610ce6579038612862565b503d6128df565b5050915050600190565b9293600093909291803b1561299b579484916129759660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906120e0565b0393165af18491816128d157506128c0575050503d6000146128b8573d61287c816122cb565b505050915050600190565b6129b36106c68233612626565b6129bc8161240a565b506129c68161240a565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612279578360051b6040519260208094612a67828501826122aa565b809781520191810192831161211b57905b828210612a855750505050565b81356001600160a01b038116810361211b578152908301908301612a78565b60038110156121f057600052610108602052604060002090565b8051821015612ad25760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612ad25760005260206000200190600090565b6000828152600182016020526040902054612b6c57805490680100000000000000008210156122795782612b55612b3e846001809601855584612ae8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c5c5760001991808301818111612c4857825490848201918211612c3457808203612bff575b50505080548015612beb57820191612bce8383612ae8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612c1f612c0f612b3e9386612ae8565b90549060031b1c92839286612ae8565b90558652846020526040862055388080612bb6565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612c6a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612ccf575050565b600090610106825260008051602061335c833981519152906020601f850160051c83019410612d19575b601f0160051c01915b828110612d0e57505050565b818155600101612d02565b9092508290612cf9565b15612d2a57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612db684862054612430565b612feb575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008581811015612fde575b50506d04ee2d6d415b85acef810000000080861015612fd0575b50662386f26fc1000080861015612fc1575b506305f5e10080861015612fb2575b5061271080861015612fa3575b506064851015612f93575b600a80951015612f89575b60019485840196866021612e6f612e5a8b6122cb565b9a612e6787519c8d6122aa565b808c526122cb565b8a89019790601f19013689378a0101905b612f5a575b505050519485938261010690815491612e9d83612430565b92898116908115612f395750600114612ef2575b505050506006939282612ede64173539b7b760d91b93602f60f81b61242d999652518093868401906120bd565b0191820152036019198101845201826122aa565b8152929350909160008051602061335c8339815191525b828210612f23575050840101908281612ede61242d612eb1565b8054898301850152889650908301908701612f09565b60ff1916858a01525050508015150285010191508281612ede61242d612eb1565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908782612e805750612e85565b9160010191612e44565b9193606460029104940191612e39565b60049193950494019138612e2e565b60089193950494019138612e21565b60109193950494019138612e12565b849193950494019138612e00565b0494509150813880612de6565b908493929352825280832090519283918181549061300882612430565b8086529260019280841690811561306f5750600114613032575b5050505061242d925003826122aa565b815285812095935091905b81831061305757505061242d935082010138808080613022565b8554878401850152948501948694509183019161303d565b935050505061242d94925060ff191682840152151560051b82010138808080613022565b1561309a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9291906101005482116132d3576101045461327457604051936131018561225e565b82855261310f3683836122e6565b6020908082880152604087019160009788845251610105558151906001600160401b038211613260576101069261314a83610b7e8654612430565b81601f84116001146131cb57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a926131c0575b50508160011b916000199060031b1c19161790555b5115156101079060ff801983541691161790556131bb60405192839283612d6f565b0390a2565b015190503880613184565b848b52929960008051602061335c83398151915293601f198c1691905b82821061324857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c941061322f575b505050811b019055613199565b015160001960f88460031b161c19169055388080613222565b806001869782949787015181550196019401906131e8565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b811490811561334a575b811561333c575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061333256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220452739dd9b0777b580952cfb4d71c2bac5639b08d03f3e756ecb6c50acadf2a564736f6c63430008120033","sourceMap":"187:1659:227:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:42;187:1659:227;-1:-1:-1;;;;;187:1659:227;;;;2088:10:115;1220:16:227;2064:71:115;;187:1659:227;;;;;;2839:39:115;;2835:84;;187:1659:227;;;;;;;:::i;:::-;5643:13:115;;5677:3;187:1659:227;;5658:17:115;;;;;8398:50:113;5717:15:115;;;:::i;:::-;5737:9;;;;;:::i;:::-;187:1659:227;;8398:50:113;;:::i;:::-;;5795:9:115;;;;;;:::i;:::-;187:1659:227;;2088:10:115;5764:52;;;;-1:-1:-1;;187:1659:227;;;;;;5643:13:115;;187:1659:227;-1:-1:-1;;;187:1659:227;;;;;;;;5658:17:115;;187:1659:227;;2835:84:115;187:1659:227;-1:-1:-1;;;2887:32:115;;187:1659:227;;2887:32:115;187:1659:227;-1:-1:-1;;;187:1659:227;;;;;;;;2064:71:115;187:1659:227;-1:-1:-1;;;2108:27:115;;187:1659:227;;2108:27:115;187:1659:227;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;187:1659:227;;2402:22:42;187:1659:227;;2496:8:42;;;;:::i;:::-;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;187:1659:227;;;;7807:16:225;187:1659:227;;;;;;-1:-1:-1;;;;;;187:1659:227;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:20:225;187:1659:227;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;8963:55:113;187:1659:227;;:::i;:::-;4167:14:115;187:1659:227;4172:8:115;187:1659:227;;4167:14:115;:::i;:::-;-1:-1:-1;;;;;187:1659:227;;;-1:-1:-1;187:1659:227;;;;4351:12:113;;;187:1659:227;;;;;;4351:24:113;;;4255:127;8963:55;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;187:1659:227;;;;;4980:18:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:24:225;187:1659:227;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;;;1513:6:42;187:1659:227;-1:-1:-1;;;;;187:1659:227;2088:10:115;1220:16:227;2064:71:115;;3436:15;;;;:::i;:::-;187:1659:227;;;;;;;;;;;;3462:34:115;187:1659:227;;2088:10:115;3462:34;2088:10;3462:34;;;:::i;:::-;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;2064:71:115;187:1659:227;;-1:-1:-1;;;2108:27:115;;;187:1659:227;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;-1:-1:-1;;;;;187:1659:227;;;;6019:15:225;187:1659:227;;;;;;;:::i;:::-;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;4495:52:225;4504:8;187:1659:227;;;4503:9:225;4495:52;:::i;:::-;187:1659:227;;6019:15:225;;:::i;:::-;-1:-1:-1;;;;;187:1659:227;;;6045:15:225;187:1659:227;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;6956:47:61;187:1659:227;;;6948:110:61;187:1659:227;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;187:1659:227:-;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;-1:-1:-1;;;;;187:1659:227;;;;5488:15:225;187:1659:227;;;;;;;:::i;:::-;1303:62:42;;:::i;187:1659:227:-;;;;;;;;;;;;;;;;2453:24:233;187:1659:227;;;;;;;;;;;;;;;;:::i;:::-;;;;1460:8:115;187:1659:227;;;;;;;;1472:28:115;1460:40;;1472:28;;-1:-1:-1;1472:28:115;187:1659:227;;;1515:4:115;187:1659:227;;;;;;;-1:-1:-1;;;;;187:1659:227;;-1:-1:-1;187:1659:227;;;4351:12:113;;187:1659:227;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;187:1659:227;;929:10:68;13528:17:61;;187:1659:227;;929:10:68;;187:1659:227;;13585:18:61;187:1659:227;;;;;;;;;;13585:46:61;187:1659:227;;;;;;;;;;;;;;;;;;;13585:46:61;187:1659:227;;;;;;13646:41:61;187:1659:227;929:10:68;13646:41:61;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:115;187:1659:227;;-1:-1:-1;;;1574:28:115;;187:1659:227;;1574:28:115;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;187:1659:227;;1672:4:115;187:1659:227;;8963:55:113;187:1659:227;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;187:1659:227;4351:12:113;187:1659:227;;;-1:-1:-1;187:1659:227;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;187:1659:227;;-1:-1:-1;;;1730:28:115;;187:1659:227;;1730:28:115;187:1659:227;;;;;;;;:::i;:::-;1513:6:42;187:1659:227;-1:-1:-1;;;;;187:1659:227;;;;2088:10:115;1220:16:227;2064:71:115;;187:1659:227;;;;;;;:::i;:::-;;;;;;;;;;5589:39:115;5585:387;;187:1659:227;;;5585:387:115;5643:13;5677:3;187:1659:227;;5658:17:115;;;;;8719:53:113;5845:15:115;;;:::i;:::-;5868:9;;;;;:::i;:::-;187:1659:227;;8719:53:113;;:::i;:::-;;5926:9:115;;;;;;:::i;:::-;187:1659:227;;;;;2088:10:115;;;5895:52;;;;-1:-1:-1;;187:1659:227;;;;;;5643:13:115;;187:1659:227;-1:-1:-1;;;187:1659:227;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;5658:17:115;;;;;;;;5585:387;;;;;187:1659:227;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:61;187:1659:227;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;9923:10:225;187:1659:227;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;187:1659:227;8048:25:225;187:1659:227;;;;;;;;8143:18:225;;187:1659:227;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;8187:25:225;187:1659:227;;;;8187:25:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;8187:25:225;;;;;:::i;:::-;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;187:1659:227;;;;;;;;;;;;8187:25:225;187:1659:227;;;8187:25:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;187:1659:227;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;7165:4:225;187:1659:227;;;;;;;;7201:10:225;7184:28;;;;187:1659:227;;;;;;;;;;;;;;;;;;;4333:8:115;187:1659:227;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;4495:52:225;4504:8;187:1659:227;;;4503:9:225;4495:52;:::i;:::-;1513:6:42;187:1659:227;-1:-1:-1;;;;;187:1659:227;;;;6391:10:225;:21;:52;;;;187:1659:227;;;;2453:24:233;187:1659:227;;2332:22:233;187:1659:227;;12147:14:225;;187:1659:227;;;;;;;;12254:9:225;187:1659:227;12243:20:225;;187:1659:227;;;;;;;;:::i;:::-;;;;;;9487:16:61;;;187:1659:227;;9559:16:61;8950:53;9559:16;;;;;8929:150;9559:16;9550:58;9559:16;;-1:-1:-1;187:1659:227;7266:7:61;187:1659:227;;;;;;;;-1:-1:-1;187:1659:227;;;7680:31:61;;7592:126;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;187:1659:227;;;7266:7:61;187:1659:227;;;;;;9754:58:61;;-1:-1:-1;;;;;187:1659:227;7680:31:61;;9763:16;7592:126;9754:58;187:1659:227;;;10154:9:61;187:1659:227;;;;;;;;;;;;;;10193:7:61;187:1659:227;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;10230:33:61;;;;;8950:53;:::i;8929:150::-;187:1659:227;;;1794:18:233;187:1659:227;;;;;;1639:16:233;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;6391:52:225;:10;;187:1659:227;;6416:15:225;187:1659:227;;4504:8:225;187:1659:227;;;;;6391:52:225;;187:1659:227;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;187:1659:227;;-1:-1:-1;;;;;;187:1659:227;;;;;;;-1:-1:-1;;;;;187:1659:227;2806:40:42;187:1659:227;;2806:40:42;187:1659:227;;;;;;;;;-1:-1:-1;;187:1659:227;;;;-1:-1:-1;;;;;187:1659:227;;:::i;:::-;;2489:19:61;;;187:1659:227;;;;;;;;;2571:9:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;6897:17:225;;;;:::i;:::-;6918:10;-1:-1:-1;;;;;187:1659:227;;;6897:31:225;187:1659:227;;7000:8:225;;;;:::i;187:1659:227:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;187:1659:227;3346:108:48;;;;187:1659:227;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;;;;;3562:65:48;;187:1659:227;-1:-1:-1;;;;;;187:1659:227;;3821:22:225;187:1659:227;;;;;5366:69:48;187:1659:227;;;;;3917:2:225;2197:38:233;187:1659:227;;;;;;;;3956:22:225;187:1659:227;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;187:1659:227;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;187:1659:227;;;;;;5366:69:48;;;:::i;:::-;187:1659:227;;;;;;;;;1873:13:61;187:1659:227;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;187:1659:227;;;;;;;;;;;1873:13:61;187:1659:227;;;;;;;;;;;1896:17:61;187:1659:227;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;187:1659:227;;;5366:69:48;187:1659:227;;;;;;-1:-1:-1;;;;187:1659:227;;;;;;;;;;;1896:17:61;187:1659:227;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;187:1659:227;;-1:-1:-1;;;;;;187:1659:227;-1:-1:-1;;;;;187:1659:227;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;187:1659:227;;;3647:99:48;187:1659:227;;-1:-1:-1;;187:1659:227;;;;;;;3721:14:48;;187:1659:227;;3721:14:48;3647:99;;187:1659:227;;;;;;;-1:-1:-1;187:1659:227;;;;;1896:17:61;187:1659:227;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;5366:69:48;187:1659:227;;;;2496:8:42;187:1659:227;;;;;;;;;;;;;;1896:17:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;;;;;;;;;;1873:13:61;187:1659:227;;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;;;;;1873:13:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;187:1659:227;;;;;3562:65:48;;;187:1659:227;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;187:1659:227;;;;;3436:17:48;3346:108;;3347:34;187:1659:227;;;;;3365:16:48;3347:34;;187:1659:227;;;;;;;;;;;;;;8808:34:225;1303:62:42;;;:::i;:::-;187:1659:227;;;;;;;;;;:::i;:::-;8808:34:225;;;8852:25;187:1659:227;;-1:-1:-1;;187:1659:227;8823:18:225;187:1659:227;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;;;1513:6:42;187:1659:227;-1:-1:-1;;;;;187:1659:227;2088:10:115;1220:16:227;2064:71:115;;5330:8;;187:1659:227;;;;;;;;;;;;;;2088:10:115;;;187:1659:227;2088:10:115;;5302:51;;;;187:1659:227;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;2064:71:115;187:1659:227;-1:-1:-1;;;2108:27:115;;;187:1659:227;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;187:1659:227;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;187:1659:227:-;;;;;;;;-1:-1:-1;;187:1659:227;;;;1513:6:42;187:1659:227;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;7474:9:225;187:1659:227;;:::i;:::-;1303:62:42;;:::i;:::-;187:1659:227;;;;;;-1:-1:-1;;;;;187:1659:227;;1492:34:233;187:1659:227;;;1492:34:233;187:1659:227;1418:115:233;187:1659:227;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;:::i;:::-;;;;9370:15:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;2332:22:233;187:1659:227;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;4008:14:115;187:1659:227;4013:8:115;187:1659:227;;4008:14:115;:::i;:::-;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;187:1659:227;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;1049:40:233;;187:1659:227;;1049:118:233;;1238:18;187:1659:227;;;;;;1238:33:233;;;;:131;;187:1659:227;;;;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;;1401:3:233;187:1659:227;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;1238:131:233;187:1659:227;1345:24:233;187:1659:227;1238:131:233;;;1049:118;187:1659:227;;1145:22:233;187:1659:227;;1049:118:233;;;187:1659:227;;;;;5365:7:61;187:1659:227;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;187:1659:227:-;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;:::i;:::-;;;;;;;1513:6:42;187:1659:227;;;;1220:16;187:1659;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;187:1659:227;8478:25:225;187:1659:227;;;;;;;;;8574:10:225;187:1659:227;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8624:39:225;187:1659:227;;;;8624:39:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;8624:39:225;;;;;:::i;187:1659:227:-;;;;;;;;;;;;;;;;;;;;;;;;8624:39:225;187:1659:227;;;8624:39:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;10869:14:225;187:1659:227;;;;;;;;;;;;;5050:36:225;187:1659:227;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;4495:52:225;4504:8;187:1659:227;;;4503:9:225;4495:52;:::i;:::-;187:1659:227;;;;;;;;5050:15:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:115;187:1659:227;;;;;;;;;1460:40:115;;187:1659:227;;-1:-1:-1;187:1659:227;;;;1515:4:115;187:1659:227;;;;;;;-1:-1:-1;;;;;187:1659:227;;-1:-1:-1;187:1659:227;;;4351:12:113;;187:1659:227;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;187:1659:227;;;4025:34:61;;;:::i;:::-;187:1659:227;;;4077:11:61;;;;187:1659:227;;929:10:68;;4158:21:61;:62;;;;;1456:309:115;187:1659:227;;;;-1:-1:-1;187:1659:227;;;13173:15:61;187:1659:227;;;;;;-1:-1:-1;;;;;;187:1659:227;;;;;13226:34:61;187:1659:227;13226:34:61;:::i;:::-;187:1659:227;13217:57:61;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:62:61;187:1659:227;;;;4980:18:61;187:1659:227;;;;;929:10:68;187:1659:227;;;;;;;;;;4158:62:61;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;1510:92:115;187:1659:227;-1:-1:-1;;;1574:28:115;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;187:1659:227;;1672:4:115;187:1659:227;;8963:55:113;187:1659:227;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;187:1659:227;4351:12:113;187:1659:227;;;-1:-1:-1;187:1659:227;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;187:1659:227;-1:-1:-1;;;1730:28:115;;;187:1659:227;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;187:1659:227;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;;;-1:-1:-1;;;;;;187:1659:227;;;;;;;;;-1:-1:-1;;;;4844:47:115;;;:88;;;;187:1659:227;712:108;;;;187:1659;;;;;;;;;;712:108;11218:31:225;;-1:-1:-1;;;;11203:46:225;;;11218:31;11203:110;;;;712:108:227;11203:175:225;;;;712:108:227;11203:239:225;;;;;712:108:227;;;;;;;11203:239:225;11394:48;;;;:::i;:::-;11203:239;;;:175;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;11203:175:225;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;11203:110:225;-1:-1:-1;;;937:40:107;;;-1:-1:-1;11203:110:225;;4844:88:115;-1:-1:-1;;;937:40:107;;;-1:-1:-1;4844:88:115;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;3857:15:115;;;:::i;:::-;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;187:1659:227;;;;:::o;:::-;;;;-1:-1:-1;;;;;187:1659:227;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;187:1659:227;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;187:1659:227;;;;;-1:-1:-1;187:1659:227;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;:::o;:::-;-1:-1:-1;;;;;187:1659:227;;;;;;-1:-1:-1;;187:1659:227;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;;:::o;1599:130:42:-;1513:6;187:1659:227;-1:-1:-1;;;;;187:1659:227;929:10:68;1662:23:42;187:1659:227;;1599:130:42:o;187:1659:227:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;187:1659:227;;-1:-1:-1;;;;;187:1659:227;;;-1:-1:-1;;;;;;187:1659:227;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;187:1659:227:-;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;2651:219:61;-1:-1:-1;187:1659:227;;;7266:7:61;187:1659:227;;;;;;-1:-1:-1;;;;;187:1659:227;2785:56:61;2793:19;;;2785:56;:::i;:::-;2651:219;:::o;187:1659:227:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;8823:18:225;187:1659:227;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;187:1659:227;-1:-1:-1;;;;;;;;;;;187:1659:227;-1:-1:-1;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4407:167:61;-1:-1:-1;187:1659:227;;;7266:7:61;187:1659:227;;;;;;13851:53:61;;-1:-1:-1;;;;;187:1659:227;7680:31:61;;13851:53;:::i;:::-;-1:-1:-1;187:1659:227;;;4543:15:61;187:1659:227;;;;;;-1:-1:-1;;;;;187:1659:227;;4407:167:61:o;187:1659:227:-;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:227;;;;;;;;:::i;:::-;;;;7876:272:61;;-1:-1:-1;;;;;187:1659:227;;8001:34:61;7876:272;8001:34;:::i;:::-;187:1659:227;;;8053:16:61;;;;:52;;;;;7876:272;8053:87;;;;;7876:272;8045:96;;;7876:272;:::o;8053:87::-;8109:20;;;;;;:::i;:::-;187:1659:227;8109:31:61;8053:87;;;;;:52;187:1659:227;;;-1:-1:-1;187:1659:227;4980:18:61;187:1659:227;;;-1:-1:-1;187:1659:227;;-1:-1:-1;187:1659:227;;;;;-1:-1:-1;187:1659:227;;;8053:52:61;;;;187:1659:227;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;11762:1225:61;;11851:92;11762:1225;11859:34;;;:::i;:::-;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;187:1659:227;11961:16:61;;;187:1659:227;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;187:1659:227;12171:42:61;12163:92;:::i;:::-;12901:27;11975:1;187:1659:227;;;12324:15:61;187:1659:227;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;12792:9:61;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;187:1659:227;;;;;;;;;;;;;12901:27:61;;11762:1225::o;187:1659:227:-;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;14463:853:61;;;187:1659:227;;14463:853:61;;;1713:19:66;;:23;:19;;187:1659:227;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;187:1659:227;;;;;;;;;;;;;;;14667:82:61;;;;187:1659:227;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;187:1659:227;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;187:1659:227;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;187:1659:227;;-1:-1:-1;;;14969:60:61;;187:1659:227;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;187:1659:227;;;;;14663:595:61;-1:-1:-1;;;;;;187:1659:227;14799:62:61;;-1:-1:-1;187:1659:227;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;187:1659:227;;;;;-1:-1:-1;;;;;;187:1659:227;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;187:1659:227;;14463:853:61;;;1713:19:66;;:23;:19;;187:1659:227;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;187:1659:227;;;;;;;;:::i;:::-;14667:82:61;187:1659:227;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;187:1659:227;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;803:238:64:-;911:99;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;11007:31;187:1659:227;;;11014:15:61;187:1659:227;;;;;;;;;;-1:-1:-1;;;;;;187:1659:227;;;;;;-1:-1:-1;;;;;187:1659:227;;;;;;11254:9:61;187:1659:227;;;;;;;-1:-1:-1;;187:1659:227;;;;;;11302:7:61;187:1659:227;;;;;;;;;;;;;11007:31:61;11334:36;11007:31;;11334:36;803:238:64:o;187:1659:227:-;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:227;3857:4:115;187:1659:227;;;-1:-1:-1;187:1659:227;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:227;;-1:-1:-1;187:1659:227;;;-1:-1:-1;187:1659:227;:::o;2214:404:113:-;-1:-1:-1;187:1659:227;;;4351:12:113;;;187:1659:227;;;;;;2298:21:113;;187:1659:227;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:227;2493:12:113;187:1659:227;;;-1:-1:-1;187:1659:227;;;2547:11:113;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:113;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;3023:15:113;;;;3019:1149;3023:15;;;-1:-1:-1;;187:1659:227;;;;;;;;;;;;;;;;;;;;3505:26:113;;;3501:398;;3019:1149;187:1659:227;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:113;4103:11;:::o;187:1659:227:-;-1:-1:-1;;;187:1659:227;;;;;;;;3501:398:113;187:1659:227;3571:22:113;3693:26;3571:22;;;:::i;:::-;187:1659:227;;;;;;3693:26:113;;;;;:::i;187:1659:227:-;;;;;;;;;;;;3501:398:113;;;;;187:1659:227;-1:-1:-1;;;187:1659:227;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;3019:1149:113;4145:12;;;;;:::o;187:1659:227:-;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;187:1659:227;8143:18:225;187:1659:227;;-1:-1:-1;;;;;;;;;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;187:1659:227;;;;:::o;10218:451:225:-;-1:-1:-1;187:1659:227;;;;10341:10:225;187:1659:227;;;;;;;;;;;;;;:::i;:::-;10331:96:225;;-1:-1:-1;10582:19:225;;;602:28:71;;10287:8:74;10582:19:225;10278:17:74;;;;10274:103;;10218:451:225;10403:8:74;;;10394:17;;;;10390:103;;10218:451:225;10519:8:74;;10510:17;;;;10506:103;;10218:451:225;10635:7:74;;10626:16;;;;10622:100;;10218:451:225;10748:7:74;;10739:16;;;;10735:100;;10218:451:225;10852:16:74;10861:7;10852:16;;;10848:100;;10218:451:225;10974:7:74;10965:16;;;;10961:66;;10218:451:225;633:1:71;187:1659:227;;;;;;775:76:71;187:1659:227;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;187:1659:227;;;;775:76:71;;;864:280;633:1;;;864:280;187:1659:227;;;;;;;;10517:18:225;187:1659:227;;;;;;;:::i;:::-;;;;;;633:1:71;;;;187:1659:227;;;;;;;;;;10479:169:225;187:1659:227;;;;-1:-1:-1;;;187:1659:227;-1:-1:-1;;;10479:169:225;187:1659:227;;;;;;;;;;;:::i;:::-;;;;;;10479:169:225;;;;;;;;;;:::i;187:1659:227:-;;;;;-1:-1:-1;187:1659:227;;-1:-1:-1;;;;;;;;;;;187:1659:227;;;;;;-1:-1:-1;;187:1659:227;;;;;;;10479:169:225;187:1659:227;;;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;;;;;-1:-1:-1;;187:1659:227;10479:169:225;;;187:1659:227;-1:-1:-1;;;187:1659:227;;;;;;;;-1:-1:-1;187:1659:227;;;10479:169:225;187:1659:227;;864:280:71;-1:-1:-1;;187:1659:227;;;;-1:-1:-1;;;969:93:71;;;;187:1659:227;969:93:71;187:1659:227;1112:10:71;;;864:280;1108:21;1124:5;;;10961:66:74;187:1659:227;11011:1:74;187:1659:227;10961:66:74;;;10848:100;187:1659:227;;10861:7:74;10932:1;187:1659:227;;;;10848:100:74;;;10735;10819:1;187:1659:227;;;;;;10735:100:74;;;;10622;10706:1;187:1659:227;;;;;;10622:100:74;;;;10506:103;10592:2;187:1659:227;;;;;;10506:103:74;;;;10390;187:1659:227;;;;;;;10390:103:74;;;;10274;187:1659:227;;-1:-1:-1;187:1659:227;-1:-1:-1;187:1659:227;10274:103:74;;;;10331:96:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;12717:483:225;;;;12871:9;187:1659:227;12852:28:225;;187:1659:227;;12969:14:225;187:1659:227;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;13096:44:225;;;;;;187:1659:227;;13096:44:225;;-1:-1:-1;;187:1659:227;;;;;13083:57:225;187:1659:227;;;;-1:-1:-1;;;;;187:1659:227;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13155:38:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13155:38:225;187:1659:227;;13155:38:225;;;;;:::i;:::-;;;;12717:483::o;187:1659:227:-;;;;-1:-1:-1;187:1659:227;;;;;;;;;;-1:-1:-1;;;;;;;;;;;187:1659:227;-1:-1:-1;;187:1659:227;;;;;;;;;;;;;;;;;13155:38:225;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;-1:-1:-1;;;187:1659:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1987:344:61;187:1659:227;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:107;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","getMintConfig()":"9338bb5d","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isApprovedMinter(address)":"3a3d146f","isOperatorInList(address)":"eab85118","lockBaseURI()":"53df5c7c","maxTokens()":"e8315742","mintTo(address)":"755edd17","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","prepareMint(string,uint256)":"b390ac25","prepareMintWithMinter(string,uint256,address)":"b9fbd25c","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setMinterApproval(address,bool)":"0de54ba0","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBaseURI(string)":"931688cb","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isMinter\",\"type\":\"bool\"}],\"name\":\"setMinterApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_metadataUri\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setMinterApproval(address,bool)\":{\"details\":\"Set a minter for the contract\",\"params\":{\"_isMinter\":\"bool of whether the address is a minter.\",\"_minter\":\"address of the minter.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}},\"updateTokenURI(uint256,string)\":{\"details\":\"Update the token metadata URI.\",\"params\":{\"_metadataUri\":\"The new metadata URI.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":\"LazySovereignNFTRoyaltyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e\",\"dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df\",\"dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataLocked","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256","indexed":true},{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"PrepareMint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"metadataUri","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMintConfig","outputs":[{"internalType":"struct LazySovereignNFT.MintConfig","name":"","type":"tuple","components":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"},{"internalType":"bool","name":"lockedMetadata","type":"bool"}]}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockBaseURI"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"prepareMint"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"},{"internalType":"address","name":"_minter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintWithMinter"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"bool","name":"_isMinter","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setMinterApproval"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_metadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"burn(uint256)":{"details":"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"deleteToken(uint256)":{"details":"Delete a token with the given ID.","params":{"_tokenId":"The ID of the token to delete."}},"disableContract()":{"details":"Disable the contract, preventing further minting."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"getMintConfig()":{"details":"Get the current minting configuration.","returns":{"_0":"mintConfig the mint config."}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"init(string,string,address,uint256)":{"details":"Contract initialization function.","params":{"_creator":"The address of the contract creator.","_maxTokens":"The maximum number of tokens that can be minted.","_name":"The name of the NFT contract.","_symbol":"The symbol of the NFT contract."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isApprovedMinter(address)":{"details":"Checks if the supplied address is approved for minting","params":{"_address":"The address of the minter."},"returns":{"_0":"bool, whether the address is approved for minting."}},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"lockBaseURI()":{"details":"Lock the metadata to prevent further updates."},"mintTo(address)":{"details":"Mint a new token to the specified receiver.","params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"prepareMint(string,uint256)":{"details":"Prepare a minting batch with a specified base URI and number of tokens.","params":{"_baseURI":"The base URI for token metadata.","_numberOfTokens":"The number of tokens to prepare for minting."}},"prepareMintWithMinter(string,uint256,address)":{"details":"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.","params":{"_baseURI":"The base URI for token metadata.","_minter":"The address of the minter.","_numberOfTokens":"The number of tokens to prepare for minting."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"setDefaultRoyaltyReceiver(address)":{"details":"Set the default royalty receiver address.","params":{"_receiver":"The address of the default royalty receiver."}},"setMinterApproval(address,bool)":{"details":"Set a minter for the contract","params":{"_isMinter":"bool of whether the address is a minter.","_minter":"address of the minter."}},"setRoyaltyReceiverForToken(address,uint256)":{"details":"Set a specific royalty receiver address for a token.","params":{"_receiver":"The address of the royalty receiver.","_tokenId":"The ID of the token."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"tokenCreator(uint256)":{"details":"Get the address of the token creator for a given token ID.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"address of the token creator."}},"tokenURI(uint256)":{"details":"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"The token's URI."}},"totalSupply()":{"details":"Get the total supply of tokens in existence.","returns":{"_0":"The total supply of tokens."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateBaseURI(string)":{"details":"Update the base URI.","params":{"_baseURI":"The new base URI."}},"updateTokenURI(uint256,string)":{"details":"Update the token metadata URI.","params":{"_metadataUri":"The new metadata URI."}}},"version":1},"userdoc":{"kind":"user","methods":{"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol":"LazySovereignNFTRoyaltyGuard"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":{"keccak256":"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635","urls":["bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e","dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuard.sol":{"keccak256":"0x16f6e92c4bb69769c06fb0e5a13a74f735cdee23f8a6e4082244685022694ea7","urls":["bzz-raw://7512c6d328a4a73a22e8d051d25dbfba01f3af7b0284dd3b161a0e19fcf201df","dweb:/ipfs/QmSSk5mnspvQEX9YpRFQVLzcYEjEVbUnGzGEY7mwjAn1xR"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":227} \ No newline at end of file diff --git a/abis/LazySovereignNFTRoyaltyGuardDeadmanTrigger.json b/abis/LazySovereignNFTRoyaltyGuardDeadmanTrigger.json index 1a0b1ff..76eaaa6 100644 --- a/abis/LazySovereignNFTRoyaltyGuardDeadmanTrigger.json +++ b/abis/LazySovereignNFTRoyaltyGuardDeadmanTrigger.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"activateDeadmanListTrigger","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeadmanTriggerAvailableDatetime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"getMintConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct LazySovereignNFT.MintConfig","components":[{"name":"numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"},{"name":"lockedMetadata","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedMinter","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockBaseURI","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prepareMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prepareMintWithMinter","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"_minter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeadmanListTriggerRenewalDuration","inputs":[{"name":"_numYears","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinterApproval","inputs":[{"name":"_minter","type":"address","internalType":"address"},{"name":"_isMinter","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseURI","inputs":[{"name":"_baseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_metadataUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerActivated","inputs":[{"name":"_activator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerDatetimeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldDatetime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newDatetime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"MetadataLocked","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"MetadataUpdated","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepareMint","inputs":[{"name":"numberOfTokens","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadataUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"DeadmanTriggerStillActive","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657613551908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e8146121ac57806301ffc9a7146120d457806306fdde031461202a578063081812fc14612009578063095ea7b314611dec5780630de54ba014611d9d57806318160ddd14611d7d57806318e97fd114611b995780632042748614611b6557806321c4a5d814611aae57806323b872dd14611a895780632a55205a146119f65780632ce878da146119835780633403c4e91461195a5780633a3d146f1461191b5780633ebc82c5146118d957806340c1a064146118af57806342842e0e1461187b57806342966c681461185f578063472a6638146117c057806353df5c7c1461175e5780635aec8d62146116b65780635edc7c19146111ae5780636297c16c146111305780636352211e146110fe57806370a082311461106a578063715018a61461100d578063717392ed14610fed578063755edd1714610daa57806387bc793f14610d82578063894ba83314610d345780638da5cb5b14610d0b578063931688cb14610b3e5780639338bb5d14610aa557806395d89b41146109c05780639e860f2a146108bb578063a22cb4651461075d578063ab69607a1461073e578063b390ac2514610705578063b88d4fde1461067c578063b9fbd25c146105fd578063bc7194551461054f578063c87b56dd14610513578063e8315742146104f3578063e985e9c5146104a5578063eab851181461044a578063ee07080514610427578063efc32cd4146103d8578063f2fde38b146103415763ff6e8c8f1461024657600080fd5b3461033d57610254366123a6565b6033546001600160a01b0396908716330361032e57600384101561031b57831561030c575090610285913691612bde565b93835b8551811015610308576102b061029d84612c44565b836102a8848a612c5e565b511690612ca0565b5082826102bd8389612c5e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102f557600101610288565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103d45760203660031901126103d45761035d6122a5565b916103666124bd565b6001600160a01b03831615610382578361037f84612515565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461033d578060031936011261033d576103f26122a5565b906103fb6124bd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461033d578160031936011261033d5760209060ff80541690519015158152f35b82843461033d57602036600319011261033d5760209061049c61046b6122a5565b61047a60ff6101095416612c44565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461033d578060031936011261033d5760ff816020936104c56122a5565b6104cd6122d6565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461033d578160031936011261033d57602090610100549051908152f35b5091903461054c57602036600319011261054c57506105356105489235612f37565b9051918291602083526020830190612280565b0390f35b80fd5b5082346103d45760203660031901126103d45781359160038310156105f9576033546001600160a01b031633036105eb575061058a82612c44565b805490848155816105cd575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105c733948261237d565b0390a280f35b845260208420908101905b81811015610596578481556001016105d8565b9051635c510c8360e11b8152fd5b8380fd5b508290346103d45760603660031901126103d45780356001600160401b0381116105f95761065b916106319136910161231b565b919061063b6122c0565b926106446124bd565b61065260ff80541615612ec3565b6024359161327f565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461033d57608036600319011261033d576106966122a5565b9061069f6122d6565b91604435606435936001600160401b0385116107015736602386011215610701576106d96106fc9486602461037f98369301359101612486565b926106ec6106e784336127c6565b6126ed565b6106f783838361288e565b612abb565b6127a2565b8580fd5b5082346103d45736600319011261033d5780356001600160401b0381116103d45761037f916107369136910161231b565b6106446124bd565b82843461033d578160031936011261033d5760209060fc549051908152f35b5082346103d45761076d366122ec565b919060ff6101095416600381101561031b57600181036108715750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610862575b6001600160a01b0316923384146108205750338452609c6020528084208385526020526107f1828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036107b657600285526101086020526108a782862060018060a01b0383169060019160005201602052604060002054151590565b156107b65781516282b42960e81b81528490fd5b503461033d576108ca366123a6565b6033546001600160a01b0396908716330361032e5750906108ec913691612bde565b93600382101590816109ad5782610901578480f35b845b865181101561099d5761092b61091885612c44565b83610923848b612c5e565b511690612d13565b508282610938838a612c5e565b51169061098a578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a4600019811461097757600101610903565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461033d578160031936011261033d57805190826098546109e2816125d0565b80855291600191808316908115610a7d5750600114610a20575b505050610a0e8261054894038361244a565b51918291602083526020830190612280565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a6557505050610a0e82602061054895820101946109fc565b80546020878701810191909152909501948101610a48565b610548975086935060209250610a0e94915060ff191682840152151560051b820101946109fc565b50503461054c578060031936011261054c57818051610ac3816123fe565b8281526060602082015201528051610ada816123fe565b610105548152815191610af783610af08161260a565b038461244a565b60208201928352610b3160ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190612280565b9051151560608301520390f35b503461033d576020806003193601126103d4576001600160401b03908235828111610d0757610b70903690850161231b565b939092610b7b6124bd565b60ff6101075416610cbb578411610ca8575061010690610ba484610b9f84546125d0565b612e63565b8490601f8511600114610c11575094610c00918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610c06575b508560011b906000198760031b1c19161790555b5192839283612f0f565b0390a180f35b905084013538610be2565b90601f1985168387526000805160206134fc8339815191529287905b828210610c9057505091610c009391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c76575b5050600185811b019055610bf6565b850135600019600388901b60f8161c191690553880610c67565b80600185968294968a01358155019501930190610c2d565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461033d578160031936011261033d5760335490516001600160a01b039091168152602090f35b823461054c578060031936011261054c57610d4d6124bd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461033d578160031936011261033d576105489060ff610109541690519182918261237d565b50913461033d57602092836003193601126103d457610dc76122a5565b92610dd660ff80541615612ec3565b6033546001600160a01b039190821633148015610fd8575b15610f7c5760fc548260fb541692610104966001885401809855610100548811610f3b57865191610e1e8361242f565b8483528116958615610efa57506106fc8794939289610edd93610e5f610e5983600052609960205260018060a01b0360406000205416151590565b15613233565b600082815260996020526040902054610e82906001600160a01b03161515610e59565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a461299f565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dee565b82843461033d578160031936011261033d5760209061010a549051908152f35b823461054c578060031936011261054c576110266124bd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461033d57602036600319011261033d576001600160a01b0361108c6122a5565b169081156110a9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461054c57602036600319011261054c575061111f602092356125aa565b90516001600160a01b039091168152f35b508290346103d45760203660031901126103d457803591611150836125aa565b336001600160a01b039091160361116b578361037f84612b46565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461033d57608036600319011261033d576001600160401b039281358481116105f9576111df903690840161231b565b9290602435868111610701576111f8903690840161231b565b6112039791976122c0565b9387549860ff94858b60081c16159889809a6116aa575b8015611694575b1561163a5760ff19808d1660019081178d559b9c999a998a611629575b506001600160a01b038916156115e6579161129191611281898f6112999796600a60fc558254168255606435610100555460081c1661127c81612e03565b612e03565b61128a33612515565b3691612486565b933691612486565b906112ad858b5460081c1661127c81612e03565b82518481116115d357806112c26097546125d0565b94601f95868111611562575b506020908d8784116001146114e357926114d8575b5050600019600383901b1c1916908a1b176097555b81519384116114c5575061130d6098546125d0565b828111611462575b5060209183116001146113d657918061138a959492611362948b926113cb575b5050600019600383901b1c191690881b176098555b875460081c1661135981612e03565b61127c81612e03565b60fb80546001600160a01b0319166001600160a01b0383161790556113856124bd565b612515565b611392578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611335565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b81811061144a5750916113629593918561138a9998969410611431575b505050811b0160985561134a565b015160001960f88460031b161c19169055388080611423565b8284015185558b969094019360209384019301611406565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bc575b0160051c019089905b8281106114b1575050611315565b8b81550189906114a3565b9250819261149a565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e3565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154a57508411611531575b505050811b016097556112f8565b015160001960f88460031b161c19169055388080611523565b8284015185558f969094019360209384019301611514565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115ca575b859493910160051c909101908d908f5b8382106115bc575050506112ce565b81558594508e91018f6115ad565b9250819261159d565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d553861123e565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122157506001878d1614611221565b506001878d161061121a565b5082346103d457826003193601126103d45761010a54421061175157506101099081549060ff821690600382101561173e57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b82843461033d578160031936011261033d577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061179a6124bd565b5160208152806117ac6020820161260a565b0390a1610107805460ff1916600117905580f35b508290346103d45760203660031901126103d45780359160038310156105f9576033546001600160a01b0316330361185257506101099182549160ff831690600382101561183f5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461033d57602036600319011261033d5761037f9035612b46565b82843461033d576106fc61037f9161189236612348565b9192519261189f8461242f565b8684526106ec6106e784336127c6565b82843461033d57602036600319011261033d5760335490516001600160a01b039091168152602090f35b823461054c57602036600319011261054c5761037f6118f66122a5565b6118fe6124bd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461033d57602036600319011261033d5760209160ff9082906001600160a01b036119466122a5565b168152610102855220541690519015158152f35b82843461033d578160031936011261033d5760fb5490516001600160a01b039091168152602090f35b50503461054c578060031936011261054c576119a460ff6101095416612c44565b9180519182845490818152602080910195835280832092905b8282106119df5761054886866119d5828b038361244a565b5191829182612219565b8354875295860195600193840193909101906119bd565b5091903461054c578160031936011261054c578235815260fd60205281812054602435906001600160a01b039081168015611a7d57925b60fe602052848120548015611a7357925b838102938185041490151715611a605750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a3e565b508060fb541692611a2d565b823461054c5761037f611a9b36612348565b91611aa96106e784336127c6565b61288e565b5082346103d45760203660031901126103d4576033548235906001600160a01b03163303611b57576301e1338090818102918183041490151715611b4457420191824211611b31575061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b634e487b7160e01b845260118352602484fd5b5051635c510c8360e11b8152fd5b82843461033d57602036600319011261033d57602090611b836122a5565b60018060a01b0380603354169116149051908152f35b503461033d578260031936011261033d578035906001600160401b0390602435828111610d0757611bcd903690830161231b565b929091611bd86124bd565b60ff6101075416611d2f578486526020906101038252878720928511611d1c5750611c0382546125d0565b601f8111611cd9575b508590601f8511600114611c685750956105c7918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610c0657508560011b906000198760031b1c19161790555192839283612f0f565b90601f1985168388528288209288905b828210611cc1575050916105c79391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c76575050600185811b019055610bf6565b80600185968294968a01358155019501930190611c78565b828752818720601f860160051c810191838710611d12575b601f0160051c01905b818110611d075750611c0c565b878155600101611cfa565b9091508190611cf1565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461033d578160031936011261033d57602090610104549051908152f35b82843461033d5761037f90611db1366122ec565b9190611dbb6124bd565b611dc960ff80541615612ec3565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103d457816003193601126103d457611e076122a5565b906024359260ff61010954166003811015611ff65760018103611faf5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611fa3575b6001600160a01b03918280611e67876125aa565b16941693808514611f5657803314908115611f37575b5015611ecf5750838552609b602052842080546001600160a01b03191683179055611ea7836125aa565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611e7d565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611e535760028552610108602052611fe581862060018060a01b0385169060019160005201602052604060002054151590565b15611e5357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461054c57602036600319011261054c575061111f602092356126af565b82843461033d578160031936011261033d578051908260975461204c816125d0565b80855291600191808316908115610a7d575060011461207757505050610a0e8261054894038361244a565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106120bc57505050610a0e82602061054895820101946109fc565b8054602087870181019190915290950194810161209f565b508290346103d45760203660031901126103d45735906001600160e01b031982168083036105f9576020935063fa31a45b60e01b811492831561219b575b8315612123575b5050519015158152f35b919250631030681960e21b81149190821561218a575b8215612161575b508115612151575b50908380612119565b61215b91506134b7565b83612148565b90915063152a902d60e11b14801561217b575b9084612140565b50612185816134b7565b612174565b6301ffc9a760e01b81149250612139565b6301ffc9a760e01b82149350612112565b5082346103d457602091826003193601126105f9573560038110156105f9576121d490612c44565b9281518093808654928381520195835280832092905b8282106122025761054886866119d5828b038361244a565b8354875295860195600193840193909101906121ea565b6020908160408183019282815285518094520193019160005b828110612240575050505090565b83516001600160a01b031685529381019392810192600101612232565b60005b8381106122705750506000910152565b8181015183820152602001612260565b906020916122998151809281855285808601910161225d565b601f01601f1916010190565b600435906001600160a01b03821682036122bb57565b600080fd5b604435906001600160a01b03821682036122bb57565b602435906001600160a01b03821682036122bb57565b60409060031901126122bb576004356001600160a01b03811681036122bb579060243580151581036122bb5790565b9181601f840112156122bb578235916001600160401b0383116122bb57602083818601950101116122bb57565b60609060031901126122bb576001600160a01b039060043582811681036122bb579160243590811681036122bb579060443590565b9190602083019260038210156123905752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126122bb5760043560038110156122bb57916024356001600160401b03928382116122bb57806023830112156122bb5781600401359384116122bb5760248460051b830101116122bb576024019190565b606081019081106001600160401b0382111761241957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761241957604052565b90601f801991011681019081106001600160401b0382111761241957604052565b6001600160401b03811161241957601f01601f191660200190565b9291926124928261246b565b916124a0604051938461244a565b8294818452818301116122bb578281602093846000960137010152565b6033546001600160a01b031633036124d157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561256557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166125cd81151561255e565b90565b90600182811c92168015612600575b60208310146125ea57565b634e487b7160e01b600052602260045260246000fd5b91607f16916125df565b9060009161010690815461261d816125d0565b8083529260019180831690811561268a575060011461263d575b50505050565b90929394506000526000805160206134fc833981519152916000925b8484106126725750506020925001019038808080612637565b80546020858501810191909152909301928101612659565b92505050602093945060ff929192191683830152151560051b01019038808080612637565b6000818152609960205260409020546126d2906001600160a01b0316151561255e565b6000908152609b60205260409020546001600160a01b031690565b156126f457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156127a957565b60405162461bcd60e51b8152806127c26004820161274f565b0390fd5b906001600160a01b0380806127da846125aa565b1693169183831493841561280d575b5083156127f7575b50505090565b612803919293506126af565b16143880806127f1565b909350600052609c60205260406000208260005260205260ff6040600020541692386127e9565b1561283b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906128b69161289c846125aa565b6001600160a01b0393918416928492909183168414612834565b1691821561294e57816128d3916128cc866125aa565b1614612834565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b15612ab1576129ed946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612280565b03926001600160a01b03165af1849181612a71575b50612a60575050503d600014612a58573d612a1c8161246b565b90612a2a604051928361244a565b81528091833d92013e5b80519182612a555760405162461bcd60e51b8152806127c26004820161274f565b01fd5b506060612a34565b6001600160e01b0319161492509050565b9091508581813d8311612aaa575b612a89818361244a565b81010312610d0757516001600160e01b031981168103610d07579038612a02565b503d612a7f565b5050915050600190565b9293600093909291803b15612b3b57948491612b159660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612280565b0393165af1849181612a715750612a60575050503d600014612a58573d612a1c8161246b565b505050915050600190565b612b536106e782336127c6565b612b5c816125aa565b50612b66816125aa565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612419578360051b6040519260208094612c078285018261244a565b80978152019181019283116122bb57905b828210612c255750505050565b81356001600160a01b03811681036122bb578152908301908301612c18565b600381101561239057600052610108602052604060002090565b8051821015612c725760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612c725760005260206000200190600090565b6000828152600182016020526040902054612d0c57805490680100000000000000008210156124195782612cf5612cde846001809601855584612c88565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612dfc5760001991808301818111612de857825490848201918211612dd457808203612d9f575b50505080548015612d8b57820191612d6e8383612c88565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612dbf612daf612cde9386612c88565b90549060031b1c92839286612c88565b90558652846020526040862055388080612d56565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612e0a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612e6f575050565b60009061010682526000805160206134fc833981519152906020601f850160051c83019410612eb9575b601f0160051c01915b828110612eae57505050565b818155600101612ea2565b9092508290612e99565b15612eca57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612f56848620546125d0565b61318b575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000858181101561317e575b50506d04ee2d6d415b85acef810000000080861015613170575b50662386f26fc1000080861015613161575b506305f5e10080861015613152575b5061271080861015613143575b506064851015613133575b600a80951015613129575b6001948584019686602161300f612ffa8b61246b565b9a61300787519c8d61244a565b808c5261246b565b8a89019790601f19013689378a0101905b6130fa575b50505051948593826101069081549161303d836125d0565b928981169081156130d95750600114613092575b50505050600693928261307e64173539b7b760d91b93602f60f81b6125cd9996525180938684019061225d565b01918201520360191981018452018261244a565b815292935090916000805160206134fc8339815191525b8282106130c357505084010190828161307e6125cd613051565b80548983018501528896509083019087016130a9565b60ff1916858a0152505050801515028501019150828161307e6125cd613051565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049087826130205750613025565b9160010191612fe4565b9193606460029104940191612fd9565b60049193950494019138612fce565b60089193950494019138612fc1565b60109193950494019138612fb2565b849193950494019138612fa0565b0494509150813880612f86565b90849392935282528083209051928391818154906131a8826125d0565b8086529260019280841690811561320f57506001146131d2575b505050506125cd9250038261244a565b815285812095935091905b8183106131f75750506125cd9350820101388080806131c2565b855487840185015294850194869450918301916131dd565b93505050506125cd94925060ff191682840152151560051b820101388080806131c2565b1561323a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b929190610100548211613473576101045461341457604051936132a1856123fe565b8285526132af368383612486565b6020908082880152604087019160009788845251610105558151906001600160401b03821161340057610106926132ea83610b9f86546125d0565b81601f841160011461336b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92613360575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561335b60405192839283612f0f565b0390a2565b015190503880613324565b848b5292996000805160206134fc83398151915293601f198c1691905b8282106133e857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106133cf575b505050811b019055613339565b015160001960f88460031b161c191690553880806133c2565b80600186978294978701518155019601940190613388565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b81149081156134ea575b81156134dc575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b811491506134d256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220b8968dc29c8c48e0866375ea26516ac82f253e346d7f6867a8d6075fab514a4764736f6c63430008120033","sourceMap":"212:1724:207:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e8146121ac57806301ffc9a7146120d457806306fdde031461202a578063081812fc14612009578063095ea7b314611dec5780630de54ba014611d9d57806318160ddd14611d7d57806318e97fd114611b995780632042748614611b6557806321c4a5d814611aae57806323b872dd14611a895780632a55205a146119f65780632ce878da146119835780633403c4e91461195a5780633a3d146f1461191b5780633ebc82c5146118d957806340c1a064146118af57806342842e0e1461187b57806342966c681461185f578063472a6638146117c057806353df5c7c1461175e5780635aec8d62146116b65780635edc7c19146111ae5780636297c16c146111305780636352211e146110fe57806370a082311461106a578063715018a61461100d578063717392ed14610fed578063755edd1714610daa57806387bc793f14610d82578063894ba83314610d345780638da5cb5b14610d0b578063931688cb14610b3e5780639338bb5d14610aa557806395d89b41146109c05780639e860f2a146108bb578063a22cb4651461075d578063ab69607a1461073e578063b390ac2514610705578063b88d4fde1461067c578063b9fbd25c146105fd578063bc7194551461054f578063c87b56dd14610513578063e8315742146104f3578063e985e9c5146104a5578063eab851181461044a578063ee07080514610427578063efc32cd4146103d8578063f2fde38b146103415763ff6e8c8f1461024657600080fd5b3461033d57610254366123a6565b6033546001600160a01b0396908716330361032e57600384101561031b57831561030c575090610285913691612bde565b93835b8551811015610308576102b061029d84612c44565b836102a8848a612c5e565b511690612ca0565b5082826102bd8389612c5e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102f557600101610288565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103d45760203660031901126103d45761035d6122a5565b916103666124bd565b6001600160a01b03831615610382578361037f84612515565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461033d578060031936011261033d576103f26122a5565b906103fb6124bd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461033d578160031936011261033d5760209060ff80541690519015158152f35b82843461033d57602036600319011261033d5760209061049c61046b6122a5565b61047a60ff6101095416612c44565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461033d578060031936011261033d5760ff816020936104c56122a5565b6104cd6122d6565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461033d578160031936011261033d57602090610100549051908152f35b5091903461054c57602036600319011261054c57506105356105489235612f37565b9051918291602083526020830190612280565b0390f35b80fd5b5082346103d45760203660031901126103d45781359160038310156105f9576033546001600160a01b031633036105eb575061058a82612c44565b805490848155816105cd575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105c733948261237d565b0390a280f35b845260208420908101905b81811015610596578481556001016105d8565b9051635c510c8360e11b8152fd5b8380fd5b508290346103d45760603660031901126103d45780356001600160401b0381116105f95761065b916106319136910161231b565b919061063b6122c0565b926106446124bd565b61065260ff80541615612ec3565b6024359161327f565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461033d57608036600319011261033d576106966122a5565b9061069f6122d6565b91604435606435936001600160401b0385116107015736602386011215610701576106d96106fc9486602461037f98369301359101612486565b926106ec6106e784336127c6565b6126ed565b6106f783838361288e565b612abb565b6127a2565b8580fd5b5082346103d45736600319011261033d5780356001600160401b0381116103d45761037f916107369136910161231b565b6106446124bd565b82843461033d578160031936011261033d5760209060fc549051908152f35b5082346103d45761076d366122ec565b919060ff6101095416600381101561031b57600181036108715750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610862575b6001600160a01b0316923384146108205750338452609c6020528084208385526020526107f1828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036107b657600285526101086020526108a782862060018060a01b0383169060019160005201602052604060002054151590565b156107b65781516282b42960e81b81528490fd5b503461033d576108ca366123a6565b6033546001600160a01b0396908716330361032e5750906108ec913691612bde565b93600382101590816109ad5782610901578480f35b845b865181101561099d5761092b61091885612c44565b83610923848b612c5e565b511690612d13565b508282610938838a612c5e565b51169061098a578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a4600019811461097757600101610903565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461033d578160031936011261033d57805190826098546109e2816125d0565b80855291600191808316908115610a7d5750600114610a20575b505050610a0e8261054894038361244a565b51918291602083526020830190612280565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a6557505050610a0e82602061054895820101946109fc565b80546020878701810191909152909501948101610a48565b610548975086935060209250610a0e94915060ff191682840152151560051b820101946109fc565b50503461054c578060031936011261054c57818051610ac3816123fe565b8281526060602082015201528051610ada816123fe565b610105548152815191610af783610af08161260a565b038461244a565b60208201928352610b3160ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190612280565b9051151560608301520390f35b503461033d576020806003193601126103d4576001600160401b03908235828111610d0757610b70903690850161231b565b939092610b7b6124bd565b60ff6101075416610cbb578411610ca8575061010690610ba484610b9f84546125d0565b612e63565b8490601f8511600114610c11575094610c00918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610c06575b508560011b906000198760031b1c19161790555b5192839283612f0f565b0390a180f35b905084013538610be2565b90601f1985168387526000805160206134fc8339815191529287905b828210610c9057505091610c009391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c76575b5050600185811b019055610bf6565b850135600019600388901b60f8161c191690553880610c67565b80600185968294968a01358155019501930190610c2d565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461033d578160031936011261033d5760335490516001600160a01b039091168152602090f35b823461054c578060031936011261054c57610d4d6124bd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461033d578160031936011261033d576105489060ff610109541690519182918261237d565b50913461033d57602092836003193601126103d457610dc76122a5565b92610dd660ff80541615612ec3565b6033546001600160a01b039190821633148015610fd8575b15610f7c5760fc548260fb541692610104966001885401809855610100548811610f3b57865191610e1e8361242f565b8483528116958615610efa57506106fc8794939289610edd93610e5f610e5983600052609960205260018060a01b0360406000205416151590565b15613233565b600082815260996020526040902054610e82906001600160a01b03161515610e59565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a461299f565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dee565b82843461033d578160031936011261033d5760209061010a549051908152f35b823461054c578060031936011261054c576110266124bd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461033d57602036600319011261033d576001600160a01b0361108c6122a5565b169081156110a9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461054c57602036600319011261054c575061111f602092356125aa565b90516001600160a01b039091168152f35b508290346103d45760203660031901126103d457803591611150836125aa565b336001600160a01b039091160361116b578361037f84612b46565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461033d57608036600319011261033d576001600160401b039281358481116105f9576111df903690840161231b565b9290602435868111610701576111f8903690840161231b565b6112039791976122c0565b9387549860ff94858b60081c16159889809a6116aa575b8015611694575b1561163a5760ff19808d1660019081178d559b9c999a998a611629575b506001600160a01b038916156115e6579161129191611281898f6112999796600a60fc558254168255606435610100555460081c1661127c81612e03565b612e03565b61128a33612515565b3691612486565b933691612486565b906112ad858b5460081c1661127c81612e03565b82518481116115d357806112c26097546125d0565b94601f95868111611562575b506020908d8784116001146114e357926114d8575b5050600019600383901b1c1916908a1b176097555b81519384116114c5575061130d6098546125d0565b828111611462575b5060209183116001146113d657918061138a959492611362948b926113cb575b5050600019600383901b1c191690881b176098555b875460081c1661135981612e03565b61127c81612e03565b60fb80546001600160a01b0319166001600160a01b0383161790556113856124bd565b612515565b611392578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611335565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b81811061144a5750916113629593918561138a9998969410611431575b505050811b0160985561134a565b015160001960f88460031b161c19169055388080611423565b8284015185558b969094019360209384019301611406565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bc575b0160051c019089905b8281106114b1575050611315565b8b81550189906114a3565b9250819261149a565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e3565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154a57508411611531575b505050811b016097556112f8565b015160001960f88460031b161c19169055388080611523565b8284015185558f969094019360209384019301611514565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115ca575b859493910160051c909101908d908f5b8382106115bc575050506112ce565b81558594508e91018f6115ad565b9250819261159d565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d553861123e565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122157506001878d1614611221565b506001878d161061121a565b5082346103d457826003193601126103d45761010a54421061175157506101099081549060ff821690600382101561173e57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b82843461033d578160031936011261033d577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061179a6124bd565b5160208152806117ac6020820161260a565b0390a1610107805460ff1916600117905580f35b508290346103d45760203660031901126103d45780359160038310156105f9576033546001600160a01b0316330361185257506101099182549160ff831690600382101561183f5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461033d57602036600319011261033d5761037f9035612b46565b82843461033d576106fc61037f9161189236612348565b9192519261189f8461242f565b8684526106ec6106e784336127c6565b82843461033d57602036600319011261033d5760335490516001600160a01b039091168152602090f35b823461054c57602036600319011261054c5761037f6118f66122a5565b6118fe6124bd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461033d57602036600319011261033d5760209160ff9082906001600160a01b036119466122a5565b168152610102855220541690519015158152f35b82843461033d578160031936011261033d5760fb5490516001600160a01b039091168152602090f35b50503461054c578060031936011261054c576119a460ff6101095416612c44565b9180519182845490818152602080910195835280832092905b8282106119df5761054886866119d5828b038361244a565b5191829182612219565b8354875295860195600193840193909101906119bd565b5091903461054c578160031936011261054c578235815260fd60205281812054602435906001600160a01b039081168015611a7d57925b60fe602052848120548015611a7357925b838102938185041490151715611a605750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a3e565b508060fb541692611a2d565b823461054c5761037f611a9b36612348565b91611aa96106e784336127c6565b61288e565b5082346103d45760203660031901126103d4576033548235906001600160a01b03163303611b57576301e1338090818102918183041490151715611b4457420191824211611b31575061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b634e487b7160e01b845260118352602484fd5b5051635c510c8360e11b8152fd5b82843461033d57602036600319011261033d57602090611b836122a5565b60018060a01b0380603354169116149051908152f35b503461033d578260031936011261033d578035906001600160401b0390602435828111610d0757611bcd903690830161231b565b929091611bd86124bd565b60ff6101075416611d2f578486526020906101038252878720928511611d1c5750611c0382546125d0565b601f8111611cd9575b508590601f8511600114611c685750956105c7918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610c0657508560011b906000198760031b1c19161790555192839283612f0f565b90601f1985168388528288209288905b828210611cc1575050916105c79391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c76575050600185811b019055610bf6565b80600185968294968a01358155019501930190611c78565b828752818720601f860160051c810191838710611d12575b601f0160051c01905b818110611d075750611c0c565b878155600101611cfa565b9091508190611cf1565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461033d578160031936011261033d57602090610104549051908152f35b82843461033d5761037f90611db1366122ec565b9190611dbb6124bd565b611dc960ff80541615612ec3565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103d457816003193601126103d457611e076122a5565b906024359260ff61010954166003811015611ff65760018103611faf5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611fa3575b6001600160a01b03918280611e67876125aa565b16941693808514611f5657803314908115611f37575b5015611ecf5750838552609b602052842080546001600160a01b03191683179055611ea7836125aa565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611e7d565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611e535760028552610108602052611fe581862060018060a01b0385169060019160005201602052604060002054151590565b15611e5357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461054c57602036600319011261054c575061111f602092356126af565b82843461033d578160031936011261033d578051908260975461204c816125d0565b80855291600191808316908115610a7d575060011461207757505050610a0e8261054894038361244a565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106120bc57505050610a0e82602061054895820101946109fc565b8054602087870181019190915290950194810161209f565b508290346103d45760203660031901126103d45735906001600160e01b031982168083036105f9576020935063fa31a45b60e01b811492831561219b575b8315612123575b5050519015158152f35b919250631030681960e21b81149190821561218a575b8215612161575b508115612151575b50908380612119565b61215b91506134b7565b83612148565b90915063152a902d60e11b14801561217b575b9084612140565b50612185816134b7565b612174565b6301ffc9a760e01b81149250612139565b6301ffc9a760e01b82149350612112565b5082346103d457602091826003193601126105f9573560038110156105f9576121d490612c44565b9281518093808654928381520195835280832092905b8282106122025761054886866119d5828b038361244a565b8354875295860195600193840193909101906121ea565b6020908160408183019282815285518094520193019160005b828110612240575050505090565b83516001600160a01b031685529381019392810192600101612232565b60005b8381106122705750506000910152565b8181015183820152602001612260565b906020916122998151809281855285808601910161225d565b601f01601f1916010190565b600435906001600160a01b03821682036122bb57565b600080fd5b604435906001600160a01b03821682036122bb57565b602435906001600160a01b03821682036122bb57565b60409060031901126122bb576004356001600160a01b03811681036122bb579060243580151581036122bb5790565b9181601f840112156122bb578235916001600160401b0383116122bb57602083818601950101116122bb57565b60609060031901126122bb576001600160a01b039060043582811681036122bb579160243590811681036122bb579060443590565b9190602083019260038210156123905752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126122bb5760043560038110156122bb57916024356001600160401b03928382116122bb57806023830112156122bb5781600401359384116122bb5760248460051b830101116122bb576024019190565b606081019081106001600160401b0382111761241957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761241957604052565b90601f801991011681019081106001600160401b0382111761241957604052565b6001600160401b03811161241957601f01601f191660200190565b9291926124928261246b565b916124a0604051938461244a565b8294818452818301116122bb578281602093846000960137010152565b6033546001600160a01b031633036124d157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561256557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166125cd81151561255e565b90565b90600182811c92168015612600575b60208310146125ea57565b634e487b7160e01b600052602260045260246000fd5b91607f16916125df565b9060009161010690815461261d816125d0565b8083529260019180831690811561268a575060011461263d575b50505050565b90929394506000526000805160206134fc833981519152916000925b8484106126725750506020925001019038808080612637565b80546020858501810191909152909301928101612659565b92505050602093945060ff929192191683830152151560051b01019038808080612637565b6000818152609960205260409020546126d2906001600160a01b0316151561255e565b6000908152609b60205260409020546001600160a01b031690565b156126f457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156127a957565b60405162461bcd60e51b8152806127c26004820161274f565b0390fd5b906001600160a01b0380806127da846125aa565b1693169183831493841561280d575b5083156127f7575b50505090565b612803919293506126af565b16143880806127f1565b909350600052609c60205260406000208260005260205260ff6040600020541692386127e9565b1561283b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906128b69161289c846125aa565b6001600160a01b0393918416928492909183168414612834565b1691821561294e57816128d3916128cc866125aa565b1614612834565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b15612ab1576129ed946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612280565b03926001600160a01b03165af1849181612a71575b50612a60575050503d600014612a58573d612a1c8161246b565b90612a2a604051928361244a565b81528091833d92013e5b80519182612a555760405162461bcd60e51b8152806127c26004820161274f565b01fd5b506060612a34565b6001600160e01b0319161492509050565b9091508581813d8311612aaa575b612a89818361244a565b81010312610d0757516001600160e01b031981168103610d07579038612a02565b503d612a7f565b5050915050600190565b9293600093909291803b15612b3b57948491612b159660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612280565b0393165af1849181612a715750612a60575050503d600014612a58573d612a1c8161246b565b505050915050600190565b612b536106e782336127c6565b612b5c816125aa565b50612b66816125aa565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612419578360051b6040519260208094612c078285018261244a565b80978152019181019283116122bb57905b828210612c255750505050565b81356001600160a01b03811681036122bb578152908301908301612c18565b600381101561239057600052610108602052604060002090565b8051821015612c725760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612c725760005260206000200190600090565b6000828152600182016020526040902054612d0c57805490680100000000000000008210156124195782612cf5612cde846001809601855584612c88565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612dfc5760001991808301818111612de857825490848201918211612dd457808203612d9f575b50505080548015612d8b57820191612d6e8383612c88565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612dbf612daf612cde9386612c88565b90549060031b1c92839286612c88565b90558652846020526040862055388080612d56565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612e0a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612e6f575050565b60009061010682526000805160206134fc833981519152906020601f850160051c83019410612eb9575b601f0160051c01915b828110612eae57505050565b818155600101612ea2565b9092508290612e99565b15612eca57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612f56848620546125d0565b61318b575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000858181101561317e575b50506d04ee2d6d415b85acef810000000080861015613170575b50662386f26fc1000080861015613161575b506305f5e10080861015613152575b5061271080861015613143575b506064851015613133575b600a80951015613129575b6001948584019686602161300f612ffa8b61246b565b9a61300787519c8d61244a565b808c5261246b565b8a89019790601f19013689378a0101905b6130fa575b50505051948593826101069081549161303d836125d0565b928981169081156130d95750600114613092575b50505050600693928261307e64173539b7b760d91b93602f60f81b6125cd9996525180938684019061225d565b01918201520360191981018452018261244a565b815292935090916000805160206134fc8339815191525b8282106130c357505084010190828161307e6125cd613051565b80548983018501528896509083019087016130a9565b60ff1916858a0152505050801515028501019150828161307e6125cd613051565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049087826130205750613025565b9160010191612fe4565b9193606460029104940191612fd9565b60049193950494019138612fce565b60089193950494019138612fc1565b60109193950494019138612fb2565b849193950494019138612fa0565b0494509150813880612f86565b90849392935282528083209051928391818154906131a8826125d0565b8086529260019280841690811561320f57506001146131d2575b505050506125cd9250038261244a565b815285812095935091905b8183106131f75750506125cd9350820101388080806131c2565b855487840185015294850194869450918301916131dd565b93505050506125cd94925060ff191682840152151560051b820101388080806131c2565b1561323a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b929190610100548211613473576101045461341457604051936132a1856123fe565b8285526132af368383612486565b6020908082880152604087019160009788845251610105558151906001600160401b03821161340057610106926132ea83610b9f86546125d0565b81601f841160011461336b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92613360575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561335b60405192839283612f0f565b0390a2565b015190503880613324565b848b5292996000805160206134fc83398151915293601f198c1691905b8282106133e857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106133cf575b505050811b019055613339565b015160001960f88460031b161c191690553880806133c2565b80600186978294978701518155019601940190613388565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b81149081156134ea575b81156134dc575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b811491506134d256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba2646970667358221220b8968dc29c8c48e0866375ea26516ac82f253e346d7f6867a8d6075fab514a4764736f6c63430008120033","sourceMap":"212:1724:207:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:39;212:1724:207;-1:-1:-1;;;;;212:1724:207;;;;2088:10:111;1310:16:207;2064:71:111;;212:1724:207;;;;;;2839:39:111;;2835:84;;212:1724:207;;;;;;;:::i;:::-;5643:13:111;;5677:3;212:1724:207;;5658:17:111;;;;;8398:50:109;5717:15:111;;;:::i;:::-;5737:9;;;;;:::i;:::-;212:1724:207;;8398:50:109;;:::i;:::-;;5795:9:111;;;;;;:::i;:::-;212:1724:207;;2088:10:111;5764:52;;;;-1:-1:-1;;212:1724:207;;;;;;5643:13:111;;212:1724:207;-1:-1:-1;;;212:1724:207;;;;;;;;5658:17:111;;212:1724:207;;2835:84:111;212:1724:207;-1:-1:-1;;;2887:32:111;;212:1724:207;;2887:32:111;212:1724:207;-1:-1:-1;;;212:1724:207;;;;;;;;2064:71:111;212:1724:207;-1:-1:-1;;;2108:27:111;;212:1724:207;;2108:27:111;212:1724:207;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;212:1724:207;;2402:22:39;212:1724:207;;2496:8:39;;;;:::i;:::-;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;212:1724:207;;;;7807:16:204;212:1724:207;;;;;;-1:-1:-1;;;;;;212:1724:207;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:20:204;212:1724:207;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;8963:55:109;212:1724:207;;:::i;:::-;4167:14:111;212:1724:207;4172:8:111;212:1724:207;;4167:14:111;:::i;:::-;-1:-1:-1;;;;;212:1724:207;;;-1:-1:-1;212:1724:207;;;;4351:12:109;;;212:1724:207;;;;;;4351:24:109;;;4255:127;8963:55;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;212:1724:207;;;;;4980:18:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:24:204;212:1724:207;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;;;1513:6:39;212:1724:207;-1:-1:-1;;;;;212:1724:207;2088:10:111;1310:16:207;2064:71:111;;3436:15;;;;:::i;:::-;212:1724:207;;;;;;;;;;;;3462:34:111;212:1724:207;;2088:10:111;3462:34;2088:10;3462:34;;;:::i;:::-;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;2064:71:111;212:1724:207;;-1:-1:-1;;;2108:27:111;;;212:1724:207;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;-1:-1:-1;;;;;212:1724:207;;;;6019:15:204;212:1724:207;;;;;;;:::i;:::-;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;4495:52:204;4504:8;212:1724:207;;;4503:9:204;4495:52;:::i;:::-;212:1724:207;;6019:15:204;;:::i;:::-;-1:-1:-1;;;;;212:1724:207;;;6045:15:204;212:1724:207;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;6956:47:58;212:1724:207;;;6948:110:58;212:1724:207;;;;;;;;:::i;:::-;929:10:65;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;212:1724:207:-;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;-1:-1:-1;;;;;212:1724:207;;;;5488:15:204;212:1724:207;;;;;;;:::i;:::-;1303:62:39;;:::i;212:1724:207:-;;;;;;;;;;;;;;;;2453:24:212;212:1724:207;;;;;;;;;;;;;;;;:::i;:::-;;;;1460:8:111;212:1724:207;;;;;;;;1472:28:111;1460:40;;1472:28;;-1:-1:-1;1472:28:111;212:1724:207;;;1515:4:111;212:1724:207;;;;;;;-1:-1:-1;;;;;212:1724:207;;-1:-1:-1;212:1724:207;;;4351:12:109;;212:1724:207;;;;;;4351:24:109;1510:92:111;;1456:309;-1:-1:-1;;;;;212:1724:207;;929:10:65;13528:17:58;;212:1724:207;;929:10:65;;212:1724:207;;13585:18:58;212:1724:207;;;;;;;;;;13585:46:58;212:1724:207;;;;;;;;;;;;;;;;;;;13585:46:58;212:1724:207;;;;;;13646:41:58;212:1724:207;929:10:65;13646:41:58;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:111;212:1724:207;;-1:-1:-1;;;1574:28:111;;212:1724:207;;1574:28:111;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;212:1724:207;;1672:4:111;212:1724:207;;8963:55:109;212:1724:207;;;;;;;;;;8963:55:109;4351:12;4255:127;-1:-1:-1;212:1724:207;4351:12:109;212:1724:207;;;-1:-1:-1;212:1724:207;;4351:24:109;;4255:127;;8963:55;1668:90:111;1456:309;1668:90;212:1724:207;;-1:-1:-1;;;1730:28:111;;212:1724:207;;1730:28:111;212:1724:207;;;;;;;;:::i;:::-;1513:6:39;212:1724:207;-1:-1:-1;;;;;212:1724:207;;;;2088:10:111;1310:16:207;2064:71:111;;212:1724:207;;;;;;;:::i;:::-;;;;;;;;;;5589:39:111;5585:387;;212:1724:207;;;5585:387:111;5643:13;5677:3;212:1724:207;;5658:17:111;;;;;8719:53:109;5845:15:111;;;:::i;:::-;5868:9;;;;;:::i;:::-;212:1724:207;;8719:53:109;;:::i;:::-;;5926:9:111;;;;;;:::i;:::-;212:1724:207;;;;;2088:10:111;;;5895:52;;;;-1:-1:-1;;212:1724:207;;;;;;5643:13:111;;212:1724:207;-1:-1:-1;;;212:1724:207;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;5658:17:111;;;;;;;;5585:387;;;;;212:1724:207;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:58;212:1724:207;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;9923:10:204;212:1724:207;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;;;:::i;:::-;212:1724:207;8048:25:204;212:1724:207;;;;;;;;8143:18:204;;212:1724:207;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;8187:25:204;212:1724:207;;;;8187:25:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;8187:25:204;;;;;:::i;:::-;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;212:1724:207;;;;;;;;;;;;8187:25:204;212:1724:207;;;8187:25:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;212:1724:207;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;7165:4:204;212:1724:207;;;;;;;;7201:10:204;7184:28;;;;212:1724:207;;;;;;;;;;;;;;;;;;;4333:8:111;212:1724:207;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;4495:52:204;4504:8;212:1724:207;;;4503:9:204;4495:52;:::i;:::-;1513:6:39;212:1724:207;-1:-1:-1;;;;;212:1724:207;;;;6391:10:204;:21;:52;;;;212:1724:207;;;;2453:24:212;212:1724:207;;2332:22:212;212:1724:207;;12147:14:204;;212:1724:207;;;;;;;;12254:9:204;212:1724:207;12243:20:204;;212:1724:207;;;;;;;;:::i;:::-;;;;;;9487:16:58;;;212:1724:207;;9559:16:58;8950:53;9559:16;;;;;8929:150;9559:16;9550:58;9559:16;;-1:-1:-1;212:1724:207;7266:7:58;212:1724:207;;;;;;;;-1:-1:-1;212:1724:207;;;7680:31:58;;7592:126;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;212:1724:207;;;7266:7:58;212:1724:207;;;;;;9754:58:58;;-1:-1:-1;;;;;212:1724:207;7680:31:58;;9763:16;7592:126;9754:58;212:1724:207;;;10154:9:58;212:1724:207;;;;;;;;;;;;;;10193:7:58;212:1724:207;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;10230:33:58;;;;;8950:53;:::i;8929:150::-;212:1724:207;;;1794:18:212;212:1724:207;;;;;;1639:16:212;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;6391:52:204;:10;;212:1724:207;;6416:15:204;212:1724:207;;4504:8:204;212:1724:207;;;;;6391:52:204;;212:1724:207;;;;;;;;;;;;;;;;2482:31:113;212:1724:207;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;212:1724:207;;-1:-1:-1;;;;;;212:1724:207;;;;;;;-1:-1:-1;;;;;212:1724:207;2806:40:39;212:1724:207;;2806:40:39;212:1724:207;;;;;;;;;-1:-1:-1;;212:1724:207;;;;-1:-1:-1;;;;;212:1724:207;;:::i;:::-;;2489:19:58;;;212:1724:207;;;;;;;;;2571:9:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;6897:17:204;;;;:::i;:::-;6918:10;-1:-1:-1;;;;;212:1724:207;;;6897:31:204;212:1724:207;;7000:8:204;;;;:::i;212:1724:207:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:45;3347:34;;;;;;212:1724:207;3346:108:45;;;;212:1724:207;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;;;;;3562:65:45;;212:1724:207;-1:-1:-1;;;;;;212:1724:207;;3821:22:204;212:1724:207;;;;;5366:69:45;212:1724:207;;;;;3917:2:204;2197:38:212;212:1724:207;;;;;;;;3956:22:204;212:1724:207;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;212:1724:207;;;:::i;:::-;;;;;:::i;:::-;;5366:69:45;212:1724:207;;;;;;5366:69:45;;;:::i;:::-;212:1724:207;;;;;;;;;1873:13:58;212:1724:207;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;212:1724:207;;;;;;;;;;;1873:13:58;212:1724:207;;;;;;;;;;;1896:17:58;212:1724:207;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:39;212:1724:207;;;5366:69:45;212:1724:207;;;;;;-1:-1:-1;;;;212:1724:207;;;;;;;;;;;1896:17:58;212:1724:207;;;;;;;5366:69:45;;;:::i;:::-;;;;:::i;:::-;1492:34:212;212:1724:207;;-1:-1:-1;;;;;;212:1724:207;-1:-1:-1;;;;;212:1724:207;;;;;1303:62:39;;:::i;:::-;2496:8;:::i;:::-;3647:99:45;;212:1724:207;;;3647:99:45;212:1724:207;;-1:-1:-1;;212:1724:207;;;;;;;3721:14:45;;212:1724:207;;3721:14:45;3647:99;;212:1724:207;;;;;;;-1:-1:-1;212:1724:207;;;;;1896:17:58;212:1724:207;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;5366:69:45;212:1724:207;;;;2496:8:39;212:1724:207;;;;;;;;;;;;;;1896:17:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;;;;;;;;;;1873:13:58;212:1724:207;;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;;;;;1873:13:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;3562:65:45;-1:-1:-1;;212:1724:207;;;;;3562:65:45;;;212:1724:207;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;212:1724:207;;;;;3436:17:45;3346:108;;3347:34;212:1724:207;;;;;3365:16:45;3347:34;;212:1724:207;;;;;;;;;;;;;;1916:31:113;212:1724:207;1950:15:113;-1:-1:-1;1912:117:113;;5330:8:111;;212:1724:207;;;;;;;;;;;;;;5318:10:111;;;;5302:51;;;;-1:-1:-1;;212:1724:207;;;5318:10:111;2086:35:113;;;;212:1724:207;;;-1:-1:-1;;;212:1724:207;;;;;;;;1912:117:113;212:1724:207;-1:-1:-1;;;1974:55:113;;;212:1724:207;;;;;;;;;;;;;;8808:34:204;1303:62:39;;;:::i;:::-;212:1724:207;;;;;;;;;;:::i;:::-;8808:34:204;;;8852:25;212:1724:207;;-1:-1:-1;;212:1724:207;8823:18:204;212:1724:207;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;;;1513:6:39;212:1724:207;-1:-1:-1;;;;;212:1724:207;2088:10:111;1310:16:207;2064:71:111;;5330:8;;212:1724:207;;;;;;;;;;;;;;2088:10:111;;;212:1724:207;2088:10:111;;5302:51;;;;212:1724:207;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;2064:71:111;212:1724:207;-1:-1:-1;;;2108:27:111;;;212:1724:207;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;:::i;:::-;;;;;;6956:47:58;6948:110;212:1724:207;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;212:1724:207:-;;;;;;;;-1:-1:-1;;212:1724:207;;;;1513:6:39;212:1724:207;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;7474:9:204;212:1724:207;;:::i;:::-;1303:62:39;;:::i;:::-;212:1724:207;;;;;;-1:-1:-1;;;;;212:1724:207;;1492:34:212;212:1724:207;;;1492:34:212;212:1724:207;1418:115:212;212:1724:207;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;:::i;:::-;;;;9370:15:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;2332:22:212;212:1724:207;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;4008:14:111;212:1724:207;4013:8:111;212:1724:207;;4008:14:111;:::i;:::-;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:212;212:1724:207;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;1049:40:212;;212:1724:207;;1049:118:212;;1238:18;212:1724:207;;;;;;1238:33:212;;;;:131;;212:1724:207;;;;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;;1401:3:212;212:1724:207;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;1238:131:212;212:1724:207;1345:24:212;212:1724:207;1238:131:212;;;1049:118;212:1724:207;;1145:22:212;212:1724:207;;1049:118:212;;;212:1724:207;;;;;5365:7:58;212:1724:207;;;:::i;:::-;929:10:65;5235:99:58;5243:41;929:10:65;;5243:41:58;:::i;5235:99::-;5365:7;:::i;212:1724:207:-;;;;;;;;-1:-1:-1;;212:1724:207;;;;1513:6:39;212:1724:207;;;;-1:-1:-1;;;;;212:1724:207;2088:10:111;1310:16:207;2064:71:111;;2943:8:113;212:1724:207;;;;;;;;;;;;;;;2913:15:113;212:1724:207;2913:15:113;;;212:1724:207;;;3004:31:113;;212:1724:207;2962:87:113;212:1724:207;;;;;;;;;;;;;2088:10:111;2962:87:113;;212:1724:207;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;2064:71:111;-1:-1:-1;212:1724:207;-1:-1:-1;;;2108:27:111;;;212:1724:207;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;:::i;:::-;;;;;;;1513:6:39;212:1724:207;;;;1310:16;212:1724;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;;;:::i;:::-;212:1724:207;8478:25:204;212:1724:207;;;;;;;;;8574:10:204;212:1724:207;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8624:39:204;212:1724:207;;;;8624:39:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;8624:39:204;;;;;:::i;212:1724:207:-;;;;;;;;;;;;;;;;;;;;;;;;8624:39:204;212:1724:207;;;8624:39:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;10869:14:204;212:1724:207;;;;;;;;;;;;;5050:36:204;212:1724:207;;;;:::i;:::-;1303:62:39;;;;:::i;:::-;4495:52:204;4504:8;212:1724:207;;;4503:9:204;4495:52;:::i;:::-;212:1724:207;;;;;;;;5050:15:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:111;212:1724:207;;;;;;;;;1460:40:111;;212:1724:207;;-1:-1:-1;212:1724:207;;;;1515:4:111;212:1724:207;;;;;;;-1:-1:-1;;;;;212:1724:207;;-1:-1:-1;212:1724:207;;;4351:12:109;;212:1724:207;;;;;;4351:24:109;1510:92:111;;1456:309;-1:-1:-1;;;;;212:1724:207;;;4025:34:58;;;:::i;:::-;212:1724:207;;;4077:11:58;;;;212:1724:207;;929:10:65;;4158:21:58;:62;;;;;1456:309:111;212:1724:207;;;;-1:-1:-1;212:1724:207;;;13173:15:58;212:1724:207;;;;;;-1:-1:-1;;;;;;212:1724:207;;;;;13226:34:58;212:1724:207;13226:34:58;:::i;:::-;212:1724:207;13217:57:58;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:62:58;212:1724:207;;;;4980:18:58;212:1724:207;;;;;929:10:65;212:1724:207;;;;;;;;;;4158:62:58;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;1510:92:111;212:1724:207;-1:-1:-1;;;1574:28:111;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;212:1724:207;;1672:4:111;212:1724:207;;8963:55:109;212:1724:207;;;;;;;;;;8963:55:109;4351:12;4255:127;-1:-1:-1;212:1724:207;4351:12:109;212:1724:207;;;-1:-1:-1;212:1724:207;;4351:24:109;;4255:127;;8963:55;1668:90:111;1456:309;1668:90;212:1724:207;-1:-1:-1;;;1730:28:111;;;212:1724:207;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:58;212:1724:207;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;;;-1:-1:-1;;;;;;212:1724:207;;;;;;;;;-1:-1:-1;;;;4844:47:111;;;:88;;;;212:1724:207;773:108;;;;212:1724;;;;;;;;;;773:108;11218:31:204;;-1:-1:-1;;;;11203:46:204;;;11218:31;11203:110;;;;773:108:207;11203:175:204;;;;773:108:207;11203:239:204;;;;;773:108:207;;;;;;;11203:239:204;11394:48;;;;:::i;:::-;11203:239;;;:175;2028:26:212;;-1:-1:-1;;;;2013:41:212;:93;;;;11203:175:204;;;;;2013:93:212;2070:36;;;;:::i;:::-;2013:93;;11203:110:204;-1:-1:-1;;;937:40:103;;;-1:-1:-1;11203:110:204;;4844:88:111;-1:-1:-1;;;937:40:103;;;-1:-1:-1;4844:88:111;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;3857:15:111;;;:::i;:::-;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;212:1724:207;;;;:::o;:::-;;;;-1:-1:-1;;;;;212:1724:207;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;212:1724:207;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;212:1724:207;;;;;-1:-1:-1;212:1724:207;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;:::o;:::-;-1:-1:-1;;;;;212:1724:207;;;;;;-1:-1:-1;;212:1724:207;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;;:::o;1599:130:39:-;1513:6;212:1724:207;-1:-1:-1;;;;;212:1724:207;929:10:65;1662:23:39;212:1724:207;;1599:130:39:o;212:1724:207:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;212:1724:207;;-1:-1:-1;;;;;212:1724:207;;;-1:-1:-1;;;;;;212:1724:207;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;212:1724:207:-;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;2651:219:58;-1:-1:-1;212:1724:207;;;7266:7:58;212:1724:207;;;;;;-1:-1:-1;;;;;212:1724:207;2785:56:58;2793:19;;;2785:56;:::i;:::-;2651:219;:::o;212:1724:207:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;8823:18:204;212:1724:207;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;212:1724:207;-1:-1:-1;;;;;;;;;;;212:1724:207;-1:-1:-1;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4407:167:58;-1:-1:-1;212:1724:207;;;7266:7:58;212:1724:207;;;;;;13851:53:58;;-1:-1:-1;;;;;212:1724:207;7680:31:58;;13851:53;:::i;:::-;-1:-1:-1;212:1724:207;;;4543:15:58;212:1724:207;;;;;;-1:-1:-1;;;;;212:1724:207;;4407:167:58:o;212:1724:207:-;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:207;;;;;;;;:::i;:::-;;;;7876:272:58;;-1:-1:-1;;;;;212:1724:207;;8001:34:58;7876:272;8001:34;:::i;:::-;212:1724:207;;;8053:16:58;;;;:52;;;;;7876:272;8053:87;;;;;7876:272;8045:96;;;7876:272;:::o;8053:87::-;8109:20;;;;;;:::i;:::-;212:1724:207;8109:31:58;8053:87;;;;;:52;212:1724:207;;;-1:-1:-1;212:1724:207;4980:18:58;212:1724:207;;;-1:-1:-1;212:1724:207;;-1:-1:-1;212:1724:207;;;;;-1:-1:-1;212:1724:207;;;8053:52:58;;;;212:1724:207;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;11762:1225:58;;11851:92;11762:1225;11859:34;;;:::i;:::-;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;11859:42:58;;11851:92;:::i;:::-;212:1724:207;11961:16:58;;;212:1724:207;;12171:34:58;12163:92;12171:34;;;;:::i;:::-;212:1724:207;12171:42:58;12163:92;:::i;:::-;12901:27;11975:1;212:1724:207;;;12324:15:58;212:1724:207;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;12792:9:58;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:58;212:1724:207;;;;;;;;;;;;;12901:27:58;;11762:1225::o;212:1724:207:-;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;14463:853:58;;;212:1724:207;;14463:853:58;;;1713:19:63;;:23;:19;;212:1724:207;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;212:1724:207;;;;;;;;;;;;;;;14667:82:58;;;;212:1724:207;;;;;;;;:::i;:::-;14667:82:58;;-1:-1:-1;;;;;212:1724:207;14667:82:58;;;;;;;14628:682;-1:-1:-1;14663:595:58;;14877:381;;;212:1724:207;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:58;;;212:1724:207;;-1:-1:-1;;;14969:60:58;;212:1724:207;14969:60:58;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;212:1724:207;;;;;14663:595:58;-1:-1:-1;;;;;;212:1724:207;14799:62:58;;-1:-1:-1;212:1724:207;-1:-1:-1;14792:69:58:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;212:1724:207;;;;;-1:-1:-1;;;;;;212:1724:207;;;;;;14667:82:58;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;212:1724:207;;14463:853:58;;;1713:19:63;;:23;:19;;212:1724:207;;;;;;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;14667:82:58;;212:1724:207;;;;;;;;:::i;:::-;14667:82:58;212:1724:207;;14667:82:58;;;;;;;-1:-1:-1;14663:595:58;;14877:381;;;212:1724:207;;;;;;;;;:::i;14628:682:58:-;15288:11;;;;;;15295:4;15288:11;:::o;803:238:61:-;911:99;919:41;929:10:65;;919:41:61;:::i;911:99::-;10729:34:58;;;:::i;:::-;;10935;;;:::i;:::-;11007:31;212:1724:207;;;11014:15:58;212:1724:207;;;;;;;;;;-1:-1:-1;;;;;;212:1724:207;;;;;;-1:-1:-1;;;;;212:1724:207;;;;;;11254:9:58;212:1724:207;;;;;;;-1:-1:-1;;212:1724:207;;;;;;11302:7:58;212:1724:207;;;;;;;;;;;;;11007:31:58;11334:36;11007:31;;11334:36;803:238:61:o;212:1724:207:-;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:207;3857:4:111;212:1724:207;;;-1:-1:-1;212:1724:207;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:207;;-1:-1:-1;212:1724:207;;;-1:-1:-1;212:1724:207;:::o;2214:404:109:-;-1:-1:-1;212:1724:207;;;4351:12:109;;;212:1724:207;;;;;;2298:21:109;;212:1724:207;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:207;2493:12:109;212:1724:207;;;-1:-1:-1;212:1724:207;;;2547:11:109;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:109;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;3023:15:109;;;;3019:1149;3023:15;;;-1:-1:-1;;212:1724:207;;;;;;;;;;;;;;;;;;;;3505:26:109;;;3501:398;;3019:1149;212:1724:207;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:109;4103:11;:::o;212:1724:207:-;-1:-1:-1;;;212:1724:207;;;;;;;;3501:398:109;212:1724:207;3571:22:109;3693:26;3571:22;;;:::i;:::-;212:1724:207;;;;;;3693:26:109;;;;;:::i;212:1724:207:-;;;;;;;;;;;;3501:398:109;;;;;212:1724:207;-1:-1:-1;;;212:1724:207;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;3019:1149:109;4145:12;;;;;:::o;212:1724:207:-;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;212:1724:207;8143:18:204;212:1724:207;;-1:-1:-1;;;;;;;;;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:207;;;;:::o;10218:451:204:-;-1:-1:-1;212:1724:207;;;;10341:10:204;212:1724:207;;;;;;;;;;;;;;:::i;:::-;10331:96:204;;-1:-1:-1;10582:19:204;;;602:28:68;;10287:8:71;10582:19:204;10278:17:71;;;;10274:103;;10218:451:204;10403:8:71;;;10394:17;;;;10390:103;;10218:451:204;10519:8:71;;10510:17;;;;10506:103;;10218:451:204;10635:7:71;;10626:16;;;;10622:100;;10218:451:204;10748:7:71;;10739:16;;;;10735:100;;10218:451:204;10852:16:71;10861:7;10852:16;;;10848:100;;10218:451:204;10974:7:71;10965:16;;;;10961:66;;10218:451:204;633:1:68;212:1724:207;;;;;;775:76:68;212:1724:207;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;212:1724:207;;;;775:76:68;;;864:280;633:1;;;864:280;212:1724:207;;;;;;;;10517:18:204;212:1724:207;;;;;;;:::i;:::-;;;;;;633:1:68;;;;212:1724:207;;;;;;;;;;10479:169:204;212:1724:207;;;;-1:-1:-1;;;212:1724:207;-1:-1:-1;;;10479:169:204;212:1724:207;;;;;;;;;;;:::i;:::-;;;;;;10479:169:204;;;;;;;;;;:::i;212:1724:207:-;;;;;-1:-1:-1;212:1724:207;;-1:-1:-1;;;;;;;;;;;212:1724:207;;;;;;-1:-1:-1;;212:1724:207;;;;;;;10479:169:204;212:1724:207;;;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;;;;;-1:-1:-1;;212:1724:207;10479:169:204;;;212:1724:207;-1:-1:-1;;;212:1724:207;;;;;;;;-1:-1:-1;212:1724:207;;;10479:169:204;212:1724:207;;864:280:68;-1:-1:-1;;212:1724:207;;;;-1:-1:-1;;;969:93:68;;;;212:1724:207;969:93:68;212:1724:207;1079:11:68;;;864:280;1108:21;1124:5;;;10961:66:71;212:1724:207;11011:1:71;212:1724:207;10961:66:71;;;10848:100;212:1724:207;;10861:7:71;10932:1;212:1724:207;;;;10848:100:71;;;10735;10819:1;212:1724:207;;;;;;10735:100:71;;;;10622;10706:1;212:1724:207;;;;;;10622:100:71;;;;10506:103;10592:2;212:1724:207;;;;;;10506:103:71;;;;10390;212:1724:207;;;;;;;10390:103:71;;;;10274;212:1724:207;;-1:-1:-1;212:1724:207;-1:-1:-1;212:1724:207;10274:103:71;;;;10331:96:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;12717:483:204;;;;12871:9;212:1724:207;12852:28:204;;212:1724:207;;12969:14:204;212:1724:207;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;13096:44:204;;;;;;212:1724:207;;13096:44:204;;-1:-1:-1;;212:1724:207;;;;;13083:57:204;212:1724:207;;;;-1:-1:-1;;;;;212:1724:207;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13155:38:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13155:38:204;212:1724:207;;13155:38:204;;;;;:::i;:::-;;;;12717:483::o;212:1724:207:-;;;;-1:-1:-1;212:1724:207;;;;;;;;;;-1:-1:-1;;;;;;;;;;;212:1724:207;-1:-1:-1;;212:1724:207;;;;;;;;;;;;;;;;;13155:38:204;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1987:344:58;212:1724:207;;;;2161:36:58;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:103;;1987:344:58;-1:-1:-1;1987:344:58:o;2146:126::-;-1:-1:-1;;;2213:59:58;;;-1:-1:-1;2146:126:58;","linkReferences":{}},"methodIdentifiers":{"activateDeadmanListTrigger()":"5aec8d62","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDeadmanTriggerAvailableDatetime()":"717392ed","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","getMintConfig()":"9338bb5d","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isApprovedMinter(address)":"3a3d146f","isOperatorInList(address)":"eab85118","lockBaseURI()":"53df5c7c","maxTokens()":"e8315742","mintTo(address)":"755edd17","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","prepareMint(string,uint256)":"b390ac25","prepareMintWithMinter(string,uint256,address)":"b9fbd25c","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDeadmanListTriggerRenewalDuration(uint256)":"21c4a5d8","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setMinterApproval(address,bool)":"0de54ba0","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBaseURI(string)":"931688cb","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadmanTriggerStillActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_activator\",\"type\":\"address\"}],\"name\":\"DeadmanTriggerActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_oldDatetime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newDatetime\",\"type\":\"uint256\"}],\"name\":\"DeadmanTriggerDatetimeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"activateDeadmanListTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeadmanTriggerAvailableDatetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numYears\",\"type\":\"uint256\"}],\"name\":\"setDeadmanListTriggerRenewalDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isMinter\",\"type\":\"bool\"}],\"name\":\"setMinterApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_metadataUri\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"activateDeadmanListTrigger()\":{\"details\":\"Can only be called if deadmanListTriggerAfterDatetime is in the past.\"},\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"returns\":{\"_0\":\"uint256 denoting unix epoch time after which the deadman trigger can be activated.\"}},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_numYears\":\"to renew the trigger for.\"}},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setMinterApproval(address,bool)\":{\"details\":\"Set a minter for the contract\",\"params\":{\"_isMinter\":\"bool of whether the address is a minter.\",\"_minter\":\"address of the minter.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}},\"updateTokenURI(uint256,string)\":{\"details\":\"Update the token metadata URI.\",\"params\":{\"_metadataUri\":\"The new metadata URI.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"DeadmanTriggerStillActive()\":[{\"notice\":\"Emitted when the deadman trigger datetime threshold hasnt passed but tries to get called.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"DeadmanTriggerActivated(address)\":{\"notice\":\"Emitted when the deadman switch is activated.\"},\"DeadmanTriggerDatetimeUpdated(address,uint256,uint256)\":{\"notice\":\"Emitted when deadman trigger datetime has been updated.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"activateDeadmanListTrigger()\":{\"notice\":\"Triggers the deadman switch for the list\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"notice\":\"The datetime threshold after which the deadman trigger can be called by anyone.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"notice\":\"Sets the deadman list trigger for the specified number of years from current block timestamp\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":\"LazySovereignNFTRoyaltyGuardDeadmanTrigger\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e\",\"dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79\",\"dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"DeadmanTriggerStillActive"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"address","name":"_activator","type":"address","indexed":true}],"type":"event","name":"DeadmanTriggerActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"uint256","name":"_oldDatetime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newDatetime","type":"uint256","indexed":false}],"type":"event","name":"DeadmanTriggerDatetimeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataLocked","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256","indexed":true},{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"PrepareMint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"metadataUri","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activateDeadmanListTrigger"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeadmanTriggerAvailableDatetime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMintConfig","outputs":[{"internalType":"struct LazySovereignNFT.MintConfig","name":"","type":"tuple","components":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"},{"internalType":"bool","name":"lockedMetadata","type":"bool"}]}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockBaseURI"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"prepareMint"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"},{"internalType":"address","name":"_minter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintWithMinter"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_numYears","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeadmanListTriggerRenewalDuration"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"bool","name":"_isMinter","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setMinterApproval"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_metadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"activateDeadmanListTrigger()":{"details":"Can only be called if deadmanListTriggerAfterDatetime is in the past."},"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"burn(uint256)":{"details":"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"deleteToken(uint256)":{"details":"Delete a token with the given ID.","params":{"_tokenId":"The ID of the token to delete."}},"disableContract()":{"details":"Disable the contract, preventing further minting."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getDeadmanTriggerAvailableDatetime()":{"returns":{"_0":"uint256 denoting unix epoch time after which the deadman trigger can be activated."}},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"getMintConfig()":{"details":"Get the current minting configuration.","returns":{"_0":"mintConfig the mint config."}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"init(string,string,address,uint256)":{"details":"Contract initialization function.","params":{"_creator":"The address of the contract creator.","_maxTokens":"The maximum number of tokens that can be minted.","_name":"The name of the NFT contract.","_symbol":"The symbol of the NFT contract."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isApprovedMinter(address)":{"details":"Checks if the supplied address is approved for minting","params":{"_address":"The address of the minter."},"returns":{"_0":"bool, whether the address is approved for minting."}},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"lockBaseURI()":{"details":"Lock the metadata to prevent further updates."},"mintTo(address)":{"details":"Mint a new token to the specified receiver.","params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"prepareMint(string,uint256)":{"details":"Prepare a minting batch with a specified base URI and number of tokens.","params":{"_baseURI":"The base URI for token metadata.","_numberOfTokens":"The number of tokens to prepare for minting."}},"prepareMintWithMinter(string,uint256,address)":{"details":"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.","params":{"_baseURI":"The base URI for token metadata.","_minter":"The address of the minter.","_numberOfTokens":"The number of tokens to prepare for minting."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"details":"Only the contract owner can call this function.","params":{"_numYears":"to renew the trigger for."}},"setDefaultRoyaltyReceiver(address)":{"details":"Set the default royalty receiver address.","params":{"_receiver":"The address of the default royalty receiver."}},"setMinterApproval(address,bool)":{"details":"Set a minter for the contract","params":{"_isMinter":"bool of whether the address is a minter.","_minter":"address of the minter."}},"setRoyaltyReceiverForToken(address,uint256)":{"details":"Set a specific royalty receiver address for a token.","params":{"_receiver":"The address of the royalty receiver.","_tokenId":"The ID of the token."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"tokenCreator(uint256)":{"details":"Get the address of the token creator for a given token ID.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"address of the token creator."}},"tokenURI(uint256)":{"details":"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"The token's URI."}},"totalSupply()":{"details":"Get the total supply of tokens in existence.","returns":{"_0":"The total supply of tokens."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateBaseURI(string)":{"details":"Update the base URI.","params":{"_baseURI":"The new base URI."}},"updateTokenURI(uint256,string)":{"details":"Update the token metadata URI.","params":{"_metadataUri":"The new metadata URI."}}},"version":1},"userdoc":{"kind":"user","methods":{"activateDeadmanListTrigger()":{"notice":"Triggers the deadman switch for the list"},"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getDeadmanTriggerAvailableDatetime()":{"notice":"The datetime threshold after which the deadman trigger can be called by anyone."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"notice":"Sets the deadman list trigger for the specified number of years from current block timestamp"},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol":"LazySovereignNFTRoyaltyGuardDeadmanTrigger"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":{"keccak256":"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635","urls":["bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e","dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c","urls":["bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79","dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":207} \ No newline at end of file +{"abi":[{"type":"function","name":"activateDeadmanListTrigger","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeadmanTriggerAvailableDatetime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"getMintConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct LazySovereignNFT.MintConfig","components":[{"name":"numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"},{"name":"lockedMetadata","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedMinter","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockBaseURI","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prepareMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prepareMintWithMinter","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"},{"name":"_minter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeadmanListTriggerRenewalDuration","inputs":[{"name":"_numYears","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinterApproval","inputs":[{"name":"_minter","type":"address","internalType":"address"},{"name":"_isMinter","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseURI","inputs":[{"name":"_baseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_metadataUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerActivated","inputs":[{"name":"_activator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerDatetimeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldDatetime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newDatetime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"MetadataLocked","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"MetadataUpdated","inputs":[{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepareMint","inputs":[{"name":"numberOfTokens","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"baseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadataUri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"DeadmanTriggerStillActive","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657613551908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e8146121ac57806301ffc9a7146120d457806306fdde031461202a578063081812fc14612009578063095ea7b314611dec5780630de54ba014611d9d57806318160ddd14611d7d57806318e97fd114611b995780632042748614611b6557806321c4a5d814611aae57806323b872dd14611a895780632a55205a146119f65780632ce878da146119835780633403c4e91461195a5780633a3d146f1461191b5780633ebc82c5146118d957806340c1a064146118af57806342842e0e1461187b57806342966c681461185f578063472a6638146117c057806353df5c7c1461175e5780635aec8d62146116b65780635edc7c19146111ae5780636297c16c146111305780636352211e146110fe57806370a082311461106a578063715018a61461100d578063717392ed14610fed578063755edd1714610daa57806387bc793f14610d82578063894ba83314610d345780638da5cb5b14610d0b578063931688cb14610b3e5780639338bb5d14610aa557806395d89b41146109c05780639e860f2a146108bb578063a22cb4651461075d578063ab69607a1461073e578063b390ac2514610705578063b88d4fde1461067c578063b9fbd25c146105fd578063bc7194551461054f578063c87b56dd14610513578063e8315742146104f3578063e985e9c5146104a5578063eab851181461044a578063ee07080514610427578063efc32cd4146103d8578063f2fde38b146103415763ff6e8c8f1461024657600080fd5b3461033d57610254366123a6565b6033546001600160a01b0396908716330361032e57600384101561031b57831561030c575090610285913691612bde565b93835b8551811015610308576102b061029d84612c44565b836102a8848a612c5e565b511690612ca0565b5082826102bd8389612c5e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102f557600101610288565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103d45760203660031901126103d45761035d6122a5565b916103666124bd565b6001600160a01b03831615610382578361037f84612515565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461033d578060031936011261033d576103f26122a5565b906103fb6124bd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461033d578160031936011261033d5760209060ff80541690519015158152f35b82843461033d57602036600319011261033d5760209061049c61046b6122a5565b61047a60ff6101095416612c44565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461033d578060031936011261033d5760ff816020936104c56122a5565b6104cd6122d6565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461033d578160031936011261033d57602090610100549051908152f35b5091903461054c57602036600319011261054c57506105356105489235612f37565b9051918291602083526020830190612280565b0390f35b80fd5b5082346103d45760203660031901126103d45781359160038310156105f9576033546001600160a01b031633036105eb575061058a82612c44565b805490848155816105cd575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105c733948261237d565b0390a280f35b845260208420908101905b81811015610596578481556001016105d8565b9051635c510c8360e11b8152fd5b8380fd5b508290346103d45760603660031901126103d45780356001600160401b0381116105f95761065b916106319136910161231b565b919061063b6122c0565b926106446124bd565b61065260ff80541615612ec3565b6024359161327f565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461033d57608036600319011261033d576106966122a5565b9061069f6122d6565b91604435606435936001600160401b0385116107015736602386011215610701576106d96106fc9486602461037f98369301359101612486565b926106ec6106e784336127c6565b6126ed565b6106f783838361288e565b612abb565b6127a2565b8580fd5b5082346103d45736600319011261033d5780356001600160401b0381116103d45761037f916107369136910161231b565b6106446124bd565b82843461033d578160031936011261033d5760209060fc549051908152f35b5082346103d45761076d366122ec565b919060ff6101095416600381101561031b57600181036108715750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610862575b6001600160a01b0316923384146108205750338452609c6020528084208385526020526107f1828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036107b657600285526101086020526108a782862060018060a01b0383169060019160005201602052604060002054151590565b156107b65781516282b42960e81b81528490fd5b503461033d576108ca366123a6565b6033546001600160a01b0396908716330361032e5750906108ec913691612bde565b93600382101590816109ad5782610901578480f35b845b865181101561099d5761092b61091885612c44565b83610923848b612c5e565b511690612d13565b508282610938838a612c5e565b51169061098a578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a4600019811461097757600101610903565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461033d578160031936011261033d57805190826098546109e2816125d0565b80855291600191808316908115610a7d5750600114610a20575b505050610a0e8261054894038361244a565b51918291602083526020830190612280565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a6557505050610a0e82602061054895820101946109fc565b80546020878701810191909152909501948101610a48565b610548975086935060209250610a0e94915060ff191682840152151560051b820101946109fc565b50503461054c578060031936011261054c57818051610ac3816123fe565b8281526060602082015201528051610ada816123fe565b610105548152815191610af783610af08161260a565b038461244a565b60208201928352610b3160ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190612280565b9051151560608301520390f35b503461033d576020806003193601126103d4576001600160401b03908235828111610d0757610b70903690850161231b565b939092610b7b6124bd565b60ff6101075416610cbb578411610ca8575061010690610ba484610b9f84546125d0565b612e63565b8490601f8511600114610c11575094610c00918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610c06575b508560011b906000198760031b1c19161790555b5192839283612f0f565b0390a180f35b905084013538610be2565b90601f1985168387526000805160206134fc8339815191529287905b828210610c9057505091610c009391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c76575b5050600185811b019055610bf6565b850135600019600388901b60f8161c191690553880610c67565b80600185968294968a01358155019501930190610c2d565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461033d578160031936011261033d5760335490516001600160a01b039091168152602090f35b823461054c578060031936011261054c57610d4d6124bd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461033d578160031936011261033d576105489060ff610109541690519182918261237d565b50913461033d57602092836003193601126103d457610dc76122a5565b92610dd660ff80541615612ec3565b6033546001600160a01b039190821633148015610fd8575b15610f7c5760fc548260fb541692610104966001885401809855610100548811610f3b57865191610e1e8361242f565b8483528116958615610efa57506106fc8794939289610edd93610e5f610e5983600052609960205260018060a01b0360406000205416151590565b15613233565b600082815260996020526040902054610e82906001600160a01b03161515610e59565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a461299f565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dee565b82843461033d578160031936011261033d5760209061010a549051908152f35b823461054c578060031936011261054c576110266124bd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461033d57602036600319011261033d576001600160a01b0361108c6122a5565b169081156110a9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461054c57602036600319011261054c575061111f602092356125aa565b90516001600160a01b039091168152f35b508290346103d45760203660031901126103d457803591611150836125aa565b336001600160a01b039091160361116b578361037f84612b46565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461033d57608036600319011261033d576001600160401b039281358481116105f9576111df903690840161231b565b9290602435868111610701576111f8903690840161231b565b6112039791976122c0565b9387549860ff94858b60081c16159889809a6116aa575b8015611694575b1561163a5760ff19808d1660019081178d559b9c999a998a611629575b506001600160a01b038916156115e6579161129191611281898f6112999796600a60fc558254168255606435610100555460081c1661127c81612e03565b612e03565b61128a33612515565b3691612486565b933691612486565b906112ad858b5460081c1661127c81612e03565b82518481116115d357806112c26097546125d0565b94601f95868111611562575b506020908d8784116001146114e357926114d8575b5050600019600383901b1c1916908a1b176097555b81519384116114c5575061130d6098546125d0565b828111611462575b5060209183116001146113d657918061138a959492611362948b926113cb575b5050600019600383901b1c191690881b176098555b875460081c1661135981612e03565b61127c81612e03565b60fb80546001600160a01b0319166001600160a01b0383161790556113856124bd565b612515565b611392578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611335565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b81811061144a5750916113629593918561138a9998969410611431575b505050811b0160985561134a565b015160001960f88460031b161c19169055388080611423565b8284015185558b969094019360209384019301611406565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bc575b0160051c019089905b8281106114b1575050611315565b8b81550189906114a3565b9250819261149a565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e3565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154a57508411611531575b505050811b016097556112f8565b015160001960f88460031b161c19169055388080611523565b8284015185558f969094019360209384019301611514565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115ca575b859493910160051c909101908d908f5b8382106115bc575050506112ce565b81558594508e91018f6115ad565b9250819261159d565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d553861123e565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122157506001878d1614611221565b506001878d161061121a565b5082346103d457826003193601126103d45761010a54421061175157506101099081549060ff821690600382101561173e57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b82843461033d578160031936011261033d577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061179a6124bd565b5160208152806117ac6020820161260a565b0390a1610107805460ff1916600117905580f35b508290346103d45760203660031901126103d45780359160038310156105f9576033546001600160a01b0316330361185257506101099182549160ff831690600382101561183f5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461033d57602036600319011261033d5761037f9035612b46565b82843461033d576106fc61037f9161189236612348565b9192519261189f8461242f565b8684526106ec6106e784336127c6565b82843461033d57602036600319011261033d5760335490516001600160a01b039091168152602090f35b823461054c57602036600319011261054c5761037f6118f66122a5565b6118fe6124bd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461033d57602036600319011261033d5760209160ff9082906001600160a01b036119466122a5565b168152610102855220541690519015158152f35b82843461033d578160031936011261033d5760fb5490516001600160a01b039091168152602090f35b50503461054c578060031936011261054c576119a460ff6101095416612c44565b9180519182845490818152602080910195835280832092905b8282106119df5761054886866119d5828b038361244a565b5191829182612219565b8354875295860195600193840193909101906119bd565b5091903461054c578160031936011261054c578235815260fd60205281812054602435906001600160a01b039081168015611a7d57925b60fe602052848120548015611a7357925b838102938185041490151715611a605750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a3e565b508060fb541692611a2d565b823461054c5761037f611a9b36612348565b91611aa96106e784336127c6565b61288e565b5082346103d45760203660031901126103d4576033548235906001600160a01b03163303611b57576301e1338090818102918183041490151715611b4457420191824211611b31575061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b634e487b7160e01b845260118352602484fd5b5051635c510c8360e11b8152fd5b82843461033d57602036600319011261033d57602090611b836122a5565b60018060a01b0380603354169116149051908152f35b503461033d578260031936011261033d578035906001600160401b0390602435828111610d0757611bcd903690830161231b565b929091611bd86124bd565b60ff6101075416611d2f578486526020906101038252878720928511611d1c5750611c0382546125d0565b601f8111611cd9575b508590601f8511600114611c685750956105c7918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610c0657508560011b906000198760031b1c19161790555192839283612f0f565b90601f1985168388528288209288905b828210611cc1575050916105c79391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c76575050600185811b019055610bf6565b80600185968294968a01358155019501930190611c78565b828752818720601f860160051c810191838710611d12575b601f0160051c01905b818110611d075750611c0c565b878155600101611cfa565b9091508190611cf1565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461033d578160031936011261033d57602090610104549051908152f35b82843461033d5761037f90611db1366122ec565b9190611dbb6124bd565b611dc960ff80541615612ec3565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103d457816003193601126103d457611e076122a5565b906024359260ff61010954166003811015611ff65760018103611faf5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611fa3575b6001600160a01b03918280611e67876125aa565b16941693808514611f5657803314908115611f37575b5015611ecf5750838552609b602052842080546001600160a01b03191683179055611ea7836125aa565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611e7d565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611e535760028552610108602052611fe581862060018060a01b0385169060019160005201602052604060002054151590565b15611e5357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461054c57602036600319011261054c575061111f602092356126af565b82843461033d578160031936011261033d578051908260975461204c816125d0565b80855291600191808316908115610a7d575060011461207757505050610a0e8261054894038361244a565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106120bc57505050610a0e82602061054895820101946109fc565b8054602087870181019190915290950194810161209f565b508290346103d45760203660031901126103d45735906001600160e01b031982168083036105f9576020935063fa31a45b60e01b811492831561219b575b8315612123575b5050519015158152f35b919250631030681960e21b81149190821561218a575b8215612161575b508115612151575b50908380612119565b61215b91506134b7565b83612148565b90915063152a902d60e11b14801561217b575b9084612140565b50612185816134b7565b612174565b6301ffc9a760e01b81149250612139565b6301ffc9a760e01b82149350612112565b5082346103d457602091826003193601126105f9573560038110156105f9576121d490612c44565b9281518093808654928381520195835280832092905b8282106122025761054886866119d5828b038361244a565b8354875295860195600193840193909101906121ea565b6020908160408183019282815285518094520193019160005b828110612240575050505090565b83516001600160a01b031685529381019392810192600101612232565b60005b8381106122705750506000910152565b8181015183820152602001612260565b906020916122998151809281855285808601910161225d565b601f01601f1916010190565b600435906001600160a01b03821682036122bb57565b600080fd5b604435906001600160a01b03821682036122bb57565b602435906001600160a01b03821682036122bb57565b60409060031901126122bb576004356001600160a01b03811681036122bb579060243580151581036122bb5790565b9181601f840112156122bb578235916001600160401b0383116122bb57602083818601950101116122bb57565b60609060031901126122bb576001600160a01b039060043582811681036122bb579160243590811681036122bb579060443590565b9190602083019260038210156123905752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126122bb5760043560038110156122bb57916024356001600160401b03928382116122bb57806023830112156122bb5781600401359384116122bb5760248460051b830101116122bb576024019190565b606081019081106001600160401b0382111761241957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761241957604052565b90601f801991011681019081106001600160401b0382111761241957604052565b6001600160401b03811161241957601f01601f191660200190565b9291926124928261246b565b916124a0604051938461244a565b8294818452818301116122bb578281602093846000960137010152565b6033546001600160a01b031633036124d157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561256557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166125cd81151561255e565b90565b90600182811c92168015612600575b60208310146125ea57565b634e487b7160e01b600052602260045260246000fd5b91607f16916125df565b9060009161010690815461261d816125d0565b8083529260019180831690811561268a575060011461263d575b50505050565b90929394506000526000805160206134fc833981519152916000925b8484106126725750506020925001019038808080612637565b80546020858501810191909152909301928101612659565b92505050602093945060ff929192191683830152151560051b01019038808080612637565b6000818152609960205260409020546126d2906001600160a01b0316151561255e565b6000908152609b60205260409020546001600160a01b031690565b156126f457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156127a957565b60405162461bcd60e51b8152806127c26004820161274f565b0390fd5b906001600160a01b0380806127da846125aa565b1693169183831493841561280d575b5083156127f7575b50505090565b612803919293506126af565b16143880806127f1565b909350600052609c60205260406000208260005260205260ff6040600020541692386127e9565b1561283b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906128b69161289c846125aa565b6001600160a01b0393918416928492909183168414612834565b1691821561294e57816128d3916128cc866125aa565b1614612834565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b15612ab1576129ed946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612280565b03926001600160a01b03165af1849181612a71575b50612a60575050503d600014612a58573d612a1c8161246b565b90612a2a604051928361244a565b81528091833d92013e5b80519182612a555760405162461bcd60e51b8152806127c26004820161274f565b01fd5b506060612a34565b6001600160e01b0319161492509050565b9091508581813d8311612aaa575b612a89818361244a565b81010312610d0757516001600160e01b031981168103610d07579038612a02565b503d612a7f565b5050915050600190565b9293600093909291803b15612b3b57948491612b159660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612280565b0393165af1849181612a715750612a60575050503d600014612a58573d612a1c8161246b565b505050915050600190565b612b536106e782336127c6565b612b5c816125aa565b50612b66816125aa565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612419578360051b6040519260208094612c078285018261244a565b80978152019181019283116122bb57905b828210612c255750505050565b81356001600160a01b03811681036122bb578152908301908301612c18565b600381101561239057600052610108602052604060002090565b8051821015612c725760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612c725760005260206000200190600090565b6000828152600182016020526040902054612d0c57805490680100000000000000008210156124195782612cf5612cde846001809601855584612c88565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612dfc5760001991808301818111612de857825490848201918211612dd457808203612d9f575b50505080548015612d8b57820191612d6e8383612c88565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612dbf612daf612cde9386612c88565b90549060031b1c92839286612c88565b90558652846020526040862055388080612d56565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612e0a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612e6f575050565b60009061010682526000805160206134fc833981519152906020601f850160051c83019410612eb9575b601f0160051c01915b828110612eae57505050565b818155600101612ea2565b9092508290612e99565b15612eca57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612f56848620546125d0565b61318b575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000858181101561317e575b50506d04ee2d6d415b85acef810000000080861015613170575b50662386f26fc1000080861015613161575b506305f5e10080861015613152575b5061271080861015613143575b506064851015613133575b600a80951015613129575b6001948584019686602161300f612ffa8b61246b565b9a61300787519c8d61244a565b808c5261246b565b8a89019790601f19013689378a0101905b6130fa575b50505051948593826101069081549161303d836125d0565b928981169081156130d95750600114613092575b50505050600693928261307e64173539b7b760d91b93602f60f81b6125cd9996525180938684019061225d565b01918201520360191981018452018261244a565b815292935090916000805160206134fc8339815191525b8282106130c357505084010190828161307e6125cd613051565b80548983018501528896509083019087016130a9565b60ff1916858a0152505050801515028501019150828161307e6125cd613051565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049087826130205750613025565b9160010191612fe4565b9193606460029104940191612fd9565b60049193950494019138612fce565b60089193950494019138612fc1565b60109193950494019138612fb2565b849193950494019138612fa0565b0494509150813880612f86565b90849392935282528083209051928391818154906131a8826125d0565b8086529260019280841690811561320f57506001146131d2575b505050506125cd9250038261244a565b815285812095935091905b8183106131f75750506125cd9350820101388080806131c2565b855487840185015294850194869450918301916131dd565b93505050506125cd94925060ff191682840152151560051b820101388080806131c2565b1561323a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b929190610100548211613473576101045461341457604051936132a1856123fe565b8285526132af368383612486565b6020908082880152604087019160009788845251610105558151906001600160401b03821161340057610106926132ea83610b9f86546125d0565b81601f841160011461336b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92613360575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561335b60405192839283612f0f565b0390a2565b015190503880613324565b848b5292996000805160206134fc83398151915293601f198c1691905b8282106133e857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106133cf575b505050811b019055613339565b015160001960f88460031b161c191690553880806133c2565b80600186978294978701518155019601940190613388565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b81149081156134ea575b81156134dc575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b811491506134d256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba26469706673582212205a1ad579f6120d95892eb81845933bef9bdac474cf43e08468c9e24ae378ca0464736f6c63430008120033","sourceMap":"212:1724:228:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60406080815260048036101561001457600080fd5b600090813560e01c8063012cf1e8146121ac57806301ffc9a7146120d457806306fdde031461202a578063081812fc14612009578063095ea7b314611dec5780630de54ba014611d9d57806318160ddd14611d7d57806318e97fd114611b995780632042748614611b6557806321c4a5d814611aae57806323b872dd14611a895780632a55205a146119f65780632ce878da146119835780633403c4e91461195a5780633a3d146f1461191b5780633ebc82c5146118d957806340c1a064146118af57806342842e0e1461187b57806342966c681461185f578063472a6638146117c057806353df5c7c1461175e5780635aec8d62146116b65780635edc7c19146111ae5780636297c16c146111305780636352211e146110fe57806370a082311461106a578063715018a61461100d578063717392ed14610fed578063755edd1714610daa57806387bc793f14610d82578063894ba83314610d345780638da5cb5b14610d0b578063931688cb14610b3e5780639338bb5d14610aa557806395d89b41146109c05780639e860f2a146108bb578063a22cb4651461075d578063ab69607a1461073e578063b390ac2514610705578063b88d4fde1461067c578063b9fbd25c146105fd578063bc7194551461054f578063c87b56dd14610513578063e8315742146104f3578063e985e9c5146104a5578063eab851181461044a578063ee07080514610427578063efc32cd4146103d8578063f2fde38b146103415763ff6e8c8f1461024657600080fd5b3461033d57610254366123a6565b6033546001600160a01b0396908716330361032e57600384101561031b57831561030c575090610285913691612bde565b93835b8551811015610308576102b061029d84612c44565b836102a8848a612c5e565b511690612ca0565b5082826102bd8389612c5e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368880a460001981146102f557600101610288565b634e487b7160e01b855260118452602485fd5b8480f35b51632de777a160e11b81528490fd5b634e487b7160e01b865260218552602486fd5b51635c510c8360e11b81528490fd5b5080fd5b508290346103d45760203660031901126103d45761035d6122a5565b916103666124bd565b6001600160a01b03831615610382578361037f84612515565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b82843461033d578060031936011261033d576103f26122a5565b906103fb6124bd565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b82843461033d578160031936011261033d5760209060ff80541690519015158152f35b82843461033d57602036600319011261033d5760209061049c61046b6122a5565b61047a60ff6101095416612c44565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b82843461033d578060031936011261033d5760ff816020936104c56122a5565b6104cd6122d6565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b82843461033d578160031936011261033d57602090610100549051908152f35b5091903461054c57602036600319011261054c57506105356105489235612f37565b9051918291602083526020830190612280565b0390f35b80fd5b5082346103d45760203660031901126103d45781359160038310156105f9576033546001600160a01b031633036105eb575061058a82612c44565b805490848155816105cd575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105c733948261237d565b0390a280f35b845260208420908101905b81811015610596578481556001016105d8565b9051635c510c8360e11b8152fd5b8380fd5b508290346103d45760603660031901126103d45780356001600160401b0381116105f95761065b916106319136910161231b565b919061063b6122c0565b926106446124bd565b61065260ff80541615612ec3565b6024359161327f565b6001600160a01b031682526101026020528120805460ff1916600117905580f35b503461033d57608036600319011261033d576106966122a5565b9061069f6122d6565b91604435606435936001600160401b0385116107015736602386011215610701576106d96106fc9486602461037f98369301359101612486565b926106ec6106e784336127c6565b6126ed565b6106f783838361288e565b612abb565b6127a2565b8580fd5b5082346103d45736600319011261033d5780356001600160401b0381116103d45761037f916107369136910161231b565b6106446124bd565b82843461033d578160031936011261033d5760209060fc549051908152f35b5082346103d45761076d366122ec565b919060ff6101095416600381101561031b57600181036108715750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610862575b6001600160a01b0316923384146108205750338452609c6020528084208385526020526107f1828286209060ff801983541691151516179055565b5190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036107b657600285526101086020526108a782862060018060a01b0383169060019160005201602052604060002054151590565b156107b65781516282b42960e81b81528490fd5b503461033d576108ca366123a6565b6033546001600160a01b0396908716330361032e5750906108ec913691612bde565b93600382101590816109ad5782610901578480f35b845b865181101561099d5761092b61091885612c44565b83610923848b612c5e565b511690612d13565b508282610938838a612c5e565b51169061098a578490337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958980a4600019811461097757600101610903565b634e487b7160e01b865260118552602486fd5b634e487b7160e01b875260218652602487fd5b5050505050905080388080808480f35b634e487b7160e01b855260218452602485fd5b82843461033d578160031936011261033d57805190826098546109e2816125d0565b80855291600191808316908115610a7d5750600114610a20575b505050610a0e8261054894038361244a565b51918291602083526020830190612280565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610a6557505050610a0e82602061054895820101946109fc565b80546020878701810191909152909501948101610a48565b610548975086935060209250610a0e94915060ff191682840152151560051b820101946109fc565b50503461054c578060031936011261054c57818051610ac3816123fe565b8281526060602082015201528051610ada816123fe565b610105548152815191610af783610af08161260a565b038461244a565b60208201928352610b3160ff6101075416918084019215158352606081519586956020875251602087015251918501526080840190612280565b9051151560608301520390f35b503461033d576020806003193601126103d4576001600160401b03908235828111610d0757610b70903690850161231b565b939092610b7b6124bd565b60ff6101075416610cbb578411610ca8575061010690610ba484610b9f84546125d0565b612e63565b8490601f8511600114610c11575094610c00918486977f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e9791610c06575b508560011b906000198760031b1c19161790555b5192839283612f0f565b0390a180f35b905084013538610be2565b90601f1985168387526000805160206134fc8339815191529287905b828210610c9057505091610c009391867f1c306e70c05992619e2128ad1ef88df75f36c9476282e59f51401b2abaa42e4e98999410610c76575b5050600185811b019055610bf6565b850135600019600388901b60f8161c191690553880610c67565b80600185968294968a01358155019501930190610c2d565b634e487b7160e01b855260419052602484fd5b5060849186519162461bcd60e51b8352820152602160248201527f757064617465426173655552493a3a6d65746164617461206973206c6f636b656044820152601960fa1b6064820152fd5b8480fd5b82843461033d578160031936011261033d5760335490516001600160a01b039091168152602090f35b823461054c578060031936011261054c57610d4d6124bd565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b82843461033d578160031936011261033d576105489060ff610109541690519182918261237d565b50913461033d57602092836003193601126103d457610dc76122a5565b92610dd660ff80541615612ec3565b6033546001600160a01b039190821633148015610fd8575b15610f7c5760fc548260fb541692610104966001885401809855610100548811610f3b57865191610e1e8361242f565b8483528116958615610efa57506106fc8794939289610edd93610e5f610e5983600052609960205260018060a01b0360406000205416151590565b15613233565b600082815260996020526040902054610e82906001600160a01b03161515610e59565b898752609a8d528787206001815401905581875260998d52818888209a6001600160601b0360a01b9b818d825416179055887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a461299f565b86825260fe88528282205560fd8752209182541617905551908152f35b6064908a808a519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6064868a808a519262461bcd60e51b845283015260248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b835162461bcd60e51b8152808401879052603060248201527f6c617a794d696e743a3a6f6e6c79206f776e6572206f7220617070726f76656460448201526f081b5a5b9d195c8818d85b881b5a5b9d60821b6064820152608490fd5b50338152610102865260ff8482205416610dee565b82843461033d578160031936011261033d5760209061010a549051908152f35b823461054c578060031936011261054c576110266124bd565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461033d57602036600319011261033d576001600160a01b0361108c6122a5565b169081156110a9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091903461054c57602036600319011261054c575061111f602092356125aa565b90516001600160a01b039091168152f35b508290346103d45760203660031901126103d457803591611150836125aa565b336001600160a01b039091160361116b578361037f84612b46565b906020606492519162461bcd60e51b8352820152601f60248201527f4d75737420626520746865206f776e6572206f662074686520746f6b656e2e006044820152fd5b503461033d57608036600319011261033d576001600160401b039281358481116105f9576111df903690840161231b565b9290602435868111610701576111f8903690840161231b565b6112039791976122c0565b9387549860ff94858b60081c16159889809a6116aa575b8015611694575b1561163a5760ff19808d1660019081178d559b9c999a998a611629575b506001600160a01b038916156115e6579161129191611281898f6112999796600a60fc558254168255606435610100555460081c1661127c81612e03565b612e03565b61128a33612515565b3691612486565b933691612486565b906112ad858b5460081c1661127c81612e03565b82518481116115d357806112c26097546125d0565b94601f95868111611562575b506020908d8784116001146114e357926114d8575b5050600019600383901b1c1916908a1b176097555b81519384116114c5575061130d6098546125d0565b828111611462575b5060209183116001146113d657918061138a959492611362948b926113cb575b5050600019600383901b1c191690881b176098555b875460081c1661135981612e03565b61127c81612e03565b60fb80546001600160a01b0319166001600160a01b0383161790556113856124bd565b612515565b611392578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611335565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b81811061144a5750916113629593918561138a9998969410611431575b505050811b0160985561134a565b015160001960f88460031b161c19169055388080611423565b8284015185558b969094019360209384019301611406565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bc575b0160051c019089905b8281106114b1575050611315565b8b81550189906114a3565b9250819261149a565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e3565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154a57508411611531575b505050811b016097556112f8565b015160001960f88460031b161c19169055388080611523565b8284015185558f969094019360209384019301611514565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115ca575b859493910160051c909101908d908f5b8382106115bc575050506112ce565b81558594508e91018f6115ad565b9250819261159d565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d553861123e565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122157506001878d1614611221565b506001878d161061121a565b5082346103d457826003193601126103d45761010a54421061175157506101099081549060ff821690600382101561173e57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b82843461033d578160031936011261033d577fb634b0cb94234b05eabb1438717e0e645bfd84788ae1263682242327563cde5e9061179a6124bd565b5160208152806117ac6020820161260a565b0390a1610107805460ff1916600117905580f35b508290346103d45760203660031901126103d45780359160038310156105f9576033546001600160a01b0316330361185257506101099182549160ff831690600382101561183f5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b51635c510c8360e11b8152fd5b503461033d57602036600319011261033d5761037f9035612b46565b82843461033d576106fc61037f9161189236612348565b9192519261189f8461242f565b8684526106ec6106e784336127c6565b82843461033d57602036600319011261033d5760335490516001600160a01b039091168152602090f35b823461054c57602036600319011261054c5761037f6118f66122a5565b6118fe6124bd565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b82843461033d57602036600319011261033d5760209160ff9082906001600160a01b036119466122a5565b168152610102855220541690519015158152f35b82843461033d578160031936011261033d5760fb5490516001600160a01b039091168152602090f35b50503461054c578060031936011261054c576119a460ff6101095416612c44565b9180519182845490818152602080910195835280832092905b8282106119df5761054886866119d5828b038361244a565b5191829182612219565b8354875295860195600193840193909101906119bd565b5091903461054c578160031936011261054c578235815260fd60205281812054602435906001600160a01b039081168015611a7d57925b60fe602052848120548015611a7357925b838102938185041490151715611a605750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a3e565b508060fb541692611a2d565b823461054c5761037f611a9b36612348565b91611aa96106e784336127c6565b61288e565b5082346103d45760203660031901126103d4576033548235906001600160a01b03163303611b57576301e1338090818102918183041490151715611b4457420191824211611b31575061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b634e487b7160e01b845260118352602484fd5b5051635c510c8360e11b8152fd5b82843461033d57602036600319011261033d57602090611b836122a5565b60018060a01b0380603354169116149051908152f35b503461033d578260031936011261033d578035906001600160401b0390602435828111610d0757611bcd903690830161231b565b929091611bd86124bd565b60ff6101075416611d2f578486526020906101038252878720928511611d1c5750611c0382546125d0565b601f8111611cd9575b508590601f8511600114611c685750956105c7918487987f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd979891610c0657508560011b906000198760031b1c19161790555192839283612f0f565b90601f1985168388528288209288905b828210611cc1575050916105c79391867f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd98999a9410610c76575050600185811b019055610bf6565b80600185968294968a01358155019501930190611c78565b828752818720601f860160051c810191838710611d12575b601f0160051c01905b818110611d075750611c0c565b878155600101611cfa565b9091508190611cf1565b634e487b7160e01b875260419052602486fd5b608490602088519162461bcd60e51b8352820152602260248201527f757064617465546f6b656e5552493a3a6d65746164617461206973206c6f636b604482015261195960f21b6064820152fd5b82843461033d578160031936011261033d57602090610104549051908152f35b82843461033d5761037f90611db1366122ec565b9190611dbb6124bd565b611dc960ff80541615612ec3565b60018060a01b0316845261010260205283209060ff801983541691151516179055565b508290346103d457816003193601126103d457611e076122a5565b906024359260ff61010954166003811015611ff65760018103611faf5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611fa3575b6001600160a01b03918280611e67876125aa565b16941693808514611f5657803314908115611f37575b5015611ecf5750838552609b602052842080546001600160a01b03191683179055611ea7836125aa565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff828720541687611e7d565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611e535760028552610108602052611fe581862060018060a01b0385169060019160005201602052604060002054151590565b15611e5357516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091903461054c57602036600319011261054c575061111f602092356126af565b82843461033d578160031936011261033d578051908260975461204c816125d0565b80855291600191808316908115610a7d575060011461207757505050610a0e8261054894038361244a565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106120bc57505050610a0e82602061054895820101946109fc565b8054602087870181019190915290950194810161209f565b508290346103d45760203660031901126103d45735906001600160e01b031982168083036105f9576020935063fa31a45b60e01b811492831561219b575b8315612123575b5050519015158152f35b919250631030681960e21b81149190821561218a575b8215612161575b508115612151575b50908380612119565b61215b91506134b7565b83612148565b90915063152a902d60e11b14801561217b575b9084612140565b50612185816134b7565b612174565b6301ffc9a760e01b81149250612139565b6301ffc9a760e01b82149350612112565b5082346103d457602091826003193601126105f9573560038110156105f9576121d490612c44565b9281518093808654928381520195835280832092905b8282106122025761054886866119d5828b038361244a565b8354875295860195600193840193909101906121ea565b6020908160408183019282815285518094520193019160005b828110612240575050505090565b83516001600160a01b031685529381019392810192600101612232565b60005b8381106122705750506000910152565b8181015183820152602001612260565b906020916122998151809281855285808601910161225d565b601f01601f1916010190565b600435906001600160a01b03821682036122bb57565b600080fd5b604435906001600160a01b03821682036122bb57565b602435906001600160a01b03821682036122bb57565b60409060031901126122bb576004356001600160a01b03811681036122bb579060243580151581036122bb5790565b9181601f840112156122bb578235916001600160401b0383116122bb57602083818601950101116122bb57565b60609060031901126122bb576001600160a01b039060043582811681036122bb579160243590811681036122bb579060443590565b9190602083019260038210156123905752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126122bb5760043560038110156122bb57916024356001600160401b03928382116122bb57806023830112156122bb5781600401359384116122bb5760248460051b830101116122bb576024019190565b606081019081106001600160401b0382111761241957604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761241957604052565b90601f801991011681019081106001600160401b0382111761241957604052565b6001600160401b03811161241957601f01601f191660200190565b9291926124928261246b565b916124a0604051938461244a565b8294818452818301116122bb578281602093846000960137010152565b6033546001600160a01b031633036124d157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561256557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166125cd81151561255e565b90565b90600182811c92168015612600575b60208310146125ea57565b634e487b7160e01b600052602260045260246000fd5b91607f16916125df565b9060009161010690815461261d816125d0565b8083529260019180831690811561268a575060011461263d575b50505050565b90929394506000526000805160206134fc833981519152916000925b8484106126725750506020925001019038808080612637565b80546020858501810191909152909301928101612659565b92505050602093945060ff929192191683830152151560051b01019038808080612637565b6000818152609960205260409020546126d2906001600160a01b0316151561255e565b6000908152609b60205260409020546001600160a01b031690565b156126f457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156127a957565b60405162461bcd60e51b8152806127c26004820161274f565b0390fd5b906001600160a01b0380806127da846125aa565b1693169183831493841561280d575b5083156127f7575b50505090565b612803919293506126af565b16143880806127f1565b909350600052609c60205260406000208260005260205260ff6040600020541692386127e9565b1561283b57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906128b69161289c846125aa565b6001600160a01b0393918416928492909183168414612834565b1691821561294e57816128d3916128cc866125aa565b1614612834565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9192600092909190803b15612ab1576129ed946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612280565b03926001600160a01b03165af1849181612a71575b50612a60575050503d600014612a58573d612a1c8161246b565b90612a2a604051928361244a565b81528091833d92013e5b80519182612a555760405162461bcd60e51b8152806127c26004820161274f565b01fd5b506060612a34565b6001600160e01b0319161492509050565b9091508581813d8311612aaa575b612a89818361244a565b81010312610d0757516001600160e01b031981168103610d07579038612a02565b503d612a7f565b5050915050600190565b9293600093909291803b15612b3b57948491612b159660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612280565b0393165af1849181612a715750612a60575050503d600014612a58573d612a1c8161246b565b505050915050600190565b612b536106e782336127c6565b612b5c816125aa565b50612b66816125aa565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b9092916001600160401b038411612419578360051b6040519260208094612c078285018261244a565b80978152019181019283116122bb57905b828210612c255750505050565b81356001600160a01b03811681036122bb578152908301908301612c18565b600381101561239057600052610108602052604060002090565b8051821015612c725760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612c725760005260206000200190600090565b6000828152600182016020526040902054612d0c57805490680100000000000000008210156124195782612cf5612cde846001809601855584612c88565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612dfc5760001991808301818111612de857825490848201918211612dd457808203612d9f575b50505080548015612d8b57820191612d6e8383612c88565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612dbf612daf612cde9386612c88565b90549060031b1c92839286612c88565b90558652846020526040862055388080612d56565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612e0a57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612e6f575050565b60009061010682526000805160206134fc833981519152906020601f850160051c83019410612eb9575b601f0160051c01915b828110612eae57505050565b818155600101612ea2565b9092508290612e99565b15612eca57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b60009080825261010390602090828252604092612f56848620546125d0565b61318b575092839281907a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000858181101561317e575b50506d04ee2d6d415b85acef810000000080861015613170575b50662386f26fc1000080861015613161575b506305f5e10080861015613152575b5061271080861015613143575b506064851015613133575b600a80951015613129575b6001948584019686602161300f612ffa8b61246b565b9a61300787519c8d61244a565b808c5261246b565b8a89019790601f19013689378a0101905b6130fa575b50505051948593826101069081549161303d836125d0565b928981169081156130d95750600114613092575b50505050600693928261307e64173539b7b760d91b93602f60f81b6125cd9996525180938684019061225d565b01918201520360191981018452018261244a565b815292935090916000805160206134fc8339815191525b8282106130c357505084010190828161307e6125cd613051565b80548983018501528896509083019087016130a9565b60ff1916858a0152505050801515028501019150828161307e6125cd613051565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049087826130205750613025565b9160010191612fe4565b9193606460029104940191612fd9565b60049193950494019138612fce565b60089193950494019138612fc1565b60109193950494019138612fb2565b849193950494019138612fa0565b0494509150813880612f86565b90849392935282528083209051928391818154906131a8826125d0565b8086529260019280841690811561320f57506001146131d2575b505050506125cd9250038261244a565b815285812095935091905b8183106131f75750506125cd9350820101388080806131c2565b855487840185015294850194869450918301916131dd565b93505050506125cd94925060ff191682840152151560051b820101388080806131c2565b1561323a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b929190610100548211613473576101045461341457604051936132a1856123fe565b8285526132af368383612486565b6020908082880152604087019160009788845251610105558151906001600160401b03821161340057610106926132ea83610b9f86546125d0565b81601f841160011461336b57509082917f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba1998999a92613360575b50508160011b916000199060031b1c19161790555b5115156101079060ff8019835416911617905561335b60405192839283612f0f565b0390a2565b015190503880613324565b848b5292996000805160206134fc83398151915293601f198c1691905b8282106133e857505091600193918b7f6f1d651e6e0c8f86bd32a20c22a644d1e34fabf72307ff95d51b9f5892ddba199a9b9c94106133cf575b505050811b019055613339565b015160001960f88460031b161c191690553880806133c2565b80600186978294978701518155019601940190613388565b634e487b7160e01b89526041600452602489fd5b60405162461bcd60e51b815260206004820152603160248201527f5f707265706172654d696e743a3a63616e206f6e6c792070726570617265206d604482015270696e742077697468203020746f6b656e7360781b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f707265706172654d696e743a3a6578636565646564206d6178546f6b656e736044820152fd5b63ffffffff60e01b166380ac58cd60e01b81149081156134ea575b81156134dc575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b811491506134d256fec9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63ba26469706673582212205a1ad579f6120d95892eb81845933bef9bdac474cf43e08468c9e24ae378ca0464736f6c63430008120033","sourceMap":"212:1724:228:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:42;212:1724:228;-1:-1:-1;;;;;212:1724:228;;;;2088:10:115;1310:16:228;2064:71:115;;212:1724:228;;;;;;2839:39:115;;2835:84;;212:1724:228;;;;;;;:::i;:::-;5643:13:115;;5677:3;212:1724:228;;5658:17:115;;;;;8398:50:113;5717:15:115;;;:::i;:::-;5737:9;;;;;:::i;:::-;212:1724:228;;8398:50:113;;:::i;:::-;;5795:9:115;;;;;;:::i;:::-;212:1724:228;;2088:10:115;5764:52;;;;-1:-1:-1;;212:1724:228;;;;;;5643:13:115;;212:1724:228;-1:-1:-1;;;212:1724:228;;;;;;;;5658:17:115;;212:1724:228;;2835:84:115;212:1724:228;-1:-1:-1;;;2887:32:115;;212:1724:228;;2887:32:115;212:1724:228;-1:-1:-1;;;212:1724:228;;;;;;;;2064:71:115;212:1724:228;-1:-1:-1;;;2108:27:115;;212:1724:228;;2108:27:115;212:1724:228;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;212:1724:228;;2402:22:42;212:1724:228;;2496:8:42;;;;:::i;:::-;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;212:1724:228;;;;7807:16:225;212:1724:228;;;;;;-1:-1:-1;;;;;;212:1724:228;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:20:225;212:1724:228;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;8963:55:113;212:1724:228;;:::i;:::-;4167:14:115;212:1724:228;4172:8:115;212:1724:228;;4167:14:115;:::i;:::-;-1:-1:-1;;;;;212:1724:228;;;-1:-1:-1;212:1724:228;;;;4351:12:113;;;212:1724:228;;;;;;4351:24:113;;;4255:127;8963:55;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;212:1724:228;;;;;4980:18:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:24:225;212:1724:228;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;;;1513:6:42;212:1724:228;-1:-1:-1;;;;;212:1724:228;2088:10:115;1310:16:228;2064:71:115;;3436:15;;;;:::i;:::-;212:1724:228;;;;;;;;;;;;3462:34:115;212:1724:228;;2088:10:115;3462:34;2088:10;3462:34;;;:::i;:::-;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;2064:71:115;212:1724:228;;-1:-1:-1;;;2108:27:115;;;212:1724:228;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;-1:-1:-1;;;;;212:1724:228;;;;6019:15:225;212:1724:228;;;;;;;:::i;:::-;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;4495:52:225;4504:8;212:1724:228;;;4503:9:225;4495:52;:::i;:::-;212:1724:228;;6019:15:225;;:::i;:::-;-1:-1:-1;;;;;212:1724:228;;;6045:15:225;212:1724:228;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;6956:47:61;212:1724:228;;;6948:110:61;212:1724:228;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;212:1724:228:-;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;-1:-1:-1;;;;;212:1724:228;;;;5488:15:225;212:1724:228;;;;;;;:::i;:::-;1303:62:42;;:::i;212:1724:228:-;;;;;;;;;;;;;;;;2453:24:233;212:1724:228;;;;;;;;;;;;;;;;:::i;:::-;;;;1460:8:115;212:1724:228;;;;;;;;1472:28:115;1460:40;;1472:28;;-1:-1:-1;1472:28:115;212:1724:228;;;1515:4:115;212:1724:228;;;;;;;-1:-1:-1;;;;;212:1724:228;;-1:-1:-1;212:1724:228;;;4351:12:113;;212:1724:228;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;212:1724:228;;929:10:68;13528:17:61;;212:1724:228;;929:10:68;;212:1724:228;;13585:18:61;212:1724:228;;;;;;;;;;13585:46:61;212:1724:228;;;;;;;;;;;;;;;;;;;13585:46:61;212:1724:228;;;;;;13646:41:61;212:1724:228;929:10:68;13646:41:61;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:115;212:1724:228;;-1:-1:-1;;;1574:28:115;;212:1724:228;;1574:28:115;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;212:1724:228;;1672:4:115;212:1724:228;;8963:55:113;212:1724:228;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;212:1724:228;4351:12:113;212:1724:228;;;-1:-1:-1;212:1724:228;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;212:1724:228;;-1:-1:-1;;;1730:28:115;;212:1724:228;;1730:28:115;212:1724:228;;;;;;;;:::i;:::-;1513:6:42;212:1724:228;-1:-1:-1;;;;;212:1724:228;;;;2088:10:115;1310:16:228;2064:71:115;;212:1724:228;;;;;;;:::i;:::-;;;;;;;;;;5589:39:115;5585:387;;212:1724:228;;;5585:387:115;5643:13;5677:3;212:1724:228;;5658:17:115;;;;;8719:53:113;5845:15:115;;;:::i;:::-;5868:9;;;;;:::i;:::-;212:1724:228;;8719:53:113;;:::i;:::-;;5926:9:115;;;;;;:::i;:::-;212:1724:228;;;;;2088:10:115;;;5895:52;;;;-1:-1:-1;;212:1724:228;;;;;;5643:13:115;;212:1724:228;-1:-1:-1;;;212:1724:228;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;5658:17:115;;;;;;;;5585:387;;;;;212:1724:228;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:61;212:1724:228;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;9923:10:225;212:1724:228;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;212:1724:228;8048:25:225;212:1724:228;;;;;;;;8143:18:225;;212:1724:228;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;8187:25:225;212:1724:228;;;;8187:25:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;8187:25:225;;;;;:::i;:::-;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;212:1724:228;;;;;;;;;;;;8187:25:225;212:1724:228;;;8187:25:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;212:1724:228;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;7165:4:225;212:1724:228;;;;;;;;7201:10:225;7184:28;;;;212:1724:228;;;;;;;;;;;;;;;;;;;4333:8:115;212:1724:228;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;4495:52:225;4504:8;212:1724:228;;;4503:9:225;4495:52;:::i;:::-;1513:6:42;212:1724:228;-1:-1:-1;;;;;212:1724:228;;;;6391:10:225;:21;:52;;;;212:1724:228;;;;2453:24:233;212:1724:228;;2332:22:233;212:1724:228;;12147:14:225;;212:1724:228;;;;;;;;12254:9:225;212:1724:228;12243:20:225;;212:1724:228;;;;;;;;:::i;:::-;;;;;;9487:16:61;;;212:1724:228;;9559:16:61;8950:53;9559:16;;;;;8929:150;9559:16;9550:58;9559:16;;-1:-1:-1;212:1724:228;7266:7:61;212:1724:228;;;;;;;;-1:-1:-1;212:1724:228;;;7680:31:61;;7592:126;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;212:1724:228;;;7266:7:61;212:1724:228;;;;;;9754:58:61;;-1:-1:-1;;;;;212:1724:228;7680:31:61;;9763:16;7592:126;9754:58;212:1724:228;;;10154:9:61;212:1724:228;;;;;;;;;;;;;;10193:7:61;212:1724:228;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;10230:33:61;;;;;8950:53;:::i;8929:150::-;212:1724:228;;;1794:18:233;212:1724:228;;;;;;1639:16:233;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;6391:52:225;:10;;212:1724:228;;6416:15:225;212:1724:228;;4504:8:225;212:1724:228;;;;;6391:52:225;;212:1724:228;;;;;;;;;;;;;;;;2482:31:117;212:1724:228;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;212:1724:228;;-1:-1:-1;;;;;;212:1724:228;;;;;;;-1:-1:-1;;;;;212:1724:228;2806:40:42;212:1724:228;;2806:40:42;212:1724:228;;;;;;;;;-1:-1:-1;;212:1724:228;;;;-1:-1:-1;;;;;212:1724:228;;:::i;:::-;;2489:19:61;;;212:1724:228;;;;;;;;;2571:9:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;6897:17:225;;;;:::i;:::-;6918:10;-1:-1:-1;;;;;212:1724:228;;;6897:31:225;212:1724:228;;7000:8:225;;;;:::i;212:1724:228:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;212:1724:228;3346:108:48;;;;212:1724:228;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;;;;;3562:65:48;;212:1724:228;-1:-1:-1;;;;;;212:1724:228;;3821:22:225;212:1724:228;;;;;5366:69:48;212:1724:228;;;;;3917:2:225;2197:38:233;212:1724:228;;;;;;;;3956:22:225;212:1724:228;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;212:1724:228;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;212:1724:228;;;;;;5366:69:48;;;:::i;:::-;212:1724:228;;;;;;;;;1873:13:61;212:1724:228;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;212:1724:228;;;;;;;;;;;1873:13:61;212:1724:228;;;;;;;;;;;1896:17:61;212:1724:228;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;212:1724:228;;;5366:69:48;212:1724:228;;;;;;-1:-1:-1;;;;212:1724:228;;;;;;;;;;;1896:17:61;212:1724:228;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;212:1724:228;;-1:-1:-1;;;;;;212:1724:228;-1:-1:-1;;;;;212:1724:228;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;212:1724:228;;;3647:99:48;212:1724:228;;-1:-1:-1;;212:1724:228;;;;;;;3721:14:48;;212:1724:228;;3721:14:48;3647:99;;212:1724:228;;;;;;;-1:-1:-1;212:1724:228;;;;;1896:17:61;212:1724:228;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;5366:69:48;212:1724:228;;;;2496:8:42;212:1724:228;;;;;;;;;;;;;;1896:17:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;;;;;;;;;;1873:13:61;212:1724:228;;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;;;;;1873:13:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;212:1724:228;;;;;3562:65:48;;;212:1724:228;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;212:1724:228;;;;;3436:17:48;3346:108;;3347:34;212:1724:228;;;;;3365:16:48;3347:34;;212:1724:228;;;;;;;;;;;;;;1916:31:117;212:1724:228;1950:15:117;-1:-1:-1;1912:117:117;;5330:8:115;;212:1724:228;;;;;;;;;;;;;;5318:10:115;;;;5302:51;;;;-1:-1:-1;;212:1724:228;;;5318:10:115;2086:35:117;;;;212:1724:228;;;-1:-1:-1;;;212:1724:228;;;;;;;;1912:117:117;212:1724:228;-1:-1:-1;;;1974:55:117;;;212:1724:228;;;;;;;;;;;;;;8808:34:225;1303:62:42;;;:::i;:::-;212:1724:228;;;;;;;;;;:::i;:::-;8808:34:225;;;8852:25;212:1724:228;;-1:-1:-1;;212:1724:228;8823:18:225;212:1724:228;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;;;1513:6:42;212:1724:228;-1:-1:-1;;;;;212:1724:228;2088:10:115;1310:16:228;2064:71:115;;5330:8;;212:1724:228;;;;;;;;;;;;;;2088:10:115;;;212:1724:228;2088:10:115;;5302:51;;;;212:1724:228;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;2064:71:115;212:1724:228;-1:-1:-1;;;2108:27:115;;;212:1724:228;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;212:1724:228;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;212:1724:228:-;;;;;;;;-1:-1:-1;;212:1724:228;;;;1513:6:42;212:1724:228;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;7474:9:225;212:1724:228;;:::i;:::-;1303:62:42;;:::i;:::-;212:1724:228;;;;;;-1:-1:-1;;;;;212:1724:228;;1492:34:233;212:1724:228;;;1492:34:233;212:1724:228;1418:115:233;212:1724:228;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;:::i;:::-;;;;9370:15:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;2332:22:233;212:1724:228;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;4008:14:115;212:1724:228;4013:8:115;212:1724:228;;4008:14:115;:::i;:::-;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;212:1724:228;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;1049:40:233;;212:1724:228;;1049:118:233;;1238:18;212:1724:228;;;;;;1238:33:233;;;;:131;;212:1724:228;;;;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;;1401:3:233;212:1724:228;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;1238:131:233;212:1724:228;1345:24:233;212:1724:228;1238:131:233;;;1049:118;212:1724:228;;1145:22:233;212:1724:228;;1049:118:233;;;212:1724:228;;;;;5365:7:61;212:1724:228;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;212:1724:228:-;;;;;;;;-1:-1:-1;;212:1724:228;;;;1513:6:42;212:1724:228;;;;-1:-1:-1;;;;;212:1724:228;2088:10:115;1310:16:228;2064:71:115;;2943:8:117;212:1724:228;;;;;;;;;;;;;;;2913:15:117;212:1724:228;2913:15:117;;;212:1724:228;;;3004:31:117;;212:1724:228;2962:87:117;212:1724:228;;;;;;;;;;;;;2088:10:115;2962:87:117;;212:1724:228;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;2064:71:115;-1:-1:-1;212:1724:228;-1:-1:-1;;;2108:27:115;;;212:1724:228;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;:::i;:::-;;;;;;;1513:6:42;212:1724:228;;;;1310:16;212:1724;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;212:1724:228;8478:25:225;212:1724:228;;;;;;;;;8574:10:225;212:1724:228;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8624:39:225;212:1724:228;;;;8624:39:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;8624:39:225;;;;;:::i;212:1724:228:-;;;;;;;;;;;;;;;;;;;;;;;;8624:39:225;212:1724:228;;;8624:39:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;10869:14:225;212:1724:228;;;;;;;;;;;;;5050:36:225;212:1724:228;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;4495:52:225;4504:8;212:1724:228;;;4503:9:225;4495:52;:::i;:::-;212:1724:228;;;;;;;;5050:15:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:115;212:1724:228;;;;;;;;;1460:40:115;;212:1724:228;;-1:-1:-1;212:1724:228;;;;1515:4:115;212:1724:228;;;;;;;-1:-1:-1;;;;;212:1724:228;;-1:-1:-1;212:1724:228;;;4351:12:113;;212:1724:228;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;212:1724:228;;;4025:34:61;;;:::i;:::-;212:1724:228;;;4077:11:61;;;;212:1724:228;;929:10:68;;4158:21:61;:62;;;;;1456:309:115;212:1724:228;;;;-1:-1:-1;212:1724:228;;;13173:15:61;212:1724:228;;;;;;-1:-1:-1;;;;;;212:1724:228;;;;;13226:34:61;212:1724:228;13226:34:61;:::i;:::-;212:1724:228;13217:57:61;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:62:61;212:1724:228;;;;4980:18:61;212:1724:228;;;;;929:10:68;212:1724:228;;;;;;;;;;4158:62:61;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;1510:92:115;212:1724:228;-1:-1:-1;;;1574:28:115;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;212:1724:228;;1672:4:115;212:1724:228;;8963:55:113;212:1724:228;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;212:1724:228;4351:12:113;212:1724:228;;;-1:-1:-1;212:1724:228;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;212:1724:228;-1:-1:-1;;;1730:28:115;;;212:1724:228;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;212:1724:228;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;;;-1:-1:-1;;;;;;212:1724:228;;;;;;;;;-1:-1:-1;;;;4844:47:115;;;:88;;;;212:1724:228;773:108;;;;212:1724;;;;;;;;;;773:108;11218:31:225;;-1:-1:-1;;;;11203:46:225;;;11218:31;11203:110;;;;773:108:228;11203:175:225;;;;773:108:228;11203:239:225;;;;;773:108:228;;;;;;;11203:239:225;11394:48;;;;:::i;:::-;11203:239;;;:175;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;11203:175:225;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;11203:110:225;-1:-1:-1;;;937:40:107;;;-1:-1:-1;11203:110:225;;4844:88:115;-1:-1:-1;;;937:40:107;;;-1:-1:-1;4844:88:115;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;3857:15:115;;;:::i;:::-;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;212:1724:228;;;;:::o;:::-;;;;-1:-1:-1;;;;;212:1724:228;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;212:1724:228;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;212:1724:228;;;;;-1:-1:-1;212:1724:228;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;:::o;:::-;-1:-1:-1;;;;;212:1724:228;;;;;;-1:-1:-1;;212:1724:228;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;;:::o;1599:130:42:-;1513:6;212:1724:228;-1:-1:-1;;;;;212:1724:228;929:10:68;1662:23:42;212:1724:228;;1599:130:42:o;212:1724:228:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;212:1724:228;;-1:-1:-1;;;;;212:1724:228;;;-1:-1:-1;;;;;;212:1724:228;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;212:1724:228:-;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;2651:219:61;-1:-1:-1;212:1724:228;;;7266:7:61;212:1724:228;;;;;;-1:-1:-1;;;;;212:1724:228;2785:56:61;2793:19;;;2785:56;:::i;:::-;2651:219;:::o;212:1724:228:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;8823:18:225;212:1724:228;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;212:1724:228;-1:-1:-1;;;;;;;;;;;212:1724:228;-1:-1:-1;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4407:167:61;-1:-1:-1;212:1724:228;;;7266:7:61;212:1724:228;;;;;;13851:53:61;;-1:-1:-1;;;;;212:1724:228;7680:31:61;;13851:53;:::i;:::-;-1:-1:-1;212:1724:228;;;4543:15:61;212:1724:228;;;;;;-1:-1:-1;;;;;212:1724:228;;4407:167:61:o;212:1724:228:-;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:228;;;;;;;;:::i;:::-;;;;7876:272:61;;-1:-1:-1;;;;;212:1724:228;;8001:34:61;7876:272;8001:34;:::i;:::-;212:1724:228;;;8053:16:61;;;;:52;;;;;7876:272;8053:87;;;;;7876:272;8045:96;;;7876:272;:::o;8053:87::-;8109:20;;;;;;:::i;:::-;212:1724:228;8109:31:61;8053:87;;;;;:52;212:1724:228;;;-1:-1:-1;212:1724:228;4980:18:61;212:1724:228;;;-1:-1:-1;212:1724:228;;-1:-1:-1;212:1724:228;;;;;-1:-1:-1;212:1724:228;;;8053:52:61;;;;212:1724:228;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;11762:1225:61;;11851:92;11762:1225;11859:34;;;:::i;:::-;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;212:1724:228;11961:16:61;;;212:1724:228;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;212:1724:228;12171:42:61;12163:92;:::i;:::-;12901:27;11975:1;212:1724:228;;;12324:15:61;212:1724:228;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;12792:9:61;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;212:1724:228;;;;;;;;;;;;;12901:27:61;;11762:1225::o;212:1724:228:-;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;14463:853:61;;;212:1724:228;;14463:853:61;;;1713:19:66;;:23;:19;;212:1724:228;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;212:1724:228;;;;;;;;;;;;;;;14667:82:61;;;;212:1724:228;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;212:1724:228;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;212:1724:228;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;212:1724:228;;-1:-1:-1;;;14969:60:61;;212:1724:228;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;212:1724:228;;;;;14663:595:61;-1:-1:-1;;;;;;212:1724:228;14799:62:61;;-1:-1:-1;212:1724:228;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;212:1724:228;;;;;-1:-1:-1;;;;;;212:1724:228;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;212:1724:228;;14463:853:61;;;1713:19:66;;:23;:19;;212:1724:228;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;212:1724:228;;;;;;;;:::i;:::-;14667:82:61;212:1724:228;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;212:1724:228;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;803:238:64:-;911:99;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;11007:31;212:1724:228;;;11014:15:61;212:1724:228;;;;;;;;;;-1:-1:-1;;;;;;212:1724:228;;;;;;-1:-1:-1;;;;;212:1724:228;;;;;;11254:9:61;212:1724:228;;;;;;;-1:-1:-1;;212:1724:228;;;;;;11302:7:61;212:1724:228;;;;;;;;;;;;;11007:31:61;11334:36;11007:31;;11334:36;803:238:64:o;212:1724:228:-;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:228;3857:4:115;212:1724:228;;;-1:-1:-1;212:1724:228;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:228;;-1:-1:-1;212:1724:228;;;-1:-1:-1;212:1724:228;:::o;2214:404:113:-;-1:-1:-1;212:1724:228;;;4351:12:113;;;212:1724:228;;;;;;2298:21:113;;212:1724:228;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:228;2493:12:113;212:1724:228;;;-1:-1:-1;212:1724:228;;;2547:11:113;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:113;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;3023:15:113;;;;3019:1149;3023:15;;;-1:-1:-1;;212:1724:228;;;;;;;;;;;;;;;;;;;;3505:26:113;;;3501:398;;3019:1149;212:1724:228;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:113;4103:11;:::o;212:1724:228:-;-1:-1:-1;;;212:1724:228;;;;;;;;3501:398:113;212:1724:228;3571:22:113;3693:26;3571:22;;;:::i;:::-;212:1724:228;;;;;;3693:26:113;;;;;:::i;212:1724:228:-;;;;;;;;;;;;3501:398:113;;;;;212:1724:228;-1:-1:-1;;;212:1724:228;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;3019:1149:113;4145:12;;;;;:::o;212:1724:228:-;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;212:1724:228;8143:18:225;212:1724:228;;-1:-1:-1;;;;;;;;;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;212:1724:228;;;;:::o;10218:451:225:-;-1:-1:-1;212:1724:228;;;;10341:10:225;212:1724:228;;;;;;;;;;;;;;:::i;:::-;10331:96:225;;-1:-1:-1;10582:19:225;;;602:28:71;;10287:8:74;10582:19:225;10278:17:74;;;;10274:103;;10218:451:225;10403:8:74;;;10394:17;;;;10390:103;;10218:451:225;10519:8:74;;10510:17;;;;10506:103;;10218:451:225;10635:7:74;;10626:16;;;;10622:100;;10218:451:225;10748:7:74;;10739:16;;;;10735:100;;10218:451:225;10852:16:74;10861:7;10852:16;;;10848:100;;10218:451:225;10974:7:74;10965:16;;;;10961:66;;10218:451:225;633:1:71;212:1724:228;;;;;;775:76:71;212:1724:228;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;212:1724:228;;;;775:76:71;;;864:280;633:1;;;864:280;212:1724:228;;;;;;;;10517:18:225;212:1724:228;;;;;;;:::i;:::-;;;;;;633:1:71;;;;212:1724:228;;;;;;;;;;10479:169:225;212:1724:228;;;;-1:-1:-1;;;212:1724:228;-1:-1:-1;;;10479:169:225;212:1724:228;;;;;;;;;;;:::i;:::-;;;;;;10479:169:225;;;;;;;;;;:::i;212:1724:228:-;;;;;-1:-1:-1;212:1724:228;;-1:-1:-1;;;;;;;;;;;212:1724:228;;;;;;-1:-1:-1;;212:1724:228;;;;;;;10479:169:225;212:1724:228;;;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;;;;;-1:-1:-1;;212:1724:228;10479:169:225;;;212:1724:228;-1:-1:-1;;;212:1724:228;;;;;;;;-1:-1:-1;212:1724:228;;;10479:169:225;212:1724:228;;864:280:71;-1:-1:-1;;212:1724:228;;;;-1:-1:-1;;;969:93:71;;;;212:1724:228;969:93:71;212:1724:228;1079:11:71;;;864:280;1108:21;1124:5;;;10961:66:74;212:1724:228;11011:1:74;212:1724:228;10961:66:74;;;10848:100;212:1724:228;;10861:7:74;10932:1;212:1724:228;;;;10848:100:74;;;10735;10819:1;212:1724:228;;;;;;10735:100:74;;;;10622;10706:1;212:1724:228;;;;;;10622:100:74;;;;10506:103;10592:2;212:1724:228;;;;;;10506:103:74;;;;10390;212:1724:228;;;;;;;10390:103:74;;;;10274;212:1724:228;;-1:-1:-1;212:1724:228;-1:-1:-1;212:1724:228;10274:103:74;;;;10331:96:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;12717:483:225;;;;12871:9;212:1724:228;12852:28:225;;212:1724:228;;12969:14:225;212:1724:228;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;13096:44:225;;;;;;212:1724:228;;13096:44:225;;-1:-1:-1;;212:1724:228;;;;;13083:57:225;212:1724:228;;;;-1:-1:-1;;;;;212:1724:228;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13155:38:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13155:38:225;212:1724:228;;13155:38:225;;;;;:::i;:::-;;;;12717:483::o;212:1724:228:-;;;;-1:-1:-1;212:1724:228;;;;;;;;;;-1:-1:-1;;;;;;;;;;;212:1724:228;-1:-1:-1;;212:1724:228;;;;;;;;;;;;;;;;;13155:38:225;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;-1:-1:-1;;;212:1724:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1987:344:61;212:1724:228;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:107;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;","linkReferences":{}},"methodIdentifiers":{"activateDeadmanListTrigger()":"5aec8d62","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDeadmanTriggerAvailableDatetime()":"717392ed","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","getMintConfig()":"9338bb5d","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isApprovedMinter(address)":"3a3d146f","isOperatorInList(address)":"eab85118","lockBaseURI()":"53df5c7c","maxTokens()":"e8315742","mintTo(address)":"755edd17","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","prepareMint(string,uint256)":"b390ac25","prepareMintWithMinter(string,uint256,address)":"b9fbd25c","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDeadmanListTriggerRenewalDuration(uint256)":"21c4a5d8","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setMinterApproval(address,bool)":"0de54ba0","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBaseURI(string)":"931688cb","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadmanTriggerStillActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_activator\",\"type\":\"address\"}],\"name\":\"DeadmanTriggerActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_oldDatetime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newDatetime\",\"type\":\"uint256\"}],\"name\":\"DeadmanTriggerDatetimeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"MetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"PrepareMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"activateDeadmanListTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeadmanTriggerAvailableDatetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMintConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"lockedMetadata\",\"type\":\"bool\"}],\"internalType\":\"struct LazySovereignNFT.MintConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isApprovedMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"prepareMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"}],\"name\":\"prepareMintWithMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numYears\",\"type\":\"uint256\"}],\"name\":\"setDeadmanListTriggerRenewalDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isMinter\",\"type\":\"bool\"}],\"name\":\"setMinterApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_metadataUri\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"activateDeadmanListTrigger()\":{\"details\":\"Can only be called if deadmanListTriggerAfterDatetime is in the past.\"},\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"deleteToken(uint256)\":{\"details\":\"Delete a token with the given ID.\",\"params\":{\"_tokenId\":\"The ID of the token to delete.\"}},\"disableContract()\":{\"details\":\"Disable the contract, preventing further minting.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"returns\":{\"_0\":\"uint256 denoting unix epoch time after which the deadman trigger can be activated.\"}},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"getMintConfig()\":{\"details\":\"Get the current minting configuration.\",\"returns\":{\"_0\":\"mintConfig the mint config.\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"init(string,string,address,uint256)\":{\"details\":\"Contract initialization function.\",\"params\":{\"_creator\":\"The address of the contract creator.\",\"_maxTokens\":\"The maximum number of tokens that can be minted.\",\"_name\":\"The name of the NFT contract.\",\"_symbol\":\"The symbol of the NFT contract.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isApprovedMinter(address)\":{\"details\":\"Checks if the supplied address is approved for minting\",\"params\":{\"_address\":\"The address of the minter.\"},\"returns\":{\"_0\":\"bool, whether the address is approved for minting.\"}},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"lockBaseURI()\":{\"details\":\"Lock the metadata to prevent further updates.\"},\"mintTo(address)\":{\"details\":\"Mint a new token to the specified receiver.\",\"params\":{\"_receiver\":\"The address of the token receiver.\"},\"returns\":{\"_0\":\"uint256 Token Id of the new token.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"prepareMint(string,uint256)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"prepareMintWithMinter(string,uint256,address)\":{\"details\":\"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.\",\"params\":{\"_baseURI\":\"The base URI for token metadata.\",\"_minter\":\"The address of the minter.\",\"_numberOfTokens\":\"The number of tokens to prepare for minting.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_numYears\":\"to renew the trigger for.\"}},\"setDefaultRoyaltyReceiver(address)\":{\"details\":\"Set the default royalty receiver address.\",\"params\":{\"_receiver\":\"The address of the default royalty receiver.\"}},\"setMinterApproval(address,bool)\":{\"details\":\"Set a minter for the contract\",\"params\":{\"_isMinter\":\"bool of whether the address is a minter.\",\"_minter\":\"address of the minter.\"}},\"setRoyaltyReceiverForToken(address,uint256)\":{\"details\":\"Set a specific royalty receiver address for a token.\",\"params\":{\"_receiver\":\"The address of the royalty receiver.\",\"_tokenId\":\"The ID of the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"tokenCreator(uint256)\":{\"details\":\"Get the address of the token creator for a given token ID.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"address of the token creator.\"}},\"tokenURI(uint256)\":{\"details\":\"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.\",\"params\":{\"_tokenId\":\"The ID of the token.\"},\"returns\":{\"_0\":\"The token's URI.\"}},\"totalSupply()\":{\"details\":\"Get the total supply of tokens in existence.\",\"returns\":{\"_0\":\"The total supply of tokens.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateBaseURI(string)\":{\"details\":\"Update the base URI.\",\"params\":{\"_baseURI\":\"The new base URI.\"}},\"updateTokenURI(uint256,string)\":{\"details\":\"Update the token metadata URI.\",\"params\":{\"_metadataUri\":\"The new metadata URI.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"DeadmanTriggerStillActive()\":[{\"notice\":\"Emitted when the deadman trigger datetime threshold hasnt passed but tries to get called.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"DeadmanTriggerActivated(address)\":{\"notice\":\"Emitted when the deadman switch is activated.\"},\"DeadmanTriggerDatetimeUpdated(address,uint256,uint256)\":{\"notice\":\"Emitted when deadman trigger datetime has been updated.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"activateDeadmanListTrigger()\":{\"notice\":\"Triggers the deadman switch for the list\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"notice\":\"The datetime threshold after which the deadman trigger can be called by anyone.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"notice\":\"Sets the deadman list trigger for the specified number of years from current block timestamp\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":\"LazySovereignNFTRoyaltyGuardDeadmanTrigger\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol\":{\"keccak256\":\"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e\",\"dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa\"]},\"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79\",\"dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"DeadmanTriggerStillActive"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"address","name":"_activator","type":"address","indexed":true}],"type":"event","name":"DeadmanTriggerActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"uint256","name":"_oldDatetime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newDatetime","type":"uint256","indexed":false}],"type":"event","name":"DeadmanTriggerDatetimeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataLocked","anonymous":false},{"inputs":[{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"MetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256","indexed":true},{"internalType":"string","name":"baseURI","type":"string","indexed":false}],"type":"event","name":"PrepareMint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"metadataUri","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activateDeadmanListTrigger"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeadmanTriggerAvailableDatetime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMintConfig","outputs":[{"internalType":"struct LazySovereignNFT.MintConfig","name":"","type":"tuple","components":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"},{"internalType":"bool","name":"lockedMetadata","type":"bool"}]}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockBaseURI"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"prepareMint"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"},{"internalType":"address","name":"_minter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintWithMinter"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_numYears","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeadmanListTriggerRenewalDuration"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"bool","name":"_isMinter","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setMinterApproval"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_metadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"activateDeadmanListTrigger()":{"details":"Can only be called if deadmanListTriggerAfterDatetime is in the past."},"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"burn(uint256)":{"details":"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"deleteToken(uint256)":{"details":"Delete a token with the given ID.","params":{"_tokenId":"The ID of the token to delete."}},"disableContract()":{"details":"Disable the contract, preventing further minting."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getDeadmanTriggerAvailableDatetime()":{"returns":{"_0":"uint256 denoting unix epoch time after which the deadman trigger can be activated."}},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"getMintConfig()":{"details":"Get the current minting configuration.","returns":{"_0":"mintConfig the mint config."}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"init(string,string,address,uint256)":{"details":"Contract initialization function.","params":{"_creator":"The address of the contract creator.","_maxTokens":"The maximum number of tokens that can be minted.","_name":"The name of the NFT contract.","_symbol":"The symbol of the NFT contract."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isApprovedMinter(address)":{"details":"Checks if the supplied address is approved for minting","params":{"_address":"The address of the minter."},"returns":{"_0":"bool, whether the address is approved for minting."}},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"lockBaseURI()":{"details":"Lock the metadata to prevent further updates."},"mintTo(address)":{"details":"Mint a new token to the specified receiver.","params":{"_receiver":"The address of the token receiver."},"returns":{"_0":"uint256 Token Id of the new token."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"prepareMint(string,uint256)":{"details":"Prepare a minting batch with a specified base URI and number of tokens.","params":{"_baseURI":"The base URI for token metadata.","_numberOfTokens":"The number of tokens to prepare for minting."}},"prepareMintWithMinter(string,uint256,address)":{"details":"Prepare a minting batch with a specified base URI and number of tokens, and assign a minter address.","params":{"_baseURI":"The base URI for token metadata.","_minter":"The address of the minter.","_numberOfTokens":"The number of tokens to prepare for minting."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"details":"Only the contract owner can call this function.","params":{"_numYears":"to renew the trigger for."}},"setDefaultRoyaltyReceiver(address)":{"details":"Set the default royalty receiver address.","params":{"_receiver":"The address of the default royalty receiver."}},"setMinterApproval(address,bool)":{"details":"Set a minter for the contract","params":{"_isMinter":"bool of whether the address is a minter.","_minter":"address of the minter."}},"setRoyaltyReceiverForToken(address,uint256)":{"details":"Set a specific royalty receiver address for a token.","params":{"_receiver":"The address of the royalty receiver.","_tokenId":"The ID of the token."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"tokenCreator(uint256)":{"details":"Get the address of the token creator for a given token ID.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"address of the token creator."}},"tokenURI(uint256)":{"details":"Get the token URI for a specific token. If a token has a set URI, it will return that, otherwise it will return the token URI computed from the base URI.","params":{"_tokenId":"The ID of the token."},"returns":{"_0":"The token's URI."}},"totalSupply()":{"details":"Get the total supply of tokens in existence.","returns":{"_0":"The total supply of tokens."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateBaseURI(string)":{"details":"Update the base URI.","params":{"_baseURI":"The new base URI."}},"updateTokenURI(uint256,string)":{"details":"Update the token metadata URI.","params":{"_metadataUri":"The new metadata URI."}}},"version":1},"userdoc":{"kind":"user","methods":{"activateDeadmanListTrigger()":{"notice":"Triggers the deadman switch for the list"},"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getDeadmanTriggerAvailableDatetime()":{"notice":"The datetime threshold after which the deadman trigger can be called by anyone."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"notice":"Sets the deadman list trigger for the specified number of years from current block timestamp"},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol":"LazySovereignNFTRoyaltyGuardDeadmanTrigger"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/LazySovereignNFT.sol":{"keccak256":"0xf6f378b63a2f4573d0240ef48176d0310fc1a98f49d069caf582883071905635","urls":["bzz-raw://6bfd19f9e7d322ea32fb42e59e5eee7690c2b68f906d0ae3d8356b6fbd24366e","dweb:/ipfs/QmWcgM2eAPxkfakEs91eoj9bsGkPSpNpsv814pJH9nCPGa"],"license":"MIT"},"src/token/ERC721/sovereign/lazy/extensions/LazySovereignNFTRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xe6ccd5e1671c64bbb2cbe9aff65617bbeef899d879cbe712bfb69f6fa490f29c","urls":["bzz-raw://2c1f6984f179fefe7ebbb3fb36d880484d59f3595c76537cf6d63333b2c6aa79","dweb:/ipfs/QmNzGPY1AhpAJvduFDLFv3rSgMiHgrQugQ8VCXWwq5XdLK"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":228} \ No newline at end of file diff --git a/abis/MarketConfig.json b/abis/MarketConfig.json index 934ac82..21b0519 100644 --- a/abis/MarketConfig.json +++ b/abis/MarketConfig.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"generateMarketConfig","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MarketConfig.Config","components":[{"name":"networkBeneficiary","type":"address","internalType":"address"},{"name":"marketplaceSettings","type":"IMarketplaceSettings","internalType":"contract IMarketplaceSettings"},{"name":"spaceOperatorRegistry","type":"ISpaceOperatorRegistry","internalType":"contract ISpaceOperatorRegistry"},{"name":"royaltyEngine","type":"IRoyaltyEngineV1","internalType":"contract IRoyaltyEngineV1"},{"name":"payments","type":"IPayments","internalType":"contract IPayments"},{"name":"approvedTokenRegistry","type":"IApprovedTokenRegistry","internalType":"contract IApprovedTokenRegistry"},{"name":"stakingSettings","type":"IStakingSettings","internalType":"contract IStakingSettings"},{"name":"stakingRegistry","type":"IRareStakingRegistry","internalType":"contract IRareStakingRegistry"}]}],"stateMutability":"pure"},{"type":"event","name":"ApprovedTokenRegistryUpdated","inputs":[{"name":"newApprovedTokenRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MarketplaceSettingsUpdated","inputs":[{"name":"newMarketplaceSettings","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NetworkBeneficiaryUpdated","inputs":[{"name":"newNetworkBeneficiary","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PaymentsUpdated","inputs":[{"name":"newPayments","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoyaltyEngineUpdated","inputs":[{"name":"newRoyaltyEngine","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOperatorRegistryUpdated","inputs":[{"name":"newSpaceOperatorRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingRegistryUpdated","inputs":[{"name":"newStakingRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingSettingsUpdated","inputs":[{"name":"newStakingSettings","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001c5761099490816100228239308160070152f35b600080fdfe6080604052307f00000000000000000000000000000000000000000000000000000000000000001460048036101561003657600080fd5b600091823560e01c80631a34ca77146108ac57806323e95fa9146103445780632c55921b146102e457806333c5081c1461028457806386ce91bd1461022457806386e58007146101c4578063c70c56c714610165578063dec30e33146101085763ebda042b146100a557600080fd5b6101045760403660031901126101045760036001600160a01b036100c761090c565b16913501816001600160601b0360a01b8254161790557fe8f47ab65eb1a00a50621193de0bc029f73205b44c4e0c4d4c883a8f095f1f968280a280f35b5080fd5b5061010457604036600319011261010457356001600160a01b0361012a61090c565b1690816001600160601b0360a01b8254161790557fdeb68ce94dddbc68c0fe17a243912c6af53090be31db2e8a4dccf5c6758fc7e38280a280f35b50610104576040366003190112610104576001600160a01b0361018661090c565b1690803501816001600160601b0360a01b8254161790557f304724bab5a5569aa1febff9983351c6f3a30d43d9df341dd1abf4da4cf5d1458280a280f35b506101045760403660031901126101045760056001600160a01b036101e761090c565b16913501816001600160601b0360a01b8254161790557f7885b52bc25b3d2198a6f0e8dfe81eeb3de635dceae911d3eedd29d1258ccd058280a280f35b506101045760403660031901126101045760076001600160a01b0361024761090c565b16913501816001600160601b0360a01b8254161790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf8280a280f35b506101045760403660031901126101045760026001600160a01b036102a761090c565b16913501816001600160601b0360a01b8254161790557f3414ecfc4f469c114dce1f67d2f708d28c64684225cc027439743a0647d4797f8280a280f35b506101045760403660031901126101045760016001600160a01b0361030761090c565b16913501816001600160601b0360a01b8254161790557fccf304d72536db5abe0b333f647f64ab65c749de49a816e0d50c7a34400a2cf48280a280f35b610100848436600319018313610104578035916001600160a01b03831683036108955761036f61090c565b916044908135906001600160a01b03821682036108a8576064918235906001600160a01b03821682036108a45760848035936001600160a01b03851685036108a05760a435956001600160a01b038716870361089c5760c435976001600160a01b03891689036108985760e435996001600160a01b038b168b036108955760e06103f7610927565b8281528260208201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b038c1615610830576001600160a01b038b16156107c0576001600160a01b0385161561074e576001600160a01b038616156106e9576001600160a01b0387161561068c576001600160a01b0388161561061a576001600160a01b038916156105b5576001600160a01b038a161561055057505050506104a3610927565b6001600160a01b039889168082529789166020808301918252928a166040808401918252948b166060808501918252968c166080808601918252988d1660a08087019182529a8e1660c08088019182529c8f1660e097880190815289519e8f5295518f16978e019790975292518d16968c0196909652518b16958a019590955292518916948801949094529151871693860193909352518516928401929092525190921691810191909152f35b907f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e672072657f67697374727920616464726573732063616e6e6f74206265207a65726f0000009260206040519562461bcd60e51b8752860152603d6024860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e672073657f7474696e677320616464726573732063616e6e6f74206265207a65726f0000009260206040519562461bcd60e51b8752860152603d6024860152840152820152fd5b927f6f6b656e20726567697374727920616464726573732063616e6e6f7420626520637a65726f60e01b927f67656e65726174654d61726b6574436f6e6669673a3a417070726f766564207460a49660206040519762461bcd60e51b8952880152806024880152860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a5061796d656e74732061746464726573732063616e6e6f74206265207a65726f60581b9260206040519562461bcd60e51b875286015260356024860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a526f79616c747920656e7f67696e6520616464726573732063616e6e6f74206265207a65726f00000000009260206040519562461bcd60e51b8752860152603b6024860152840152820152fd5b927f61746f7220726567697374727920616464726573732063616e6e6f7420626520637a65726f60e01b927f67656e65726174654d61726b6574436f6e6669673a3a5370616365206f70657260a49660206040519762461bcd60e51b8952880152806024880152860152840152820152fd5b927f652073657474696e677320616464726573732063616e6e6f74206265207a6572606f60f81b927f67656e65726174654d61726b6574436f6e6669673a3a4d61726b6574706c616360a49660206040519762461bcd60e51b895288015260416024880152860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a4e6574776f726b2062657f6e656669636961727920616464726573732063616e6e6f74206265207a65726f9260206040519562461bcd60e51b875286015260406024860152840152820152fd5b80fd5b8980fd5b8880fd5b8780fd5b8580fd5b8380fd5b506101045760403660031901126101045760066001600160a01b036108cf61090c565b16913501816001600160601b0360a01b8254161790557f232234b004f5855fe7784b260c0f551770d2e11be6d9ed34fe39808b7716b0b48280a280f35b602435906001600160a01b038216820361092257565b600080fd5b60405190610100820182811067ffffffffffffffff82111761094857604052565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220d5569a1cde8f9fb4988a736655640bed3599a06f155fff11928dba8185c08ae364736f6c63430008120033","sourceMap":"668:4328:221:-:0;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052307f00000000000000000000000000000000000000000000000000000000000000001460048036101561003657600080fd5b600091823560e01c80631a34ca77146108ac57806323e95fa9146103445780632c55921b146102e457806333c5081c1461028457806386ce91bd1461022457806386e58007146101c4578063c70c56c714610165578063dec30e33146101085763ebda042b146100a557600080fd5b6101045760403660031901126101045760036001600160a01b036100c761090c565b16913501816001600160601b0360a01b8254161790557fe8f47ab65eb1a00a50621193de0bc029f73205b44c4e0c4d4c883a8f095f1f968280a280f35b5080fd5b5061010457604036600319011261010457356001600160a01b0361012a61090c565b1690816001600160601b0360a01b8254161790557fdeb68ce94dddbc68c0fe17a243912c6af53090be31db2e8a4dccf5c6758fc7e38280a280f35b50610104576040366003190112610104576001600160a01b0361018661090c565b1690803501816001600160601b0360a01b8254161790557f304724bab5a5569aa1febff9983351c6f3a30d43d9df341dd1abf4da4cf5d1458280a280f35b506101045760403660031901126101045760056001600160a01b036101e761090c565b16913501816001600160601b0360a01b8254161790557f7885b52bc25b3d2198a6f0e8dfe81eeb3de635dceae911d3eedd29d1258ccd058280a280f35b506101045760403660031901126101045760076001600160a01b0361024761090c565b16913501816001600160601b0360a01b8254161790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf8280a280f35b506101045760403660031901126101045760026001600160a01b036102a761090c565b16913501816001600160601b0360a01b8254161790557f3414ecfc4f469c114dce1f67d2f708d28c64684225cc027439743a0647d4797f8280a280f35b506101045760403660031901126101045760016001600160a01b0361030761090c565b16913501816001600160601b0360a01b8254161790557fccf304d72536db5abe0b333f647f64ab65c749de49a816e0d50c7a34400a2cf48280a280f35b610100848436600319018313610104578035916001600160a01b03831683036108955761036f61090c565b916044908135906001600160a01b03821682036108a8576064918235906001600160a01b03821682036108a45760848035936001600160a01b03851685036108a05760a435956001600160a01b038716870361089c5760c435976001600160a01b03891689036108985760e435996001600160a01b038b168b036108955760e06103f7610927565b8281528260208201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b038c1615610830576001600160a01b038b16156107c0576001600160a01b0385161561074e576001600160a01b038616156106e9576001600160a01b0387161561068c576001600160a01b0388161561061a576001600160a01b038916156105b5576001600160a01b038a161561055057505050506104a3610927565b6001600160a01b039889168082529789166020808301918252928a166040808401918252948b166060808501918252968c166080808601918252988d1660a08087019182529a8e1660c08088019182529c8f1660e097880190815289519e8f5295518f16978e019790975292518d16968c0196909652518b16958a019590955292518916948801949094529151871693860193909352518516928401929092525190921691810191909152f35b907f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e672072657f67697374727920616464726573732063616e6e6f74206265207a65726f0000009260206040519562461bcd60e51b8752860152603d6024860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e672073657f7474696e677320616464726573732063616e6e6f74206265207a65726f0000009260206040519562461bcd60e51b8752860152603d6024860152840152820152fd5b927f6f6b656e20726567697374727920616464726573732063616e6e6f7420626520637a65726f60e01b927f67656e65726174654d61726b6574436f6e6669673a3a417070726f766564207460a49660206040519762461bcd60e51b8952880152806024880152860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a5061796d656e74732061746464726573732063616e6e6f74206265207a65726f60581b9260206040519562461bcd60e51b875286015260356024860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a526f79616c747920656e7f67696e6520616464726573732063616e6e6f74206265207a65726f00000000009260206040519562461bcd60e51b8752860152603b6024860152840152820152fd5b927f61746f7220726567697374727920616464726573732063616e6e6f7420626520637a65726f60e01b927f67656e65726174654d61726b6574436f6e6669673a3a5370616365206f70657260a49660206040519762461bcd60e51b8952880152806024880152860152840152820152fd5b927f652073657474696e677320616464726573732063616e6e6f74206265207a6572606f60f81b927f67656e65726174654d61726b6574436f6e6669673a3a4d61726b6574706c616360a49660206040519762461bcd60e51b895288015260416024880152860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a4e6574776f726b2062657f6e656669636961727920616464726573732063616e6e6f74206265207a65726f9260206040519562461bcd60e51b875286015260406024860152840152820152fd5b80fd5b8980fd5b8880fd5b8780fd5b8580fd5b8380fd5b506101045760403660031901126101045760066001600160a01b036108cf61090c565b16913501816001600160601b0360a01b8254161790557f232234b004f5855fe7784b260c0f551770d2e11be6d9ed34fe39808b7716b0b48280a280f35b602435906001600160a01b038216820361092257565b600080fd5b60405190610100820182811067ffffffffffffffff82111761094857604052565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220d5569a1cde8f9fb4988a736655640bed3599a06f155fff11928dba8185c08ae364736f6c63430008120033","sourceMap":"668:4328:221:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;668:4328:221;;;;;-1:-1:-1;;;;;668:4328:221;;:::i;:::-;;;;4033:21;668:4328;-1:-1:-1;;;;;668:4328:221;;;;;;;;4100:36;;;;668:4328;;;;;;;;;;;;-1:-1:-1;;668:4328:221;;;;;-1:-1:-1;;;;;668:4328:221;;:::i;:::-;;;;-1:-1:-1;;;;;668:4328:221;;;;;;;;3390:46;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:221;;;;-1:-1:-1;;;;;668:4328:221;;:::i;:::-;;;;;4225:16;668:4328;-1:-1:-1;;;;;668:4328:221;;;;;;;;4275:26;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:221;;;;4416:29;-1:-1:-1;;;;;668:4328:221;;:::i;:::-;;;;4416:29;668:4328;-1:-1:-1;;;;;668:4328:221;;;;;;;;4505:52;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:221;;;;4874:23;-1:-1:-1;;;;;668:4328:221;;:::i;:::-;;;;4874:23;668:4328;-1:-1:-1;;;;;668:4328:221;;;;;;;;4949:40;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:221;;;;3793:29;-1:-1:-1;;;;;668:4328:221;;:::i;:::-;;;;3793:29;668:4328;-1:-1:-1;;;;;668:4328:221;;;;;;;;3882:52;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:221;;;;;-1:-1:-1;;;;;668:4328:221;;:::i;:::-;;;;3547:27;668:4328;-1:-1:-1;;;;;668:4328:221;;;;;;;;3630:48;;;;668:4328;;;;;;;-1:-1:-1;;668:4328:221;;-1:-1:-1;668:4328:221;;;;;-1:-1:-1;;;;;668:4328:221;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;668:4328:221;;;;;;;;;;;-1:-1:-1;;;;;668:4328:221;;;;;;;;;;-1:-1:-1;;;;;668:4328:221;;;;;;;;;-1:-1:-1;;;;;668:4328:221;;;;;;;;;-1:-1:-1;;;;;668:4328:221;;;;;;;;;-1:-1:-1;;;;;668:4328:221;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1932:33;668:4328;;-1:-1:-1;;;;;668:4328:221;;2048:34;668:4328;;-1:-1:-1;;;;;668:4328:221;;2166:36;668:4328;;-1:-1:-1;;;;;668:4328:221;;2289:28;668:4328;;-1:-1:-1;;;;;668:4328:221;;2395:23;668:4328;;-1:-1:-1;;;;;668:4328:221;;2490:36;668:4328;;-1:-1:-1;;;;;668:4328:221;;2613:30;668:4328;;-1:-1:-1;;;;;668:4328:221;;2723:30;668:4328;;;;;;;;:::i;:::-;-1:-1:-1;;;;;668:4328:221;;;;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;668:4328:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;668:4328:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;668:4328:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;668:4328:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;668:4328:221;;;;4660:23;-1:-1:-1;;;;;668:4328:221;;:::i;:::-;;;;4660:23;668:4328;-1:-1:-1;;;;;668:4328:221;;;;;;;;4731:40;;;;668:4328;;;;;;-1:-1:-1;;;;;668:4328:221;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"library_deploy_address":[{"start":7,"length":32}]}},"methodIdentifiers":{"generateMarketConfig(address,address,address,address,address,address,address,address)":"23e95fa9","updateApprovedTokenRegistry(MarketConfig.Config storage,address)":"86e58007","updateMarketplaceSettings(MarketConfig.Config storage,address)":"2c55921b","updateNetworkBeneficiary(MarketConfig.Config storage,address)":"dec30e33","updatePayments(MarketConfig.Config storage,address)":"c70c56c7","updateRoyaltyEngine(MarketConfig.Config storage,address)":"ebda042b","updateSpaceOperatorRegistry(MarketConfig.Config storage,address)":"33c5081c","updateStakingRegistry(MarketConfig.Config storage,address)":"86ce91bd","updateStakingSettings(MarketConfig.Config storage,address)":"1a34ca77"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newApprovedTokenRegistry\",\"type\":\"address\"}],\"name\":\"ApprovedTokenRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newMarketplaceSettings\",\"type\":\"address\"}],\"name\":\"MarketplaceSettingsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newNetworkBeneficiary\",\"type\":\"address\"}],\"name\":\"NetworkBeneficiaryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newPayments\",\"type\":\"address\"}],\"name\":\"PaymentsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRoyaltyEngine\",\"type\":\"address\"}],\"name\":\"RoyaltyEngineUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newSpaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"SpaceOperatorRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingRegistry\",\"type\":\"address\"}],\"name\":\"StakingRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingSettings\",\"type\":\"address\"}],\"name\":\"StakingSettingsUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"generateMarketConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"marketplaceSettings\",\"type\":\"IMarketplaceSettings\"},{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"spaceOperatorRegistry\",\"type\":\"ISpaceOperatorRegistry\"},{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"royaltyEngine\",\"type\":\"IRoyaltyEngineV1\"},{\"internalType\":\"contract IPayments\",\"name\":\"payments\",\"type\":\"IPayments\"},{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"approvedTokenRegistry\",\"type\":\"IApprovedTokenRegistry\"},{\"internalType\":\"contract IStakingSettings\",\"name\":\"stakingSettings\",\"type\":\"IStakingSettings\"},{\"internalType\":\"contract IRareStakingRegistry\",\"name\":\"stakingRegistry\",\"type\":\"IRareStakingRegistry\"}],\"internalType\":\"struct MarketConfig.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/structs/MarketConfig.sol\":\"MarketConfig\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/utils/structs/MarketConfig.sol\":{\"keccak256\":\"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369\",\"dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"newApprovedTokenRegistry","type":"address","indexed":true}],"type":"event","name":"ApprovedTokenRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newMarketplaceSettings","type":"address","indexed":true}],"type":"event","name":"MarketplaceSettingsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newNetworkBeneficiary","type":"address","indexed":true}],"type":"event","name":"NetworkBeneficiaryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newPayments","type":"address","indexed":true}],"type":"event","name":"PaymentsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newRoyaltyEngine","type":"address","indexed":true}],"type":"event","name":"RoyaltyEngineUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newSpaceOperatorRegistry","type":"address","indexed":true}],"type":"event","name":"SpaceOperatorRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingRegistry","type":"address","indexed":true}],"type":"event","name":"StakingRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingSettings","type":"address","indexed":true}],"type":"event","name":"StakingSettingsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"pure","type":"function","name":"generateMarketConfig","outputs":[{"internalType":"struct MarketConfig.Config","name":"","type":"tuple","components":[{"internalType":"address","name":"networkBeneficiary","type":"address"},{"internalType":"contract IMarketplaceSettings","name":"marketplaceSettings","type":"IMarketplaceSettings"},{"internalType":"contract ISpaceOperatorRegistry","name":"spaceOperatorRegistry","type":"ISpaceOperatorRegistry"},{"internalType":"contract IRoyaltyEngineV1","name":"royaltyEngine","type":"IRoyaltyEngineV1"},{"internalType":"contract IPayments","name":"payments","type":"IPayments"},{"internalType":"contract IApprovedTokenRegistry","name":"approvedTokenRegistry","type":"IApprovedTokenRegistry"},{"internalType":"contract IStakingSettings","name":"stakingSettings","type":"IStakingSettings"},{"internalType":"contract IRareStakingRegistry","name":"stakingRegistry","type":"IRareStakingRegistry"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/structs/MarketConfig.sol":"MarketConfig"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/utils/structs/MarketConfig.sol":{"keccak256":"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1","urls":["bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369","dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6"],"license":"MIT"}},"version":1},"id":221} \ No newline at end of file +{"abi":[{"type":"function","name":"generateMarketConfig","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MarketConfig.Config","components":[{"name":"networkBeneficiary","type":"address","internalType":"address"},{"name":"marketplaceSettings","type":"IMarketplaceSettings","internalType":"contract IMarketplaceSettings"},{"name":"spaceOperatorRegistry","type":"ISpaceOperatorRegistry","internalType":"contract ISpaceOperatorRegistry"},{"name":"royaltyEngine","type":"IRoyaltyEngineV1","internalType":"contract IRoyaltyEngineV1"},{"name":"payments","type":"IPayments","internalType":"contract IPayments"},{"name":"approvedTokenRegistry","type":"IApprovedTokenRegistry","internalType":"contract IApprovedTokenRegistry"},{"name":"stakingSettings","type":"IStakingSettings","internalType":"contract IStakingSettings"},{"name":"stakingRegistry","type":"IRareStakingRegistry","internalType":"contract IRareStakingRegistry"}]}],"stateMutability":"pure"},{"type":"event","name":"ApprovedTokenRegistryUpdated","inputs":[{"name":"newApprovedTokenRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MarketplaceSettingsUpdated","inputs":[{"name":"newMarketplaceSettings","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NetworkBeneficiaryUpdated","inputs":[{"name":"newNetworkBeneficiary","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PaymentsUpdated","inputs":[{"name":"newPayments","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoyaltyEngineUpdated","inputs":[{"name":"newRoyaltyEngine","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOperatorRegistryUpdated","inputs":[{"name":"newSpaceOperatorRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingRegistryUpdated","inputs":[{"name":"newStakingRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingSettingsUpdated","inputs":[{"name":"newStakingSettings","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001c5761099490816100228239308160070152f35b600080fdfe6080604052307f00000000000000000000000000000000000000000000000000000000000000001460048036101561003657600080fd5b600091823560e01c80631a34ca77146108ac57806323e95fa9146103445780632c55921b146102e457806333c5081c1461028457806386ce91bd1461022457806386e58007146101c4578063c70c56c714610165578063dec30e33146101085763ebda042b146100a557600080fd5b6101045760403660031901126101045760036001600160a01b036100c761090c565b16913501816001600160601b0360a01b8254161790557fe8f47ab65eb1a00a50621193de0bc029f73205b44c4e0c4d4c883a8f095f1f968280a280f35b5080fd5b5061010457604036600319011261010457356001600160a01b0361012a61090c565b1690816001600160601b0360a01b8254161790557fdeb68ce94dddbc68c0fe17a243912c6af53090be31db2e8a4dccf5c6758fc7e38280a280f35b50610104576040366003190112610104576001600160a01b0361018661090c565b1690803501816001600160601b0360a01b8254161790557f304724bab5a5569aa1febff9983351c6f3a30d43d9df341dd1abf4da4cf5d1458280a280f35b506101045760403660031901126101045760056001600160a01b036101e761090c565b16913501816001600160601b0360a01b8254161790557f7885b52bc25b3d2198a6f0e8dfe81eeb3de635dceae911d3eedd29d1258ccd058280a280f35b506101045760403660031901126101045760076001600160a01b0361024761090c565b16913501816001600160601b0360a01b8254161790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf8280a280f35b506101045760403660031901126101045760026001600160a01b036102a761090c565b16913501816001600160601b0360a01b8254161790557f3414ecfc4f469c114dce1f67d2f708d28c64684225cc027439743a0647d4797f8280a280f35b506101045760403660031901126101045760016001600160a01b0361030761090c565b16913501816001600160601b0360a01b8254161790557fccf304d72536db5abe0b333f647f64ab65c749de49a816e0d50c7a34400a2cf48280a280f35b610100848436600319018313610104578035916001600160a01b03831683036108955761036f61090c565b916044908135906001600160a01b03821682036108a8576064918235906001600160a01b03821682036108a45760848035936001600160a01b03851685036108a05760a435956001600160a01b038716870361089c5760c435976001600160a01b03891689036108985760e435996001600160a01b038b168b036108955760e06103f7610927565b8281528260208201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b038c1615610830576001600160a01b038b16156107c0576001600160a01b0385161561074e576001600160a01b038616156106e9576001600160a01b0387161561068c576001600160a01b0388161561061a576001600160a01b038916156105b5576001600160a01b038a161561055057505050506104a3610927565b6001600160a01b039889168082529789166020808301918252928a166040808401918252948b166060808501918252968c166080808601918252988d1660a08087019182529a8e1660c08088019182529c8f1660e097880190815289519e8f5295518f16978e019790975292518d16968c0196909652518b16958a019590955292518916948801949094529151871693860193909352518516928401929092525190921691810191909152f35b907f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e672072657f67697374727920616464726573732063616e6e6f74206265207a65726f0000009260206040519562461bcd60e51b8752860152603d6024860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e672073657f7474696e677320616464726573732063616e6e6f74206265207a65726f0000009260206040519562461bcd60e51b8752860152603d6024860152840152820152fd5b927f6f6b656e20726567697374727920616464726573732063616e6e6f7420626520637a65726f60e01b927f67656e65726174654d61726b6574436f6e6669673a3a417070726f766564207460a49660206040519762461bcd60e51b8952880152806024880152860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a5061796d656e74732061746464726573732063616e6e6f74206265207a65726f60581b9260206040519562461bcd60e51b875286015260356024860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a526f79616c747920656e7f67696e6520616464726573732063616e6e6f74206265207a65726f00000000009260206040519562461bcd60e51b8752860152603b6024860152840152820152fd5b927f61746f7220726567697374727920616464726573732063616e6e6f7420626520637a65726f60e01b927f67656e65726174654d61726b6574436f6e6669673a3a5370616365206f70657260a49660206040519762461bcd60e51b8952880152806024880152860152840152820152fd5b927f652073657474696e677320616464726573732063616e6e6f74206265207a6572606f60f81b927f67656e65726174654d61726b6574436f6e6669673a3a4d61726b6574706c616360a49660206040519762461bcd60e51b895288015260416024880152860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a4e6574776f726b2062657f6e656669636961727920616464726573732063616e6e6f74206265207a65726f9260206040519562461bcd60e51b875286015260406024860152840152820152fd5b80fd5b8980fd5b8880fd5b8780fd5b8580fd5b8380fd5b506101045760403660031901126101045760066001600160a01b036108cf61090c565b16913501816001600160601b0360a01b8254161790557f232234b004f5855fe7784b260c0f551770d2e11be6d9ed34fe39808b7716b0b48280a280f35b602435906001600160a01b038216820361092257565b600080fd5b60405190610100820182811067ffffffffffffffff82111761094857604052565b634e487b7160e01b600052604160045260246000fdfea264697066735822122041a7a89f461e0068e7ac1e71fb4fa5628a781134eef29761741c9dc8c2913c0964736f6c63430008120033","sourceMap":"668:4328:242:-:0;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052307f00000000000000000000000000000000000000000000000000000000000000001460048036101561003657600080fd5b600091823560e01c80631a34ca77146108ac57806323e95fa9146103445780632c55921b146102e457806333c5081c1461028457806386ce91bd1461022457806386e58007146101c4578063c70c56c714610165578063dec30e33146101085763ebda042b146100a557600080fd5b6101045760403660031901126101045760036001600160a01b036100c761090c565b16913501816001600160601b0360a01b8254161790557fe8f47ab65eb1a00a50621193de0bc029f73205b44c4e0c4d4c883a8f095f1f968280a280f35b5080fd5b5061010457604036600319011261010457356001600160a01b0361012a61090c565b1690816001600160601b0360a01b8254161790557fdeb68ce94dddbc68c0fe17a243912c6af53090be31db2e8a4dccf5c6758fc7e38280a280f35b50610104576040366003190112610104576001600160a01b0361018661090c565b1690803501816001600160601b0360a01b8254161790557f304724bab5a5569aa1febff9983351c6f3a30d43d9df341dd1abf4da4cf5d1458280a280f35b506101045760403660031901126101045760056001600160a01b036101e761090c565b16913501816001600160601b0360a01b8254161790557f7885b52bc25b3d2198a6f0e8dfe81eeb3de635dceae911d3eedd29d1258ccd058280a280f35b506101045760403660031901126101045760076001600160a01b0361024761090c565b16913501816001600160601b0360a01b8254161790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf8280a280f35b506101045760403660031901126101045760026001600160a01b036102a761090c565b16913501816001600160601b0360a01b8254161790557f3414ecfc4f469c114dce1f67d2f708d28c64684225cc027439743a0647d4797f8280a280f35b506101045760403660031901126101045760016001600160a01b0361030761090c565b16913501816001600160601b0360a01b8254161790557fccf304d72536db5abe0b333f647f64ab65c749de49a816e0d50c7a34400a2cf48280a280f35b610100848436600319018313610104578035916001600160a01b03831683036108955761036f61090c565b916044908135906001600160a01b03821682036108a8576064918235906001600160a01b03821682036108a45760848035936001600160a01b03851685036108a05760a435956001600160a01b038716870361089c5760c435976001600160a01b03891689036108985760e435996001600160a01b038b168b036108955760e06103f7610927565b8281528260208201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b038c1615610830576001600160a01b038b16156107c0576001600160a01b0385161561074e576001600160a01b038616156106e9576001600160a01b0387161561068c576001600160a01b0388161561061a576001600160a01b038916156105b5576001600160a01b038a161561055057505050506104a3610927565b6001600160a01b039889168082529789166020808301918252928a166040808401918252948b166060808501918252968c166080808601918252988d1660a08087019182529a8e1660c08088019182529c8f1660e097880190815289519e8f5295518f16978e019790975292518d16968c0196909652518b16958a019590955292518916948801949094529151871693860193909352518516928401929092525190921691810191909152f35b907f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e672072657f67697374727920616464726573732063616e6e6f74206265207a65726f0000009260206040519562461bcd60e51b8752860152603d6024860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e672073657f7474696e677320616464726573732063616e6e6f74206265207a65726f0000009260206040519562461bcd60e51b8752860152603d6024860152840152820152fd5b927f6f6b656e20726567697374727920616464726573732063616e6e6f7420626520637a65726f60e01b927f67656e65726174654d61726b6574436f6e6669673a3a417070726f766564207460a49660206040519762461bcd60e51b8952880152806024880152860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a5061796d656e74732061746464726573732063616e6e6f74206265207a65726f60581b9260206040519562461bcd60e51b875286015260356024860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a526f79616c747920656e7f67696e6520616464726573732063616e6e6f74206265207a65726f00000000009260206040519562461bcd60e51b8752860152603b6024860152840152820152fd5b927f61746f7220726567697374727920616464726573732063616e6e6f7420626520637a65726f60e01b927f67656e65726174654d61726b6574436f6e6669673a3a5370616365206f70657260a49660206040519762461bcd60e51b8952880152806024880152860152840152820152fd5b927f652073657474696e677320616464726573732063616e6e6f74206265207a6572606f60f81b927f67656e65726174654d61726b6574436f6e6669673a3a4d61726b6574706c616360a49660206040519762461bcd60e51b895288015260416024880152860152840152820152fd5b907f67656e65726174654d61726b6574436f6e6669673a3a4e6574776f726b2062657f6e656669636961727920616464726573732063616e6e6f74206265207a65726f9260206040519562461bcd60e51b875286015260406024860152840152820152fd5b80fd5b8980fd5b8880fd5b8780fd5b8580fd5b8380fd5b506101045760403660031901126101045760066001600160a01b036108cf61090c565b16913501816001600160601b0360a01b8254161790557f232234b004f5855fe7784b260c0f551770d2e11be6d9ed34fe39808b7716b0b48280a280f35b602435906001600160a01b038216820361092257565b600080fd5b60405190610100820182811067ffffffffffffffff82111761094857604052565b634e487b7160e01b600052604160045260246000fdfea264697066735822122041a7a89f461e0068e7ac1e71fb4fa5628a781134eef29761741c9dc8c2913c0964736f6c63430008120033","sourceMap":"668:4328:242:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;668:4328:242;;;;;-1:-1:-1;;;;;668:4328:242;;:::i;:::-;;;;4033:21;668:4328;-1:-1:-1;;;;;668:4328:242;;;;;;;;4100:36;;;;668:4328;;;;;;;;;;;;-1:-1:-1;;668:4328:242;;;;;-1:-1:-1;;;;;668:4328:242;;:::i;:::-;;;;-1:-1:-1;;;;;668:4328:242;;;;;;;;3390:46;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:242;;;;-1:-1:-1;;;;;668:4328:242;;:::i;:::-;;;;;4225:16;668:4328;-1:-1:-1;;;;;668:4328:242;;;;;;;;4275:26;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:242;;;;4416:29;-1:-1:-1;;;;;668:4328:242;;:::i;:::-;;;;4416:29;668:4328;-1:-1:-1;;;;;668:4328:242;;;;;;;;4505:52;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:242;;;;4874:23;-1:-1:-1;;;;;668:4328:242;;:::i;:::-;;;;4874:23;668:4328;-1:-1:-1;;;;;668:4328:242;;;;;;;;4949:40;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:242;;;;3793:29;-1:-1:-1;;;;;668:4328:242;;:::i;:::-;;;;3793:29;668:4328;-1:-1:-1;;;;;668:4328:242;;;;;;;;3882:52;;;;668:4328;;;;;;;;-1:-1:-1;;668:4328:242;;;;;-1:-1:-1;;;;;668:4328:242;;:::i;:::-;;;;3547:27;668:4328;-1:-1:-1;;;;;668:4328:242;;;;;;;;3630:48;;;;668:4328;;;;;;;-1:-1:-1;;668:4328:242;;-1:-1:-1;668:4328:242;;;;;-1:-1:-1;;;;;668:4328:242;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;668:4328:242;;;;;;;;;;;-1:-1:-1;;;;;668:4328:242;;;;;;;;;;-1:-1:-1;;;;;668:4328:242;;;;;;;;;-1:-1:-1;;;;;668:4328:242;;;;;;;;;-1:-1:-1;;;;;668:4328:242;;;;;;;;;-1:-1:-1;;;;;668:4328:242;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1932:33;668:4328;;-1:-1:-1;;;;;668:4328:242;;2048:34;668:4328;;-1:-1:-1;;;;;668:4328:242;;2166:36;668:4328;;-1:-1:-1;;;;;668:4328:242;;2289:28;668:4328;;-1:-1:-1;;;;;668:4328:242;;2395:23;668:4328;;-1:-1:-1;;;;;668:4328:242;;2490:36;668:4328;;-1:-1:-1;;;;;668:4328:242;;2613:30;668:4328;;-1:-1:-1;;;;;668:4328:242;;2723:30;668:4328;;;;;;;;:::i;:::-;-1:-1:-1;;;;;668:4328:242;;;;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;2838:384;;;668:4328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;668:4328:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;668:4328:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;668:4328:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;668:4328:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;668:4328:242;;;;4660:23;-1:-1:-1;;;;;668:4328:242;;:::i;:::-;;;;4660:23;668:4328;-1:-1:-1;;;;;668:4328:242;;;;;;;;4731:40;;;;668:4328;;;;;;-1:-1:-1;;;;;668:4328:242;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"library_deploy_address":[{"start":7,"length":32}]}},"methodIdentifiers":{"generateMarketConfig(address,address,address,address,address,address,address,address)":"23e95fa9","updateApprovedTokenRegistry(MarketConfig.Config storage,address)":"86e58007","updateMarketplaceSettings(MarketConfig.Config storage,address)":"2c55921b","updateNetworkBeneficiary(MarketConfig.Config storage,address)":"dec30e33","updatePayments(MarketConfig.Config storage,address)":"c70c56c7","updateRoyaltyEngine(MarketConfig.Config storage,address)":"ebda042b","updateSpaceOperatorRegistry(MarketConfig.Config storage,address)":"33c5081c","updateStakingRegistry(MarketConfig.Config storage,address)":"86ce91bd","updateStakingSettings(MarketConfig.Config storage,address)":"1a34ca77"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newApprovedTokenRegistry\",\"type\":\"address\"}],\"name\":\"ApprovedTokenRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newMarketplaceSettings\",\"type\":\"address\"}],\"name\":\"MarketplaceSettingsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newNetworkBeneficiary\",\"type\":\"address\"}],\"name\":\"NetworkBeneficiaryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newPayments\",\"type\":\"address\"}],\"name\":\"PaymentsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRoyaltyEngine\",\"type\":\"address\"}],\"name\":\"RoyaltyEngineUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newSpaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"SpaceOperatorRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingRegistry\",\"type\":\"address\"}],\"name\":\"StakingRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingSettings\",\"type\":\"address\"}],\"name\":\"StakingSettingsUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"generateMarketConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"marketplaceSettings\",\"type\":\"IMarketplaceSettings\"},{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"spaceOperatorRegistry\",\"type\":\"ISpaceOperatorRegistry\"},{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"royaltyEngine\",\"type\":\"IRoyaltyEngineV1\"},{\"internalType\":\"contract IPayments\",\"name\":\"payments\",\"type\":\"IPayments\"},{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"approvedTokenRegistry\",\"type\":\"IApprovedTokenRegistry\"},{\"internalType\":\"contract IStakingSettings\",\"name\":\"stakingSettings\",\"type\":\"IStakingSettings\"},{\"internalType\":\"contract IRareStakingRegistry\",\"name\":\"stakingRegistry\",\"type\":\"IRareStakingRegistry\"}],\"internalType\":\"struct MarketConfig.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/structs/MarketConfig.sol\":\"MarketConfig\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/utils/structs/MarketConfig.sol\":{\"keccak256\":\"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369\",\"dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"newApprovedTokenRegistry","type":"address","indexed":true}],"type":"event","name":"ApprovedTokenRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newMarketplaceSettings","type":"address","indexed":true}],"type":"event","name":"MarketplaceSettingsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newNetworkBeneficiary","type":"address","indexed":true}],"type":"event","name":"NetworkBeneficiaryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newPayments","type":"address","indexed":true}],"type":"event","name":"PaymentsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newRoyaltyEngine","type":"address","indexed":true}],"type":"event","name":"RoyaltyEngineUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newSpaceOperatorRegistry","type":"address","indexed":true}],"type":"event","name":"SpaceOperatorRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingRegistry","type":"address","indexed":true}],"type":"event","name":"StakingRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingSettings","type":"address","indexed":true}],"type":"event","name":"StakingSettingsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"pure","type":"function","name":"generateMarketConfig","outputs":[{"internalType":"struct MarketConfig.Config","name":"","type":"tuple","components":[{"internalType":"address","name":"networkBeneficiary","type":"address"},{"internalType":"contract IMarketplaceSettings","name":"marketplaceSettings","type":"IMarketplaceSettings"},{"internalType":"contract ISpaceOperatorRegistry","name":"spaceOperatorRegistry","type":"ISpaceOperatorRegistry"},{"internalType":"contract IRoyaltyEngineV1","name":"royaltyEngine","type":"IRoyaltyEngineV1"},{"internalType":"contract IPayments","name":"payments","type":"IPayments"},{"internalType":"contract IApprovedTokenRegistry","name":"approvedTokenRegistry","type":"IApprovedTokenRegistry"},{"internalType":"contract IStakingSettings","name":"stakingSettings","type":"IStakingSettings"},{"internalType":"contract IRareStakingRegistry","name":"stakingRegistry","type":"IRareStakingRegistry"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/structs/MarketConfig.sol":"MarketConfig"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/utils/structs/MarketConfig.sol":{"keccak256":"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1","urls":["bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369","dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6"],"license":"MIT"}},"version":1},"id":242} \ No newline at end of file diff --git a/abis/MarketConfigV2.json b/abis/MarketConfigV2.json new file mode 100644 index 0000000..4bdb361 --- /dev/null +++ b/abis/MarketConfigV2.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"generateMarketConfig","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_erc20ApprovalManager","type":"address","internalType":"address"},{"name":"_erc721ApprovalManager","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MarketConfigV2.Config","components":[{"name":"networkBeneficiary","type":"address","internalType":"address"},{"name":"marketplaceSettings","type":"IMarketplaceSettings","internalType":"contract IMarketplaceSettings"},{"name":"spaceOperatorRegistry","type":"ISpaceOperatorRegistry","internalType":"contract ISpaceOperatorRegistry"},{"name":"royaltyEngine","type":"IRoyaltyEngineV1","internalType":"contract IRoyaltyEngineV1"},{"name":"payments","type":"IPayments","internalType":"contract IPayments"},{"name":"approvedTokenRegistry","type":"IApprovedTokenRegistry","internalType":"contract IApprovedTokenRegistry"},{"name":"stakingSettings","type":"IStakingSettings","internalType":"contract IStakingSettings"},{"name":"stakingRegistry","type":"IRareStakingRegistry","internalType":"contract IRareStakingRegistry"},{"name":"erc20ApprovalManager","type":"IERC20ApprovalManager","internalType":"contract IERC20ApprovalManager"},{"name":"erc721ApprovalManager","type":"IERC721ApprovalManager","internalType":"contract IERC721ApprovalManager"}]}],"stateMutability":"pure"},{"type":"event","name":"ApprovedTokenRegistryUpdated","inputs":[{"name":"newApprovedTokenRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ERC20ApprovalManagerUpdated","inputs":[{"name":"newERC20ApprovalManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ERC721ApprovalManagerUpdated","inputs":[{"name":"newERC721ApprovalManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MarketplaceSettingsUpdated","inputs":[{"name":"newMarketplaceSettings","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"NetworkBeneficiaryUpdated","inputs":[{"name":"newNetworkBeneficiary","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PaymentsUpdated","inputs":[{"name":"newPayments","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoyaltyEngineUpdated","inputs":[{"name":"newRoyaltyEngine","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOperatorRegistryUpdated","inputs":[{"name":"newSpaceOperatorRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingRegistryUpdated","inputs":[{"name":"newStakingRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingSettingsUpdated","inputs":[{"name":"newStakingSettings","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001c57610c3e90816100228239308160070152f35b600080fdfe6080604052307f000000000000000000000000000000000000000000000000000000000000000014600436101561003557600080fd5b60003560e01c9081631f1afd0d14610b5b578163287be21214610afb5781633a3a712e14610a9c57816350cf265614610a3c578163520a0a9c146109de5781635b1693c21461097e578163a2e033d41461091e578163c59a3e2a146108be578163c65854621461085e578163ed56be5b146107fe575063ef8c8249146100ba57600080fd5b610140806003193601126107f9576004356001600160a01b03811681036107f9576100e3610bbb565b6044356001600160a01b03811681036107f9576064356001600160a01b03811681036107f9576084356001600160a01b03811681036107f95760a4356001600160a01b03811681036107f95760c435906001600160a01b03821682036107f95760e435926001600160a01b03841684036107f95761010435946001600160a01b03861686036107f95761012435966001600160a01b03881688036107f957600061012061018e610bd1565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e082015282610100820152015260018060a01b038a161561078f576001600160a01b0389161561071a576001600160a01b038116156106a3576001600160a01b03821615610638576001600160a01b038316156105d5576001600160a01b0384161561055e576001600160a01b038516156104f3576001600160a01b03861615610488576001600160a01b03871615610411576001600160a01b0388161561039a57610261610bd1565b9860018060a01b038b168a5260018060a01b031660208a015260018060a01b0316604089015260018060a01b0316606088015260018060a01b0316608087015260018060a01b031660a086015260018060a01b031660c085015260018060a01b031660e084015260018060a01b031661010083015260018060a01b03166101208201526040519160018060a01b0316825260018060a01b03602082015116602083015260018060a01b03604082015116604083015260018060a01b03606082015116606083015260018060a01b03608082015116608083015260018060a01b0360a08201511660a083015260018060a01b0360c08201511660c083015260018060a01b0360e08201511660e083015260018060a01b036101008201511661010083015261012060018060a01b0391015116610120820152f35b60a460405162461bcd60e51b815260206004820152604460248201527f67656e65726174654d61726b6574436f6e6669673a3a4552433732312061707060448201527f726f76616c206d616e6167657220616464726573732063616e6e6f74206265206064820152637a65726f60e01b6084820152fd5b60405162461bcd60e51b815260206004820152604360248201527f67656e65726174654d61726b6574436f6e6669673a3a4552433230206170707260448201527f6f76616c206d616e6167657220616464726573732063616e6e6f74206265207a60648201526265726f60e81b608482015260a490fd5b60405162461bcd60e51b815260206004820152603d60248201527f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e6720726560448201527f67697374727920616464726573732063616e6e6f74206265207a65726f0000006064820152608490fd5b60405162461bcd60e51b815260206004820152603d60248201527f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e6720736560448201527f7474696e677320616464726573732063616e6e6f74206265207a65726f0000006064820152608490fd5b60a460405162461bcd60e51b815260206004820152604460248201527f67656e65726174654d61726b6574436f6e6669673a3a417070726f766564207460448201527f6f6b656e20726567697374727920616464726573732063616e6e6f74206265206064820152637a65726f60e01b6084820152fd5b60405162461bcd60e51b815260206004820152603560248201527f67656e65726174654d61726b6574436f6e6669673a3a5061796d656e747320616044820152746464726573732063616e6e6f74206265207a65726f60581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603b60248201527f67656e65726174654d61726b6574436f6e6669673a3a526f79616c747920656e60448201527f67696e6520616464726573732063616e6e6f74206265207a65726f00000000006064820152608490fd5b60a460405162461bcd60e51b815260206004820152604460248201527f67656e65726174654d61726b6574436f6e6669673a3a5370616365206f70657260448201527f61746f7220726567697374727920616464726573732063616e6e6f74206265206064820152637a65726f60e01b6084820152fd5b60405162461bcd60e51b815260206004820152604160248201527f67656e65726174654d61726b6574436f6e6669673a3a4d61726b6574706c616360448201527f652073657474696e677320616464726573732063616e6e6f74206265207a65726064820152606f60f81b608482015260a490fd5b608460405162461bcd60e51b815260206004820152604060248201527f67656e65726174654d61726b6574436f6e6669673a3a4e6574776f726b20626560448201527f6e656669636961727920616464726573732063616e6e6f74206265207a65726f6064820152fd5b600080fd5b6107f95760403660031901126107f9576001600160a01b0361081e610bbb565b16600160043501816001600160601b0360a01b8254161790557fccf304d72536db5abe0b333f647f64ab65c749de49a816e0d50c7a34400a2cf4600080a2005b6107f95760403660031901126107f9576001600160a01b0361087e610bbb565b16600760043501816001600160601b0360a01b8254161790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf600080a2005b6107f95760403660031901126107f9576001600160a01b036108de610bbb565b16600260043501816001600160601b0360a01b8254161790557f3414ecfc4f469c114dce1f67d2f708d28c64684225cc027439743a0647d4797f600080a2005b6107f95760403660031901126107f9576001600160a01b0361093e610bbb565b16600860043501816001600160601b0360a01b8254161790557f67a719fca19894f2c6dc7b8754ba53bd2cbe5837d28bec4e8966b124727f01c3600080a2005b6107f95760403660031901126107f9576001600160a01b0361099e610bbb565b16600660043501816001600160601b0360a01b8254161790557f232234b004f5855fe7784b260c0f551770d2e11be6d9ed34fe39808b7716b0b4600080a2005b6107f95760403660031901126107f9576004356001600160a01b03610a01610bbb565b1690816001600160601b0360a01b8254161790557fdeb68ce94dddbc68c0fe17a243912c6af53090be31db2e8a4dccf5c6758fc7e3600080a2005b6107f95760403660031901126107f9576001600160a01b03610a5c610bbb565b16600560043501816001600160601b0360a01b8254161790557f7885b52bc25b3d2198a6f0e8dfe81eeb3de635dceae911d3eedd29d1258ccd05600080a2005b6107f95760403660031901126107f9576001600160a01b03610abc610bbb565b166004803501816001600160601b0360a01b8254161790557f304724bab5a5569aa1febff9983351c6f3a30d43d9df341dd1abf4da4cf5d145600080a2005b6107f95760403660031901126107f9576001600160a01b03610b1b610bbb565b16600360043501816001600160601b0360a01b8254161790557fe8f47ab65eb1a00a50621193de0bc029f73205b44c4e0c4d4c883a8f095f1f96600080a2005b6107f95760403660031901126107f9576001600160a01b03610b7b610bbb565b16600960043501816001600160601b0360a01b8254161790557fb1fdefe7a2f6072ca65f737e8f30164512dd5d4939e7e53e9fb30cf70c21d629600080a2005b602435906001600160a01b03821682036107f957565b60405190610140820182811067ffffffffffffffff821117610bf257604052565b634e487b7160e01b600052604160045260246000fdfea26469706673582212205e24fa06e2513306b79baedb0c811e1dd4927a8b7041b6e9d990b3cc86a0896564736f6c63430008120033","sourceMap":"838:5729:255:-:0;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052307f000000000000000000000000000000000000000000000000000000000000000014600436101561003557600080fd5b60003560e01c9081631f1afd0d14610b5b578163287be21214610afb5781633a3a712e14610a9c57816350cf265614610a3c578163520a0a9c146109de5781635b1693c21461097e578163a2e033d41461091e578163c59a3e2a146108be578163c65854621461085e578163ed56be5b146107fe575063ef8c8249146100ba57600080fd5b610140806003193601126107f9576004356001600160a01b03811681036107f9576100e3610bbb565b6044356001600160a01b03811681036107f9576064356001600160a01b03811681036107f9576084356001600160a01b03811681036107f95760a4356001600160a01b03811681036107f95760c435906001600160a01b03821682036107f95760e435926001600160a01b03841684036107f95761010435946001600160a01b03861686036107f95761012435966001600160a01b03881688036107f957600061012061018e610bd1565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e082015282610100820152015260018060a01b038a161561078f576001600160a01b0389161561071a576001600160a01b038116156106a3576001600160a01b03821615610638576001600160a01b038316156105d5576001600160a01b0384161561055e576001600160a01b038516156104f3576001600160a01b03861615610488576001600160a01b03871615610411576001600160a01b0388161561039a57610261610bd1565b9860018060a01b038b168a5260018060a01b031660208a015260018060a01b0316604089015260018060a01b0316606088015260018060a01b0316608087015260018060a01b031660a086015260018060a01b031660c085015260018060a01b031660e084015260018060a01b031661010083015260018060a01b03166101208201526040519160018060a01b0316825260018060a01b03602082015116602083015260018060a01b03604082015116604083015260018060a01b03606082015116606083015260018060a01b03608082015116608083015260018060a01b0360a08201511660a083015260018060a01b0360c08201511660c083015260018060a01b0360e08201511660e083015260018060a01b036101008201511661010083015261012060018060a01b0391015116610120820152f35b60a460405162461bcd60e51b815260206004820152604460248201527f67656e65726174654d61726b6574436f6e6669673a3a4552433732312061707060448201527f726f76616c206d616e6167657220616464726573732063616e6e6f74206265206064820152637a65726f60e01b6084820152fd5b60405162461bcd60e51b815260206004820152604360248201527f67656e65726174654d61726b6574436f6e6669673a3a4552433230206170707260448201527f6f76616c206d616e6167657220616464726573732063616e6e6f74206265207a60648201526265726f60e81b608482015260a490fd5b60405162461bcd60e51b815260206004820152603d60248201527f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e6720726560448201527f67697374727920616464726573732063616e6e6f74206265207a65726f0000006064820152608490fd5b60405162461bcd60e51b815260206004820152603d60248201527f67656e65726174654d61726b6574436f6e6669673a3a5374616b696e6720736560448201527f7474696e677320616464726573732063616e6e6f74206265207a65726f0000006064820152608490fd5b60a460405162461bcd60e51b815260206004820152604460248201527f67656e65726174654d61726b6574436f6e6669673a3a417070726f766564207460448201527f6f6b656e20726567697374727920616464726573732063616e6e6f74206265206064820152637a65726f60e01b6084820152fd5b60405162461bcd60e51b815260206004820152603560248201527f67656e65726174654d61726b6574436f6e6669673a3a5061796d656e747320616044820152746464726573732063616e6e6f74206265207a65726f60581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603b60248201527f67656e65726174654d61726b6574436f6e6669673a3a526f79616c747920656e60448201527f67696e6520616464726573732063616e6e6f74206265207a65726f00000000006064820152608490fd5b60a460405162461bcd60e51b815260206004820152604460248201527f67656e65726174654d61726b6574436f6e6669673a3a5370616365206f70657260448201527f61746f7220726567697374727920616464726573732063616e6e6f74206265206064820152637a65726f60e01b6084820152fd5b60405162461bcd60e51b815260206004820152604160248201527f67656e65726174654d61726b6574436f6e6669673a3a4d61726b6574706c616360448201527f652073657474696e677320616464726573732063616e6e6f74206265207a65726064820152606f60f81b608482015260a490fd5b608460405162461bcd60e51b815260206004820152604060248201527f67656e65726174654d61726b6574436f6e6669673a3a4e6574776f726b20626560448201527f6e656669636961727920616464726573732063616e6e6f74206265207a65726f6064820152fd5b600080fd5b6107f95760403660031901126107f9576001600160a01b0361081e610bbb565b16600160043501816001600160601b0360a01b8254161790557fccf304d72536db5abe0b333f647f64ab65c749de49a816e0d50c7a34400a2cf4600080a2005b6107f95760403660031901126107f9576001600160a01b0361087e610bbb565b16600760043501816001600160601b0360a01b8254161790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf600080a2005b6107f95760403660031901126107f9576001600160a01b036108de610bbb565b16600260043501816001600160601b0360a01b8254161790557f3414ecfc4f469c114dce1f67d2f708d28c64684225cc027439743a0647d4797f600080a2005b6107f95760403660031901126107f9576001600160a01b0361093e610bbb565b16600860043501816001600160601b0360a01b8254161790557f67a719fca19894f2c6dc7b8754ba53bd2cbe5837d28bec4e8966b124727f01c3600080a2005b6107f95760403660031901126107f9576001600160a01b0361099e610bbb565b16600660043501816001600160601b0360a01b8254161790557f232234b004f5855fe7784b260c0f551770d2e11be6d9ed34fe39808b7716b0b4600080a2005b6107f95760403660031901126107f9576004356001600160a01b03610a01610bbb565b1690816001600160601b0360a01b8254161790557fdeb68ce94dddbc68c0fe17a243912c6af53090be31db2e8a4dccf5c6758fc7e3600080a2005b6107f95760403660031901126107f9576001600160a01b03610a5c610bbb565b16600560043501816001600160601b0360a01b8254161790557f7885b52bc25b3d2198a6f0e8dfe81eeb3de635dceae911d3eedd29d1258ccd05600080a2005b6107f95760403660031901126107f9576001600160a01b03610abc610bbb565b166004803501816001600160601b0360a01b8254161790557f304724bab5a5569aa1febff9983351c6f3a30d43d9df341dd1abf4da4cf5d145600080a2005b6107f95760403660031901126107f9576001600160a01b03610b1b610bbb565b16600360043501816001600160601b0360a01b8254161790557fe8f47ab65eb1a00a50621193de0bc029f73205b44c4e0c4d4c883a8f095f1f96600080a2005b6107f95760403660031901126107f9576001600160a01b03610b7b610bbb565b16600960043501816001600160601b0360a01b8254161790557fb1fdefe7a2f6072ca65f737e8f30164512dd5d4939e7e53e9fb30cf70c21d629600080a2005b602435906001600160a01b03821682036107f957565b60405190610140820182811067ffffffffffffffff821117610bf257604052565b634e487b7160e01b600052604160045260246000fdfea26469706673582212205e24fa06e2513306b79baedb0c811e1dd4927a8b7041b6e9d990b3cc86a0896564736f6c63430008120033","sourceMap":"838:5729:255:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2524:33;838:5729;;-1:-1:-1;;;;;838:5729:255;;2640:34;838:5729;;-1:-1:-1;;;;;838:5729:255;;2765:36;838:5729;;-1:-1:-1;;;;;838:5729:255;;2899:28;838:5729;;-1:-1:-1;;;;;838:5729:255;;3005:23;838:5729;;-1:-1:-1;;;;;838:5729:255;;3107:36;838:5729;;-1:-1:-1;;;;;838:5729:255;;3241:30;838:5729;;-1:-1:-1;;;;;838:5729:255;;3351:30;838:5729;;-1:-1:-1;;;;;838:5729:255;;3461:35;838:5729;;-1:-1:-1;;;;;838:5729:255;;3589:36;838:5729;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;3729:496;;838:5729;;;;;;;;3729:496;;838:5729;;;;;;;;3729:496;;838:5729;;;;;;;;3729:496;;838:5729;;;;;;;;3729:496;;838:5729;;;;;;;;3729:496;;838:5729;;;;;;;;3729:496;;838:5729;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;3729:496;;838:5729;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:5729:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;;;;4584:27;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;4667:48;838:5729;4667:48;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;5911:23;838:5729;;5911:23;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;5986:40;838:5729;5986:40;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;4830:29;838:5729;;4830:29;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;4919:52;838:5729;4919:52;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;6168:28;838:5729;;6168:28;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;6254:50;838:5729;6254:50;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;5697:23;838:5729;;5697:23;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;5768:40;838:5729;5768:40;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;;;-1:-1:-1;;;;;838:5729:255;;;;;;;;4427:46;838:5729;4427:46;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;5453:29;838:5729;;5453:29;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;5542:52;838:5729;5542:52;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;;;;5262:16;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;5312:26;838:5729;5312:26;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;;;;5070:21;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;5137:36;838:5729;5137:36;;838:5729;;;;;;-1:-1:-1;;838:5729:255;;;;-1:-1:-1;;;;;838:5729:255;;:::i;:::-;;6419:29;838:5729;;6419:29;838:5729;-1:-1:-1;;;;;838:5729:255;;;;;;;;6508:52;838:5729;6508:52;;838:5729;;;;;-1:-1:-1;;;;;838:5729:255;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"library_deploy_address":[{"start":7,"length":32}]}},"methodIdentifiers":{"generateMarketConfig(address,address,address,address,address,address,address,address,address,address)":"ef8c8249","updateApprovedTokenRegistry(MarketConfigV2.Config storage,address)":"50cf2656","updateERC20ApprovalManager(MarketConfigV2.Config storage,address)":"a2e033d4","updateERC721ApprovalManager(MarketConfigV2.Config storage,address)":"1f1afd0d","updateMarketplaceSettings(MarketConfigV2.Config storage,address)":"ed56be5b","updateNetworkBeneficiary(MarketConfigV2.Config storage,address)":"520a0a9c","updatePayments(MarketConfigV2.Config storage,address)":"3a3a712e","updateRoyaltyEngine(MarketConfigV2.Config storage,address)":"287be212","updateSpaceOperatorRegistry(MarketConfigV2.Config storage,address)":"c59a3e2a","updateStakingRegistry(MarketConfigV2.Config storage,address)":"c6585462","updateStakingSettings(MarketConfigV2.Config storage,address)":"5b1693c2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newApprovedTokenRegistry\",\"type\":\"address\"}],\"name\":\"ApprovedTokenRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newERC20ApprovalManager\",\"type\":\"address\"}],\"name\":\"ERC20ApprovalManagerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newERC721ApprovalManager\",\"type\":\"address\"}],\"name\":\"ERC721ApprovalManagerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newMarketplaceSettings\",\"type\":\"address\"}],\"name\":\"MarketplaceSettingsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newNetworkBeneficiary\",\"type\":\"address\"}],\"name\":\"NetworkBeneficiaryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newPayments\",\"type\":\"address\"}],\"name\":\"PaymentsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRoyaltyEngine\",\"type\":\"address\"}],\"name\":\"RoyaltyEngineUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newSpaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"SpaceOperatorRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingRegistry\",\"type\":\"address\"}],\"name\":\"StakingRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingSettings\",\"type\":\"address\"}],\"name\":\"StakingSettingsUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc20ApprovalManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc721ApprovalManager\",\"type\":\"address\"}],\"name\":\"generateMarketConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"marketplaceSettings\",\"type\":\"IMarketplaceSettings\"},{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"spaceOperatorRegistry\",\"type\":\"ISpaceOperatorRegistry\"},{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"royaltyEngine\",\"type\":\"IRoyaltyEngineV1\"},{\"internalType\":\"contract IPayments\",\"name\":\"payments\",\"type\":\"IPayments\"},{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"approvedTokenRegistry\",\"type\":\"IApprovedTokenRegistry\"},{\"internalType\":\"contract IStakingSettings\",\"name\":\"stakingSettings\",\"type\":\"IStakingSettings\"},{\"internalType\":\"contract IRareStakingRegistry\",\"name\":\"stakingRegistry\",\"type\":\"IRareStakingRegistry\"},{\"internalType\":\"contract IERC20ApprovalManager\",\"name\":\"erc20ApprovalManager\",\"type\":\"IERC20ApprovalManager\"},{\"internalType\":\"contract IERC721ApprovalManager\",\"name\":\"erc721ApprovalManager\",\"type\":\"IERC721ApprovalManager\"}],\"internalType\":\"struct MarketConfigV2.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/utils/MarketConfigV2.sol\":\"MarketConfigV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":{\"keccak256\":\"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f\",\"dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY\"]},\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":{\"keccak256\":\"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3\",\"dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd\"]},\"src/v2/utils/MarketConfigV2.sol\":{\"keccak256\":\"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6\",\"dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"newApprovedTokenRegistry","type":"address","indexed":true}],"type":"event","name":"ApprovedTokenRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newERC20ApprovalManager","type":"address","indexed":true}],"type":"event","name":"ERC20ApprovalManagerUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newERC721ApprovalManager","type":"address","indexed":true}],"type":"event","name":"ERC721ApprovalManagerUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newMarketplaceSettings","type":"address","indexed":true}],"type":"event","name":"MarketplaceSettingsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newNetworkBeneficiary","type":"address","indexed":true}],"type":"event","name":"NetworkBeneficiaryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newPayments","type":"address","indexed":true}],"type":"event","name":"PaymentsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newRoyaltyEngine","type":"address","indexed":true}],"type":"event","name":"RoyaltyEngineUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newSpaceOperatorRegistry","type":"address","indexed":true}],"type":"event","name":"SpaceOperatorRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingRegistry","type":"address","indexed":true}],"type":"event","name":"StakingRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingSettings","type":"address","indexed":true}],"type":"event","name":"StakingSettingsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_erc20ApprovalManager","type":"address"},{"internalType":"address","name":"_erc721ApprovalManager","type":"address"}],"stateMutability":"pure","type":"function","name":"generateMarketConfig","outputs":[{"internalType":"struct MarketConfigV2.Config","name":"","type":"tuple","components":[{"internalType":"address","name":"networkBeneficiary","type":"address"},{"internalType":"contract IMarketplaceSettings","name":"marketplaceSettings","type":"IMarketplaceSettings"},{"internalType":"contract ISpaceOperatorRegistry","name":"spaceOperatorRegistry","type":"ISpaceOperatorRegistry"},{"internalType":"contract IRoyaltyEngineV1","name":"royaltyEngine","type":"IRoyaltyEngineV1"},{"internalType":"contract IPayments","name":"payments","type":"IPayments"},{"internalType":"contract IApprovedTokenRegistry","name":"approvedTokenRegistry","type":"IApprovedTokenRegistry"},{"internalType":"contract IStakingSettings","name":"stakingSettings","type":"IStakingSettings"},{"internalType":"contract IRareStakingRegistry","name":"stakingRegistry","type":"IRareStakingRegistry"},{"internalType":"contract IERC20ApprovalManager","name":"erc20ApprovalManager","type":"IERC20ApprovalManager"},{"internalType":"contract IERC721ApprovalManager","name":"erc721ApprovalManager","type":"IERC721ApprovalManager"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/utils/MarketConfigV2.sol":"MarketConfigV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/v2/approver/ERC20/IERC20ApprovalManager.sol":{"keccak256":"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e","urls":["bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f","dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY"],"license":"MIT"},"src/v2/approver/ERC721/IERC721ApprovalManager.sol":{"keccak256":"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4","urls":["bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3","dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd"],"license":"MIT"},"src/v2/utils/MarketConfigV2.sol":{"keccak256":"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a","urls":["bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6","dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj"],"license":"MIT"}},"version":1},"id":255} \ No newline at end of file diff --git a/abis/MarketUtils.json b/abis/MarketUtils.json index 3451830..c41ccda 100644 --- a/abis/MarketUtils.json +++ b/abis/MarketUtils.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220a05ee71d9cfaf4d081c48daf3d33a7306d4923cd265623ef8f7e604041166af364736f6c63430008120033","sourceMap":"407:10408:217:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220a05ee71d9cfaf4d081c48daf3d33a7306d4923cd265623ef8f7e604041166af364736f6c63430008120033","sourceMap":"407:10408:217:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/MarketUtils.sol\":\"MarketUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/utils/MarketUtils.sol\":{\"keccak256\":\"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da\",\"dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY\"]},\"src/utils/structs/MarketConfig.sol\":{\"keccak256\":\"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369\",\"dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/MarketUtils.sol":"MarketUtils"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/utils/MarketUtils.sol":{"keccak256":"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875","urls":["bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da","dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY"],"license":"MIT"},"src/utils/structs/MarketConfig.sol":{"keccak256":"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1","urls":["bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369","dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6"],"license":"MIT"}},"version":1},"id":217} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220c564fe45611e5470ad1371e77e33259d6d50f068c47f50e612754e6f89822bbf64736f6c63430008120033","sourceMap":"407:10408:238:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220c564fe45611e5470ad1371e77e33259d6d50f068c47f50e612754e6f89822bbf64736f6c63430008120033","sourceMap":"407:10408:238:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/MarketUtils.sol\":\"MarketUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/utils/MarketUtils.sol\":{\"keccak256\":\"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da\",\"dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY\"]},\"src/utils/structs/MarketConfig.sol\":{\"keccak256\":\"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369\",\"dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/MarketUtils.sol":"MarketUtils"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/utils/MarketUtils.sol":{"keccak256":"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875","urls":["bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da","dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY"],"license":"MIT"},"src/utils/structs/MarketConfig.sol":{"keccak256":"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1","urls":["bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369","dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6"],"license":"MIT"}},"version":1},"id":238} \ No newline at end of file diff --git a/abis/MarketUtilsV2.json b/abis/MarketUtilsV2.json new file mode 100644 index 0000000..1cde889 --- /dev/null +++ b/abis/MarketUtilsV2.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212201176969aee730d67d8a7721342b4c4c9203e39e428909437baa9fb9ec859dced64736f6c63430008120033","sourceMap":"404:11779:256:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212201176969aee730d67d8a7721342b4c4c9203e39e428909437baa9fb9ec859dced64736f6c63430008120033","sourceMap":"404:11779:256:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/utils/MarketUtilsV2.sol\":\"MarketUtilsV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":{\"keccak256\":\"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f\",\"dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY\"]},\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":{\"keccak256\":\"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3\",\"dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd\"]},\"src/v2/utils/MarketConfigV2.sol\":{\"keccak256\":\"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6\",\"dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj\"]},\"src/v2/utils/MarketUtilsV2.sol\":{\"keccak256\":\"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042\",\"dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/utils/MarketUtilsV2.sol":"MarketUtilsV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/v2/approver/ERC20/IERC20ApprovalManager.sol":{"keccak256":"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e","urls":["bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f","dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY"],"license":"MIT"},"src/v2/approver/ERC721/IERC721ApprovalManager.sol":{"keccak256":"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4","urls":["bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3","dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd"],"license":"MIT"},"src/v2/utils/MarketConfigV2.sol":{"keccak256":"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a","urls":["bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6","dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj"],"license":"MIT"},"src/v2/utils/MarketUtilsV2.sol":{"keccak256":"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421","urls":["bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042","dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18"],"license":"MIT"}},"version":1},"id":256} \ No newline at end of file diff --git a/abis/MarketplaceSettingsV1.json b/abis/MarketplaceSettingsV1.json index 22780dc..c35d7b3 100644 --- a/abis/MarketplaceSettingsV1.json +++ b/abis/MarketplaceSettingsV1.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN_MARK_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"calculateMarketplaceFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePrimarySaleFee","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMaxValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMinValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantMarketplaceAccess","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasERC721TokenSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"markERC721Token","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_hasSold","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"markTokensAsSold","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceFeePercentage","inputs":[{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMaxValue","inputs":[{"name":"_maxValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMinValue","inputs":[{"name":"_minValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060409080825234620004675760008054336001600160a01b031982168117835591926001600160a01b0392909183167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a3600160fe1b6002556103e860035560ff19600492600382855416178455848052600190602090828252878720338852825260ff88882054161562000432575b865416946e544f4b454e5f4d41524b5f524f4c4560881b9485885283835283898920015491828952898920338a52845260ff8a8a205416156200013657505050838652818152868620858752815260ff878720541615620000fe575b865161107a9081620004ba8239f35b83865281815286862090858752528585209182541617905560008051602062001534833981519152339380a4388080808080620000ef565b6001600160401b03928491908b908b903390899060608801898111898210176200041f578552602a885286880192853685378851156200040c576030845388518310156200040c57607860218a015360295b838111620003a05750620002cb57845190608082018281108b8211176200038d578652604282528782019260603685378251156200037a576030845382518110156200037a57607860218401536041905b8082116200030c575050620002cb57916200025f9593918593606799989651978893620002348986019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d5251809260378801906200046c565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809360488401906200046c565b0103602881018652601f19978891011685019785891090891117620002b8575060449593601f9388969387620002af945262461bcd60e51b8852870152518092816024880152878701906200046c565b01168101030190fd5b634e487b7160e01b815260418352602490fd5b606486888088519262461bcd60e51b845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f8116601081101562000367576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200033e848662000491565b53881c91801562000354576000190190620001d9565b634e487b7160e01b875260118952602487fd5b634e487b7160e01b885260328a52602488fd5b634e487b7160e01b865260328852602486fd5b634e487b7160e01b865260418852602486fd5b90600f81166010811015620003f9576f181899199a1a9b1b9c1cb0b131b232b360811b901a620003d1838c62000491565b53871c908015620003e6576000190162000188565b634e487b7160e01b865260118852602486fd5b634e487b7160e01b875260328952602487fd5b634e487b7160e01b855260328752602485fd5b634e487b7160e01b855260418752602485fd5b86805282825287872033885282528787208385825416179055333388600080516020620015348339815191528180a462000093565b600080fd5b60005b838110620004805750506000910152565b81810151838201526020016200046f565b908151811015620004a3570160200190565b634e487b7160e01b600052603260045260246000fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610afa57508163248a9ca314610ad05781632b702b5f146109655781632cfda2f1146109435781632f2ff15d1461089657816336568abe146108045781633765628c146107d7578163511bc84c146107905781635a3c652d146107085781635c1b40f1146106e957816362029a1b146106c75781636357f1ac14610689578163715018a61461062f57816382ebaa59146104f957816383475921146104d85781638da5cb5b146104b057816391d1485414610469578163a217fddf1461044e578163ae312a9714610378578163b28a7bad1461033c578163b60c813514610291578163c3fc49521461025e578163d547741f14610220578163f2fde38b14610159575063f9a23e861461013857600080fd5b346101555781600319360112610155576020906002549051908152f35b5080fd5b90503461021c57602036600319011261021c57610174610b4d565b9061017d610f2a565b6001600160a01b039182169283156101ca57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b9190503461021c578060031936011261021c5761025b91356102566001610245610b68565b938387528160205286200154610b7e565b610eb4565b80f35b82843461028e57602036600319011261028e575060646102868360ff60209554169035610f82565b049051908152f35b80fd5b9190503461021c57602036600319011261021c5781359060ff8216809203610338576102bb610f2a565b606482116102d05750815460ff191617905580f35b5162461bcd60e51b8152602081840152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152608490fd5b8380fd5b5050346101555760203660031901126101555760209160ff9082906001600160a01b03610367610b4d565b168152600585522054169051908152f35b9190503461021c578060031936011261021c57610393610b4d565b6024359260ff841680940361044a576103aa610f2a565b606484116103d357506001600160a01b0316835260056020528220805460ff1916909117905580f35b60a490602084519162461bcd60e51b8352820152604560248201527f736574455243373231436f6e74726163745072696d61727953616c654665655060448201527f657263656e746167653a3a5f70657263656e74616765206d757374206265203c60648201526403d203130360dc1b6084820152fd5b8480fd5b50503461015557816003193601126101555751908152602090f35b90503461021c578160031936011261021c578160209360ff9261048a610b68565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b505034610155578160031936011261015557905490516001600160a01b039091168152602090f35b82843461028e578060031936011261028e575060ff60209254169051908152f35b9190503461021c576020918260031936011261033857610517610b4d565b91848052600191828552818620338752855260ff8287205416156105d157506e544f4b454e5f4d41524b5f524f4c4560881b9384865282815261055e838388200154610b7e565b8486528281528186206001600160a01b039094168087529381528186205460ff1615610588578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b833461028e578060031936011261028e57610648610f2a565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b505034610155578060031936011261015557606461028660ff8360209560018060a01b036106b5610b4d565b16815260058752205416602435610f82565b839034610155576020366003190112610155576106e2610f2a565b3560035580f35b5050346101555781600319360112610155576020906003549051908152f35b50503461015557606036600319011261015557610723610b4d565b9060443591821515809303610338576e544f4b454e5f4d41524b5f524f4c4560881b8452600160205281842033855260205261076460ff8386205416610fd2565b60018060a01b031683526006602052808320602435845260205282209060ff8019835416911617905580f35b50503461015557806003193601126101555760209160ff9082906001600160a01b036107ba610b4d565b168152600685528181206024358252855220541690519015158152f35b505034610155578160031936011261015557516e544f4b454e5f4d41524b5f524f4c4560881b8152602090f35b8391503461015557826003193601126101555761081f610b68565b90336001600160a01b0383160361083b579061025b9135610eb4565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b90503461021c578160031936011261021c5735906108b2610b68565b9082845260016020526108ca60018286200154610b7e565b828452600160209081528185206001600160a01b039093168086529290528084205460ff16156108f8578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b8390346101555760203660031901126101555761095e610f2a565b3560025580f35b90503461021c578160031936011261021c5761097f610b4d565b9060249081359367ffffffffffffffff808611610acc5736602387011215610acc5785830135908111610acc57600590368582841b89010111610ac8576e544f4b454e5f4d41524b5f524f4c4560881b8852600196602091888352848a20338b5283526109f160ff868c205416610fd2565b6107d08111610a5657966001600160a01b0316895b888110610a11578a80f35b818b5260068452858b2081861b84018901358c528452858b20805460ff19168b1790556000198114610a44578901610a06565b634e487b7160e01b8b5260118752878bfd5b845162461bcd60e51b81528087018490526041818901527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b608482015260a490fd5b8780fd5b8680fd5b90503461021c57602036600319011261021c57816020936001923581528285522001549051908152f35b84913461021c57602036600319011261021c573563ffffffff60e01b811680910361021c5760209250637965db0b60e01b8114908115610b3c575b5015158152f35b6301ffc9a760e01b14905083610b35565b600435906001600160a01b0382168203610b6357565b600080fd5b602435906001600160a01b0382168203610b6357565b60009080825260016020818152604093848120338252825260ff858220541615610ba9575050505050565b33855193606085019567ffffffffffffffff9686811088821117610e7d578852602a86528486019288368537865115610e6957603084538651831015610e69576078602188015360295b838111610dff5750610d29578751906080820182811089821117610deb57895260428252858201926060368537825115610dd757603084538251811015610dd757607860218401536041905b808211610d6b575050610d295791610cbe94939188936067989951968793610c948886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610e91565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610e91565b0103602881018552601f19968791011684019684881090881117610d15575092610d0c60449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610e91565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610dc3576f181899199a1a9b1b9c1cb0b131b232b360811b901a610d9a8486610fab565b5360041c918015610daf576000190190610c3f565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610e55576f181899199a1a9b1b9c1cb0b131b232b360811b901a610e2d838a610fab565b5360041c908015610e415760001901610bf3565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b85526041600452602485fd5b60005b838110610ea45750506000910152565b8181015183820152602001610e94565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416610ee557505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b03163303610f3e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b81810292918115918404141715610f9557565b634e487b7160e01b600052601160045260246000fd5b908151811015610fbc570160200190565b634e487b7160e01b600052603260045260246000fd5b15610fd957565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fdfea2646970667358221220ffb7bfbc2cf00cd6c651b27cbab69badd024e8517dbb0aabfb4323f5cb077a9c64736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"348:10587:163:-:0;;;;;;;;;2518:6:78;348:10587:163;;719:10:99;-1:-1:-1;;;;;;348:10587:163;;;;;;2518:6:78;;-1:-1:-1;;;;;348:10587:163;2518:6:78;;348:10587:163;;2566:40:78;2518:6;;2566:40;348:10587:163;1872:6;;1861:17;348:10587;1956:4;1945:15;348:10587;;;2017:28;348:10587;1945:15;348:10587;;;;;;;;;;;;;;;;;;;;719:10:99;348:10587:163;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;348:10587:163;;;2198:4:76;;;;348:10587:163;;;;;;;;;;;4604:22:76;348:10587:163;;;;;;;;719:10:99;348:10587:163;;;;;;;;;;3931:23:76;3927:390;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;348:10587:163;;;;;;;;;7665:149:76;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;719:10:99;7763:40:76;;;7665:149;;;;;;;;3927:390;-1:-1:-1;;;;;348:10587:163;719:10:99;;;;;;;;;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;348:10587:163;;;;;;;2000:15:101;348:10587:163;;;2000:15:101;348:10587:163;2058:5:101;;;;;;2170:10;278:18;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;348:10587:163;;;;;;;2000:15:101;348:10587:163;;;2000:15:101;348:10587:163;2025:128:101;2058:5;;;;;;2170:10;;278:18;;348:10587:163;;;;;;;;;;;;4022:252:76;;;348:10587:163;4022:252:76;;;348:10587:163;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;:::i;:::-;;4022:252:76;;;;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;278:18:101;;;3970:336:76;;;;348:10587:163;;;;;;;;;;;;;;:::i;:::-;;;;;3970:336:76;;;;348:10587:163;-1:-1:-1;;;348:10587:163;;;;;;;;278:18:101;;348:10587:163;;;;;278:18:101;;;;;;;;;;;;348:10587:163;278:18:101;348:10587:163;;;278:18:101;;2065:3;2105:11;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;278:18;;2065:3;348:10587:163;;;;-1:-1:-1;;348:10587:163;;2030:26:101;;348:10587:163;-1:-1:-1;;;348:10587:163;;;;;;;;2096:21:101;-1:-1:-1;;;348:10587:163;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;2065:3:101;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;278:18;;2065:3;348:10587:163;;;;-1:-1:-1;;348:10587:163;2030:26:101;;348:10587:163;-1:-1:-1;;;348:10587:163;;;;;;;;2096:21:101;-1:-1:-1;;;348:10587:163;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;7665:149:76;348:10587:163;;;;;;;;;719:10:99;348:10587:163;;;;;;;;;;;;;;;719:10:99;;7763:40:76;-1:-1:-1;;;;;;;;;;;7763:40:76;;;7665:149;;348:10587:163;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610afa57508163248a9ca314610ad05781632b702b5f146109655781632cfda2f1146109435781632f2ff15d1461089657816336568abe146108045781633765628c146107d7578163511bc84c146107905781635a3c652d146107085781635c1b40f1146106e957816362029a1b146106c75781636357f1ac14610689578163715018a61461062f57816382ebaa59146104f957816383475921146104d85781638da5cb5b146104b057816391d1485414610469578163a217fddf1461044e578163ae312a9714610378578163b28a7bad1461033c578163b60c813514610291578163c3fc49521461025e578163d547741f14610220578163f2fde38b14610159575063f9a23e861461013857600080fd5b346101555781600319360112610155576020906002549051908152f35b5080fd5b90503461021c57602036600319011261021c57610174610b4d565b9061017d610f2a565b6001600160a01b039182169283156101ca57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b9190503461021c578060031936011261021c5761025b91356102566001610245610b68565b938387528160205286200154610b7e565b610eb4565b80f35b82843461028e57602036600319011261028e575060646102868360ff60209554169035610f82565b049051908152f35b80fd5b9190503461021c57602036600319011261021c5781359060ff8216809203610338576102bb610f2a565b606482116102d05750815460ff191617905580f35b5162461bcd60e51b8152602081840152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152608490fd5b8380fd5b5050346101555760203660031901126101555760209160ff9082906001600160a01b03610367610b4d565b168152600585522054169051908152f35b9190503461021c578060031936011261021c57610393610b4d565b6024359260ff841680940361044a576103aa610f2a565b606484116103d357506001600160a01b0316835260056020528220805460ff1916909117905580f35b60a490602084519162461bcd60e51b8352820152604560248201527f736574455243373231436f6e74726163745072696d61727953616c654665655060448201527f657263656e746167653a3a5f70657263656e74616765206d757374206265203c60648201526403d203130360dc1b6084820152fd5b8480fd5b50503461015557816003193601126101555751908152602090f35b90503461021c578160031936011261021c578160209360ff9261048a610b68565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b505034610155578160031936011261015557905490516001600160a01b039091168152602090f35b82843461028e578060031936011261028e575060ff60209254169051908152f35b9190503461021c576020918260031936011261033857610517610b4d565b91848052600191828552818620338752855260ff8287205416156105d157506e544f4b454e5f4d41524b5f524f4c4560881b9384865282815261055e838388200154610b7e565b8486528281528186206001600160a01b039094168087529381528186205460ff1615610588578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b833461028e578060031936011261028e57610648610f2a565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b505034610155578060031936011261015557606461028660ff8360209560018060a01b036106b5610b4d565b16815260058752205416602435610f82565b839034610155576020366003190112610155576106e2610f2a565b3560035580f35b5050346101555781600319360112610155576020906003549051908152f35b50503461015557606036600319011261015557610723610b4d565b9060443591821515809303610338576e544f4b454e5f4d41524b5f524f4c4560881b8452600160205281842033855260205261076460ff8386205416610fd2565b60018060a01b031683526006602052808320602435845260205282209060ff8019835416911617905580f35b50503461015557806003193601126101555760209160ff9082906001600160a01b036107ba610b4d565b168152600685528181206024358252855220541690519015158152f35b505034610155578160031936011261015557516e544f4b454e5f4d41524b5f524f4c4560881b8152602090f35b8391503461015557826003193601126101555761081f610b68565b90336001600160a01b0383160361083b579061025b9135610eb4565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b90503461021c578160031936011261021c5735906108b2610b68565b9082845260016020526108ca60018286200154610b7e565b828452600160209081528185206001600160a01b039093168086529290528084205460ff16156108f8578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b8390346101555760203660031901126101555761095e610f2a565b3560025580f35b90503461021c578160031936011261021c5761097f610b4d565b9060249081359367ffffffffffffffff808611610acc5736602387011215610acc5785830135908111610acc57600590368582841b89010111610ac8576e544f4b454e5f4d41524b5f524f4c4560881b8852600196602091888352848a20338b5283526109f160ff868c205416610fd2565b6107d08111610a5657966001600160a01b0316895b888110610a11578a80f35b818b5260068452858b2081861b84018901358c528452858b20805460ff19168b1790556000198114610a44578901610a06565b634e487b7160e01b8b5260118752878bfd5b845162461bcd60e51b81528087018490526041818901527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b608482015260a490fd5b8780fd5b8680fd5b90503461021c57602036600319011261021c57816020936001923581528285522001549051908152f35b84913461021c57602036600319011261021c573563ffffffff60e01b811680910361021c5760209250637965db0b60e01b8114908115610b3c575b5015158152f35b6301ffc9a760e01b14905083610b35565b600435906001600160a01b0382168203610b6357565b600080fd5b602435906001600160a01b0382168203610b6357565b60009080825260016020818152604093848120338252825260ff858220541615610ba9575050505050565b33855193606085019567ffffffffffffffff9686811088821117610e7d578852602a86528486019288368537865115610e6957603084538651831015610e69576078602188015360295b838111610dff5750610d29578751906080820182811089821117610deb57895260428252858201926060368537825115610dd757603084538251811015610dd757607860218401536041905b808211610d6b575050610d295791610cbe94939188936067989951968793610c948886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610e91565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610e91565b0103602881018552601f19968791011684019684881090881117610d15575092610d0c60449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610e91565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610dc3576f181899199a1a9b1b9c1cb0b131b232b360811b901a610d9a8486610fab565b5360041c918015610daf576000190190610c3f565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610e55576f181899199a1a9b1b9c1cb0b131b232b360811b901a610e2d838a610fab565b5360041c908015610e415760001901610bf3565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b85526041600452602485fd5b60005b838110610ea45750506000910152565b8181015183820152602001610e94565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416610ee557505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b03163303610f3e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b81810292918115918404141715610f9557565b634e487b7160e01b600052601160045260246000fd5b908151811015610fbc570160200190565b634e487b7160e01b600052603260045260246000fd5b15610fd957565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fdfea2646970667358221220ffb7bfbc2cf00cd6c651b27cbab69badd024e8517dbb0aabfb4323f5cb077a9c64736f6c63430008120033","sourceMap":"348:10587:163:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3225:8;348:10587;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;348:10587:163;;;;2162:22:78;;348:10587:163;;-1:-1:-1;;348:10587:163;;-1:-1:-1;;;;;;348:10587:163;;;;;;;2566:40:78;348:10587:163;;2566:40:78;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;5486:7:76;348:10587:163;;2642:4:76;348:10587:163;;;:::i;:::-;;;;;;;;;;4604:22:76;348:10587:163;2642:4:76;:::i;:::-;5486:7;:::i;:::-;348:10587:163;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;;6148:3;6110:34;348:10587;;;;;;;;6110:34;:::i;:::-;348:10587;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;5453:3:163;5438:18;;348:10587;;-1:-1:-1;348:10587:163;;-1:-1:-1;;348:10587:163;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;5453:3;348:10587;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;;;;;;;-1:-1:-1;;;;;348:10587:163;;:::i;:::-;;;;6740:15;348:10587;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1063:62:78;;:::i;:::-;7537:3:163;7522:18;;348:10587;;-1:-1:-1;;;;;;348:10587:163;;;7645:15;348:10587;;;;;;-1:-1:-1;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7537:3;348:10587;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3130:6:76;348:10587:163;;;;;;;2686:10;348:10587;;;;;;;;;;;;;;;;;;;;;;;;2642:4:76;348:10587:163;;;;4604:22:76;348:10587:163;2642:4:76;:::i;:::-;348:10587:163;;;;;;;;;-1:-1:-1;;;;;348:10587:163;;;;;;;;;;;;;;;7669:23:76;7665:149;;348:10587:163;;;7665:149:76;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;2686:10;7763:40:76;;;;;7665:149;;;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;348:10587:163;;-1:-1:-1;;;;;;348:10587:163;;;;;;-1:-1:-1;;;;;348:10587:163;2566:40:78;348:10587:163;;2566:40:78;348:10587:163;;;;;;;;;;;;;;;;8353:3;8306:43;348:10587;;;;;;;;;;;:::i;:::-;;;;8316:15;348:10587;;;;;;;8306:43;:::i;348:10587::-;;;;;;;;-1:-1:-1;;348:10587:163;;;;1063:62:78;;:::i;:::-;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;9693:10;348:10587;;;;9647:145;348:10587;;;;;;9647:145;:::i;:::-;348:10587;;;;;;;;9802:10;348:10587;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;348:10587:163;;:::i;:::-;;;;8952:10;348:10587;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:99;;-1:-1:-1;;;;;348:10587:163;;6133:23:76;348:10587:163;;;6237:7:76;348:10587:163;;6237:7:76;:::i;348:10587:163:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:76;348:10587:163;;;;4604:22:76;348:10587:163;2642:4:76;:::i;:::-;348:10587:163;;;;;;;;;;;-1:-1:-1;;;;;348:10587:163;;;;;;;;;;;;;;;7669:23:76;7665:149;;348:10587:163;;;7665:149:76;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;;;;7665:149;;;348:10587:163;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;1063:62:78;;:::i;:::-;348:10587:163;3642:20;348:10587;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3130:6:76;348:10587:163;;;;;;;;;10474:10;348:10587;;;;10428:145;348:10587;;;;;;10428:145;:::i;:::-;10660:4;10640:24;;348:10587;;10812:13;-1:-1:-1;;;;;348:10587:163;10812:13;10827:20;;;;;;348:10587;;;10849:3;348:10587;;;10868:10;348:10587;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;;-1:-1:-1;;348:10587:163;;;;;;10812:13;;348:10587;-1:-1:-1;;;348:10587:163;;;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;;;;;;;;;;;;;4604:22:76;348:10587:163;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:76;;;:87;;;;348:10587:163;;;;;;;2840:87:76;-1:-1:-1;;;937:40:103;;-1:-1:-1;2840:87:76;;;348:10587:163;;;;-1:-1:-1;;;;;348:10587:163;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;348:10587:163;;;;;;:::o;3460:103:76:-;-1:-1:-1;348:10587:163;;;;3130:6:76;348:10587:163;;;;;;;;;719:10:99;348:10587:163;;;;;;;;;;3931:23:76;3927:390;;3460:103;;;;;:::o;3927:390::-;719:10:99;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;348:10587:163;;;;;;;2000:15:101;348:10587:163;;;2000:15:101;348:10587:163;2058:5:101;;;;;;2170:10;278:18;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;348:10587:163;;;;;;;2000:15:101;348:10587:163;;;2000:15:101;348:10587:163;2025:128:101;2058:5;;;;;;2170:10;;278:18;;348:10587:163;;;;;;;;;;;4022:252:76;;;348:10587:163;4022:252:76;;;348:10587:163;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;:::i;:::-;;4022:252:76;;;;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3970:336:76;;2141:1:101;3970:336:76;;348:10587:163;;;;;;;;;;;;;;:::i;:::-;;;;;3970:336:76;;;;348:10587:163;-1:-1:-1;;;348:10587:163;;;2141:1:101;348:10587:163;;;;278:18:101;;348:10587:163;;;;;;;278:18:101;;;2141:1;278:18;;;;;;348:10587:163;278:18:101;348:10587:163;;;278:18:101;;2065:3;2105:11;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;348:10587:163;;;;-1:-1:-1;;348:10587:163;;2030:26:101;;348:10587:163;-1:-1:-1;;;348:10587:163;;;2141:1:101;348:10587:163;;;;2096:21:101;-1:-1:-1;;;348:10587:163;;;2141:1:101;348:10587:163;;;;;-1:-1:-1;;;348:10587:163;;;2141:1:101;348:10587:163;;;;;-1:-1:-1;;;348:10587:163;;;2141:1:101;348:10587:163;;;;2065:3:101;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;348:10587:163;;;;-1:-1:-1;;348:10587:163;2030:26:101;;348:10587:163;-1:-1:-1;;;348:10587:163;;;2141:1:101;348:10587:163;;;;2096:21:101;-1:-1:-1;;;348:10587:163;;;2141:1:101;348:10587:163;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:163;;;;:::o;:::-;;;;;;;;;;;;;7991:234:76;;-1:-1:-1;348:10587:163;;;;3130:6:76;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;8070:149:76;;7991:234;;;:::o;8070:149::-;348:10587:163;;;3130:6:76;348:10587:163;;;;;;;;;;;;;;;;;;;;8168:40:76;719:10:99;8168:40:76;;;7991:234::o;1359:130:78:-;1273:6;348:10587:163;-1:-1:-1;;;;;348:10587:163;719:10:99;1422:23:78;348:10587:163;;1359:130:78:o;348:10587:163:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;348:10587:163;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","TOKEN_MARK_ROLE()":"3765628c","calculateMarketplaceFee(uint256)":"c3fc4952","calculatePrimarySaleFee(address,uint256)":"6357f1ac","getERC721ContractPrimarySaleFeePercentage(address)":"b28a7bad","getMarketplaceFeePercentage()":"83475921","getMarketplaceMaxValue()":"f9a23e86","getMarketplaceMinValue()":"5c1b40f1","getRoleAdmin(bytes32)":"248a9ca3","grantMarketplaceAccess(address)":"82ebaa59","grantRole(bytes32,address)":"2f2ff15d","hasERC721TokenSold(address,uint256)":"511bc84c","hasRole(bytes32,address)":"91d14854","markERC721Token(address,uint256,bool)":"5a3c652d","markTokensAsSold(address,uint256[])":"2b702b5f","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setERC721ContractPrimarySaleFeePercentage(address,uint8)":"ae312a97","setMarketplaceFeePercentage(uint8)":"b60c8135","setMarketplaceMaxValue(uint256)":"2cfda2f1","setMarketplaceMinValue(uint256)":"62029a1b","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN_MARK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplaceFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculatePrimarySaleFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getERC721ContractPrimarySaleFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMaxValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMinValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"grantMarketplaceAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasERC721TokenSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_hasSold\",\"type\":\"bool\"}],\"name\":\"markERC721Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"markTokensAsSold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setERC721ContractPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setMarketplaceFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMaxValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMinValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"calculateMarketplaceFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculatePrimarySaleFee(address,uint256)\":{\"details\":\"Utility function for calculating the primary sale fee for given amount of wei\",\"params\":{\"_amount\":\"uint256 wei amount.\",\"_contractAddress\":\"address ERC721Contract address.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"constructor\":{\"details\":\"Initializes the contract maxValue, minValues, and marketplaceFeePercentage to default settings. Also, sets the roles for the contract to the owner.\"},\"getERC721ContractPrimarySaleFeePercentage(address)\":{\"details\":\"Get the primary sale fee percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\"},\"returns\":{\"_0\":\"uint8 wei primary sale fee.\"}},\"getMarketplaceFeePercentage()\":{\"details\":\"Get the marketplace fee percentage.\",\"returns\":{\"_0\":\"uint8 wei fee.\"}},\"getMarketplaceMaxValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getMarketplaceMinValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantMarketplaceAccess(address)\":{\"details\":\"Grants a marketplace contract access to marke\",\"params\":{\"_account\":\"address of the account that can perform the token mark role.\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasERC721TokenSold(address,uint256)\":{\"details\":\"Check whether the ERC721 token has sold at least once.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"bool of whether the token has sold.\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"markERC721Token(address,uint256,bool)\":{\"details\":\"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_hasSold\":\"bool of whether the token should be marked sold or not.\",\"_tokenId\":\"uint256 token ID.\"}},\"markTokensAsSold(address,uint256[])\":{\"details\":\"Function to set an array of tokens for a contract as sold, thus not being subject to the primary sale fee, if one exists.\",\"params\":{\"_originContract\":\"address of ERC721 contract.\",\"_tokenIds\":\"uint256[] array of token ids.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setERC721ContractPrimarySaleFeePercentage(address,uint8)\":{\"details\":\"Set the primary sale fee percentage for a specific ERC721 contract. Requirements: - `_contractAddress` cannot be the zero address. - `_percentage` must be <= 100.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_percentage\":\"uint8 percentage fee for the ERC721 contract.\"}},\"setMarketplaceFeePercentage(uint8)\":{\"details\":\"Set the marketplace fee percentage. Requirements: - `_percentage` must be <= 100.\",\"params\":{\"_percentage\":\"uint8 percentage fee.\"}},\"setMarketplaceMaxValue(uint256)\":{\"details\":\"Set the maximum value of the marketplace settings.\",\"params\":{\"_maxValue\":\"uint256 maximum wei value.\"}},\"setMarketplaceMinValue(uint256)\":{\"details\":\"Set the minimum value of the marketplace settings.\",\"params\":{\"_minValue\":\"uint256 minimum wei value.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"MarketplaceSettings Settings governing the marketplace fees.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/MarketplaceSettingsV1.sol\":\"MarketplaceSettingsV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/MarketplaceSettingsV1.sol\":{\"keccak256\":\"0x874e810bd9d740dcca635b2cbbbf8a789a57432936e0410950e4e704ebc0e909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://560ed7d41679144dea70f68ebcb0e2fcf925ba37e93abdf361dd044fc710f8c6\",\"dweb:/ipfs/QmR92xmXZt5ZXHi6fuMJxHNfWCbysR3jgU8xonCprjENn2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN_MARK_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplaceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculatePrimarySaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getERC721ContractPrimarySaleFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMaxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMinValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantMarketplaceAccess"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasERC721TokenSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_hasSold","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"markERC721Token"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"markTokensAsSold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setERC721ContractPrimarySaleFeePercentage"},{"inputs":[{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceFeePercentage"},{"inputs":[{"internalType":"uint256","name":"_maxValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMaxValue"},{"inputs":[{"internalType":"uint256","name":"_minValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMinValue"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"calculateMarketplaceFee(uint256)":{"details":"Utility function for calculating the marketplace fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculatePrimarySaleFee(address,uint256)":{"details":"Utility function for calculating the primary sale fee for given amount of wei","params":{"_amount":"uint256 wei amount.","_contractAddress":"address ERC721Contract address."},"returns":{"_0":"uint256 wei fee."}},"constructor":{"details":"Initializes the contract maxValue, minValues, and marketplaceFeePercentage to default settings. Also, sets the roles for the contract to the owner."},"getERC721ContractPrimarySaleFeePercentage(address)":{"details":"Get the primary sale fee percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address."},"returns":{"_0":"uint8 wei primary sale fee."}},"getMarketplaceFeePercentage()":{"details":"Get the marketplace fee percentage.","returns":{"_0":"uint8 wei fee."}},"getMarketplaceMaxValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getMarketplaceMinValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantMarketplaceAccess(address)":{"details":"Grants a marketplace contract access to marke","params":{"_account":"address of the account that can perform the token mark role."}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasERC721TokenSold(address,uint256)":{"details":"Check whether the ERC721 token has sold at least once.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"bool of whether the token has sold."}},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"markERC721Token(address,uint256,bool)":{"details":"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.","params":{"_contractAddress":"address ERC721Contract address.","_hasSold":"bool of whether the token should be marked sold or not.","_tokenId":"uint256 token ID."}},"markTokensAsSold(address,uint256[])":{"details":"Function to set an array of tokens for a contract as sold, thus not being subject to the primary sale fee, if one exists.","params":{"_originContract":"address of ERC721 contract.","_tokenIds":"uint256[] array of token ids."}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setERC721ContractPrimarySaleFeePercentage(address,uint8)":{"details":"Set the primary sale fee percentage for a specific ERC721 contract. Requirements: - `_contractAddress` cannot be the zero address. - `_percentage` must be <= 100.","params":{"_contractAddress":"address ERC721Contract address.","_percentage":"uint8 percentage fee for the ERC721 contract."}},"setMarketplaceFeePercentage(uint8)":{"details":"Set the marketplace fee percentage. Requirements: - `_percentage` must be <= 100.","params":{"_percentage":"uint8 percentage fee."}},"setMarketplaceMaxValue(uint256)":{"details":"Set the maximum value of the marketplace settings.","params":{"_maxValue":"uint256 maximum wei value."}},"setMarketplaceMinValue(uint256)":{"details":"Set the minimum value of the marketplace settings.","params":{"_minValue":"uint256 minimum wei value."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/MarketplaceSettingsV1.sol":"MarketplaceSettingsV1"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/MarketplaceSettingsV1.sol":{"keccak256":"0x874e810bd9d740dcca635b2cbbbf8a789a57432936e0410950e4e704ebc0e909","urls":["bzz-raw://560ed7d41679144dea70f68ebcb0e2fcf925ba37e93abdf361dd044fc710f8c6","dweb:/ipfs/QmR92xmXZt5ZXHi6fuMJxHNfWCbysR3jgU8xonCprjENn2"],"license":"MIT"}},"version":1},"id":163} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN_MARK_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"calculateMarketplaceFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePrimarySaleFee","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMaxValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMinValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantMarketplaceAccess","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasERC721TokenSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"markERC721Token","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_hasSold","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"markTokensAsSold","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceFeePercentage","inputs":[{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMaxValue","inputs":[{"name":"_maxValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMinValue","inputs":[{"name":"_minValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060409080825234620004675760008054336001600160a01b031982168117835591926001600160a01b0392909183167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a3600160fe1b6002556103e860035560ff19600492600382855416178455848052600190602090828252878720338852825260ff88882054161562000432575b865416946e544f4b454e5f4d41524b5f524f4c4560881b9485885283835283898920015491828952898920338a52845260ff8a8a205416156200013657505050838652818152868620858752815260ff878720541615620000fe575b865161107a9081620004ba8239f35b83865281815286862090858752528585209182541617905560008051602062001534833981519152339380a4388080808080620000ef565b6001600160401b03928491908b908b903390899060608801898111898210176200041f578552602a885286880192853685378851156200040c576030845388518310156200040c57607860218a015360295b838111620003a05750620002cb57845190608082018281108b8211176200038d578652604282528782019260603685378251156200037a576030845382518110156200037a57607860218401536041905b8082116200030c575050620002cb57916200025f9593918593606799989651978893620002348986019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d5251809260378801906200046c565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809360488401906200046c565b0103602881018652601f19978891011685019785891090891117620002b8575060449593601f9388969387620002af945262461bcd60e51b8852870152518092816024880152878701906200046c565b01168101030190fd5b634e487b7160e01b815260418352602490fd5b606486888088519262461bcd60e51b845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f8116601081101562000367576f181899199a1a9b1b9c1cb0b131b232b360811b901a6200033e848662000491565b53881c91801562000354576000190190620001d9565b634e487b7160e01b875260118952602487fd5b634e487b7160e01b885260328a52602488fd5b634e487b7160e01b865260328852602486fd5b634e487b7160e01b865260418852602486fd5b90600f81166010811015620003f9576f181899199a1a9b1b9c1cb0b131b232b360811b901a620003d1838c62000491565b53871c908015620003e6576000190162000188565b634e487b7160e01b865260118852602486fd5b634e487b7160e01b875260328952602487fd5b634e487b7160e01b855260328752602485fd5b634e487b7160e01b855260418752602485fd5b86805282825287872033885282528787208385825416179055333388600080516020620015348339815191528180a462000093565b600080fd5b60005b838110620004805750506000910152565b81810151838201526020016200046f565b908151811015620004a3570160200190565b634e487b7160e01b600052603260045260246000fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610afa57508163248a9ca314610ad05781632b702b5f146109655781632cfda2f1146109435781632f2ff15d1461089657816336568abe146108045781633765628c146107d7578163511bc84c146107905781635a3c652d146107085781635c1b40f1146106e957816362029a1b146106c75781636357f1ac14610689578163715018a61461062f57816382ebaa59146104f957816383475921146104d85781638da5cb5b146104b057816391d1485414610469578163a217fddf1461044e578163ae312a9714610378578163b28a7bad1461033c578163b60c813514610291578163c3fc49521461025e578163d547741f14610220578163f2fde38b14610159575063f9a23e861461013857600080fd5b346101555781600319360112610155576020906002549051908152f35b5080fd5b90503461021c57602036600319011261021c57610174610b4d565b9061017d610f2a565b6001600160a01b039182169283156101ca57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b9190503461021c578060031936011261021c5761025b91356102566001610245610b68565b938387528160205286200154610b7e565b610eb4565b80f35b82843461028e57602036600319011261028e575060646102868360ff60209554169035610f82565b049051908152f35b80fd5b9190503461021c57602036600319011261021c5781359060ff8216809203610338576102bb610f2a565b606482116102d05750815460ff191617905580f35b5162461bcd60e51b8152602081840152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152608490fd5b8380fd5b5050346101555760203660031901126101555760209160ff9082906001600160a01b03610367610b4d565b168152600585522054169051908152f35b9190503461021c578060031936011261021c57610393610b4d565b6024359260ff841680940361044a576103aa610f2a565b606484116103d357506001600160a01b0316835260056020528220805460ff1916909117905580f35b60a490602084519162461bcd60e51b8352820152604560248201527f736574455243373231436f6e74726163745072696d61727953616c654665655060448201527f657263656e746167653a3a5f70657263656e74616765206d757374206265203c60648201526403d203130360dc1b6084820152fd5b8480fd5b50503461015557816003193601126101555751908152602090f35b90503461021c578160031936011261021c578160209360ff9261048a610b68565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b505034610155578160031936011261015557905490516001600160a01b039091168152602090f35b82843461028e578060031936011261028e575060ff60209254169051908152f35b9190503461021c576020918260031936011261033857610517610b4d565b91848052600191828552818620338752855260ff8287205416156105d157506e544f4b454e5f4d41524b5f524f4c4560881b9384865282815261055e838388200154610b7e565b8486528281528186206001600160a01b039094168087529381528186205460ff1615610588578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b833461028e578060031936011261028e57610648610f2a565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b505034610155578060031936011261015557606461028660ff8360209560018060a01b036106b5610b4d565b16815260058752205416602435610f82565b839034610155576020366003190112610155576106e2610f2a565b3560035580f35b5050346101555781600319360112610155576020906003549051908152f35b50503461015557606036600319011261015557610723610b4d565b9060443591821515809303610338576e544f4b454e5f4d41524b5f524f4c4560881b8452600160205281842033855260205261076460ff8386205416610fd2565b60018060a01b031683526006602052808320602435845260205282209060ff8019835416911617905580f35b50503461015557806003193601126101555760209160ff9082906001600160a01b036107ba610b4d565b168152600685528181206024358252855220541690519015158152f35b505034610155578160031936011261015557516e544f4b454e5f4d41524b5f524f4c4560881b8152602090f35b8391503461015557826003193601126101555761081f610b68565b90336001600160a01b0383160361083b579061025b9135610eb4565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b90503461021c578160031936011261021c5735906108b2610b68565b9082845260016020526108ca60018286200154610b7e565b828452600160209081528185206001600160a01b039093168086529290528084205460ff16156108f8578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b8390346101555760203660031901126101555761095e610f2a565b3560025580f35b90503461021c578160031936011261021c5761097f610b4d565b9060249081359367ffffffffffffffff808611610acc5736602387011215610acc5785830135908111610acc57600590368582841b89010111610ac8576e544f4b454e5f4d41524b5f524f4c4560881b8852600196602091888352848a20338b5283526109f160ff868c205416610fd2565b6107d08111610a5657966001600160a01b0316895b888110610a11578a80f35b818b5260068452858b2081861b84018901358c528452858b20805460ff19168b1790556000198114610a44578901610a06565b634e487b7160e01b8b5260118752878bfd5b845162461bcd60e51b81528087018490526041818901527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b608482015260a490fd5b8780fd5b8680fd5b90503461021c57602036600319011261021c57816020936001923581528285522001549051908152f35b84913461021c57602036600319011261021c573563ffffffff60e01b811680910361021c5760209250637965db0b60e01b8114908115610b3c575b5015158152f35b6301ffc9a760e01b14905083610b35565b600435906001600160a01b0382168203610b6357565b600080fd5b602435906001600160a01b0382168203610b6357565b60009080825260016020818152604093848120338252825260ff858220541615610ba9575050505050565b33855193606085019567ffffffffffffffff9686811088821117610e7d578852602a86528486019288368537865115610e6957603084538651831015610e69576078602188015360295b838111610dff5750610d29578751906080820182811089821117610deb57895260428252858201926060368537825115610dd757603084538251811015610dd757607860218401536041905b808211610d6b575050610d295791610cbe94939188936067989951968793610c948886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610e91565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610e91565b0103602881018552601f19968791011684019684881090881117610d15575092610d0c60449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610e91565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610dc3576f181899199a1a9b1b9c1cb0b131b232b360811b901a610d9a8486610fab565b5360041c918015610daf576000190190610c3f565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610e55576f181899199a1a9b1b9c1cb0b131b232b360811b901a610e2d838a610fab565b5360041c908015610e415760001901610bf3565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b85526041600452602485fd5b60005b838110610ea45750506000910152565b8181015183820152602001610e94565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416610ee557505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b03163303610f3e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b81810292918115918404141715610f9557565b634e487b7160e01b600052601160045260246000fd5b908151811015610fbc570160200190565b634e487b7160e01b600052603260045260246000fd5b15610fd957565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fdfea2646970667358221220b62215c8d4ffe8eace3a21e44dcd4d4a67d78cb344458adcd09b2b997183817364736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"348:10587:145:-:0;;;;;;;;;2518:6:77;348:10587:145;;719:10:98;-1:-1:-1;;;;;;348:10587:145;;;;;;2518:6:77;;-1:-1:-1;;;;;348:10587:145;2518:6:77;;348:10587:145;;2566:40:77;2518:6;;2566:40;348:10587:145;1872:6;;1861:17;348:10587;1956:4;1945:15;348:10587;;;2017:28;348:10587;1945:15;348:10587;;;;;;;;;;;;;;;;;;;;719:10:98;348:10587:145;;;;;;;;;;7669:23:75;7665:149;;-1:-1:-1;348:10587:145;;;2198:4:75;;;;348:10587:145;;;;;;;;;;;4604:22:75;348:10587:145;;;;;;;;719:10:98;348:10587:145;;;;;;;;;;3931:23:75;3927:390;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;7669:23:75;7665:149;;-1:-1:-1;348:10587:145;;;;;;;;;7665:149:75;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;719:10:98;7763:40:75;;;7665:149;;;;;;;;3927:390;-1:-1:-1;;;;;348:10587:145;719:10:98;;;;;;;;;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:100;;;348:10587:145;;;;;;;2000:15:100;348:10587:145;;;2000:15:100;348:10587:145;2058:5:100;;;;;;2170:10;278:18;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:100;;;348:10587:145;;;;;;;2000:15:100;348:10587:145;;;2000:15:100;348:10587:145;2025:128:100;2058:5;;;;;;2170:10;;278:18;;348:10587:145;;;;;;;;;;;;4022:252:75;;;348:10587:145;4022:252:75;;;348:10587:145;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;:::i;:::-;;4022:252:75;;;;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;278:18:100;;;3970:336:75;;;;348:10587:145;;;;;;;;;;;;;;:::i;:::-;;;;;3970:336:75;;;;348:10587:145;-1:-1:-1;;;348:10587:145;;;;;;;;278:18:100;;348:10587:145;;;;;278:18:100;;;;;;;;;;;;348:10587:145;278:18:100;348:10587:145;;;278:18:100;;2065:3;2105:11;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:100;;2084:33;;;;:::i;:::-;;278:18;;2065:3;348:10587:145;;;;-1:-1:-1;;348:10587:145;;2030:26:100;;348:10587:145;-1:-1:-1;;;348:10587:145;;;;;;;;2096:21:100;-1:-1:-1;;;348:10587:145;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;2065:3:100;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:100;;2084:33;;;;:::i;:::-;;278:18;;2065:3;348:10587:145;;;;-1:-1:-1;;348:10587:145;2030:26:100;;348:10587:145;-1:-1:-1;;;348:10587:145;;;;;;;;2096:21:100;-1:-1:-1;;;348:10587:145;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;7665:149:75;348:10587:145;;;;;;;;;719:10:98;348:10587:145;;;;;;;;;;;;;;;719:10:98;;7763:40:75;-1:-1:-1;;;;;;;;;;;7763:40:75;;;7665:149;;348:10587:145;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610afa57508163248a9ca314610ad05781632b702b5f146109655781632cfda2f1146109435781632f2ff15d1461089657816336568abe146108045781633765628c146107d7578163511bc84c146107905781635a3c652d146107085781635c1b40f1146106e957816362029a1b146106c75781636357f1ac14610689578163715018a61461062f57816382ebaa59146104f957816383475921146104d85781638da5cb5b146104b057816391d1485414610469578163a217fddf1461044e578163ae312a9714610378578163b28a7bad1461033c578163b60c813514610291578163c3fc49521461025e578163d547741f14610220578163f2fde38b14610159575063f9a23e861461013857600080fd5b346101555781600319360112610155576020906002549051908152f35b5080fd5b90503461021c57602036600319011261021c57610174610b4d565b9061017d610f2a565b6001600160a01b039182169283156101ca57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b9190503461021c578060031936011261021c5761025b91356102566001610245610b68565b938387528160205286200154610b7e565b610eb4565b80f35b82843461028e57602036600319011261028e575060646102868360ff60209554169035610f82565b049051908152f35b80fd5b9190503461021c57602036600319011261021c5781359060ff8216809203610338576102bb610f2a565b606482116102d05750815460ff191617905580f35b5162461bcd60e51b8152602081840152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152608490fd5b8380fd5b5050346101555760203660031901126101555760209160ff9082906001600160a01b03610367610b4d565b168152600585522054169051908152f35b9190503461021c578060031936011261021c57610393610b4d565b6024359260ff841680940361044a576103aa610f2a565b606484116103d357506001600160a01b0316835260056020528220805460ff1916909117905580f35b60a490602084519162461bcd60e51b8352820152604560248201527f736574455243373231436f6e74726163745072696d61727953616c654665655060448201527f657263656e746167653a3a5f70657263656e74616765206d757374206265203c60648201526403d203130360dc1b6084820152fd5b8480fd5b50503461015557816003193601126101555751908152602090f35b90503461021c578160031936011261021c578160209360ff9261048a610b68565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b505034610155578160031936011261015557905490516001600160a01b039091168152602090f35b82843461028e578060031936011261028e575060ff60209254169051908152f35b9190503461021c576020918260031936011261033857610517610b4d565b91848052600191828552818620338752855260ff8287205416156105d157506e544f4b454e5f4d41524b5f524f4c4560881b9384865282815261055e838388200154610b7e565b8486528281528186206001600160a01b039094168087529381528186205460ff1615610588578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b833461028e578060031936011261028e57610648610f2a565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b505034610155578060031936011261015557606461028660ff8360209560018060a01b036106b5610b4d565b16815260058752205416602435610f82565b839034610155576020366003190112610155576106e2610f2a565b3560035580f35b5050346101555781600319360112610155576020906003549051908152f35b50503461015557606036600319011261015557610723610b4d565b9060443591821515809303610338576e544f4b454e5f4d41524b5f524f4c4560881b8452600160205281842033855260205261076460ff8386205416610fd2565b60018060a01b031683526006602052808320602435845260205282209060ff8019835416911617905580f35b50503461015557806003193601126101555760209160ff9082906001600160a01b036107ba610b4d565b168152600685528181206024358252855220541690519015158152f35b505034610155578160031936011261015557516e544f4b454e5f4d41524b5f524f4c4560881b8152602090f35b8391503461015557826003193601126101555761081f610b68565b90336001600160a01b0383160361083b579061025b9135610eb4565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b90503461021c578160031936011261021c5735906108b2610b68565b9082845260016020526108ca60018286200154610b7e565b828452600160209081528185206001600160a01b039093168086529290528084205460ff16156108f8578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b8390346101555760203660031901126101555761095e610f2a565b3560025580f35b90503461021c578160031936011261021c5761097f610b4d565b9060249081359367ffffffffffffffff808611610acc5736602387011215610acc5785830135908111610acc57600590368582841b89010111610ac8576e544f4b454e5f4d41524b5f524f4c4560881b8852600196602091888352848a20338b5283526109f160ff868c205416610fd2565b6107d08111610a5657966001600160a01b0316895b888110610a11578a80f35b818b5260068452858b2081861b84018901358c528452858b20805460ff19168b1790556000198114610a44578901610a06565b634e487b7160e01b8b5260118752878bfd5b845162461bcd60e51b81528087018490526041818901527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b608482015260a490fd5b8780fd5b8680fd5b90503461021c57602036600319011261021c57816020936001923581528285522001549051908152f35b84913461021c57602036600319011261021c573563ffffffff60e01b811680910361021c5760209250637965db0b60e01b8114908115610b3c575b5015158152f35b6301ffc9a760e01b14905083610b35565b600435906001600160a01b0382168203610b6357565b600080fd5b602435906001600160a01b0382168203610b6357565b60009080825260016020818152604093848120338252825260ff858220541615610ba9575050505050565b33855193606085019567ffffffffffffffff9686811088821117610e7d578852602a86528486019288368537865115610e6957603084538651831015610e69576078602188015360295b838111610dff5750610d29578751906080820182811089821117610deb57895260428252858201926060368537825115610dd757603084538251811015610dd757607860218401536041905b808211610d6b575050610d295791610cbe94939188936067989951968793610c948886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610e91565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610e91565b0103602881018552601f19968791011684019684881090881117610d15575092610d0c60449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610e91565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610dc3576f181899199a1a9b1b9c1cb0b131b232b360811b901a610d9a8486610fab565b5360041c918015610daf576000190190610c3f565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610e55576f181899199a1a9b1b9c1cb0b131b232b360811b901a610e2d838a610fab565b5360041c908015610e415760001901610bf3565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b85526041600452602485fd5b60005b838110610ea45750506000910152565b8181015183820152602001610e94565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416610ee557505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b03163303610f3e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b81810292918115918404141715610f9557565b634e487b7160e01b600052601160045260246000fd5b908151811015610fbc570160200190565b634e487b7160e01b600052603260045260246000fd5b15610fd957565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fdfea2646970667358221220b62215c8d4ffe8eace3a21e44dcd4d4a67d78cb344458adcd09b2b997183817364736f6c63430008120033","sourceMap":"348:10587:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3225:8;348:10587;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;;;:::i;:::-;1063:62:77;;;:::i;:::-;-1:-1:-1;;;;;348:10587:145;;;;2162:22:77;;348:10587:145;;-1:-1:-1;;348:10587:145;;-1:-1:-1;;;;;;348:10587:145;;;;;;;2566:40:77;348:10587:145;;2566:40:77;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;5486:7:75;348:10587:145;;2642:4:75;348:10587:145;;;:::i;:::-;;;;;;;;;;4604:22:75;348:10587:145;2642:4:75;:::i;:::-;5486:7;:::i;:::-;348:10587:145;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;;6148:3;6110:34;348:10587;;;;;;;;6110:34;:::i;:::-;348:10587;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;;;;;;;;;;;;1063:62:77;;:::i;:::-;5453:3:145;5438:18;;348:10587;;-1:-1:-1;348:10587:145;;-1:-1:-1;;348:10587:145;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;5453:3;348:10587;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;;;;;;;-1:-1:-1;;;;;348:10587:145;;:::i;:::-;;;;6740:15;348:10587;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1063:62:77;;:::i;:::-;7537:3:145;7522:18;;348:10587;;-1:-1:-1;;;;;;348:10587:145;;;7645:15;348:10587;;;;;;-1:-1:-1;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7537:3;348:10587;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3130:6:75;348:10587:145;;;;;;;2686:10;348:10587;;;;;;;;;;;;;;;;;;;;;;;;2642:4:75;348:10587:145;;;;4604:22:75;348:10587:145;2642:4:75;:::i;:::-;348:10587:145;;;;;;;;;-1:-1:-1;;;;;348:10587:145;;;;;;;;;;;;;;;7669:23:75;7665:149;;348:10587:145;;;7665:149:75;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;2686:10;7763:40:75;;;;;7665:149;;;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;1063:62:77;;:::i;:::-;348:10587:145;;-1:-1:-1;;;;;;348:10587:145;;;;;;-1:-1:-1;;;;;348:10587:145;2566:40:77;348:10587:145;;2566:40:77;348:10587:145;;;;;;;;;;;;;;;;8353:3;8306:43;348:10587;;;;;;;;;;;:::i;:::-;;;;8316:15;348:10587;;;;;;;8306:43;:::i;348:10587::-;;;;;;;;-1:-1:-1;;348:10587:145;;;;1063:62:77;;:::i;:::-;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;9693:10;348:10587;;;;9647:145;348:10587;;;;;;9647:145;:::i;:::-;348:10587;;;;;;;;9802:10;348:10587;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;348:10587:145;;:::i;:::-;;;;8952:10;348:10587;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:98;;-1:-1:-1;;;;;348:10587:145;;6133:23:75;348:10587:145;;;6237:7:75;348:10587:145;;6237:7:75;:::i;348:10587:145:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:75;348:10587:145;;;;4604:22:75;348:10587:145;2642:4:75;:::i;:::-;348:10587:145;;;;;;;;;;;-1:-1:-1;;;;;348:10587:145;;;;;;;;;;;;;;;7669:23:75;7665:149;;348:10587:145;;;7665:149:75;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;719:10:98;7763:40:75;;;;;7665:149;;;348:10587:145;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;1063:62:77;;:::i;:::-;348:10587:145;3642:20;348:10587;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3130:6:75;348:10587:145;;;;;;;;;10474:10;348:10587;;;;10428:145;348:10587;;;;;;10428:145;:::i;:::-;10660:4;10640:24;;348:10587;;10812:13;-1:-1:-1;;;;;348:10587:145;10812:13;10827:20;;;;;;348:10587;;;10849:3;348:10587;;;10868:10;348:10587;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;;-1:-1:-1;;348:10587:145;;;;;;10812:13;;348:10587;-1:-1:-1;;;348:10587:145;;;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;;;;;;;;;;;;;4604:22:75;348:10587:145;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:75;;;:87;;;;348:10587:145;;;;;;;2840:87:75;-1:-1:-1;;;937:40:102;;-1:-1:-1;2840:87:75;;;348:10587:145;;;;-1:-1:-1;;;;;348:10587:145;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;348:10587:145;;;;;;:::o;3460:103:75:-;-1:-1:-1;348:10587:145;;;;3130:6:75;348:10587:145;;;;;;;;;719:10:98;348:10587:145;;;;;;;;;;3931:23:75;3927:390;;3460:103;;;;;:::o;3927:390::-;719:10:98;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:100;;;348:10587:145;;;;;;;2000:15:100;348:10587:145;;;2000:15:100;348:10587:145;2058:5:100;;;;;;2170:10;278:18;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:100;;;348:10587:145;;;;;;;2000:15:100;348:10587:145;;;2000:15:100;348:10587:145;2025:128:100;2058:5;;;;;;2170:10;;278:18;;348:10587:145;;;;;;;;;;;4022:252:75;;;348:10587:145;4022:252:75;;;348:10587:145;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;:::i;:::-;;4022:252:75;;;;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3970:336:75;;2141:1:100;3970:336:75;;348:10587:145;;;;;;;;;;;;;;:::i;:::-;;;;;3970:336:75;;;;348:10587:145;-1:-1:-1;;;348:10587:145;;;2141:1:100;348:10587:145;;;;278:18:100;;348:10587:145;;;;;;;278:18:100;;;2141:1;278:18;;;;;;348:10587:145;278:18:100;348:10587:145;;;278:18:100;;2065:3;2105:11;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:100;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;348:10587:145;;;;-1:-1:-1;;348:10587:145;;2030:26:100;;348:10587:145;-1:-1:-1;;;348:10587:145;;;2141:1:100;348:10587:145;;;;2096:21:100;-1:-1:-1;;;348:10587:145;;;2141:1:100;348:10587:145;;;;;-1:-1:-1;;;348:10587:145;;;2141:1:100;348:10587:145;;;;;-1:-1:-1;;;348:10587:145;;;2141:1:100;348:10587:145;;;;2065:3:100;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:100;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;348:10587:145;;;;-1:-1:-1;;348:10587:145;2030:26:100;;348:10587:145;-1:-1:-1;;;348:10587:145;;;2141:1:100;348:10587:145;;;;2096:21:100;-1:-1:-1;;;348:10587:145;;;2141:1:100;348:10587:145;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;-1:-1:-1;;348:10587:145;;;;:::o;:::-;;;;;;;;;;;;;7991:234:75;;-1:-1:-1;348:10587:145;;;;3130:6:75;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;8070:149:75;;7991:234;;;:::o;8070:149::-;348:10587:145;;;3130:6:75;348:10587:145;;;;;;;;;;;;;;;;;;;;8168:40:75;719:10:98;8168:40:75;;;7991:234::o;1359:130:77:-;1273:6;348:10587:145;-1:-1:-1;;;;;348:10587:145;719:10:98;1422:23:77;348:10587:145;;1359:130:77:o;348:10587:145:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;348:10587:145;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","TOKEN_MARK_ROLE()":"3765628c","calculateMarketplaceFee(uint256)":"c3fc4952","calculatePrimarySaleFee(address,uint256)":"6357f1ac","getERC721ContractPrimarySaleFeePercentage(address)":"b28a7bad","getMarketplaceFeePercentage()":"83475921","getMarketplaceMaxValue()":"f9a23e86","getMarketplaceMinValue()":"5c1b40f1","getRoleAdmin(bytes32)":"248a9ca3","grantMarketplaceAccess(address)":"82ebaa59","grantRole(bytes32,address)":"2f2ff15d","hasERC721TokenSold(address,uint256)":"511bc84c","hasRole(bytes32,address)":"91d14854","markERC721Token(address,uint256,bool)":"5a3c652d","markTokensAsSold(address,uint256[])":"2b702b5f","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setERC721ContractPrimarySaleFeePercentage(address,uint8)":"ae312a97","setMarketplaceFeePercentage(uint8)":"b60c8135","setMarketplaceMaxValue(uint256)":"2cfda2f1","setMarketplaceMinValue(uint256)":"62029a1b","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN_MARK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplaceFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculatePrimarySaleFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getERC721ContractPrimarySaleFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMaxValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMinValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"grantMarketplaceAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasERC721TokenSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_hasSold\",\"type\":\"bool\"}],\"name\":\"markERC721Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"markTokensAsSold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setERC721ContractPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setMarketplaceFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMaxValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMinValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"calculateMarketplaceFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculatePrimarySaleFee(address,uint256)\":{\"details\":\"Utility function for calculating the primary sale fee for given amount of wei\",\"params\":{\"_amount\":\"uint256 wei amount.\",\"_contractAddress\":\"address ERC721Contract address.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"constructor\":{\"details\":\"Initializes the contract maxValue, minValues, and marketplaceFeePercentage to default settings. Also, sets the roles for the contract to the owner.\"},\"getERC721ContractPrimarySaleFeePercentage(address)\":{\"details\":\"Get the primary sale fee percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\"},\"returns\":{\"_0\":\"uint8 wei primary sale fee.\"}},\"getMarketplaceFeePercentage()\":{\"details\":\"Get the marketplace fee percentage.\",\"returns\":{\"_0\":\"uint8 wei fee.\"}},\"getMarketplaceMaxValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getMarketplaceMinValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantMarketplaceAccess(address)\":{\"details\":\"Grants a marketplace contract access to marke\",\"params\":{\"_account\":\"address of the account that can perform the token mark role.\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasERC721TokenSold(address,uint256)\":{\"details\":\"Check whether the ERC721 token has sold at least once.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"bool of whether the token has sold.\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"markERC721Token(address,uint256,bool)\":{\"details\":\"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_hasSold\":\"bool of whether the token should be marked sold or not.\",\"_tokenId\":\"uint256 token ID.\"}},\"markTokensAsSold(address,uint256[])\":{\"details\":\"Function to set an array of tokens for a contract as sold, thus not being subject to the primary sale fee, if one exists.\",\"params\":{\"_originContract\":\"address of ERC721 contract.\",\"_tokenIds\":\"uint256[] array of token ids.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setERC721ContractPrimarySaleFeePercentage(address,uint8)\":{\"details\":\"Set the primary sale fee percentage for a specific ERC721 contract. Requirements: - `_contractAddress` cannot be the zero address. - `_percentage` must be <= 100.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_percentage\":\"uint8 percentage fee for the ERC721 contract.\"}},\"setMarketplaceFeePercentage(uint8)\":{\"details\":\"Set the marketplace fee percentage. Requirements: - `_percentage` must be <= 100.\",\"params\":{\"_percentage\":\"uint8 percentage fee.\"}},\"setMarketplaceMaxValue(uint256)\":{\"details\":\"Set the maximum value of the marketplace settings.\",\"params\":{\"_maxValue\":\"uint256 maximum wei value.\"}},\"setMarketplaceMinValue(uint256)\":{\"details\":\"Set the minimum value of the marketplace settings.\",\"params\":{\"_minValue\":\"uint256 minimum wei value.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"MarketplaceSettings Settings governing the marketplace fees.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/MarketplaceSettingsV1_disable_new_toke_sales.sol\":\"MarketplaceSettingsV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/MarketplaceSettingsV1_disable_new_toke_sales.sol\":{\"keccak256\":\"0x874e810bd9d740dcca635b2cbbbf8a789a57432936e0410950e4e704ebc0e909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://560ed7d41679144dea70f68ebcb0e2fcf925ba37e93abdf361dd044fc710f8c6\",\"dweb:/ipfs/QmR92xmXZt5ZXHi6fuMJxHNfWCbysR3jgU8xonCprjENn2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN_MARK_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplaceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculatePrimarySaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getERC721ContractPrimarySaleFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMaxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMinValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantMarketplaceAccess"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasERC721TokenSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_hasSold","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"markERC721Token"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"markTokensAsSold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setERC721ContractPrimarySaleFeePercentage"},{"inputs":[{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceFeePercentage"},{"inputs":[{"internalType":"uint256","name":"_maxValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMaxValue"},{"inputs":[{"internalType":"uint256","name":"_minValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMinValue"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"calculateMarketplaceFee(uint256)":{"details":"Utility function for calculating the marketplace fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculatePrimarySaleFee(address,uint256)":{"details":"Utility function for calculating the primary sale fee for given amount of wei","params":{"_amount":"uint256 wei amount.","_contractAddress":"address ERC721Contract address."},"returns":{"_0":"uint256 wei fee."}},"constructor":{"details":"Initializes the contract maxValue, minValues, and marketplaceFeePercentage to default settings. Also, sets the roles for the contract to the owner."},"getERC721ContractPrimarySaleFeePercentage(address)":{"details":"Get the primary sale fee percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address."},"returns":{"_0":"uint8 wei primary sale fee."}},"getMarketplaceFeePercentage()":{"details":"Get the marketplace fee percentage.","returns":{"_0":"uint8 wei fee."}},"getMarketplaceMaxValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getMarketplaceMinValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantMarketplaceAccess(address)":{"details":"Grants a marketplace contract access to marke","params":{"_account":"address of the account that can perform the token mark role."}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasERC721TokenSold(address,uint256)":{"details":"Check whether the ERC721 token has sold at least once.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"bool of whether the token has sold."}},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"markERC721Token(address,uint256,bool)":{"details":"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.","params":{"_contractAddress":"address ERC721Contract address.","_hasSold":"bool of whether the token should be marked sold or not.","_tokenId":"uint256 token ID."}},"markTokensAsSold(address,uint256[])":{"details":"Function to set an array of tokens for a contract as sold, thus not being subject to the primary sale fee, if one exists.","params":{"_originContract":"address of ERC721 contract.","_tokenIds":"uint256[] array of token ids."}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setERC721ContractPrimarySaleFeePercentage(address,uint8)":{"details":"Set the primary sale fee percentage for a specific ERC721 contract. Requirements: - `_contractAddress` cannot be the zero address. - `_percentage` must be <= 100.","params":{"_contractAddress":"address ERC721Contract address.","_percentage":"uint8 percentage fee for the ERC721 contract."}},"setMarketplaceFeePercentage(uint8)":{"details":"Set the marketplace fee percentage. Requirements: - `_percentage` must be <= 100.","params":{"_percentage":"uint8 percentage fee."}},"setMarketplaceMaxValue(uint256)":{"details":"Set the maximum value of the marketplace settings.","params":{"_maxValue":"uint256 maximum wei value."}},"setMarketplaceMinValue(uint256)":{"details":"Set the minimum value of the marketplace settings.","params":{"_minValue":"uint256 minimum wei value."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/MarketplaceSettingsV1_disable_new_toke_sales.sol":"MarketplaceSettingsV1"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/MarketplaceSettingsV1_disable_new_toke_sales.sol":{"keccak256":"0x874e810bd9d740dcca635b2cbbbf8a789a57432936e0410950e4e704ebc0e909","urls":["bzz-raw://560ed7d41679144dea70f68ebcb0e2fcf925ba37e93abdf361dd044fc710f8c6","dweb:/ipfs/QmR92xmXZt5ZXHi6fuMJxHNfWCbysR3jgU8xonCprjENn2"],"license":"MIT"}},"version":1},"id":145} \ No newline at end of file diff --git a/abis/MarketplaceSettingsV2.json b/abis/MarketplaceSettingsV2.json index 242cb80..5edeca8 100644 --- a/abis/MarketplaceSettingsV2.json +++ b/abis/MarketplaceSettingsV2.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"newOwner","type":"address","internalType":"address"},{"name":"oldSettings","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN_MARK_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"calculateMarketplaceFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePrimarySaleFee","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMaxValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMinValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantMarketplaceAccess","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasERC721TokenSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"markContractAsSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"markERC721Token","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_hasSold","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"markTokensAsSold","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceFeePercentage","inputs":[{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMaxValue","inputs":[{"name":"_maxValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMinValue","inputs":[{"name":"_minValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrimarySaleFeePercentage","inputs":[{"name":"_primarySaleFeePercentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608034620002b657620016d990601f38839003908101601f19168201906001600160401b03821183831017620002bb5780839160409586948552833981010312620002b6576200004f81620002d1565b6200005e6020809301620002d1565b916200006a33620002e6565b600160fe1b6005556103e86006556007805461ffff1916610f031790556001600160a01b03928284169081156200025c578416938415620001f257600091828052600190818552878420818552855260ff888520541615620001bb575b7fe403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf6291828552808652888520828652865260ff89862054161562000182575b50505033915416036200014057506200011e90620002e6565b600280546001600160a01b0319169190911790555161138b90816200032e8239f35b60649084519062461bcd60e51b825280600483015260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b82855280865288852082865286528885209060ff198254161790553391600080516020620016b98339815191528580a438808062000105565b8380528185528784208185528552878420805460ff191683179055338185600080516020620016b98339815191528180a4620000c7565b855162461bcd60e51b815260048101849052603c60248201527f636f6e7374727563746f723a3a4f6c64204d61726b6574706c6163652053657460448201527f74696e677320616464726573732063616e6e6f74206265206e756c6c000000006064820152608490fd5b855162461bcd60e51b815260048101849052602d60248201527f636f6e7374727563746f723a3a4e6577206f776e65722061646472657373206360448201526c185b9b9bdd081899481b9d5b1b609a1b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620002b657565b600080546001600160a01b039283166001600160a01b03198216811783559216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a356fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610c32575081631ad99c3714610bf8578163248a9ca314610bce5781632b702b5f146109fe5781632cfda2f1146109dc5781632f2ff15d1461092f578163364d60441461080557816336568abe146107735781633765628c1461074a578163511bc84c146107185781635a3c652d146106595781635c1b40f11461063a57816362029a1b146106185781636357f1ac146105e4578163715018a61461058a57816382ebaa591461045457816383475921146104325781638da5cb5b1461040a57816391d14854146103c3578163a217fddf146103a8578163ae312a971461037f578163b28a7bad14610350578163b60c8135146102a8578163c3fc495214610274578163d547741f14610236578163f2fde38b1461016f575063f9a23e861461014e57600080fd5b3461016b578160031936011261016b576020906005549051908152f35b5080fd5b9050346102325760203660031901126102325761018a610c9a565b906101936110d1565b6001600160a01b039182169283156101e057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b91905034610232578060031936011261023257610271913561026c600161025b610cb0565b938387528160205286200154610cc6565b61105b565b80f35b8284346102a55760203660031901126102a55750606461029d60209360ff600754169035611129565b049051908152f35b80fd5b9050346102325760203660031901126102325760ff6102c5610c85565b6102cd6110d1565b1691606483116102e757505060ff19600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152fd5b50503461016b57602036600319011261016b5760209061036e610c9a565b5060ff60075460081c169051908152f35b50503461016b573660031901126102a557610398610c9a565b5060243560ff8116036102a55780f35b50503461016b578160031936011261016b5751908152602090f35b9050346102325781600319360112610232578160209360ff926103e4610cb0565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b50503461016b578160031936011261016b57905490516001600160a01b039091168152602090f35b50503461016b578160031936011261016b5760209060ff600754169051908152f35b91905034610232576020918260031936011261058657610472610c9a565b91848052600191828552818620338752855260ff8287205416156105285750600080516020611336833981519152938486528281526104b5838388200154610cc6565b8486528281528186206001600160a01b039094168087529381528186205460ff16156104df578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b8380fd5b83346102a557806003193601126102a5576105a36110d1565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461016b578060031936011261016b57602090610601610c9a565b50606461029d60ff60075460081c16602435611129565b83903461016b57602036600319011261016b576106336110d1565b3560065580f35b50503461016b578160031936011261016b576020906006549051908152f35b919050346102325760603660031901126102325782610676610c9a565b60443580151580910361023257600080516020611336833981519152835260016020528383203384526020526106b160ff8585205416611226565b6002546001600160a01b039290831691823b1561071457606492859187519889968795635a3c652d60e01b87521690850152602435602485015260448401525af190811561070b5750610702575080f35b6102719061100f565b513d84823e3d90fd5b8480fd5b50503461016b578060031936011261016b57602090610741610738610c9a565b60243590611179565b90519015158152f35b50503461016b578160031936011261016b57602090516000805160206113368339815191528152f35b8391503461016b578260031936011261016b5761078e610cb0565b90336001600160a01b038316036107aa5790610271913561105b565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b8284346102a5576020928360031936011261016b57610822610c9a565b600080516020611336833981519152835260018552838320338452855260ff8484205416156108c6576001600160a01b0316808352818552918390205461086d575061074190611298565b825162461bcd60e51b8152908101849052602d60248201527f6d61726b436f6e74726163743a3a436f6e747261637420616c7265616479206d60448201526c185c9ad95908185cc81cdbdb19609a1b6064820152608490fd5b835162461bcd60e51b8152808301869052603b60248201527f6d61726b436f6e74726163743a3a4d757374206861766520544f4b454e5f4d4160448201527f524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400000000006064820152608490fd5b905034610232578160031936011261023257359061094b610cb0565b90828452600160205261096360018286200154610cc6565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610991578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83903461016b57602036600319011261016b576109f76110d1565b3560055580f35b91905034610232578060031936011261023257610a19610c9a565b9160249081359267ffffffffffffffff808511610bca5736602386011215610bca5784830135908111610bca57600590368582841b88010111610bc657600080516020611336833981519152958689526001978460208a8152818c20338d528152610a8b8c60ff938491205416611226565b6107d08511610b555793986001600160a01b0392831694908c5b8d8c8210610ab05780f35b848a8f92610acd9386825287528181203382528752205416611226565b60025485168e813b156102a557888f8d8f8d958f938287938f8b606498519b8c9a8b99635a3c652d60e01b8b528a01521b0101359085015260448401525af18015610b4957610b3a575b506000198114610b28578c01610aa5565b634e487b7160e01b8e5260118a528a8efd5b610b439061100f565b38610b17565b8f8b51903d90823e3d90fd5b8760418a60a4938a519362461bcd60e51b85528401528201527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b6084820152fd5b8780fd5b8680fd5b90503461023257602036600319011261023257816020936001923581528285522001549051908152f35b83346102a55760203660031901126102a557610c12610c85565b610c1a6110d1565b61ff006007549160081b169061ff0019161760075580f35b849134610232576020366003190112610232573563ffffffff60e01b81168091036102325760209250637965db0b60e01b8114908115610c74575b5015158152f35b6301ffc9a760e01b14905083610c6d565b6004359060ff82168203610c9557565b600080fd5b600435906001600160a01b0382168203610c9557565b602435906001600160a01b0382168203610c9557565b600090808252600191602091838352604091828120338252845260ff838220541615610cf3575050505050565b3391835195606087019167ffffffffffffffff9288811084821117610f18578652602a88528688019486368737885115610fd857603086538851831015610fd857607860218a015360295b838111610f6e5750610f2c5790855192608084019084821090821117610f1857865260428352868301936060368637835115610f0457603085538351821015610f045790607860218501536041915b818311610e9657505050610e545792610e226048610e139794610e46946044989785519a8b93610dea8b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610fec565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610fec565b01036028810189520187611039565b5194859362461bcd60e51b8552600485015251809281602486015285850190610fec565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610ef0576f181899199a1a9b1b9c1cb0b131b232b360811b901a610ec68587611152565b5360041c928015610edc57600019019190610d8d565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015610fc4576f181899199a1a9b1b9c1cb0b131b232b360811b901a610f9c838c611152565b5360041c908015610fb05760001901610d3e565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b838110610fff5750506000910152565b8181015183820152602001610fef565b67ffffffffffffffff811161102357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761102357604052565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541661108c57505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b031633036110e557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b8181029291811591840414171561113c57565b634e487b7160e01b600052601160045260246000fd5b908151811015611163570160200190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03908116600081815260046020526040812054919390929161121d57604460209260025416946040519586938492631446f21360e21b8452600484015260248301525afa9182156112105781926111d657505090565b9091506020813d8211611208575b816111f160209383611039565b8101031261016b57519081151582036102a5575090565b3d91506111e4565b50604051903d90823e3d90fd5b50505050600190565b1561122d57565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fd5b600081815260046020526040812054611330576003546801000000000000000081101561131c5760018101806003558110156113085790826040927fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b015560035492815260046020522055600190565b634e487b7160e01b82526032600452602482fd5b634e487b7160e01b82526041600452602482fd5b90509056fee403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf62a2646970667358221220e15d5b6220f7cc2bdfb593cb60d024d90fb7a0ce64669e0fb985bd73394f45ce64736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"428:5381:164:-:0;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;-1:-1:-1;;;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;719:10:99;955:12:78;719:10:99;955:12:78;:::i;:::-;-1:-1:-1;;;1133:19:164;428:5381;1173:4;1162:15;428:5381;1187:28;428:5381;;-1:-1:-1;;428:5381:164;;;;;-1:-1:-1;;;;;428:5381:164;;;;;1286:22;;428:5381;;;;1411:25;;;428:5381;;-1:-1:-1;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;555:28:164;428:5381;;;;;;;;;;;;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;719:10:99;;;;428:5381:164;;;1422:23:78;428:5381:164;;2256:8:78;;;;:::i;:::-;1682:58:164;555:28;;-1:-1:-1;;;;;;555:28:164;;;;;;;428:5381;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:149:76;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;-1:-1:-1;;;;;;;;;;;7763:40:76;;;7665:149;;;;;;428:5381:164;;;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;719:10:99;428:5381:164;;-1:-1:-1;;;;;;;;;;;428:5381:164;;7763:40:76;7665:149;;428:5381:164;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;-1:-1:-1;428:5381:164;;;;;;-1:-1:-1;428:5381:164;;;;;-1:-1:-1;428:5381:164;;;;-1:-1:-1;;;;;428:5381:164;;;;;;:::o;2426:187:78:-;2518:6;428:5381:164;;-1:-1:-1;;;;;428:5381:164;;;-1:-1:-1;;;;;;555:28:164;;;;;;428:5381;;;2566:40:78;;2518:6;2566:40;2426:187::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610c32575081631ad99c3714610bf8578163248a9ca314610bce5781632b702b5f146109fe5781632cfda2f1146109dc5781632f2ff15d1461092f578163364d60441461080557816336568abe146107735781633765628c1461074a578163511bc84c146107185781635a3c652d146106595781635c1b40f11461063a57816362029a1b146106185781636357f1ac146105e4578163715018a61461058a57816382ebaa591461045457816383475921146104325781638da5cb5b1461040a57816391d14854146103c3578163a217fddf146103a8578163ae312a971461037f578163b28a7bad14610350578163b60c8135146102a8578163c3fc495214610274578163d547741f14610236578163f2fde38b1461016f575063f9a23e861461014e57600080fd5b3461016b578160031936011261016b576020906005549051908152f35b5080fd5b9050346102325760203660031901126102325761018a610c9a565b906101936110d1565b6001600160a01b039182169283156101e057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b91905034610232578060031936011261023257610271913561026c600161025b610cb0565b938387528160205286200154610cc6565b61105b565b80f35b8284346102a55760203660031901126102a55750606461029d60209360ff600754169035611129565b049051908152f35b80fd5b9050346102325760203660031901126102325760ff6102c5610c85565b6102cd6110d1565b1691606483116102e757505060ff19600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152fd5b50503461016b57602036600319011261016b5760209061036e610c9a565b5060ff60075460081c169051908152f35b50503461016b573660031901126102a557610398610c9a565b5060243560ff8116036102a55780f35b50503461016b578160031936011261016b5751908152602090f35b9050346102325781600319360112610232578160209360ff926103e4610cb0565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b50503461016b578160031936011261016b57905490516001600160a01b039091168152602090f35b50503461016b578160031936011261016b5760209060ff600754169051908152f35b91905034610232576020918260031936011261058657610472610c9a565b91848052600191828552818620338752855260ff8287205416156105285750600080516020611336833981519152938486528281526104b5838388200154610cc6565b8486528281528186206001600160a01b039094168087529381528186205460ff16156104df578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b8380fd5b83346102a557806003193601126102a5576105a36110d1565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461016b578060031936011261016b57602090610601610c9a565b50606461029d60ff60075460081c16602435611129565b83903461016b57602036600319011261016b576106336110d1565b3560065580f35b50503461016b578160031936011261016b576020906006549051908152f35b919050346102325760603660031901126102325782610676610c9a565b60443580151580910361023257600080516020611336833981519152835260016020528383203384526020526106b160ff8585205416611226565b6002546001600160a01b039290831691823b1561071457606492859187519889968795635a3c652d60e01b87521690850152602435602485015260448401525af190811561070b5750610702575080f35b6102719061100f565b513d84823e3d90fd5b8480fd5b50503461016b578060031936011261016b57602090610741610738610c9a565b60243590611179565b90519015158152f35b50503461016b578160031936011261016b57602090516000805160206113368339815191528152f35b8391503461016b578260031936011261016b5761078e610cb0565b90336001600160a01b038316036107aa5790610271913561105b565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b8284346102a5576020928360031936011261016b57610822610c9a565b600080516020611336833981519152835260018552838320338452855260ff8484205416156108c6576001600160a01b0316808352818552918390205461086d575061074190611298565b825162461bcd60e51b8152908101849052602d60248201527f6d61726b436f6e74726163743a3a436f6e747261637420616c7265616479206d60448201526c185c9ad95908185cc81cdbdb19609a1b6064820152608490fd5b835162461bcd60e51b8152808301869052603b60248201527f6d61726b436f6e74726163743a3a4d757374206861766520544f4b454e5f4d4160448201527f524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400000000006064820152608490fd5b905034610232578160031936011261023257359061094b610cb0565b90828452600160205261096360018286200154610cc6565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610991578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83903461016b57602036600319011261016b576109f76110d1565b3560055580f35b91905034610232578060031936011261023257610a19610c9a565b9160249081359267ffffffffffffffff808511610bca5736602386011215610bca5784830135908111610bca57600590368582841b88010111610bc657600080516020611336833981519152958689526001978460208a8152818c20338d528152610a8b8c60ff938491205416611226565b6107d08511610b555793986001600160a01b0392831694908c5b8d8c8210610ab05780f35b848a8f92610acd9386825287528181203382528752205416611226565b60025485168e813b156102a557888f8d8f8d958f938287938f8b606498519b8c9a8b99635a3c652d60e01b8b528a01521b0101359085015260448401525af18015610b4957610b3a575b506000198114610b28578c01610aa5565b634e487b7160e01b8e5260118a528a8efd5b610b439061100f565b38610b17565b8f8b51903d90823e3d90fd5b8760418a60a4938a519362461bcd60e51b85528401528201527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b6084820152fd5b8780fd5b8680fd5b90503461023257602036600319011261023257816020936001923581528285522001549051908152f35b83346102a55760203660031901126102a557610c12610c85565b610c1a6110d1565b61ff006007549160081b169061ff0019161760075580f35b849134610232576020366003190112610232573563ffffffff60e01b81168091036102325760209250637965db0b60e01b8114908115610c74575b5015158152f35b6301ffc9a760e01b14905083610c6d565b6004359060ff82168203610c9557565b600080fd5b600435906001600160a01b0382168203610c9557565b602435906001600160a01b0382168203610c9557565b600090808252600191602091838352604091828120338252845260ff838220541615610cf3575050505050565b3391835195606087019167ffffffffffffffff9288811084821117610f18578652602a88528688019486368737885115610fd857603086538851831015610fd857607860218a015360295b838111610f6e5750610f2c5790855192608084019084821090821117610f1857865260428352868301936060368637835115610f0457603085538351821015610f045790607860218501536041915b818311610e9657505050610e545792610e226048610e139794610e46946044989785519a8b93610dea8b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610fec565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610fec565b01036028810189520187611039565b5194859362461bcd60e51b8552600485015251809281602486015285850190610fec565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610ef0576f181899199a1a9b1b9c1cb0b131b232b360811b901a610ec68587611152565b5360041c928015610edc57600019019190610d8d565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015610fc4576f181899199a1a9b1b9c1cb0b131b232b360811b901a610f9c838c611152565b5360041c908015610fb05760001901610d3e565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b838110610fff5750506000910152565b8181015183820152602001610fef565b67ffffffffffffffff811161102357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761102357604052565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541661108c57505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b031633036110e557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b8181029291811591840414171561113c57565b634e487b7160e01b600052601160045260246000fd5b908151811015611163570160200190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03908116600081815260046020526040812054919390929161121d57604460209260025416946040519586938492631446f21360e21b8452600484015260248301525afa9182156112105781926111d657505090565b9091506020813d8211611208575b816111f160209383611039565b8101031261016b57519081151582036102a5575090565b3d91506111e4565b50604051903d90823e3d90fd5b50505050600190565b1561122d57565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fd5b600081815260046020526040812054611330576003546801000000000000000081101561131c5760018101806003558110156113085790826040927fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b015560035492815260046020522055600190565b634e487b7160e01b82526032600452602482fd5b634e487b7160e01b82526041600452602482fd5b90509056fee403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf62a2646970667358221220e15d5b6220f7cc2bdfb593cb60d024d90fb7a0ce64669e0fb985bd73394f45ce64736f6c63430008120033","sourceMap":"428:5381:164:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2127:8;428:5381;;;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;428:5381:164;;;;2162:22:78;;428:5381:164;;-1:-1:-1;;428:5381:164;;-1:-1:-1;;;;;;428:5381:164;;;;;;;2566:40:78;428:5381:164;;2566:40:78;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;5486:7:76;428:5381:164;;2642:4:76;428:5381:164;;;:::i;:::-;;;;;;;;;;4604:22:76;428:5381:164;2642:4:76;:::i;:::-;5486:7;:::i;:::-;428:5381:164;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;3260:3;3222:34;428:5381;;;3232:24;428:5381;;;;3222:34;:::i;:::-;428:5381;;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;428:5381:164;2939:18;2954:3;2939:18;;428:5381;;;;;;3048:38;428:5381;;;3048:38;428:5381;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2954:3;428:5381;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;;;;:::i;:::-;;;3406:24;428:5381;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;2796:24;428:5381;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3130:6:76;428:5381:164;;;;;;;719:10:99;428:5381:164;;;;;;;;;;;;;555:28;-1:-1:-1;;;;;;;;;;;428:5381:164;;;;;;;2642:4:76;428:5381:164;;;;4604:22:76;428:5381:164;2642:4:76;:::i;:::-;428:5381:164;;;;;;;;;-1:-1:-1;;;;;428:5381:164;;;;;;;;;;;;;;;7669:23:76;7665:149;;428:5381:164;;;7665:149:76;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;;;;7665:149;;;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;428:5381:164;;-1:-1:-1;;;;;;428:5381:164;;;;;;-1:-1:-1;;;;;428:5381:164;2566:40:78;428:5381:164;;2566:40:78;428:5381:164;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3765:3;3727:34;428:5381;3737:24;428:5381;;;;;;3727:34;:::i;428:5381::-;;;;;;;;-1:-1:-1;;428:5381:164;;;;1063:62:78;;:::i;:::-;428:5381:164;2632:20;428:5381;;;;;;;;;;;;;;;;;;;2531:8;428:5381;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;428:5381:164;;3130:6:76;428:5381:164;;;;;4372:10;428:5381;;;;4326:145;428:5381;;;;;;4326:145;:::i;:::-;4481:22;428:5381;-1:-1:-1;;;;;428:5381:164;;;;;4481:122;;;;;428:5381;;;;;;;;;;;;;;4481:122;;428:5381;4481:122;;;428:5381;;;;;;;;;;;4481:122;;;;;;;;;;428:5381;;;4481:122;;;;:::i;:::-;428:5381;;;;;;;;4481:122;428:5381;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;428:5381:164;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:99;;-1:-1:-1;;;;;428:5381:164;;6133:23:76;428:5381:164;;;6237:7:76;428:5381:164;;6237:7:76;:::i;428:5381:164:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;428:5381:164;;3130:6:76;428:5381:164;;;;;5401:10;428:5381;;;;;;;;;;;;;-1:-1:-1;;;;;428:5381:164;;;;;;;;;;;;;;8398:50:109;;;;:::i;428:5381:164:-;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:76;428:5381:164;;;;4604:22:76;428:5381:164;2642:4:76;:::i;:::-;428:5381:164;;;;;;;;;;;-1:-1:-1;;;;;428:5381:164;;;;;;;;;;;;;;;7669:23:76;7665:149;;428:5381:164;;;7665:149:76;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;;;;7665:149;;;428:5381:164;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;1063:62:78;;:::i;:::-;428:5381:164;2406:20;428:5381;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;428:5381:164;;;;3130:6:76;428:5381:164;;;;;;;;;4784:10;428:5381;;;;4738:145;428:5381;;;;;;;;4738:145;:::i;:::-;4970:4;4950:24;;428:5381;;5122:13;;-1:-1:-1;;;;;428:5381:164;;;;-1:-1:-1;5122:13:164;5137:20;;;;;;;428:5381;;5159:3;428:5381;;;;4326:145;428:5381;;;;;;;;;4784:10;428:5381;;;;;;;4326:145;:::i;:::-;4481:22;428:5381;;;;4481:122;;;;;428:5381;;;;;;;;;;;;;;;;;;;;;;;;4481:122;;;;428:5381;;;;;;;;;;;;;4481:122;;;;;;;;5159:3;-1:-1:-1;;;428:5381:164;;;;;;5122:13;;428:5381;-1:-1:-1;;;428:5381:164;;;;;;;;4481:122;;;;:::i;:::-;;;;;428:5381;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;;;;;;;;;;;;4604:22:76;428:5381:164;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;428:5381:164;2261:52;428:5381;;;;;;;;;;2261:52;428:5381;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:76;;;:87;;;;428:5381:164;;;;;;;2840:87:76;-1:-1:-1;;;937:40:103;;-1:-1:-1;2840:87:76;;;428:5381:164;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;428:5381:164;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;428:5381:164;;;;;;:::o;3460:103:76:-;-1:-1:-1;428:5381:164;;;;3130:6:76;428:5381:164;;;;;;;;;;;719:10:99;428:5381:164;;;;;;;;;;3931:23:76;3927:390;;3460:103;;;;;:::o;3927:390::-;719:10:99;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;428:5381:164;;;;;;;2000:15:101;428:5381:164;;;2000:15:101;428:5381:164;2058:5:101;;;;;;2170:10;278:18;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;428:5381:164;;;;;;;;2000:15:101;428:5381:164;;;2000:15:101;428:5381:164;2025:128:101;2058:5;;;;;;2170:10;;;278:18;;428:5381:164;4022:252:76;428:5381:164;;;;;;;;;;;4022:252:76;;;428:5381:164;4022:252:76;;;428:5381:164;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;:::i;:::-;;4022:252:76;;;;;;;;;:::i;:::-;428:5381:164;;;;;;;3970:336:76;;2141:1:101;3970:336:76;;428:5381:164;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;428:5381:164;;;3970:336:76;;;;278:18:101;;428:5381:164;;;;;;;278:18:101;;;2141:1;278:18;;;;;;428:5381:164;278:18:101;428:5381:164;;;278:18:101;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;428:5381:164;;;;-1:-1:-1;;428:5381:164;;2030:26:101;;;428:5381:164;-1:-1:-1;;;428:5381:164;;;2141:1:101;428:5381:164;;;;2096:21:101;-1:-1:-1;;;428:5381:164;;;2141:1:101;428:5381:164;;;;;-1:-1:-1;;;428:5381:164;;;2141:1:101;428:5381:164;;;;;-1:-1:-1;;;428:5381:164;;;2141:1:101;428:5381:164;;;;278:18:101;;428:5381:164;;;;;;;278:18:101;;;2141:1;278:18;;;;;;428:5381:164;278:18:101;428:5381:164;;;278:18:101;;2065:3;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;428:5381:164;;;;-1:-1:-1;;428:5381:164;2030:26:101;;428:5381:164;-1:-1:-1;;;428:5381:164;;;2141:1:101;428:5381:164;;;;2096:21:101;-1:-1:-1;;;428:5381:164;;;2141:1:101;428:5381:164;;;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:164;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7991:234:76:-;;-1:-1:-1;428:5381:164;;;;3130:6:76;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;8070:149:76;;7991:234;;;:::o;8070:149::-;428:5381:164;;;3130:6:76;428:5381:164;;;;;;;;;;;;;;;;;;;;8168:40:76;719:10:99;8168:40:76;;;7991:234::o;1359:130:78:-;1273:6;428:5381:164;-1:-1:-1;;;;;428:5381:164;719:10:99;1422:23:78;428:5381:164;;1359:130:78:o;428:5381:164:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3781:399;-1:-1:-1;;;;;428:5381:164;;;-1:-1:-1;428:5381:164;;;4351:12:109;428:5381:164;;;;;;;;-1:-1:-1;;428:5381:164;3996:32;;428:5381;;;4058:22;428:5381;;;;;;;;;;;;;4058:115;;4351:12:109;4058:115:164;;428:5381;;;;;4058:115;;;;;;;;;;;4039:134;;3781:399;:::o;4058:115::-;;;;428:5381;4058:115;;;;;;;;;428:5381;4058:115;;;:::i;:::-;;;428:5381;;;;;;;;;;;;;4058:115;3781:399;:::o;4058:115::-;;;-1:-1:-1;4058:115:164;;;428:5381;;;;;;;;;;;3996:32;4017:11;;;;428:5381;4017:11;:::o;428:5381::-;;;;:::o;:::-;;;-1:-1:-1;;;428:5381:164;;;;;;;;;;;;;;;;;;;;;;;;;2214:404:109;-1:-1:-1;428:5381:164;;;4351:12:109;428:5381:164;;;;;;;;5599:12;428:5381;;;;;;;4351:12:109;428:5381:164;;;5599:12;428:5381;;;;;;;;;;;;;5599:12;428:5381;;;;4351:12:109;428:5381:164;;;;4351:12:109;2547:11;:::o;428:5381:164:-;-1:-1:-1;;;428:5381:164;;;4351:12:109;428:5381:164;;;;;-1:-1:-1;;;428:5381:164;;;4351:12:109;428:5381:164;;;;2293:319:109;2589:12;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","TOKEN_MARK_ROLE()":"3765628c","calculateMarketplaceFee(uint256)":"c3fc4952","calculatePrimarySaleFee(address,uint256)":"6357f1ac","getERC721ContractPrimarySaleFeePercentage(address)":"b28a7bad","getMarketplaceFeePercentage()":"83475921","getMarketplaceMaxValue()":"f9a23e86","getMarketplaceMinValue()":"5c1b40f1","getRoleAdmin(bytes32)":"248a9ca3","grantMarketplaceAccess(address)":"82ebaa59","grantRole(bytes32,address)":"2f2ff15d","hasERC721TokenSold(address,uint256)":"511bc84c","hasRole(bytes32,address)":"91d14854","markContractAsSold(address)":"364d6044","markERC721Token(address,uint256,bool)":"5a3c652d","markTokensAsSold(address,uint256[])":"2b702b5f","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setERC721ContractPrimarySaleFeePercentage(address,uint8)":"ae312a97","setMarketplaceFeePercentage(uint8)":"b60c8135","setMarketplaceMaxValue(uint256)":"2cfda2f1","setMarketplaceMinValue(uint256)":"62029a1b","setPrimarySaleFeePercentage(uint8)":"1ad99c37","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldSettings\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN_MARK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplaceFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculatePrimarySaleFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getERC721ContractPrimarySaleFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMaxValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMinValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"grantMarketplaceAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasERC721TokenSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"markContractAsSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_hasSold\",\"type\":\"bool\"}],\"name\":\"markERC721Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"markTokensAsSold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setERC721ContractPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setMarketplaceFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMaxValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMinValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_primarySaleFeePercentage\",\"type\":\"uint8\"}],\"name\":\"setPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"calculateMarketplaceFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getMarketplaceFeePercentage()\":{\"details\":\"Get the marketplace fee percentage.\",\"returns\":{\"_0\":\"uint8 wei fee.\"}},\"getMarketplaceMaxValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getMarketplaceMinValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasERC721TokenSold(address,uint256)\":{\"details\":\"Check whether the ERC721 token has sold at least once.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"bool of whether the token has sold.\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"markERC721Token(address,uint256,bool)\":{\"details\":\"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_hasSold\":\"bool of whether the token should be marked sold or not.\",\"_tokenId\":\"uint256 token ID.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/MarketplaceSettingsV2.sol\":\"MarketplaceSettingsV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/MarketplaceSettingsV2.sol\":{\"keccak256\":\"0x1f2722fe66ea8cb272b4da0b9e55bb8689f28d574ba8c8205c480204c31779a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7450cd89062da62bc7bdfd43c8ad4d383d93532cdae728e644b69d604220e1e2\",\"dweb:/ipfs/QmTGZYfnjX7cEEiM3TNp3m3vK4KUJ9q32NLHrnjgaPTdua\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"address","name":"oldSettings","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN_MARK_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplaceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculatePrimarySaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"getERC721ContractPrimarySaleFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMaxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMinValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantMarketplaceAccess"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasERC721TokenSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"markContractAsSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_hasSold","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"markERC721Token"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"markTokensAsSold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setERC721ContractPrimarySaleFeePercentage"},{"inputs":[{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceFeePercentage"},{"inputs":[{"internalType":"uint256","name":"_maxValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMaxValue"},{"inputs":[{"internalType":"uint256","name":"_minValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMinValue"},{"inputs":[{"internalType":"uint8","name":"_primarySaleFeePercentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPrimarySaleFeePercentage"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"calculateMarketplaceFee(uint256)":{"details":"Utility function for calculating the marketplace fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"getMarketplaceFeePercentage()":{"details":"Get the marketplace fee percentage.","returns":{"_0":"uint8 wei fee."}},"getMarketplaceMaxValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getMarketplaceMinValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasERC721TokenSold(address,uint256)":{"details":"Check whether the ERC721 token has sold at least once.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"bool of whether the token has sold."}},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"markERC721Token(address,uint256,bool)":{"details":"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.","params":{"_contractAddress":"address ERC721Contract address.","_hasSold":"bool of whether the token should be marked sold or not.","_tokenId":"uint256 token ID."}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/MarketplaceSettingsV2.sol":"MarketplaceSettingsV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/MarketplaceSettingsV2.sol":{"keccak256":"0x1f2722fe66ea8cb272b4da0b9e55bb8689f28d574ba8c8205c480204c31779a5","urls":["bzz-raw://7450cd89062da62bc7bdfd43c8ad4d383d93532cdae728e644b69d604220e1e2","dweb:/ipfs/QmTGZYfnjX7cEEiM3TNp3m3vK4KUJ9q32NLHrnjgaPTdua"],"license":"MIT"}},"version":1},"id":164} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"newOwner","type":"address","internalType":"address"},{"name":"oldSettings","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN_MARK_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"calculateMarketplaceFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePrimarySaleFee","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMaxValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMinValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantMarketplaceAccess","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasERC721TokenSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"markContractAsSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"markERC721Token","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_hasSold","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"markTokensAsSold","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceFeePercentage","inputs":[{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMaxValue","inputs":[{"name":"_maxValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMinValue","inputs":[{"name":"_minValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrimarySaleFeePercentage","inputs":[{"name":"_primarySaleFeePercentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608034620002b657620016d990601f38839003908101601f19168201906001600160401b03821183831017620002bb5780839160409586948552833981010312620002b6576200004f81620002d1565b6200005e6020809301620002d1565b916200006a33620002e6565b600160fe1b6005556103e86006556007805461ffff1916610f031790556001600160a01b03928284169081156200025c578416938415620001f257600091828052600190818552878420818552855260ff888520541615620001bb575b7fe403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf6291828552808652888520828652865260ff89862054161562000182575b50505033915416036200014057506200011e90620002e6565b600280546001600160a01b0319169190911790555161138b90816200032e8239f35b60649084519062461bcd60e51b825280600483015260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b82855280865288852082865286528885209060ff198254161790553391600080516020620016b98339815191528580a438808062000105565b8380528185528784208185528552878420805460ff191683179055338185600080516020620016b98339815191528180a4620000c7565b855162461bcd60e51b815260048101849052603c60248201527f636f6e7374727563746f723a3a4f6c64204d61726b6574706c6163652053657460448201527f74696e677320616464726573732063616e6e6f74206265206e756c6c000000006064820152608490fd5b855162461bcd60e51b815260048101849052602d60248201527f636f6e7374727563746f723a3a4e6577206f776e65722061646472657373206360448201526c185b9b9bdd081899481b9d5b1b609a1b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620002b657565b600080546001600160a01b039283166001600160a01b03198216811783559216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a356fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610c32575081631ad99c3714610bf8578163248a9ca314610bce5781632b702b5f146109fe5781632cfda2f1146109dc5781632f2ff15d1461092f578163364d60441461080557816336568abe146107735781633765628c1461074a578163511bc84c146107185781635a3c652d146106595781635c1b40f11461063a57816362029a1b146106185781636357f1ac146105e4578163715018a61461058a57816382ebaa591461045457816383475921146104325781638da5cb5b1461040a57816391d14854146103c3578163a217fddf146103a8578163ae312a971461037f578163b28a7bad14610350578163b60c8135146102a8578163c3fc495214610274578163d547741f14610236578163f2fde38b1461016f575063f9a23e861461014e57600080fd5b3461016b578160031936011261016b576020906005549051908152f35b5080fd5b9050346102325760203660031901126102325761018a610c9a565b906101936110d1565b6001600160a01b039182169283156101e057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b91905034610232578060031936011261023257610271913561026c600161025b610cb0565b938387528160205286200154610cc6565b61105b565b80f35b8284346102a55760203660031901126102a55750606461029d60209360ff600754169035611129565b049051908152f35b80fd5b9050346102325760203660031901126102325760ff6102c5610c85565b6102cd6110d1565b1691606483116102e757505060ff19600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152fd5b50503461016b57602036600319011261016b5760209061036e610c9a565b5060ff60075460081c169051908152f35b50503461016b573660031901126102a557610398610c9a565b5060243560ff8116036102a55780f35b50503461016b578160031936011261016b5751908152602090f35b9050346102325781600319360112610232578160209360ff926103e4610cb0565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b50503461016b578160031936011261016b57905490516001600160a01b039091168152602090f35b50503461016b578160031936011261016b5760209060ff600754169051908152f35b91905034610232576020918260031936011261058657610472610c9a565b91848052600191828552818620338752855260ff8287205416156105285750600080516020611336833981519152938486528281526104b5838388200154610cc6565b8486528281528186206001600160a01b039094168087529381528186205460ff16156104df578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b8380fd5b83346102a557806003193601126102a5576105a36110d1565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461016b578060031936011261016b57602090610601610c9a565b50606461029d60ff60075460081c16602435611129565b83903461016b57602036600319011261016b576106336110d1565b3560065580f35b50503461016b578160031936011261016b576020906006549051908152f35b919050346102325760603660031901126102325782610676610c9a565b60443580151580910361023257600080516020611336833981519152835260016020528383203384526020526106b160ff8585205416611226565b6002546001600160a01b039290831691823b1561071457606492859187519889968795635a3c652d60e01b87521690850152602435602485015260448401525af190811561070b5750610702575080f35b6102719061100f565b513d84823e3d90fd5b8480fd5b50503461016b578060031936011261016b57602090610741610738610c9a565b60243590611179565b90519015158152f35b50503461016b578160031936011261016b57602090516000805160206113368339815191528152f35b8391503461016b578260031936011261016b5761078e610cb0565b90336001600160a01b038316036107aa5790610271913561105b565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b8284346102a5576020928360031936011261016b57610822610c9a565b600080516020611336833981519152835260018552838320338452855260ff8484205416156108c6576001600160a01b0316808352818552918390205461086d575061074190611298565b825162461bcd60e51b8152908101849052602d60248201527f6d61726b436f6e74726163743a3a436f6e747261637420616c7265616479206d60448201526c185c9ad95908185cc81cdbdb19609a1b6064820152608490fd5b835162461bcd60e51b8152808301869052603b60248201527f6d61726b436f6e74726163743a3a4d757374206861766520544f4b454e5f4d4160448201527f524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400000000006064820152608490fd5b905034610232578160031936011261023257359061094b610cb0565b90828452600160205261096360018286200154610cc6565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610991578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83903461016b57602036600319011261016b576109f76110d1565b3560055580f35b91905034610232578060031936011261023257610a19610c9a565b9160249081359267ffffffffffffffff808511610bca5736602386011215610bca5784830135908111610bca57600590368582841b88010111610bc657600080516020611336833981519152958689526001978460208a8152818c20338d528152610a8b8c60ff938491205416611226565b6107d08511610b555793986001600160a01b0392831694908c5b8d8c8210610ab05780f35b848a8f92610acd9386825287528181203382528752205416611226565b60025485168e813b156102a557888f8d8f8d958f938287938f8b606498519b8c9a8b99635a3c652d60e01b8b528a01521b0101359085015260448401525af18015610b4957610b3a575b506000198114610b28578c01610aa5565b634e487b7160e01b8e5260118a528a8efd5b610b439061100f565b38610b17565b8f8b51903d90823e3d90fd5b8760418a60a4938a519362461bcd60e51b85528401528201527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b6084820152fd5b8780fd5b8680fd5b90503461023257602036600319011261023257816020936001923581528285522001549051908152f35b83346102a55760203660031901126102a557610c12610c85565b610c1a6110d1565b61ff006007549160081b169061ff0019161760075580f35b849134610232576020366003190112610232573563ffffffff60e01b81168091036102325760209250637965db0b60e01b8114908115610c74575b5015158152f35b6301ffc9a760e01b14905083610c6d565b6004359060ff82168203610c9557565b600080fd5b600435906001600160a01b0382168203610c9557565b602435906001600160a01b0382168203610c9557565b600090808252600191602091838352604091828120338252845260ff838220541615610cf3575050505050565b3391835195606087019167ffffffffffffffff9288811084821117610f18578652602a88528688019486368737885115610fd857603086538851831015610fd857607860218a015360295b838111610f6e5750610f2c5790855192608084019084821090821117610f1857865260428352868301936060368637835115610f0457603085538351821015610f045790607860218501536041915b818311610e9657505050610e545792610e226048610e139794610e46946044989785519a8b93610dea8b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610fec565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610fec565b01036028810189520187611039565b5194859362461bcd60e51b8552600485015251809281602486015285850190610fec565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610ef0576f181899199a1a9b1b9c1cb0b131b232b360811b901a610ec68587611152565b5360041c928015610edc57600019019190610d8d565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015610fc4576f181899199a1a9b1b9c1cb0b131b232b360811b901a610f9c838c611152565b5360041c908015610fb05760001901610d3e565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b838110610fff5750506000910152565b8181015183820152602001610fef565b67ffffffffffffffff811161102357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761102357604052565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541661108c57505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b031633036110e557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b8181029291811591840414171561113c57565b634e487b7160e01b600052601160045260246000fd5b908151811015611163570160200190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03908116600081815260046020526040812054919390929161121d57604460209260025416946040519586938492631446f21360e21b8452600484015260248301525afa9182156112105781926111d657505090565b9091506020813d8211611208575b816111f160209383611039565b8101031261016b57519081151582036102a5575090565b3d91506111e4565b50604051903d90823e3d90fd5b50505050600190565b1561122d57565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fd5b600081815260046020526040812054611330576003546801000000000000000081101561131c5760018101806003558110156113085790826040927fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b015560035492815260046020522055600190565b634e487b7160e01b82526032600452602482fd5b634e487b7160e01b82526041600452602482fd5b90509056fee403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf62a2646970667358221220912b1685dafa668794204734296bc2ee0abad901d7abb730bb6a0cd681e6870e64736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"428:5381:175:-:0;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;-1:-1:-1;;;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;719:10:102;955:12:81;719:10:102;955:12:81;:::i;:::-;-1:-1:-1;;;1133:19:175;428:5381;1173:4;1162:15;428:5381;1187:28;428:5381;;-1:-1:-1;;428:5381:175;;;;;-1:-1:-1;;;;;428:5381:175;;;;;1286:22;;428:5381;;;;1411:25;;;428:5381;;-1:-1:-1;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;555:28:175;428:5381;;;;;;;;;;;;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;719:10:102;;;;428:5381:175;;;1422:23:81;428:5381:175;;2256:8:81;;;;:::i;:::-;1682:58:175;555:28;;-1:-1:-1;;;;;;555:28:175;;;;;;;428:5381;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:149:79;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;-1:-1:-1;;;;;;;;;;;7763:40:79;;;7665:149;;;;;;428:5381:175;;;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;719:10:102;428:5381:175;;-1:-1:-1;;;;;;;;;;;428:5381:175;;7763:40:79;7665:149;;428:5381:175;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;-1:-1:-1;428:5381:175;;;;;;-1:-1:-1;428:5381:175;;;;;-1:-1:-1;428:5381:175;;;;-1:-1:-1;;;;;428:5381:175;;;;;;:::o;2426:187:81:-;2518:6;428:5381:175;;-1:-1:-1;;;;;428:5381:175;;;-1:-1:-1;;;;;;555:28:175;;;;;;428:5381;;;2566:40:81;;2518:6;2566:40;2426:187::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610c32575081631ad99c3714610bf8578163248a9ca314610bce5781632b702b5f146109fe5781632cfda2f1146109dc5781632f2ff15d1461092f578163364d60441461080557816336568abe146107735781633765628c1461074a578163511bc84c146107185781635a3c652d146106595781635c1b40f11461063a57816362029a1b146106185781636357f1ac146105e4578163715018a61461058a57816382ebaa591461045457816383475921146104325781638da5cb5b1461040a57816391d14854146103c3578163a217fddf146103a8578163ae312a971461037f578163b28a7bad14610350578163b60c8135146102a8578163c3fc495214610274578163d547741f14610236578163f2fde38b1461016f575063f9a23e861461014e57600080fd5b3461016b578160031936011261016b576020906005549051908152f35b5080fd5b9050346102325760203660031901126102325761018a610c9a565b906101936110d1565b6001600160a01b039182169283156101e057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b91905034610232578060031936011261023257610271913561026c600161025b610cb0565b938387528160205286200154610cc6565b61105b565b80f35b8284346102a55760203660031901126102a55750606461029d60209360ff600754169035611129565b049051908152f35b80fd5b9050346102325760203660031901126102325760ff6102c5610c85565b6102cd6110d1565b1691606483116102e757505060ff19600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152fd5b50503461016b57602036600319011261016b5760209061036e610c9a565b5060ff60075460081c169051908152f35b50503461016b573660031901126102a557610398610c9a565b5060243560ff8116036102a55780f35b50503461016b578160031936011261016b5751908152602090f35b9050346102325781600319360112610232578160209360ff926103e4610cb0565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b50503461016b578160031936011261016b57905490516001600160a01b039091168152602090f35b50503461016b578160031936011261016b5760209060ff600754169051908152f35b91905034610232576020918260031936011261058657610472610c9a565b91848052600191828552818620338752855260ff8287205416156105285750600080516020611336833981519152938486528281526104b5838388200154610cc6565b8486528281528186206001600160a01b039094168087529381528186205460ff16156104df578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b8380fd5b83346102a557806003193601126102a5576105a36110d1565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461016b578060031936011261016b57602090610601610c9a565b50606461029d60ff60075460081c16602435611129565b83903461016b57602036600319011261016b576106336110d1565b3560065580f35b50503461016b578160031936011261016b576020906006549051908152f35b919050346102325760603660031901126102325782610676610c9a565b60443580151580910361023257600080516020611336833981519152835260016020528383203384526020526106b160ff8585205416611226565b6002546001600160a01b039290831691823b1561071457606492859187519889968795635a3c652d60e01b87521690850152602435602485015260448401525af190811561070b5750610702575080f35b6102719061100f565b513d84823e3d90fd5b8480fd5b50503461016b578060031936011261016b57602090610741610738610c9a565b60243590611179565b90519015158152f35b50503461016b578160031936011261016b57602090516000805160206113368339815191528152f35b8391503461016b578260031936011261016b5761078e610cb0565b90336001600160a01b038316036107aa5790610271913561105b565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b8284346102a5576020928360031936011261016b57610822610c9a565b600080516020611336833981519152835260018552838320338452855260ff8484205416156108c6576001600160a01b0316808352818552918390205461086d575061074190611298565b825162461bcd60e51b8152908101849052602d60248201527f6d61726b436f6e74726163743a3a436f6e747261637420616c7265616479206d60448201526c185c9ad95908185cc81cdbdb19609a1b6064820152608490fd5b835162461bcd60e51b8152808301869052603b60248201527f6d61726b436f6e74726163743a3a4d757374206861766520544f4b454e5f4d4160448201527f524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400000000006064820152608490fd5b905034610232578160031936011261023257359061094b610cb0565b90828452600160205261096360018286200154610cc6565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610991578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83903461016b57602036600319011261016b576109f76110d1565b3560055580f35b91905034610232578060031936011261023257610a19610c9a565b9160249081359267ffffffffffffffff808511610bca5736602386011215610bca5784830135908111610bca57600590368582841b88010111610bc657600080516020611336833981519152958689526001978460208a8152818c20338d528152610a8b8c60ff938491205416611226565b6107d08511610b555793986001600160a01b0392831694908c5b8d8c8210610ab05780f35b848a8f92610acd9386825287528181203382528752205416611226565b60025485168e813b156102a557888f8d8f8d958f938287938f8b606498519b8c9a8b99635a3c652d60e01b8b528a01521b0101359085015260448401525af18015610b4957610b3a575b506000198114610b28578c01610aa5565b634e487b7160e01b8e5260118a528a8efd5b610b439061100f565b38610b17565b8f8b51903d90823e3d90fd5b8760418a60a4938a519362461bcd60e51b85528401528201527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b6084820152fd5b8780fd5b8680fd5b90503461023257602036600319011261023257816020936001923581528285522001549051908152f35b83346102a55760203660031901126102a557610c12610c85565b610c1a6110d1565b61ff006007549160081b169061ff0019161760075580f35b849134610232576020366003190112610232573563ffffffff60e01b81168091036102325760209250637965db0b60e01b8114908115610c74575b5015158152f35b6301ffc9a760e01b14905083610c6d565b6004359060ff82168203610c9557565b600080fd5b600435906001600160a01b0382168203610c9557565b602435906001600160a01b0382168203610c9557565b600090808252600191602091838352604091828120338252845260ff838220541615610cf3575050505050565b3391835195606087019167ffffffffffffffff9288811084821117610f18578652602a88528688019486368737885115610fd857603086538851831015610fd857607860218a015360295b838111610f6e5750610f2c5790855192608084019084821090821117610f1857865260428352868301936060368637835115610f0457603085538351821015610f045790607860218501536041915b818311610e9657505050610e545792610e226048610e139794610e46946044989785519a8b93610dea8b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610fec565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610fec565b01036028810189520187611039565b5194859362461bcd60e51b8552600485015251809281602486015285850190610fec565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610ef0576f181899199a1a9b1b9c1cb0b131b232b360811b901a610ec68587611152565b5360041c928015610edc57600019019190610d8d565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015610fc4576f181899199a1a9b1b9c1cb0b131b232b360811b901a610f9c838c611152565b5360041c908015610fb05760001901610d3e565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b838110610fff5750506000910152565b8181015183820152602001610fef565b67ffffffffffffffff811161102357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761102357604052565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541661108c57505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b031633036110e557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b8181029291811591840414171561113c57565b634e487b7160e01b600052601160045260246000fd5b908151811015611163570160200190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03908116600081815260046020526040812054919390929161121d57604460209260025416946040519586938492631446f21360e21b8452600484015260248301525afa9182156112105781926111d657505090565b9091506020813d8211611208575b816111f160209383611039565b8101031261016b57519081151582036102a5575090565b3d91506111e4565b50604051903d90823e3d90fd5b50505050600190565b1561122d57565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fd5b600081815260046020526040812054611330576003546801000000000000000081101561131c5760018101806003558110156113085790826040927fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b015560035492815260046020522055600190565b634e487b7160e01b82526032600452602482fd5b634e487b7160e01b82526041600452602482fd5b90509056fee403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf62a2646970667358221220912b1685dafa668794204734296bc2ee0abad901d7abb730bb6a0cd681e6870e64736f6c63430008120033","sourceMap":"428:5381:175:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2127:8;428:5381;;;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;-1:-1:-1;;;;;428:5381:175;;;;2162:22:81;;428:5381:175;;-1:-1:-1;;428:5381:175;;-1:-1:-1;;;;;;428:5381:175;;;;;;;2566:40:81;428:5381:175;;2566:40:81;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;5486:7:79;428:5381:175;;2642:4:79;428:5381:175;;;:::i;:::-;;;;;;;;;;4604:22:79;428:5381:175;2642:4:79;:::i;:::-;5486:7;:::i;:::-;428:5381:175;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;3260:3;3222:34;428:5381;;;3232:24;428:5381;;;;3222:34;:::i;:::-;428:5381;;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;428:5381:175;2939:18;2954:3;2939:18;;428:5381;;;;;;3048:38;428:5381;;;3048:38;428:5381;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2954:3;428:5381;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;;;;:::i;:::-;;;3406:24;428:5381;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;2796:24;428:5381;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3130:6:79;428:5381:175;;;;;;;719:10:102;428:5381:175;;;;;;;;;;;;;555:28;-1:-1:-1;;;;;;;;;;;428:5381:175;;;;;;;2642:4:79;428:5381:175;;;;4604:22:79;428:5381:175;2642:4:79;:::i;:::-;428:5381:175;;;;;;;;;-1:-1:-1;;;;;428:5381:175;;;;;;;;;;;;;;;7669:23:79;7665:149;;428:5381:175;;;7665:149:79;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;;;;7665:149;;;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;428:5381:175;;-1:-1:-1;;;;;;428:5381:175;;;;;;-1:-1:-1;;;;;428:5381:175;2566:40:81;428:5381:175;;2566:40:81;428:5381:175;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3765:3;3727:34;428:5381;3737:24;428:5381;;;;;;3727:34;:::i;428:5381::-;;;;;;;;-1:-1:-1;;428:5381:175;;;;1063:62:81;;:::i;:::-;428:5381:175;2632:20;428:5381;;;;;;;;;;;;;;;;;;;2531:8;428:5381;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;428:5381:175;;3130:6:79;428:5381:175;;;;;4372:10;428:5381;;;;4326:145;428:5381;;;;;;4326:145;:::i;:::-;4481:22;428:5381;-1:-1:-1;;;;;428:5381:175;;;;;4481:122;;;;;428:5381;;;;;;;;;;;;;;4481:122;;428:5381;4481:122;;;428:5381;;;;;;;;;;;4481:122;;;;;;;;;;428:5381;;;4481:122;;;;:::i;:::-;428:5381;;;;;;;;4481:122;428:5381;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;428:5381:175;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:102;;-1:-1:-1;;;;;428:5381:175;;6133:23:79;428:5381:175;;;6237:7:79;428:5381:175;;6237:7:79;:::i;428:5381:175:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;428:5381:175;;3130:6:79;428:5381:175;;;;;5401:10;428:5381;;;;;;;;;;;;;-1:-1:-1;;;;;428:5381:175;;;;;;;;;;;;;;8398:50:113;;;;:::i;428:5381:175:-;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:79;428:5381:175;;;;4604:22:79;428:5381:175;2642:4:79;:::i;:::-;428:5381:175;;;;;;;;;;;-1:-1:-1;;;;;428:5381:175;;;;;;;;;;;;;;;7669:23:79;7665:149;;428:5381:175;;;7665:149:79;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;;;;7665:149;;;428:5381:175;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;1063:62:81;;:::i;:::-;428:5381:175;2406:20;428:5381;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;428:5381:175;;;;3130:6:79;428:5381:175;;;;;;;;;4784:10;428:5381;;;;4738:145;428:5381;;;;;;;;4738:145;:::i;:::-;4970:4;4950:24;;428:5381;;5122:13;;-1:-1:-1;;;;;428:5381:175;;;;-1:-1:-1;5122:13:175;5137:20;;;;;;;428:5381;;5159:3;428:5381;;;;4326:145;428:5381;;;;;;;;;4784:10;428:5381;;;;;;;4326:145;:::i;:::-;4481:22;428:5381;;;;4481:122;;;;;428:5381;;;;;;;;;;;;;;;;;;;;;;;;4481:122;;;;428:5381;;;;;;;;;;;;;4481:122;;;;;;;;5159:3;-1:-1:-1;;;428:5381:175;;;;;;5122:13;;428:5381;-1:-1:-1;;;428:5381:175;;;;;;;;4481:122;;;;:::i;:::-;;;;;428:5381;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;;;;;;;;;;;;4604:22:79;428:5381:175;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;428:5381:175;2261:52;428:5381;;;;;;;;;;2261:52;428:5381;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:79;;;:87;;;;428:5381:175;;;;;;;2840:87:79;-1:-1:-1;;;937:40:107;;-1:-1:-1;2840:87:79;;;428:5381:175;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;428:5381:175;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;428:5381:175;;;;;;:::o;3460:103:79:-;-1:-1:-1;428:5381:175;;;;3130:6:79;428:5381:175;;;;;;;;;;;719:10:102;428:5381:175;;;;;;;;;;3931:23:79;3927:390;;3460:103;;;;;:::o;3927:390::-;719:10:102;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;428:5381:175;;;;;;;2000:15:104;428:5381:175;;;2000:15:104;428:5381:175;2058:5:104;;;;;;2170:10;278:18;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;428:5381:175;;;;;;;;2000:15:104;428:5381:175;;;2000:15:104;428:5381:175;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;428:5381:175;4022:252:79;428:5381:175;;;;;;;;;;;4022:252:79;;;428:5381:175;4022:252:79;;;428:5381:175;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;:::i;:::-;;4022:252:79;;;;;;;;;:::i;:::-;428:5381:175;;;;;;;3970:336:79;;2141:1:104;3970:336:79;;428:5381:175;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;428:5381:175;;;3970:336:79;;;;278:18:104;;428:5381:175;;;;;;;278:18:104;;;2141:1;278:18;;;;;;428:5381:175;278:18:104;428:5381:175;;;278:18:104;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;428:5381:175;;;;-1:-1:-1;;428:5381:175;;2030:26:104;;;428:5381:175;-1:-1:-1;;;428:5381:175;;;2141:1:104;428:5381:175;;;;2096:21:104;-1:-1:-1;;;428:5381:175;;;2141:1:104;428:5381:175;;;;;-1:-1:-1;;;428:5381:175;;;2141:1:104;428:5381:175;;;;;-1:-1:-1;;;428:5381:175;;;2141:1:104;428:5381:175;;;;278:18:104;;428:5381:175;;;;;;;278:18:104;;;2141:1;278:18;;;;;;428:5381:175;278:18:104;428:5381:175;;;278:18:104;;2065:3;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;428:5381:175;;;;-1:-1:-1;;428:5381:175;2030:26:104;;428:5381:175;-1:-1:-1;;;428:5381:175;;;2141:1:104;428:5381:175;;;;2096:21:104;-1:-1:-1;;;428:5381:175;;;2141:1:104;428:5381:175;;;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;-1:-1:-1;;428:5381:175;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7991:234:79:-;;-1:-1:-1;428:5381:175;;;;3130:6:79;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;8070:149:79;;7991:234;;;:::o;8070:149::-;428:5381:175;;;3130:6:79;428:5381:175;;;;;;;;;;;;;;;;;;;;8168:40:79;719:10:102;8168:40:79;;;7991:234::o;1359:130:81:-;1273:6;428:5381:175;-1:-1:-1;;;;;428:5381:175;719:10:102;1422:23:81;428:5381:175;;1359:130:81:o;428:5381:175:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3781:399;-1:-1:-1;;;;;428:5381:175;;;-1:-1:-1;428:5381:175;;;4351:12:113;428:5381:175;;;;;;;;-1:-1:-1;;428:5381:175;3996:32;;428:5381;;;4058:22;428:5381;;;;;;;;;;;;;4058:115;;4351:12:113;4058:115:175;;428:5381;;;;;4058:115;;;;;;;;;;;4039:134;;3781:399;:::o;4058:115::-;;;;428:5381;4058:115;;;;;;;;;428:5381;4058:115;;;:::i;:::-;;;428:5381;;;;;;;;;;;;;4058:115;3781:399;:::o;4058:115::-;;;-1:-1:-1;4058:115:175;;;428:5381;;;;;;;;;;;3996:32;4017:11;;;;428:5381;4017:11;:::o;428:5381::-;;;;:::o;:::-;;;-1:-1:-1;;;428:5381:175;;;;;;;;;;;;;;;;;;;;;;;;;2214:404:113;-1:-1:-1;428:5381:175;;;4351:12:113;428:5381:175;;;;;;;;5599:12;428:5381;;;;;;;4351:12:113;428:5381:175;;;5599:12;428:5381;;;;;;;;;;;;;5599:12;428:5381;;;;4351:12:113;428:5381:175;;;;4351:12:113;2547:11;:::o;428:5381:175:-;-1:-1:-1;;;428:5381:175;;;4351:12:113;428:5381:175;;;;;-1:-1:-1;;;428:5381:175;;;4351:12:113;428:5381:175;;;;2293:319:113;2589:12;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","TOKEN_MARK_ROLE()":"3765628c","calculateMarketplaceFee(uint256)":"c3fc4952","calculatePrimarySaleFee(address,uint256)":"6357f1ac","getERC721ContractPrimarySaleFeePercentage(address)":"b28a7bad","getMarketplaceFeePercentage()":"83475921","getMarketplaceMaxValue()":"f9a23e86","getMarketplaceMinValue()":"5c1b40f1","getRoleAdmin(bytes32)":"248a9ca3","grantMarketplaceAccess(address)":"82ebaa59","grantRole(bytes32,address)":"2f2ff15d","hasERC721TokenSold(address,uint256)":"511bc84c","hasRole(bytes32,address)":"91d14854","markContractAsSold(address)":"364d6044","markERC721Token(address,uint256,bool)":"5a3c652d","markTokensAsSold(address,uint256[])":"2b702b5f","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setERC721ContractPrimarySaleFeePercentage(address,uint8)":"ae312a97","setMarketplaceFeePercentage(uint8)":"b60c8135","setMarketplaceMaxValue(uint256)":"2cfda2f1","setMarketplaceMinValue(uint256)":"62029a1b","setPrimarySaleFeePercentage(uint8)":"1ad99c37","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldSettings\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN_MARK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplaceFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculatePrimarySaleFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getERC721ContractPrimarySaleFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMaxValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMinValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"grantMarketplaceAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasERC721TokenSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"markContractAsSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_hasSold\",\"type\":\"bool\"}],\"name\":\"markERC721Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"markTokensAsSold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setERC721ContractPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setMarketplaceFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMaxValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMinValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_primarySaleFeePercentage\",\"type\":\"uint8\"}],\"name\":\"setPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"calculateMarketplaceFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getMarketplaceFeePercentage()\":{\"details\":\"Get the marketplace fee percentage.\",\"returns\":{\"_0\":\"uint8 wei fee.\"}},\"getMarketplaceMaxValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getMarketplaceMinValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasERC721TokenSold(address,uint256)\":{\"details\":\"Check whether the ERC721 token has sold at least once.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"bool of whether the token has sold.\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"markERC721Token(address,uint256,bool)\":{\"details\":\"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_hasSold\":\"bool of whether the token should be marked sold or not.\",\"_tokenId\":\"uint256 token ID.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/MarketplaceSettingsV2.sol\":\"MarketplaceSettingsV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/MarketplaceSettingsV2.sol\":{\"keccak256\":\"0x1f2722fe66ea8cb272b4da0b9e55bb8689f28d574ba8c8205c480204c31779a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7450cd89062da62bc7bdfd43c8ad4d383d93532cdae728e644b69d604220e1e2\",\"dweb:/ipfs/QmTGZYfnjX7cEEiM3TNp3m3vK4KUJ9q32NLHrnjgaPTdua\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"address","name":"oldSettings","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN_MARK_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplaceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculatePrimarySaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"getERC721ContractPrimarySaleFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMaxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMinValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantMarketplaceAccess"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasERC721TokenSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"markContractAsSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_hasSold","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"markERC721Token"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"markTokensAsSold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setERC721ContractPrimarySaleFeePercentage"},{"inputs":[{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceFeePercentage"},{"inputs":[{"internalType":"uint256","name":"_maxValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMaxValue"},{"inputs":[{"internalType":"uint256","name":"_minValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMinValue"},{"inputs":[{"internalType":"uint8","name":"_primarySaleFeePercentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPrimarySaleFeePercentage"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"calculateMarketplaceFee(uint256)":{"details":"Utility function for calculating the marketplace fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"getMarketplaceFeePercentage()":{"details":"Get the marketplace fee percentage.","returns":{"_0":"uint8 wei fee."}},"getMarketplaceMaxValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getMarketplaceMinValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasERC721TokenSold(address,uint256)":{"details":"Check whether the ERC721 token has sold at least once.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"bool of whether the token has sold."}},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"markERC721Token(address,uint256,bool)":{"details":"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.","params":{"_contractAddress":"address ERC721Contract address.","_hasSold":"bool of whether the token should be marked sold or not.","_tokenId":"uint256 token ID."}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/MarketplaceSettingsV2.sol":"MarketplaceSettingsV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/MarketplaceSettingsV2.sol":{"keccak256":"0x1f2722fe66ea8cb272b4da0b9e55bb8689f28d574ba8c8205c480204c31779a5","urls":["bzz-raw://7450cd89062da62bc7bdfd43c8ad4d383d93532cdae728e644b69d604220e1e2","dweb:/ipfs/QmTGZYfnjX7cEEiM3TNp3m3vK4KUJ9q32NLHrnjgaPTdua"],"license":"MIT"}},"version":1},"id":175} \ No newline at end of file diff --git a/abis/MarketplaceSettingsV3.json b/abis/MarketplaceSettingsV3.json index 2e9f6f0..b7f7811 100644 --- a/abis/MarketplaceSettingsV3.json +++ b/abis/MarketplaceSettingsV3.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"newOwner","type":"address","internalType":"address"},{"name":"oldSettings","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN_MARK_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"calculateMarketplaceFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateMarketplacePayoutFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePrimarySaleFee","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateStakingFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMaxValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMinValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakingFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"grantMarketplaceAccess","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasERC721TokenSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"markContractAsSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"markERC721Token","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_hasSold","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"markTokensAsSold","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceFeePercentage","inputs":[{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMaxValue","inputs":[{"name":"_maxValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMinValue","inputs":[{"name":"_minValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrimarySaleFeePercentage","inputs":[{"name":"_primarySaleFeePercentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingFeePercentage","inputs":[{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608034620002cf57620017dc90601f38839003908101601f19168201906001600160401b03821183831017620002d45780839160409586948552833981010312620002cf576200004f81620002ea565b6200005e6020809301620002ea565b916200006a33620002ff565b600160fe1b6005556103e86006556007805461ffff1916610f031790556002805460ff199081169091556001600160a01b038381169182156200027557818616156200020b57600092838052600191828652888520828652865260ff898620541615620001d6575b7fe403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf6292838652808752898620838752875260ff8a87205416156200019f575b5050505033915416036200015d57506200012a90620002ff565b60028054610100600160a81b03191660089290921b610100600160a81b0316919091179055516114759081620003478239f35b60649084519062461bcd60e51b825280600483015260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b8386528087528986208387528752898620918254161790553391600080516020620017bc8339815191528580a43880808062000110565b84805282865288852082865286528885208382825416179055338286600080516020620017bc8339815191528180a4620000d2565b865162461bcd60e51b815260048101859052603c60248201527f636f6e7374727563746f723a3a4f6c64204d61726b6574706c6163652053657460448201527f74696e677320616464726573732063616e6e6f74206265206e756c6c000000006064820152608490fd5b865162461bcd60e51b815260048101859052602d60248201527f636f6e7374727563746f723a3a4e6577206f776e65722061646472657373206360448201526c185b9b9bdd081899481b9d5b1b609a1b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620002cf57565b600080546001600160a01b039283166001600160a01b03198216811783559216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a356fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610dc1575081630ff7784414610d705781631ad99c3714610d36578163248a9ca314610d0c5781632b702b5f14610b395781632cfda2f114610b175781632f2ff15d14610a6a578163364d60441461093f57816336568abe146108ad5781633765628c14610884578163511bc84c146108525781635a3c652d1461078e5781635c1b40f11461076f57816362029a1b1461074d5781636357f1ac14610719578163715018a6146106bf57816382ebaa591461058957816383475921146105675781638da5cb5b1461053f5781638e1addb21461051657816391d14854146104cf5781639d5fb53c146104ad578163a217fddf14610492578163ae312a9714610469578163b28a7bad1461043a578163b60c813514610392578163c3fc49521461035e578163c60870d3146102a0578163d547741f14610262578163f2fde38b1461019b575063f9a23e861461017a57600080fd5b346101975781600319360112610197576020906005549051908152f35b5080fd5b90503461025e57602036600319011261025e576101b6610e29565b906101bf611260565b6001600160a01b0391821692831561020c57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b9190503461025e578060031936011261025e5761029d91356102986001610287610e3f565b938387528160205286200154610e55565b6111ea565b80f35b90503461025e57602036600319011261025e576102bb610e14565b916102c4611260565b60ff806007541693169283116102e457505060ff19600254161760025580f35b90602060a492519162461bcd60e51b8352820152604860248201527f7365745374616b696e6746656550657263656e746167653a3a5f70657263656e60448201527f74616765206d757374206265203c3d206d61726b6574706c61636546656550656064820152677263656e7461676560c01b6084820152fd5b82843461038f57602036600319011261038f5750606461038760209360ff6007541690356112b8565b049051908152f35b80fd5b90503461025e57602036600319011261025e5760ff6103af610e14565b6103b7611260565b1691606483116103d157505060ff19600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152fd5b50503461019757602036600319011261019757602090610458610e29565b5060ff60075460081c169051908152f35b5050346101975736600319011261038f57610482610e29565b5060243560ff81160361038f5780f35b50503461019757816003193601126101975751908152602090f35b50503461019757816003193601126101975760209060ff600254169051908152f35b90503461025e578160031936011261025e578160209360ff926104f0610e3f565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b82843461038f57602036600319011261038f5750606461038760209360ff6002541690356112b8565b505034610197578160031936011261019757905490516001600160a01b039091168152602090f35b50503461019757816003193601126101975760209060ff600754169051908152f35b9190503461025e57602091826003193601126106bb576105a7610e29565b91848052600191828552818620338752855260ff82872054161561065d5750600080516020611420833981519152938486528281526105ea838388200154610e55565b8486528281528186206001600160a01b039094168087529381528186205460ff1615610614578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b8380fd5b833461038f578060031936011261038f576106d8611260565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b505034610197578060031936011261019757602090610736610e29565b50606461038760ff60075460081c166024356112b8565b83903461019757602036600319011261019757610768611260565b3560065580f35b5050346101975781600319360112610197576020906006549051908152f35b9190503461025e57606036600319011261025e57826107ab610e29565b60443580151580910361025e57600080516020611420833981519152835260016020528383203384526020526107e660ff85852054166113ad565b6002546001600160a01b039260089190911c831691823b1561084e57606492859187519889968795635a3c652d60e01b87521690850152602435602485015260448401525af1908115610845575061083c575080f35b61029d9061119e565b513d84823e3d90fd5b8480fd5b50503461019757806003193601126101975760209061087b610872610e29565b60243590611320565b90519015158152f35b505034610197578160031936011261019757602090516000805160206114208339815191528152f35b839150346101975782600319360112610197576108c8610e3f565b90336001600160a01b038316036108e4579061029d91356111ea565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b838334610197576020928360031936011261025e5761095c610e29565b600080516020611420833981519152845260018552828420338552855260ff838520541615610a02578490602460018060a01b0391868360025460081c1687519687958694630d93581160e21b865216908401525af19283156109f757926109c8575b50519015158152f35b6109e9919250833d85116109f0575b6109e181836111c8565b810190611308565b90836109bf565b503d6109d7565b8251903d90823e3d90fd5b5083608492519162461bcd60e51b8352820152603b60248201527f6d61726b436f6e74726163743a3a4d757374206861766520544f4b454e5f4d4160448201527f524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400000000006064820152fd5b90503461025e578160031936011261025e573590610a86610e3f565b908284526001602052610a9e60018286200154610e55565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610acc578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83903461019757602036600319011261019757610b32611260565b3560055580f35b9190503461025e578060031936011261025e57610b54610e29565b9160249081359267ffffffffffffffff808511610d085736602386011215610d085784830135908111610d0857600590368582841b88010111610d0457600080516020611420833981519152958689526001978460208a8152818c20338d528152610bc68c60ff9384912054166113ad565b6107d08511610c935793986001600160a01b0392831694908c5b8d8c8210610beb5780f35b848a8f92610c0893868252875281812033825287522054166113ad565b60025460081c85168e813b1561038f57888f8d8f8d958f938287938f8b606498519b8c9a8b99635a3c652d60e01b8b528a01521b0101359085015260448401525af18015610c8757610c78575b506000198114610c66578c01610be0565b634e487b7160e01b8e5260118a528a8efd5b610c819061119e565b38610c55565b8f8b51903d90823e3d90fd5b8760418a60a4938a519362461bcd60e51b85528401528201527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b6084820152fd5b8780fd5b8680fd5b90503461025e57602036600319011261025e57816020936001923581528285522001549051908152f35b833461038f57602036600319011261038f57610d50610e14565b610d58611260565b61ff006007549160081b169061ff0019161760075580f35b82843461038f57602036600319011261038f5760ff6007541660ff6002541690039060ff8211610dae575061038760209360ff6064931690356112b8565b634e487b7160e01b815260118452602490fd5b84913461025e57602036600319011261025e573563ffffffff60e01b811680910361025e5760209250637965db0b60e01b8114908115610e03575b5015158152f35b6301ffc9a760e01b14905083610dfc565b6004359060ff82168203610e2457565b600080fd5b600435906001600160a01b0382168203610e2457565b602435906001600160a01b0382168203610e2457565b600090808252600191602091838352604091828120338252845260ff838220541615610e82575050505050565b3391835195606087019167ffffffffffffffff92888110848211176110a7578652602a885286880194863687378851156111675760308653885183101561116757607860218a015360295b8381116110fd57506110bb57908551926080840190848210908211176110a757865260428352868301936060368637835115611093576030855383518210156110935790607860218501536041915b81831161102557505050610fe35792610fb16048610fa29794610fd5946044989785519a8b93610f798b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c52518092603788019061117b565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061117b565b010360288101895201876111c8565b5194859362461bcd60e51b855260048501525180928160248601528585019061117b565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561107f576f181899199a1a9b1b9c1cb0b131b232b360811b901a61105585876112e1565b5360041c92801561106b57600019019190610f1c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015611153576f181899199a1a9b1b9c1cb0b131b232b360811b901a61112b838c6112e1565b5360041c90801561113f5760001901610ecd565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b83811061118e5750506000910152565b818101518382015260200161117e565b67ffffffffffffffff81116111b257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176111b257604052565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541661121b57505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b0316330361127457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b818102929181159184041417156112cb57565b634e487b7160e01b600052601160045260246000fd5b9081518110156112f2570160200190565b634e487b7160e01b600052603260045260246000fd5b90816020910312610e2457518015158103610e245790565b6001600160a01b039081166000818152600460205260409020549092906113a557604460209260025460081c16936040519485938492631446f21360e21b8452600484015260248301525afa9081156113995760009161137e575090565b611396915060203d81116109f0576109e181836111c8565b90565b6040513d6000823e3d90fd5b505050600190565b156113b457565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fdfee403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf62a2646970667358221220e5674038fb0e6414b836809a9391b24350d8a7cb92d22b07b36f3df82817fedc64736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"552:6199:165:-:0;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;-1:-1:-1;;;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;719:10:99;955:12:78;719:10:99;955:12:78;:::i;:::-;-1:-1:-1;;;1332:17:165;552:6199;1370:4;1359:15;552:6199;1384:28;552:6199;;-1:-1:-1;;552:6199:165;;;;;1461:24;552:6199;;-1:-1:-1;;552:6199:165;;;;;;-1:-1:-1;;;;;552:6199:165;;;;1517:22;;552:6199;;;;;1642:25;552:6199;;-1:-1:-1;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;753:28:165;552:6199;;;;;;;;;;;;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;719:10:99;;;;;552:6199:165;;;1422:23:78;552:6199:165;;2256:8:78;;;;:::i;:::-;1461:24:165;753:28;;-1:-1:-1;;;;;;753:28:165;552:6199;;;;;-1:-1:-1;;;;;552:6199:165;753:28;;;;;;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:149:76;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;-1:-1:-1;;;;;;;;;;;7763:40:76;;;7665:149;;;;;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;-1:-1:-1;;;;;;;;;;;7763:40:76;;;7665:149;;552:6199:165;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:165;;;;;;;;-1:-1:-1;552:6199:165;;;;;;-1:-1:-1;552:6199:165;;;;;-1:-1:-1;552:6199:165;;;;-1:-1:-1;;;;;552:6199:165;;;;;;:::o;2426:187:78:-;2518:6;552:6199:165;;-1:-1:-1;;;;;552:6199:165;;;-1:-1:-1;;;;;;552:6199:165;;;;;;;;;2566:40:78;;2518:6;2566:40;2426:187::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610dc1575081630ff7784414610d705781631ad99c3714610d36578163248a9ca314610d0c5781632b702b5f14610b395781632cfda2f114610b175781632f2ff15d14610a6a578163364d60441461093f57816336568abe146108ad5781633765628c14610884578163511bc84c146108525781635a3c652d1461078e5781635c1b40f11461076f57816362029a1b1461074d5781636357f1ac14610719578163715018a6146106bf57816382ebaa591461058957816383475921146105675781638da5cb5b1461053f5781638e1addb21461051657816391d14854146104cf5781639d5fb53c146104ad578163a217fddf14610492578163ae312a9714610469578163b28a7bad1461043a578163b60c813514610392578163c3fc49521461035e578163c60870d3146102a0578163d547741f14610262578163f2fde38b1461019b575063f9a23e861461017a57600080fd5b346101975781600319360112610197576020906005549051908152f35b5080fd5b90503461025e57602036600319011261025e576101b6610e29565b906101bf611260565b6001600160a01b0391821692831561020c57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b9190503461025e578060031936011261025e5761029d91356102986001610287610e3f565b938387528160205286200154610e55565b6111ea565b80f35b90503461025e57602036600319011261025e576102bb610e14565b916102c4611260565b60ff806007541693169283116102e457505060ff19600254161760025580f35b90602060a492519162461bcd60e51b8352820152604860248201527f7365745374616b696e6746656550657263656e746167653a3a5f70657263656e60448201527f74616765206d757374206265203c3d206d61726b6574706c61636546656550656064820152677263656e7461676560c01b6084820152fd5b82843461038f57602036600319011261038f5750606461038760209360ff6007541690356112b8565b049051908152f35b80fd5b90503461025e57602036600319011261025e5760ff6103af610e14565b6103b7611260565b1691606483116103d157505060ff19600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152fd5b50503461019757602036600319011261019757602090610458610e29565b5060ff60075460081c169051908152f35b5050346101975736600319011261038f57610482610e29565b5060243560ff81160361038f5780f35b50503461019757816003193601126101975751908152602090f35b50503461019757816003193601126101975760209060ff600254169051908152f35b90503461025e578160031936011261025e578160209360ff926104f0610e3f565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b82843461038f57602036600319011261038f5750606461038760209360ff6002541690356112b8565b505034610197578160031936011261019757905490516001600160a01b039091168152602090f35b50503461019757816003193601126101975760209060ff600754169051908152f35b9190503461025e57602091826003193601126106bb576105a7610e29565b91848052600191828552818620338752855260ff82872054161561065d5750600080516020611420833981519152938486528281526105ea838388200154610e55565b8486528281528186206001600160a01b039094168087529381528186205460ff1615610614578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b8380fd5b833461038f578060031936011261038f576106d8611260565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b505034610197578060031936011261019757602090610736610e29565b50606461038760ff60075460081c166024356112b8565b83903461019757602036600319011261019757610768611260565b3560065580f35b5050346101975781600319360112610197576020906006549051908152f35b9190503461025e57606036600319011261025e57826107ab610e29565b60443580151580910361025e57600080516020611420833981519152835260016020528383203384526020526107e660ff85852054166113ad565b6002546001600160a01b039260089190911c831691823b1561084e57606492859187519889968795635a3c652d60e01b87521690850152602435602485015260448401525af1908115610845575061083c575080f35b61029d9061119e565b513d84823e3d90fd5b8480fd5b50503461019757806003193601126101975760209061087b610872610e29565b60243590611320565b90519015158152f35b505034610197578160031936011261019757602090516000805160206114208339815191528152f35b839150346101975782600319360112610197576108c8610e3f565b90336001600160a01b038316036108e4579061029d91356111ea565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b838334610197576020928360031936011261025e5761095c610e29565b600080516020611420833981519152845260018552828420338552855260ff838520541615610a02578490602460018060a01b0391868360025460081c1687519687958694630d93581160e21b865216908401525af19283156109f757926109c8575b50519015158152f35b6109e9919250833d85116109f0575b6109e181836111c8565b810190611308565b90836109bf565b503d6109d7565b8251903d90823e3d90fd5b5083608492519162461bcd60e51b8352820152603b60248201527f6d61726b436f6e74726163743a3a4d757374206861766520544f4b454e5f4d4160448201527f524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400000000006064820152fd5b90503461025e578160031936011261025e573590610a86610e3f565b908284526001602052610a9e60018286200154610e55565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610acc578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83903461019757602036600319011261019757610b32611260565b3560055580f35b9190503461025e578060031936011261025e57610b54610e29565b9160249081359267ffffffffffffffff808511610d085736602386011215610d085784830135908111610d0857600590368582841b88010111610d0457600080516020611420833981519152958689526001978460208a8152818c20338d528152610bc68c60ff9384912054166113ad565b6107d08511610c935793986001600160a01b0392831694908c5b8d8c8210610beb5780f35b848a8f92610c0893868252875281812033825287522054166113ad565b60025460081c85168e813b1561038f57888f8d8f8d958f938287938f8b606498519b8c9a8b99635a3c652d60e01b8b528a01521b0101359085015260448401525af18015610c8757610c78575b506000198114610c66578c01610be0565b634e487b7160e01b8e5260118a528a8efd5b610c819061119e565b38610c55565b8f8b51903d90823e3d90fd5b8760418a60a4938a519362461bcd60e51b85528401528201527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b6084820152fd5b8780fd5b8680fd5b90503461025e57602036600319011261025e57816020936001923581528285522001549051908152f35b833461038f57602036600319011261038f57610d50610e14565b610d58611260565b61ff006007549160081b169061ff0019161760075580f35b82843461038f57602036600319011261038f5760ff6007541660ff6002541690039060ff8211610dae575061038760209360ff6064931690356112b8565b634e487b7160e01b815260118452602490fd5b84913461025e57602036600319011261025e573563ffffffff60e01b811680910361025e5760209250637965db0b60e01b8114908115610e03575b5015158152f35b6301ffc9a760e01b14905083610dfc565b6004359060ff82168203610e2457565b600080fd5b600435906001600160a01b0382168203610e2457565b602435906001600160a01b0382168203610e2457565b600090808252600191602091838352604091828120338252845260ff838220541615610e82575050505050565b3391835195606087019167ffffffffffffffff92888110848211176110a7578652602a885286880194863687378851156111675760308653885183101561116757607860218a015360295b8381116110fd57506110bb57908551926080840190848210908211176110a757865260428352868301936060368637835115611093576030855383518210156110935790607860218501536041915b81831161102557505050610fe35792610fb16048610fa29794610fd5946044989785519a8b93610f798b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c52518092603788019061117b565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061117b565b010360288101895201876111c8565b5194859362461bcd60e51b855260048501525180928160248601528585019061117b565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561107f576f181899199a1a9b1b9c1cb0b131b232b360811b901a61105585876112e1565b5360041c92801561106b57600019019190610f1c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015611153576f181899199a1a9b1b9c1cb0b131b232b360811b901a61112b838c6112e1565b5360041c90801561113f5760001901610ecd565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b83811061118e5750506000910152565b818101518382015260200161117e565b67ffffffffffffffff81116111b257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176111b257604052565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541661121b57505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b0316330361127457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b818102929181159184041417156112cb57565b634e487b7160e01b600052601160045260246000fd5b9081518110156112f2570160200190565b634e487b7160e01b600052603260045260246000fd5b90816020910312610e2457518015158103610e245790565b6001600160a01b039081166000818152600460205260409020549092906113a557604460209260025460081c16936040519485938492631446f21360e21b8452600484015260248301525afa9081156113995760009161137e575090565b611396915060203d81116109f0576109e181836111c8565b90565b6040513d6000823e3d90fd5b505050600190565b156113b457565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fdfee403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf62a2646970667358221220e5674038fb0e6414b836809a9391b24350d8a7cb92d22b07b36f3df82817fedc64736f6c63430008120033","sourceMap":"552:6199:165:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2359:8;552:6199;;;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;552:6199:165;;;;2162:22:78;;552:6199:165;;-1:-1:-1;;552:6199:165;;-1:-1:-1;;;;;;552:6199:165;;;;;;;2566:40:78;552:6199:165;;2566:40:78;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;5486:7:76;552:6199:165;;2642:4:76;552:6199:165;;;:::i;:::-;;;;;;;;;;4604:22:76;552:6199:165;2642:4:76;:::i;:::-;5486:7;:::i;:::-;552:6199:165;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;552:6199:165;;6143:24;552:6199;;;;6128:39;;;552:6199;;;;;;6275:34;552:6199;;;6275:34;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;3520:3;3482:34;552:6199;;;3492:24;552:6199;;;;3482:34;:::i;:::-;552:6199;;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;552:6199:165;3177:18;3192:3;3177:18;;552:6199;;;;;;3286:38;552:6199;;;3286:38;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3192:3;552:6199;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;;;:::i;:::-;;;3688:24;552:6199;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5993:20;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;6497:3;6463:30;552:6199;;;6473:20;552:6199;;;;6463:30;:::i;552:6199::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;3034:24;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3130:6:76;552:6199:165;;;;;;;719:10:99;552:6199:165;;;;;;;;;;;;;753:28;-1:-1:-1;;;;;;;;;;;552:6199:165;;;;;;;2642:4:76;552:6199:165;;;;4604:22:76;552:6199:165;2642:4:76;:::i;:::-;552:6199:165;;;;;;;;;-1:-1:-1;;;;;552:6199:165;;;;;;;;;;;;;;;7669:23:76;7665:149;;552:6199:165;;;7665:149:76;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;;;;7665:149;;;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;552:6199:165;;-1:-1:-1;;;;;;552:6199:165;;;;;;-1:-1:-1;;;;;552:6199:165;2566:40:78;552:6199:165;;2566:40:78;552:6199:165;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4061:3;4023:34;552:6199;4033:24;552:6199;;;;;;4023:34;:::i;552:6199::-;;;;;;;;-1:-1:-1;;552:6199:165;;;;1063:62:78;;:::i;:::-;552:6199:165;2870:20;552:6199;;;;;;;;;;;;;;;;;;;2769:8;552:6199;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;552:6199:165;;3130:6:76;552:6199:165;;;;;4682:10;552:6199;;;;4636:145;552:6199;;;;;;4636:145;:::i;:::-;4791:22;552:6199;-1:-1:-1;;;;;552:6199:165;;;;;;;;;4791:122;;;;;552:6199;;;;;;;;;;;;;;4791:122;;552:6199;4791:122;;;552:6199;;;;;;;;;;;4791:122;;;;;;;;;;552:6199;;;4791:122;;;;:::i;:::-;552:6199;;;;;;;;4791:122;552:6199;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;552:6199:165;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:99;;-1:-1:-1;;;;;552:6199:165;;6133:23:76;552:6199:165;;;6237:7:76;552:6199:165;;6237:7:76;:::i;552:6199:165:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;552:6199:165;;3130:6:76;552:6199:165;;;;;5717:10;552:6199;;;;;;;;;;;;;;;;;;;;;;;;5830:22;552:6199;;;;;;;;;;;;;;5830:59;;552:6199;5830:59;;;552:6199;5830:59;;;;;;;;;;552:6199;;;;;;;;;5830:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:76;552:6199:165;;;;4604:22:76;552:6199:165;2642:4:76;:::i;:::-;552:6199:165;;;;;;;;;;;-1:-1:-1;;;;;552:6199:165;;;;;;;;;;;;;;;7669:23:76;7665:149;;552:6199:165;;;7665:149:76;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;;;;7665:149;;;552:6199:165;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;1063:62:78;;:::i;:::-;552:6199:165;2644:20;552:6199;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;552:6199:165;;;;3130:6:76;552:6199:165;;;;;;;;;5094:10;552:6199;;;;5048:145;552:6199;;;;;;;;5048:145;:::i;:::-;5280:4;5260:24;;552:6199;;5432:13;;-1:-1:-1;;;;;552:6199:165;;;;-1:-1:-1;5432:13:165;5447:20;;;;;;;552:6199;;5469:3;552:6199;;;;4636:145;552:6199;;;;;;;;;5094:10;552:6199;;;;;;;4636:145;:::i;:::-;4791:22;552:6199;;;;;;4791:122;;;;;552:6199;;;;;;;;;;;;;;;;;;;;;;;;4791:122;;;;552:6199;;;;;;;;;;;;;4791:122;;;;;;;;5469:3;-1:-1:-1;;;552:6199:165;;;;;;5432:13;;552:6199;-1:-1:-1;;;552:6199:165;;;;;;;;4791:122;;;;:::i;:::-;;;;;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;;;;;;;;;;;4604:22:76;552:6199:165;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;552:6199:165;2499:52;552:6199;;;;;;;;;;2499:52;552:6199;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;6687:24;552:6199;;;6714:20;552:6199;;;;;;;;;;;6676:59;552:6199;;;6739:3;552:6199;;;;6676:59;:::i;552:6199::-;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:76;;;:87;;;;552:6199:165;;;;;;;2840:87:76;-1:-1:-1;;;937:40:103;;-1:-1:-1;2840:87:76;;;552:6199:165;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;552:6199:165;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;552:6199:165;;;;;;:::o;3460:103:76:-;-1:-1:-1;552:6199:165;;;;3130:6:76;552:6199:165;;;;;;;;;;;719:10:99;552:6199:165;;;;;;;;;;3931:23:76;3927:390;;3460:103;;;;;:::o;3927:390::-;719:10:99;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;552:6199:165;;;;;;;2000:15:101;552:6199:165;;;2000:15:101;552:6199:165;2058:5:101;;;;;;2170:10;278:18;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;552:6199:165;;;;;;;;2000:15:101;552:6199:165;;;2000:15:101;552:6199:165;2025:128:101;2058:5;;;;;;2170:10;;;278:18;;552:6199:165;4022:252:76;552:6199:165;;;;;;;;;;;4022:252:76;;;552:6199:165;4022:252:76;;;552:6199:165;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;:::i;:::-;;4022:252:76;;;;;;;;;:::i;:::-;552:6199:165;;;;;;;3970:336:76;;2141:1:101;3970:336:76;;552:6199:165;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;552:6199:165;;;3970:336:76;;;;278:18:101;;552:6199:165;;;;;;;278:18:101;;;2141:1;278:18;;;;;;552:6199:165;278:18:101;552:6199:165;;;278:18:101;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;552:6199:165;;;;-1:-1:-1;;552:6199:165;;2030:26:101;;;552:6199:165;-1:-1:-1;;;552:6199:165;;;2141:1:101;552:6199:165;;;;2096:21:101;-1:-1:-1;;;552:6199:165;;;2141:1:101;552:6199:165;;;;;-1:-1:-1;;;552:6199:165;;;2141:1:101;552:6199:165;;;;;-1:-1:-1;;;552:6199:165;;;2141:1:101;552:6199:165;;;;278:18:101;;552:6199:165;;;;;;;278:18:101;;;2141:1;278:18;;;;;;552:6199:165;278:18:101;552:6199:165;;;278:18:101;;2065:3;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;552:6199:165;;;;-1:-1:-1;;552:6199:165;2030:26:101;;552:6199:165;-1:-1:-1;;;552:6199:165;;;2141:1:101;552:6199:165;;;;2096:21:101;-1:-1:-1;;;552:6199:165;;;2141:1:101;552:6199:165;;;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:165;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7991:234:76:-;;-1:-1:-1;552:6199:165;;;;3130:6:76;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;8070:149:76;;7991:234;;;:::o;8070:149::-;552:6199:165;;;3130:6:76;552:6199:165;;;;;;;;;;;;;;;;;;;;8168:40:76;719:10:99;8168:40:76;;;7991:234::o;1359:130:78:-;1273:6;552:6199:165;-1:-1:-1;;;;;552:6199:165;719:10:99;1422:23:78;552:6199:165;;1359:130:78:o;552:6199:165:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4077:413::-;-1:-1:-1;;;;;552:6199:165;;;-1:-1:-1;552:6199:165;;;4351:12:109;552:6199:165;;;;;;;;;4306:32;;552:6199;;;4368:22;552:6199;;;;;;;;;;;;;;;4368:115;;4351:12:109;4368:115:165;;552:6199;;;;;4368:115;;;;;;;-1:-1:-1;4368:115:165;;;4349:134;4077:413;:::o;4368:115::-;;;;552:6199;4368:115;;;;;;;;;:::i;:::-;4077:413;:::o;4368:115::-;552:6199;;;-1:-1:-1;552:6199:165;;;;;4306:32;4327:11;;;552:6199;4327:11;:::o;552:6199::-;;;;:::o;:::-;;;-1:-1:-1;;;552:6199:165;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","TOKEN_MARK_ROLE()":"3765628c","calculateMarketplaceFee(uint256)":"c3fc4952","calculateMarketplacePayoutFee(uint256)":"0ff77844","calculatePrimarySaleFee(address,uint256)":"6357f1ac","calculateStakingFee(uint256)":"8e1addb2","getERC721ContractPrimarySaleFeePercentage(address)":"b28a7bad","getMarketplaceFeePercentage()":"83475921","getMarketplaceMaxValue()":"f9a23e86","getMarketplaceMinValue()":"5c1b40f1","getRoleAdmin(bytes32)":"248a9ca3","getStakingFeePercentage()":"9d5fb53c","grantMarketplaceAccess(address)":"82ebaa59","grantRole(bytes32,address)":"2f2ff15d","hasERC721TokenSold(address,uint256)":"511bc84c","hasRole(bytes32,address)":"91d14854","markContractAsSold(address)":"364d6044","markERC721Token(address,uint256,bool)":"5a3c652d","markTokensAsSold(address,uint256[])":"2b702b5f","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setERC721ContractPrimarySaleFeePercentage(address,uint8)":"ae312a97","setMarketplaceFeePercentage(uint8)":"b60c8135","setMarketplaceMaxValue(uint256)":"2cfda2f1","setMarketplaceMinValue(uint256)":"62029a1b","setPrimarySaleFeePercentage(uint8)":"1ad99c37","setStakingFeePercentage(uint8)":"c60870d3","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldSettings\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN_MARK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplaceFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplacePayoutFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculatePrimarySaleFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateStakingFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getERC721ContractPrimarySaleFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMaxValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMinValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"grantMarketplaceAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasERC721TokenSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"markContractAsSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_hasSold\",\"type\":\"bool\"}],\"name\":\"markERC721Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"markTokensAsSold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setERC721ContractPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setMarketplaceFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMaxValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMinValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_primarySaleFeePercentage\",\"type\":\"uint8\"}],\"name\":\"setPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setStakingFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"calculateMarketplaceFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculateMarketplacePayoutFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace payout fee for given amount of wei. marketplaceFee - stakingFee\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculateStakingFee(uint256)\":{\"details\":\"Utility function for calculating the staking fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getMarketplaceFeePercentage()\":{\"details\":\"Get the marketplace fee percentage.\",\"returns\":{\"_0\":\"uint8 wei fee.\"}},\"getMarketplaceMaxValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getMarketplaceMinValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStakingFeePercentage()\":{\"details\":\"Get the staking percentage.\",\"returns\":{\"_0\":\"uint8 wei staking fee percentage.\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasERC721TokenSold(address,uint256)\":{\"details\":\"Check whether the ERC721 token has sold at least once.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"bool of whether the token has sold.\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"markERC721Token(address,uint256,bool)\":{\"details\":\"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_hasSold\":\"bool of whether the token should be marked sold or not.\",\"_tokenId\":\"uint256 token ID.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/MarketplaceSettingsV3.sol\":\"MarketplaceSettingsV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/marketplace/MarketplaceSettingsV2.sol\":{\"keccak256\":\"0x1f2722fe66ea8cb272b4da0b9e55bb8689f28d574ba8c8205c480204c31779a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7450cd89062da62bc7bdfd43c8ad4d383d93532cdae728e644b69d604220e1e2\",\"dweb:/ipfs/QmTGZYfnjX7cEEiM3TNp3m3vK4KUJ9q32NLHrnjgaPTdua\"]},\"src/marketplace/MarketplaceSettingsV3.sol\":{\"keccak256\":\"0xb0251bdff8343efa71bad71f6ed40696f8d5dfce6d5cb8a5ad01adc4ce882db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36d6c89a41630916a58c97bf05c2c1137636324cbf1efa8f31c17417f1f6215e\",\"dweb:/ipfs/QmYhHcX5Ev3c9JHu263nPPmauQyZjzec1LNkMiZL7JfHD8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"address","name":"oldSettings","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN_MARK_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplaceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplacePayoutFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculatePrimarySaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateStakingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"getERC721ContractPrimarySaleFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMaxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMinValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantMarketplaceAccess"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasERC721TokenSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"markContractAsSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_hasSold","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"markERC721Token"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"markTokensAsSold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setERC721ContractPrimarySaleFeePercentage"},{"inputs":[{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceFeePercentage"},{"inputs":[{"internalType":"uint256","name":"_maxValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMaxValue"},{"inputs":[{"internalType":"uint256","name":"_minValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMinValue"},{"inputs":[{"internalType":"uint8","name":"_primarySaleFeePercentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPrimarySaleFeePercentage"},{"inputs":[{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setStakingFeePercentage"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"calculateMarketplaceFee(uint256)":{"details":"Utility function for calculating the marketplace fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculateMarketplacePayoutFee(uint256)":{"details":"Utility function for calculating the marketplace payout fee for given amount of wei. marketplaceFee - stakingFee","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculateStakingFee(uint256)":{"details":"Utility function for calculating the staking fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"getMarketplaceFeePercentage()":{"details":"Get the marketplace fee percentage.","returns":{"_0":"uint8 wei fee."}},"getMarketplaceMaxValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getMarketplaceMinValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStakingFeePercentage()":{"details":"Get the staking percentage.","returns":{"_0":"uint8 wei staking fee percentage."}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasERC721TokenSold(address,uint256)":{"details":"Check whether the ERC721 token has sold at least once.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"bool of whether the token has sold."}},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"markERC721Token(address,uint256,bool)":{"details":"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.","params":{"_contractAddress":"address ERC721Contract address.","_hasSold":"bool of whether the token should be marked sold or not.","_tokenId":"uint256 token ID."}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/MarketplaceSettingsV3.sol":"MarketplaceSettingsV3"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/marketplace/MarketplaceSettingsV2.sol":{"keccak256":"0x1f2722fe66ea8cb272b4da0b9e55bb8689f28d574ba8c8205c480204c31779a5","urls":["bzz-raw://7450cd89062da62bc7bdfd43c8ad4d383d93532cdae728e644b69d604220e1e2","dweb:/ipfs/QmTGZYfnjX7cEEiM3TNp3m3vK4KUJ9q32NLHrnjgaPTdua"],"license":"MIT"},"src/marketplace/MarketplaceSettingsV3.sol":{"keccak256":"0xb0251bdff8343efa71bad71f6ed40696f8d5dfce6d5cb8a5ad01adc4ce882db5","urls":["bzz-raw://36d6c89a41630916a58c97bf05c2c1137636324cbf1efa8f31c17417f1f6215e","dweb:/ipfs/QmYhHcX5Ev3c9JHu263nPPmauQyZjzec1LNkMiZL7JfHD8"],"license":"MIT"}},"version":1},"id":165} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"newOwner","type":"address","internalType":"address"},{"name":"oldSettings","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOKEN_MARK_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"calculateMarketplaceFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateMarketplacePayoutFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePrimarySaleFee","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateStakingFee","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMaxValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMarketplaceMinValue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakingFeePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"grantMarketplaceAccess","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasERC721TokenSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"markContractAsSold","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"markERC721Token","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_hasSold","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"markTokensAsSold","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setERC721ContractPrimarySaleFeePercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceFeePercentage","inputs":[{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMaxValue","inputs":[{"name":"_maxValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceMinValue","inputs":[{"name":"_minValue","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrimarySaleFeePercentage","inputs":[{"name":"_primarySaleFeePercentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingFeePercentage","inputs":[{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608034620002cf57620017dc90601f38839003908101601f19168201906001600160401b03821183831017620002d45780839160409586948552833981010312620002cf576200004f81620002ea565b6200005e6020809301620002ea565b916200006a33620002ff565b600160fe1b6005556103e86006556007805461ffff1916610f031790556002805460ff199081169091556001600160a01b038381169182156200027557818616156200020b57600092838052600191828652888520828652865260ff898620541615620001d6575b7fe403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf6292838652808752898620838752875260ff8a87205416156200019f575b5050505033915416036200015d57506200012a90620002ff565b60028054610100600160a81b03191660089290921b610100600160a81b0316919091179055516114759081620003478239f35b60649084519062461bcd60e51b825280600483015260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b8386528087528986208387528752898620918254161790553391600080516020620017bc8339815191528580a43880808062000110565b84805282865288852082865286528885208382825416179055338286600080516020620017bc8339815191528180a4620000d2565b865162461bcd60e51b815260048101859052603c60248201527f636f6e7374727563746f723a3a4f6c64204d61726b6574706c6163652053657460448201527f74696e677320616464726573732063616e6e6f74206265206e756c6c000000006064820152608490fd5b865162461bcd60e51b815260048101859052602d60248201527f636f6e7374727563746f723a3a4e6577206f776e65722061646472657373206360448201526c185b9b9bdd081899481b9d5b1b609a1b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620002cf57565b600080546001600160a01b039283166001600160a01b03198216811783559216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a356fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610dc1575081630ff7784414610d705781631ad99c3714610d36578163248a9ca314610d0c5781632b702b5f14610b395781632cfda2f114610b175781632f2ff15d14610a6a578163364d60441461093f57816336568abe146108ad5781633765628c14610884578163511bc84c146108525781635a3c652d1461078e5781635c1b40f11461076f57816362029a1b1461074d5781636357f1ac14610719578163715018a6146106bf57816382ebaa591461058957816383475921146105675781638da5cb5b1461053f5781638e1addb21461051657816391d14854146104cf5781639d5fb53c146104ad578163a217fddf14610492578163ae312a9714610469578163b28a7bad1461043a578163b60c813514610392578163c3fc49521461035e578163c60870d3146102a0578163d547741f14610262578163f2fde38b1461019b575063f9a23e861461017a57600080fd5b346101975781600319360112610197576020906005549051908152f35b5080fd5b90503461025e57602036600319011261025e576101b6610e29565b906101bf611260565b6001600160a01b0391821692831561020c57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b9190503461025e578060031936011261025e5761029d91356102986001610287610e3f565b938387528160205286200154610e55565b6111ea565b80f35b90503461025e57602036600319011261025e576102bb610e14565b916102c4611260565b60ff806007541693169283116102e457505060ff19600254161760025580f35b90602060a492519162461bcd60e51b8352820152604860248201527f7365745374616b696e6746656550657263656e746167653a3a5f70657263656e60448201527f74616765206d757374206265203c3d206d61726b6574706c61636546656550656064820152677263656e7461676560c01b6084820152fd5b82843461038f57602036600319011261038f5750606461038760209360ff6007541690356112b8565b049051908152f35b80fd5b90503461025e57602036600319011261025e5760ff6103af610e14565b6103b7611260565b1691606483116103d157505060ff19600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152fd5b50503461019757602036600319011261019757602090610458610e29565b5060ff60075460081c169051908152f35b5050346101975736600319011261038f57610482610e29565b5060243560ff81160361038f5780f35b50503461019757816003193601126101975751908152602090f35b50503461019757816003193601126101975760209060ff600254169051908152f35b90503461025e578160031936011261025e578160209360ff926104f0610e3f565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b82843461038f57602036600319011261038f5750606461038760209360ff6002541690356112b8565b505034610197578160031936011261019757905490516001600160a01b039091168152602090f35b50503461019757816003193601126101975760209060ff600754169051908152f35b9190503461025e57602091826003193601126106bb576105a7610e29565b91848052600191828552818620338752855260ff82872054161561065d5750600080516020611420833981519152938486528281526105ea838388200154610e55565b8486528281528186206001600160a01b039094168087529381528186205460ff1615610614578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b8380fd5b833461038f578060031936011261038f576106d8611260565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b505034610197578060031936011261019757602090610736610e29565b50606461038760ff60075460081c166024356112b8565b83903461019757602036600319011261019757610768611260565b3560065580f35b5050346101975781600319360112610197576020906006549051908152f35b9190503461025e57606036600319011261025e57826107ab610e29565b60443580151580910361025e57600080516020611420833981519152835260016020528383203384526020526107e660ff85852054166113ad565b6002546001600160a01b039260089190911c831691823b1561084e57606492859187519889968795635a3c652d60e01b87521690850152602435602485015260448401525af1908115610845575061083c575080f35b61029d9061119e565b513d84823e3d90fd5b8480fd5b50503461019757806003193601126101975760209061087b610872610e29565b60243590611320565b90519015158152f35b505034610197578160031936011261019757602090516000805160206114208339815191528152f35b839150346101975782600319360112610197576108c8610e3f565b90336001600160a01b038316036108e4579061029d91356111ea565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b838334610197576020928360031936011261025e5761095c610e29565b600080516020611420833981519152845260018552828420338552855260ff838520541615610a02578490602460018060a01b0391868360025460081c1687519687958694630d93581160e21b865216908401525af19283156109f757926109c8575b50519015158152f35b6109e9919250833d85116109f0575b6109e181836111c8565b810190611308565b90836109bf565b503d6109d7565b8251903d90823e3d90fd5b5083608492519162461bcd60e51b8352820152603b60248201527f6d61726b436f6e74726163743a3a4d757374206861766520544f4b454e5f4d4160448201527f524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400000000006064820152fd5b90503461025e578160031936011261025e573590610a86610e3f565b908284526001602052610a9e60018286200154610e55565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610acc578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83903461019757602036600319011261019757610b32611260565b3560055580f35b9190503461025e578060031936011261025e57610b54610e29565b9160249081359267ffffffffffffffff808511610d085736602386011215610d085784830135908111610d0857600590368582841b88010111610d0457600080516020611420833981519152958689526001978460208a8152818c20338d528152610bc68c60ff9384912054166113ad565b6107d08511610c935793986001600160a01b0392831694908c5b8d8c8210610beb5780f35b848a8f92610c0893868252875281812033825287522054166113ad565b60025460081c85168e813b1561038f57888f8d8f8d958f938287938f8b606498519b8c9a8b99635a3c652d60e01b8b528a01521b0101359085015260448401525af18015610c8757610c78575b506000198114610c66578c01610be0565b634e487b7160e01b8e5260118a528a8efd5b610c819061119e565b38610c55565b8f8b51903d90823e3d90fd5b8760418a60a4938a519362461bcd60e51b85528401528201527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b6084820152fd5b8780fd5b8680fd5b90503461025e57602036600319011261025e57816020936001923581528285522001549051908152f35b833461038f57602036600319011261038f57610d50610e14565b610d58611260565b61ff006007549160081b169061ff0019161760075580f35b82843461038f57602036600319011261038f5760ff6007541660ff6002541690039060ff8211610dae575061038760209360ff6064931690356112b8565b634e487b7160e01b815260118452602490fd5b84913461025e57602036600319011261025e573563ffffffff60e01b811680910361025e5760209250637965db0b60e01b8114908115610e03575b5015158152f35b6301ffc9a760e01b14905083610dfc565b6004359060ff82168203610e2457565b600080fd5b600435906001600160a01b0382168203610e2457565b602435906001600160a01b0382168203610e2457565b600090808252600191602091838352604091828120338252845260ff838220541615610e82575050505050565b3391835195606087019167ffffffffffffffff92888110848211176110a7578652602a885286880194863687378851156111675760308653885183101561116757607860218a015360295b8381116110fd57506110bb57908551926080840190848210908211176110a757865260428352868301936060368637835115611093576030855383518210156110935790607860218501536041915b81831161102557505050610fe35792610fb16048610fa29794610fd5946044989785519a8b93610f798b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c52518092603788019061117b565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061117b565b010360288101895201876111c8565b5194859362461bcd60e51b855260048501525180928160248601528585019061117b565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561107f576f181899199a1a9b1b9c1cb0b131b232b360811b901a61105585876112e1565b5360041c92801561106b57600019019190610f1c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015611153576f181899199a1a9b1b9c1cb0b131b232b360811b901a61112b838c6112e1565b5360041c90801561113f5760001901610ecd565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b83811061118e5750506000910152565b818101518382015260200161117e565b67ffffffffffffffff81116111b257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176111b257604052565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541661121b57505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b0316330361127457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b818102929181159184041417156112cb57565b634e487b7160e01b600052601160045260246000fd5b9081518110156112f2570160200190565b634e487b7160e01b600052603260045260246000fd5b90816020910312610e2457518015158103610e245790565b6001600160a01b039081166000818152600460205260409020549092906113a557604460209260025460081c16936040519485938492631446f21360e21b8452600484015260248301525afa9081156113995760009161137e575090565b611396915060203d81116109f0576109e181836111c8565b90565b6040513d6000823e3d90fd5b505050600190565b156113b457565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fdfee403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf62a2646970667358221220149e5a8bd0aed47ee04cafb5ea7c6759a8c57fc520b6eceaa716999b3c0c719b64736f6c634300081200332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","sourceMap":"552:6199:176:-:0;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;-1:-1:-1;;;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;719:10:102;955:12:81;719:10:102;955:12:81;:::i;:::-;-1:-1:-1;;;1332:17:176;552:6199;1370:4;1359:15;552:6199;1384:28;552:6199;;-1:-1:-1;;552:6199:176;;;;;1461:24;552:6199;;-1:-1:-1;;552:6199:176;;;;;;-1:-1:-1;;;;;552:6199:176;;;;1517:22;;552:6199;;;;;1642:25;552:6199;;-1:-1:-1;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;753:28:176;552:6199;;;;;;;;;;;;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;719:10:102;;;;;552:6199:176;;;1422:23:81;552:6199:176;;2256:8:81;;;;:::i;:::-;1461:24:176;753:28;;-1:-1:-1;;;;;;753:28:176;552:6199;;;;;-1:-1:-1;;;;;552:6199:176;753:28;;;;;;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:149:79;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;-1:-1:-1;;;;;;;;;;;7763:40:79;;;7665:149;;;;;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;-1:-1:-1;;;;;;;;;;;7763:40:79;;;7665:149;;552:6199:176;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:176;;;;;;;;-1:-1:-1;552:6199:176;;;;;;-1:-1:-1;552:6199:176;;;;;-1:-1:-1;552:6199:176;;;;-1:-1:-1;;;;;552:6199:176;;;;;;:::o;2426:187:81:-;2518:6;552:6199:176;;-1:-1:-1;;;;;552:6199:176;;;-1:-1:-1;;;;;;552:6199:176;;;;;;;;;2566:40:81;;2518:6;2566:40;2426:187::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610dc1575081630ff7784414610d705781631ad99c3714610d36578163248a9ca314610d0c5781632b702b5f14610b395781632cfda2f114610b175781632f2ff15d14610a6a578163364d60441461093f57816336568abe146108ad5781633765628c14610884578163511bc84c146108525781635a3c652d1461078e5781635c1b40f11461076f57816362029a1b1461074d5781636357f1ac14610719578163715018a6146106bf57816382ebaa591461058957816383475921146105675781638da5cb5b1461053f5781638e1addb21461051657816391d14854146104cf5781639d5fb53c146104ad578163a217fddf14610492578163ae312a9714610469578163b28a7bad1461043a578163b60c813514610392578163c3fc49521461035e578163c60870d3146102a0578163d547741f14610262578163f2fde38b1461019b575063f9a23e861461017a57600080fd5b346101975781600319360112610197576020906005549051908152f35b5080fd5b90503461025e57602036600319011261025e576101b6610e29565b906101bf611260565b6001600160a01b0391821692831561020c57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b9190503461025e578060031936011261025e5761029d91356102986001610287610e3f565b938387528160205286200154610e55565b6111ea565b80f35b90503461025e57602036600319011261025e576102bb610e14565b916102c4611260565b60ff806007541693169283116102e457505060ff19600254161760025580f35b90602060a492519162461bcd60e51b8352820152604860248201527f7365745374616b696e6746656550657263656e746167653a3a5f70657263656e60448201527f74616765206d757374206265203c3d206d61726b6574706c61636546656550656064820152677263656e7461676560c01b6084820152fd5b82843461038f57602036600319011261038f5750606461038760209360ff6007541690356112b8565b049051908152f35b80fd5b90503461025e57602036600319011261025e5760ff6103af610e14565b6103b7611260565b1691606483116103d157505060ff19600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f7365744d61726b6574706c61636546656550657263656e746167653a3a5f706560448201527f7263656e74616765206d757374206265203c3d203130300000000000000000006064820152fd5b50503461019757602036600319011261019757602090610458610e29565b5060ff60075460081c169051908152f35b5050346101975736600319011261038f57610482610e29565b5060243560ff81160361038f5780f35b50503461019757816003193601126101975751908152602090f35b50503461019757816003193601126101975760209060ff600254169051908152f35b90503461025e578160031936011261025e578160209360ff926104f0610e3f565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b82843461038f57602036600319011261038f5750606461038760209360ff6002541690356112b8565b505034610197578160031936011261019757905490516001600160a01b039091168152602090f35b50503461019757816003193601126101975760209060ff600754169051908152f35b9190503461025e57602091826003193601126106bb576105a7610e29565b91848052600191828552818620338752855260ff82872054161561065d5750600080516020611420833981519152938486528281526105ea838388200154610e55565b8486528281528186206001600160a01b039094168087529381528186205460ff1615610614578580f35b848652828152818620908487525284209060ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808080808580f35b84608492519162461bcd60e51b8352820152603460248201527f6772616e744d61726b6574706c6163654163636573733a3a4d7573742062652060448201527318591b5a5b881d1bc818d85b1b081b595d1a1bd960621b6064820152fd5b8380fd5b833461038f578060031936011261038f576106d8611260565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b505034610197578060031936011261019757602090610736610e29565b50606461038760ff60075460081c166024356112b8565b83903461019757602036600319011261019757610768611260565b3560065580f35b5050346101975781600319360112610197576020906006549051908152f35b9190503461025e57606036600319011261025e57826107ab610e29565b60443580151580910361025e57600080516020611420833981519152835260016020528383203384526020526107e660ff85852054166113ad565b6002546001600160a01b039260089190911c831691823b1561084e57606492859187519889968795635a3c652d60e01b87521690850152602435602485015260448401525af1908115610845575061083c575080f35b61029d9061119e565b513d84823e3d90fd5b8480fd5b50503461019757806003193601126101975760209061087b610872610e29565b60243590611320565b90519015158152f35b505034610197578160031936011261019757602090516000805160206114208339815191528152f35b839150346101975782600319360112610197576108c8610e3f565b90336001600160a01b038316036108e4579061029d91356111ea565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b838334610197576020928360031936011261025e5761095c610e29565b600080516020611420833981519152845260018552828420338552855260ff838520541615610a02578490602460018060a01b0391868360025460081c1687519687958694630d93581160e21b865216908401525af19283156109f757926109c8575b50519015158152f35b6109e9919250833d85116109f0575b6109e181836111c8565b810190611308565b90836109bf565b503d6109d7565b8251903d90823e3d90fd5b5083608492519162461bcd60e51b8352820152603b60248201527f6d61726b436f6e74726163743a3a4d757374206861766520544f4b454e5f4d4160448201527f524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400000000006064820152fd5b90503461025e578160031936011261025e573590610a86610e3f565b908284526001602052610a9e60018286200154610e55565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610acc578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b83903461019757602036600319011261019757610b32611260565b3560055580f35b9190503461025e578060031936011261025e57610b54610e29565b9160249081359267ffffffffffffffff808511610d085736602386011215610d085784830135908111610d0857600590368582841b88010111610d0457600080516020611420833981519152958689526001978460208a8152818c20338d528152610bc68c60ff9384912054166113ad565b6107d08511610c935793986001600160a01b0392831694908c5b8d8c8210610beb5780f35b848a8f92610c0893868252875281812033825287522054166113ad565b60025460081c85168e813b1561038f57888f8d8f8d958f938287938f8b606498519b8c9a8b99635a3c652d60e01b8b528a01521b0101359085015260448401525af18015610c8757610c78575b506000198114610c66578c01610be0565b634e487b7160e01b8e5260118a528a8efd5b610c819061119e565b38610c55565b8f8b51903d90823e3d90fd5b8760418a60a4938a519362461bcd60e51b85528401528201527f6d61726b546f6b656e734173536f6c643a3a417474656d7074656420746f206d60448201527f61726b206d6f7265207468616e203230303020746f6b656e7320617320736f6c6064820152601960fa1b6084820152fd5b8780fd5b8680fd5b90503461025e57602036600319011261025e57816020936001923581528285522001549051908152f35b833461038f57602036600319011261038f57610d50610e14565b610d58611260565b61ff006007549160081b169061ff0019161760075580f35b82843461038f57602036600319011261038f5760ff6007541660ff6002541690039060ff8211610dae575061038760209360ff6064931690356112b8565b634e487b7160e01b815260118452602490fd5b84913461025e57602036600319011261025e573563ffffffff60e01b811680910361025e5760209250637965db0b60e01b8114908115610e03575b5015158152f35b6301ffc9a760e01b14905083610dfc565b6004359060ff82168203610e2457565b600080fd5b600435906001600160a01b0382168203610e2457565b602435906001600160a01b0382168203610e2457565b600090808252600191602091838352604091828120338252845260ff838220541615610e82575050505050565b3391835195606087019167ffffffffffffffff92888110848211176110a7578652602a885286880194863687378851156111675760308653885183101561116757607860218a015360295b8381116110fd57506110bb57908551926080840190848210908211176110a757865260428352868301936060368637835115611093576030855383518210156110935790607860218501536041915b81831161102557505050610fe35792610fb16048610fa29794610fd5946044989785519a8b93610f798b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c52518092603788019061117b565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061117b565b010360288101895201876111c8565b5194859362461bcd60e51b855260048501525180928160248601528585019061117b565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561107f576f181899199a1a9b1b9c1cb0b131b232b360811b901a61105585876112e1565b5360041c92801561106b57600019019190610f1c565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015611153576f181899199a1a9b1b9c1cb0b131b232b360811b901a61112b838c6112e1565b5360041c90801561113f5760001901610ecd565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b83811061118e5750506000910152565b818101518382015260200161117e565b67ffffffffffffffff81116111b257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176111b257604052565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541661121b57505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b0316330361127457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b818102929181159184041417156112cb57565b634e487b7160e01b600052601160045260246000fd5b9081518110156112f2570160200190565b634e487b7160e01b600052603260045260246000fd5b90816020910312610e2457518015158103610e245790565b6001600160a01b039081166000818152600460205260409020549092906113a557604460209260025460081c16936040519485938492631446f21360e21b8452600484015260248301525afa9081156113995760009161137e575090565b611396915060203d81116109f0576109e181836111c8565b90565b6040513d6000823e3d90fd5b505050600190565b156113b457565b60405162461bcd60e51b815260206004820152603e60248201527f6d61726b455243373231546f6b656e3a3a4d757374206861766520544f4b454e60448201527f5f4d41524b5f524f4c4520726f6c6520746f2063616c6c206d6574686f6400006064820152608490fdfee403a42bbb760a8b3610033c6ca9047404adf765af465dfb889617dd2d64bf62a2646970667358221220149e5a8bd0aed47ee04cafb5ea7c6759a8c57fc520b6eceaa716999b3c0c719b64736f6c63430008120033","sourceMap":"552:6199:176:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2359:8;552:6199;;;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;-1:-1:-1;;;;;552:6199:176;;;;2162:22:81;;552:6199:176;;-1:-1:-1;;552:6199:176;;-1:-1:-1;;;;;;552:6199:176;;;;;;;2566:40:81;552:6199:176;;2566:40:81;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;5486:7:79;552:6199:176;;2642:4:79;552:6199:176;;;:::i;:::-;;;;;;;;;;4604:22:79;552:6199:176;2642:4:79;:::i;:::-;5486:7;:::i;:::-;552:6199:176;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;552:6199:176;;6143:24;552:6199;;;;6128:39;;;552:6199;;;;;;6275:34;552:6199;;;6275:34;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;3520:3;3482:34;552:6199;;;3492:24;552:6199;;;;3482:34;:::i;:::-;552:6199;;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;552:6199:176;3177:18;3192:3;3177:18;;552:6199;;;;;;3286:38;552:6199;;;3286:38;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3192:3;552:6199;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;;;:::i;:::-;;;3688:24;552:6199;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5993:20;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;6497:3;6463:30;552:6199;;;6473:20;552:6199;;;;6463:30;:::i;552:6199::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;3034:24;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3130:6:79;552:6199:176;;;;;;;719:10:102;552:6199:176;;;;;;;;;;;;;753:28;-1:-1:-1;;;;;;;;;;;552:6199:176;;;;;;;2642:4:79;552:6199:176;;;;4604:22:79;552:6199:176;2642:4:79;:::i;:::-;552:6199:176;;;;;;;;;-1:-1:-1;;;;;552:6199:176;;;;;;;;;;;;;;;7669:23:79;7665:149;;552:6199:176;;;7665:149:79;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;;;;7665:149;;;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;552:6199:176;;-1:-1:-1;;;;;;552:6199:176;;;;;;-1:-1:-1;;;;;552:6199:176;2566:40:81;552:6199:176;;2566:40:81;552:6199:176;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4061:3;4023:34;552:6199;4033:24;552:6199;;;;;;4023:34;:::i;552:6199::-;;;;;;;;-1:-1:-1;;552:6199:176;;;;1063:62:81;;:::i;:::-;552:6199:176;2870:20;552:6199;;;;;;;;;;;;;;;;;;;2769:8;552:6199;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;552:6199:176;;3130:6:79;552:6199:176;;;;;4682:10;552:6199;;;;4636:145;552:6199;;;;;;4636:145;:::i;:::-;4791:22;552:6199;-1:-1:-1;;;;;552:6199:176;;;;;;;;;4791:122;;;;;552:6199;;;;;;;;;;;;;;4791:122;;552:6199;4791:122;;;552:6199;;;;;;;;;;;4791:122;;;;;;;;;;552:6199;;;4791:122;;;;:::i;:::-;552:6199;;;;;;;;4791:122;552:6199;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;552:6199:176;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:102;;-1:-1:-1;;;;;552:6199:176;;6133:23:79;552:6199:176;;;6237:7:79;552:6199:176;;6237:7:79;:::i;552:6199:176:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;552:6199:176;;3130:6:79;552:6199:176;;;;;5717:10;552:6199;;;;;;;;;;;;;;;;;;;;;;;;5830:22;552:6199;;;;;;;;;;;;;;5830:59;;552:6199;5830:59;;;552:6199;5830:59;;;;;;;;;;552:6199;;;;;;;;;5830:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:79;552:6199:176;;;;4604:22:79;552:6199:176;2642:4:79;:::i;:::-;552:6199:176;;;;;;;;;;;-1:-1:-1;;;;;552:6199:176;;;;;;;;;;;;;;;7669:23:79;7665:149;;552:6199:176;;;7665:149:79;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;;;;7665:149;;;552:6199:176;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;1063:62:81;;:::i;:::-;552:6199:176;2644:20;552:6199;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;552:6199:176;;;;3130:6:79;552:6199:176;;;;;;;;;5094:10;552:6199;;;;5048:145;552:6199;;;;;;;;5048:145;:::i;:::-;5280:4;5260:24;;552:6199;;5432:13;;-1:-1:-1;;;;;552:6199:176;;;;-1:-1:-1;5432:13:176;5447:20;;;;;;;552:6199;;5469:3;552:6199;;;;4636:145;552:6199;;;;;;;;;5094:10;552:6199;;;;;;;4636:145;:::i;:::-;4791:22;552:6199;;;;;;4791:122;;;;;552:6199;;;;;;;;;;;;;;;;;;;;;;;;4791:122;;;;552:6199;;;;;;;;;;;;;4791:122;;;;;;;;5469:3;-1:-1:-1;;;552:6199:176;;;;;;5432:13;;552:6199;-1:-1:-1;;;552:6199:176;;;;;;;;4791:122;;;;:::i;:::-;;;;;552:6199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;;;;;;;;;;;4604:22:79;552:6199:176;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;552:6199:176;2499:52;552:6199;;;;;;;;;;2499:52;552:6199;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;6687:24;552:6199;;;6714:20;552:6199;;;;;;;;;;;6676:59;552:6199;;;6739:3;552:6199;;;;6676:59;:::i;552:6199::-;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:79;;;:87;;;;552:6199:176;;;;;;;2840:87:79;-1:-1:-1;;;937:40:107;;-1:-1:-1;2840:87:79;;;552:6199:176;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;552:6199:176;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;552:6199:176;;;;;;:::o;3460:103:79:-;-1:-1:-1;552:6199:176;;;;3130:6:79;552:6199:176;;;;;;;;;;;719:10:102;552:6199:176;;;;;;;;;;3931:23:79;3927:390;;3460:103;;;;;:::o;3927:390::-;719:10:102;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;552:6199:176;;;;;;;2000:15:104;552:6199:176;;;2000:15:104;552:6199:176;2058:5:104;;;;;;2170:10;278:18;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;552:6199:176;;;;;;;;2000:15:104;552:6199:176;;;2000:15:104;552:6199:176;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;552:6199:176;4022:252:79;552:6199:176;;;;;;;;;;;4022:252:79;;;552:6199:176;4022:252:79;;;552:6199:176;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;:::i;:::-;;4022:252:79;;;;;;;;;:::i;:::-;552:6199:176;;;;;;;3970:336:79;;2141:1:104;3970:336:79;;552:6199:176;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;552:6199:176;;;3970:336:79;;;;278:18:104;;552:6199:176;;;;;;;278:18:104;;;2141:1;278:18;;;;;;552:6199:176;278:18:104;552:6199:176;;;278:18:104;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;552:6199:176;;;;-1:-1:-1;;552:6199:176;;2030:26:104;;;552:6199:176;-1:-1:-1;;;552:6199:176;;;2141:1:104;552:6199:176;;;;2096:21:104;-1:-1:-1;;;552:6199:176;;;2141:1:104;552:6199:176;;;;;-1:-1:-1;;;552:6199:176;;;2141:1:104;552:6199:176;;;;;-1:-1:-1;;;552:6199:176;;;2141:1:104;552:6199:176;;;;278:18:104;;552:6199:176;;;;;;;278:18:104;;;2141:1;278:18;;;;;;552:6199:176;278:18:104;552:6199:176;;;278:18:104;;2065:3;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;278:18;2065:3;552:6199:176;;;;-1:-1:-1;;552:6199:176;2030:26:104;;552:6199:176;-1:-1:-1;;;552:6199:176;;;2141:1:104;552:6199:176;;;;2096:21:104;-1:-1:-1;;;552:6199:176;;;2141:1:104;552:6199:176;;;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;-1:-1:-1;;552:6199:176;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7991:234:79:-;;-1:-1:-1;552:6199:176;;;;3130:6:79;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;8070:149:79;;7991:234;;;:::o;8070:149::-;552:6199:176;;;3130:6:79;552:6199:176;;;;;;;;;;;;;;;;;;;;8168:40:79;719:10:102;8168:40:79;;;7991:234::o;1359:130:81:-;1273:6;552:6199:176;-1:-1:-1;;;;;552:6199:176;719:10:102;1422:23:81;552:6199:176;;1359:130:81:o;552:6199:176:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4077:413::-;-1:-1:-1;;;;;552:6199:176;;;-1:-1:-1;552:6199:176;;;4351:12:113;552:6199:176;;;;;;;;;4306:32;;552:6199;;;4368:22;552:6199;;;;;;;;;;;;;;;4368:115;;4351:12:113;4368:115:176;;552:6199;;;;;4368:115;;;;;;;-1:-1:-1;4368:115:176;;;4349:134;4077:413;:::o;4368:115::-;;;;552:6199;4368:115;;;;;;;;;:::i;:::-;4077:413;:::o;4368:115::-;552:6199;;;-1:-1:-1;552:6199:176;;;;;4306:32;4327:11;;;552:6199;4327:11;:::o;552:6199::-;;;;:::o;:::-;;;-1:-1:-1;;;552:6199:176;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","TOKEN_MARK_ROLE()":"3765628c","calculateMarketplaceFee(uint256)":"c3fc4952","calculateMarketplacePayoutFee(uint256)":"0ff77844","calculatePrimarySaleFee(address,uint256)":"6357f1ac","calculateStakingFee(uint256)":"8e1addb2","getERC721ContractPrimarySaleFeePercentage(address)":"b28a7bad","getMarketplaceFeePercentage()":"83475921","getMarketplaceMaxValue()":"f9a23e86","getMarketplaceMinValue()":"5c1b40f1","getRoleAdmin(bytes32)":"248a9ca3","getStakingFeePercentage()":"9d5fb53c","grantMarketplaceAccess(address)":"82ebaa59","grantRole(bytes32,address)":"2f2ff15d","hasERC721TokenSold(address,uint256)":"511bc84c","hasRole(bytes32,address)":"91d14854","markContractAsSold(address)":"364d6044","markERC721Token(address,uint256,bool)":"5a3c652d","markTokensAsSold(address,uint256[])":"2b702b5f","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setERC721ContractPrimarySaleFeePercentage(address,uint8)":"ae312a97","setMarketplaceFeePercentage(uint8)":"b60c8135","setMarketplaceMaxValue(uint256)":"2cfda2f1","setMarketplaceMinValue(uint256)":"62029a1b","setPrimarySaleFeePercentage(uint8)":"1ad99c37","setStakingFeePercentage(uint8)":"c60870d3","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldSettings\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOKEN_MARK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplaceFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateMarketplacePayoutFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculatePrimarySaleFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateStakingFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getERC721ContractPrimarySaleFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMaxValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketplaceMinValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingFeePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"grantMarketplaceAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"hasERC721TokenSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"markContractAsSold\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_hasSold\",\"type\":\"bool\"}],\"name\":\"markERC721Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"markTokensAsSold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setERC721ContractPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setMarketplaceFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMaxValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minValue\",\"type\":\"uint256\"}],\"name\":\"setMarketplaceMinValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_primarySaleFeePercentage\",\"type\":\"uint8\"}],\"name\":\"setPrimarySaleFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setStakingFeePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"calculateMarketplaceFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculateMarketplacePayoutFee(uint256)\":{\"details\":\"Utility function for calculating the marketplace payout fee for given amount of wei. marketplaceFee - stakingFee\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"calculateStakingFee(uint256)\":{\"details\":\"Utility function for calculating the staking fee for given amount of wei.\",\"params\":{\"_amount\":\"uint256 wei amount.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getMarketplaceFeePercentage()\":{\"details\":\"Get the marketplace fee percentage.\",\"returns\":{\"_0\":\"uint8 wei fee.\"}},\"getMarketplaceMaxValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getMarketplaceMinValue()\":{\"details\":\"Get the max value to be used with the marketplace.\",\"returns\":{\"_0\":\"uint256 wei value.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStakingFeePercentage()\":{\"details\":\"Get the staking percentage.\",\"returns\":{\"_0\":\"uint8 wei staking fee percentage.\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasERC721TokenSold(address,uint256)\":{\"details\":\"Check whether the ERC721 token has sold at least once.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"bool of whether the token has sold.\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"markERC721Token(address,uint256,bool)\":{\"details\":\"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_hasSold\":\"bool of whether the token should be marked sold or not.\",\"_tokenId\":\"uint256 token ID.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/MarketplaceSettingsV3.sol\":\"MarketplaceSettingsV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/marketplace/MarketplaceSettingsV2.sol\":{\"keccak256\":\"0x1f2722fe66ea8cb272b4da0b9e55bb8689f28d574ba8c8205c480204c31779a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7450cd89062da62bc7bdfd43c8ad4d383d93532cdae728e644b69d604220e1e2\",\"dweb:/ipfs/QmTGZYfnjX7cEEiM3TNp3m3vK4KUJ9q32NLHrnjgaPTdua\"]},\"src/marketplace/MarketplaceSettingsV3.sol\":{\"keccak256\":\"0xb0251bdff8343efa71bad71f6ed40696f8d5dfce6d5cb8a5ad01adc4ce882db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36d6c89a41630916a58c97bf05c2c1137636324cbf1efa8f31c17417f1f6215e\",\"dweb:/ipfs/QmYhHcX5Ev3c9JHu263nPPmauQyZjzec1LNkMiZL7JfHD8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"address","name":"oldSettings","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOKEN_MARK_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplaceFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateMarketplacePayoutFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculatePrimarySaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateStakingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"getERC721ContractPrimarySaleFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMaxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketplaceMinValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingFeePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantMarketplaceAccess"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasERC721TokenSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"markContractAsSold","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_hasSold","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"markERC721Token"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"markTokensAsSold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setERC721ContractPrimarySaleFeePercentage"},{"inputs":[{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceFeePercentage"},{"inputs":[{"internalType":"uint256","name":"_maxValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMaxValue"},{"inputs":[{"internalType":"uint256","name":"_minValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceMinValue"},{"inputs":[{"internalType":"uint8","name":"_primarySaleFeePercentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPrimarySaleFeePercentage"},{"inputs":[{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setStakingFeePercentage"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"calculateMarketplaceFee(uint256)":{"details":"Utility function for calculating the marketplace fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculateMarketplacePayoutFee(uint256)":{"details":"Utility function for calculating the marketplace payout fee for given amount of wei. marketplaceFee - stakingFee","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"calculateStakingFee(uint256)":{"details":"Utility function for calculating the staking fee for given amount of wei.","params":{"_amount":"uint256 wei amount."},"returns":{"_0":"uint256 wei fee."}},"getMarketplaceFeePercentage()":{"details":"Get the marketplace fee percentage.","returns":{"_0":"uint8 wei fee."}},"getMarketplaceMaxValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getMarketplaceMinValue()":{"details":"Get the max value to be used with the marketplace.","returns":{"_0":"uint256 wei value."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStakingFeePercentage()":{"details":"Get the staking percentage.","returns":{"_0":"uint8 wei staking fee percentage."}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasERC721TokenSold(address,uint256)":{"details":"Check whether the ERC721 token has sold at least once.","params":{"_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"bool of whether the token has sold."}},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"markERC721Token(address,uint256,bool)":{"details":"Mark a token as sold. Requirements: - `_contractAddress` cannot be the zero address.","params":{"_contractAddress":"address ERC721Contract address.","_hasSold":"bool of whether the token should be marked sold or not.","_tokenId":"uint256 token ID."}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/MarketplaceSettingsV3.sol":"MarketplaceSettingsV3"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/marketplace/MarketplaceSettingsV2.sol":{"keccak256":"0x1f2722fe66ea8cb272b4da0b9e55bb8689f28d574ba8c8205c480204c31779a5","urls":["bzz-raw://7450cd89062da62bc7bdfd43c8ad4d383d93532cdae728e644b69d604220e1e2","dweb:/ipfs/QmTGZYfnjX7cEEiM3TNp3m3vK4KUJ9q32NLHrnjgaPTdua"],"license":"MIT"},"src/marketplace/MarketplaceSettingsV3.sol":{"keccak256":"0xb0251bdff8343efa71bad71f6ed40696f8d5dfce6d5cb8a5ad01adc4ce882db5","urls":["bzz-raw://36d6c89a41630916a58c97bf05c2c1137636324cbf1efa8f31c17417f1f6215e","dweb:/ipfs/QmYhHcX5Ev3c9JHu263nPPmauQyZjzec1LNkMiZL7JfHD8"],"license":"MIT"}},"version":1},"id":176} \ No newline at end of file diff --git a/abis/Payments.json b/abis/Payments.json index 93d3e46..0190c40 100644 --- a/abis/Payments.json +++ b/abis/Payments.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"payments","inputs":[{"name":"dest","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payout","inputs":[{"name":"_splits","type":"address[]","internalType":"address[]"},{"name":"_amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"refund","inputs":[{"name":"_payee","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdrawPayments","inputs":[{"name":"payee","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60a0806040523461007e576104fd8181016001600160401b03811183821017610068578291610612833903906000f0801561005c5760805260405161058e9081610084823960805181818160940152818161036601526104b10152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60806040908082526004918236101561001757600080fd5b600091823560e01c90816331b3eb941461033957508063410085df1461027f578063c176e639146101145763e2982c211461005157600080fd5b34610110576020928360031936011261010c578361006d6103cf565b83516371d4ed8d60e11b81526001600160a01b0391821693810193909352829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9283156101015780936100cc575b505051908152f35b909192508382813d83116100fa575b6100e58183610445565b810103126100f75750519038806100c4565b80fd5b503d6100db565b8251903d90823e3d90fd5b8280fd5b5080fd5b5080839160031936011261010c5767ffffffffffffffff90823582811161027b5761014290369085016103ea565b9060249384359081116102775761015f90929192369087016103ea565b9092879388935b8085106101be575050505050340361017c578380f35b606492916020601792519362461bcd60e51b85528401528201527f7061796f75743a3a6e6f7420656e6f7567682073656e740000000000000000006044820152fd5b90919293946101ce86868561051e565b35810180911161020f57946001600160a01b036101f46101ef83858861051e565b610544565b16610221575b600019811461020f5760010193929190610166565b634e487b7160e01b8a5260118952878afd5b898080806102336101ef86888b61051e565b61023e868b8a61051e565b35905af161024a610467565b506101fa576102726102606101ef83858861051e565b61026b83888761051e565b35906104a7565b6101fa565b8680fd5b8480fd5b5080839160031936011261010c576102956103cf565b91602435916001600160a01b038416156102e457505080340361010c57806102bb578280f35b8280808084865af16102cb610467565b50156102d5578280f35b6102de916104a7565b81808280f35b906020608492519162461bcd60e51b8352820152602960248201527f726566756e643a3a6e6f207061796565732063616e20626520746865207a65726044820152686f206164647265737360b81b6064820152fd5b9293849150346101105760203660031901126101105780356001600160a01b03818116918290036103cb577f00000000000000000000000000000000000000000000000000000000000000001690813b156103cb578360249287949285936351cff8d960e01b85528401525af19081156103c257506103b6575080f35b6103bf9061041b565b80f35b513d84823e3d90fd5b8380fd5b600435906001600160a01b03821682036103e557565b600080fd5b9181601f840112156103e55782359167ffffffffffffffff83116103e5576020808501948460051b0101116103e557565b67ffffffffffffffff811161042f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761042f57604052565b3d156104a2573d9067ffffffffffffffff821161042f5760405191610496601f8201601f191660200184610445565b82523d6000602084013e565b606090565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692833b156103e557600092602491604051958694859363f340fa0160e01b85521660048401525af18015610512576105075750565b6105109061041b565b565b6040513d6000823e3d90fd5b919081101561052e5760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b03811681036103e5579056fea264697066735822122045da63cb40b042c3f5c117553c68d2a8d1994331843d0cc9675cc81d2143511864736f6c634300081200336080806040523461005b5760008054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361049c90816100618239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c806351cff8d914610279578063715018a61461021c5780638da5cb5b146101f0578063e3a9db1a146101b6578063f2fde38b146100ed5763f340fa011461006257600080fd5b60203660031901126100e95781356001600160a01b03811692908390036100e55761008b61040e565b82845260016020528184208054913483018093116100d2575055513481527f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602090a280f35b634e487b7160e01b865260119052602485fd5b8380fd5b8280fd5b50346100e95760203660031901126100e9576001600160a01b038235818116939192908490036101b25761011f61040e565b831561016057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b5090346100e95760203660031901126100e957356001600160a01b038116908190036100e957828291602094526001845220549051908152f35b838234610218578160031936011261021857905490516001600160a01b039091168152602090f35b5080fd5b833461027657806003193601126102765761023561040e565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5090346100e957602090816003193601126100e55780356001600160a01b03811693908490036101b2576102ab61040e565b838552600183528085209185835493558247106103cd578580808086895af13d156103c85767ffffffffffffffff3d8181116103b557845191601f8201601f19908116603f01168301908111838210176103a2578552815287863d92013e5b1561033b5750519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59190a280f35b83608492519162461bcd60e51b8352820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b634e487b7160e01b8a526041855260248afd5b634e487b7160e01b895260418452602489fd5b61030a565b83606492519162461bcd60e51b8352820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b6000546001600160a01b0316330361042257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfea26469706673582212208bc20c93a55d7152af05d04e7b0530cb4b6f2efc4a8acfc1992c23e0babade3064736f6c63430008120033","sourceMap":"242:1776:53:-:0;;;;;;;1265:12:23;;;;-1:-1:-1;;;;;1265:12:23;;;;;;;;;;;;;;;;;;;;;1255:22;;242:1776:53;;;;;;;;1255:22:23;242:1776:53;;;;;;;;;;;;;;;;1265:12:23;242:1776:53;;;1265:12:23;242:1776:53;;;;;1265:12:23;242:1776:53;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040908082526004918236101561001757600080fd5b600091823560e01c90816331b3eb941461033957508063410085df1461027f578063c176e639146101145763e2982c211461005157600080fd5b34610110576020928360031936011261010c578361006d6103cf565b83516371d4ed8d60e11b81526001600160a01b0391821693810193909352829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9283156101015780936100cc575b505051908152f35b909192508382813d83116100fa575b6100e58183610445565b810103126100f75750519038806100c4565b80fd5b503d6100db565b8251903d90823e3d90fd5b8280fd5b5080fd5b5080839160031936011261010c5767ffffffffffffffff90823582811161027b5761014290369085016103ea565b9060249384359081116102775761015f90929192369087016103ea565b9092879388935b8085106101be575050505050340361017c578380f35b606492916020601792519362461bcd60e51b85528401528201527f7061796f75743a3a6e6f7420656e6f7567682073656e740000000000000000006044820152fd5b90919293946101ce86868561051e565b35810180911161020f57946001600160a01b036101f46101ef83858861051e565b610544565b16610221575b600019811461020f5760010193929190610166565b634e487b7160e01b8a5260118952878afd5b898080806102336101ef86888b61051e565b61023e868b8a61051e565b35905af161024a610467565b506101fa576102726102606101ef83858861051e565b61026b83888761051e565b35906104a7565b6101fa565b8680fd5b8480fd5b5080839160031936011261010c576102956103cf565b91602435916001600160a01b038416156102e457505080340361010c57806102bb578280f35b8280808084865af16102cb610467565b50156102d5578280f35b6102de916104a7565b81808280f35b906020608492519162461bcd60e51b8352820152602960248201527f726566756e643a3a6e6f207061796565732063616e20626520746865207a65726044820152686f206164647265737360b81b6064820152fd5b9293849150346101105760203660031901126101105780356001600160a01b03818116918290036103cb577f00000000000000000000000000000000000000000000000000000000000000001690813b156103cb578360249287949285936351cff8d960e01b85528401525af19081156103c257506103b6575080f35b6103bf9061041b565b80f35b513d84823e3d90fd5b8380fd5b600435906001600160a01b03821682036103e557565b600080fd5b9181601f840112156103e55782359167ffffffffffffffff83116103e5576020808501948460051b0101116103e557565b67ffffffffffffffff811161042f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761042f57604052565b3d156104a2573d9067ffffffffffffffff821161042f5760405191610496601f8201601f191660200184610445565b82523d6000602084013e565b606090565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692833b156103e557600092602491604051958694859363f340fa0160e01b85521660048401525af18015610512576105075750565b6105109061041b565b565b6040513d6000823e3d90fd5b919081101561052e5760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b03811681036103e5579056fea264697066735822122045da63cb40b042c3f5c117553c68d2a8d1994331843d0cc9675cc81d2143511864736f6c63430008120033","sourceMap":"242:1776:53:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;2297:24:23;;-1:-1:-1;;;;;242:1776:53;;;2297:24:23;;;242:1776:53;;;;;;;;;;2297:7:23;242:1776:53;2297:24:23;;;;;;;;;;;242:1776:53;;;;;;;;2297:24:23;;;;;;;;;;;;;;;;;;:::i;:::-;;;242:1776:53;;;;;;2297:24:23;;;;;242:1776:53;;;2297:24:23;;;;;;242:1776:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1503:23;;;1542:13;;1537:402;1557:18;;;;;;1957:9;;;;;;:24;242:1776;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1577:3;1624:11;;;;;;;;;;:::i;:::-;242:1776;;;;;;;;;-1:-1:-1;;;;;1653:10:53;;242:1776;1653:10;;;:::i;:::-;;:::i;:::-;242:1776;1649:280;;1577:3;-1:-1:-1;;242:1776:53;;;;;;1542:13;;;;;;242:1776;-1:-1:-1;;;242:1776:53;;;;;;;;1649:280;1724:10;;;;;;;;;;:::i;:::-;1748:11;;;;;:::i;:::-;242:1776;1716:86;;;;;:::i;:::-;;1649:280;1821:94;1884:11;1872:10;;;;;;:::i;:::-;1884:11;;;;;:::i;:::-;242:1776;1884:11;;:::i;:::-;1649:280;;242:1776;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;242:1776:53;;853:20;242:1776;;959:9;;;;:20;242:1776;;995:11;991:193;;242:1776;;;991:193;1041:40;;;;;;;;;;:::i;:::-;;1100:8;1096:78;;242:1776;;;1096:78;1151:7;;;:::i;:::-;1096:78;;242:1776;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;242:1776:53;;;;;;;;;;;;;;;;-1:-1:-1;;242:1776:53;;;;;;-1:-1:-1;;;;;242:1776:53;;;;;;;;;2070:7:23;242:1776:53;2070:23:23;;;;;;242:1776:53;;;;;;;;;;;2070:23:23;;;;242:1776:53;2070:23:23;;;;;;;;;;242:1776:53;;;2070:23:23;;;;:::i;:::-;242:1776:53;;2070:23:23;242:1776:53;;;;;;;;2070:23:23;242:1776:53;;;;;;;-1:-1:-1;;;;;242:1776:53;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;242:1776:53;;;;;:::i;:::-;;;;-1:-1:-1;242:1776:53;;;;:::o;:::-;;;:::o;2750:124:23:-;-1:-1:-1;;;;;2831:7:23;242:1776:53;;;2831:36:23;;;;;;242:1776:53;;;;;;;;;;;;;2831:36:23;;242:1776:53;2831:36:23;;;242:1776:53;2831:36:23;;;;;;;;2750:124;:::o;2831:36::-;;;;:::i;:::-;2750:124::o;2831:36::-;242:1776:53;;;2831:36:23;242:1776:53;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;242:1776:53;;;;;;;:::o","linkReferences":{},"immutableReferences":{"30206":[{"start":148,"length":32},{"start":870,"length":32},{"start":1201,"length":32}]}},"methodIdentifiers":{"payments(address)":"e2982c21","payout(address[],uint256[])":"c176e639","refund(address,uint256)":"410085df","withdrawPayments(address)":"31b3eb94"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_splits\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"payout\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"payments(address)\":{\"details\":\"Returns the payments owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"refund(address,uint256)\":{\"details\":\"Internal function to refund an address. Typically for canceled bids or offers. Requirements: - _payee cannot be the zero address\",\"params\":{\"_amount\":\"uint256 value to be split.\",\"_payee\":\"address seller of the token.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event.\"}}},\"title\":\"Payments contract for SuperRare Marketplaces.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/payments/Payments.sol\":\"Payments\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/security/PullPayment.sol\":{\"keccak256\":\"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0\",\"dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/payments/Payments.sol\":{\"keccak256\":\"0x444e2fd4796c9743d401b84b7d2cb947896982e46562afbd3da4a24cda9631da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23a779064c0fc9e834ec0b32e23b37aed12f02a8ef97b66f8f6c18c78a24b5cb\",\"dweb:/ipfs/Qmf7ywUm1qTAkcJu1AAuKaZUKCqZaTHWN7BwxANcrBPvAE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"dest","type":"address"}],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_splits","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function","name":"payout"},{"inputs":[{"internalType":"address","name":"_payee","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"refund"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawPayments"}],"devdoc":{"kind":"dev","methods":{"payments(address)":{"details":"Returns the payments owed to an address.","params":{"dest":"The creditor's address."}},"refund(address,uint256)":{"details":"Internal function to refund an address. Typically for canceled bids or offers. Requirements: - _payee cannot be the zero address","params":{"_amount":"uint256 value to be split.","_payee":"address seller of the token."}},"withdrawPayments(address)":{"details":"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.","params":{"payee":"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/payments/Payments.sol":"Payments"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/PullPayment.sol":{"keccak256":"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860","urls":["bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0","dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol":{"keccak256":"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65","urls":["bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680","dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/payments/Payments.sol":{"keccak256":"0x444e2fd4796c9743d401b84b7d2cb947896982e46562afbd3da4a24cda9631da","urls":["bzz-raw://23a779064c0fc9e834ec0b32e23b37aed12f02a8ef97b66f8f6c18c78a24b5cb","dweb:/ipfs/Qmf7ywUm1qTAkcJu1AAuKaZUKCqZaTHWN7BwxANcrBPvAE"],"license":"MIT"}},"version":1},"id":53} \ No newline at end of file +{"abi":[{"type":"function","name":"payments","inputs":[{"name":"dest","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payout","inputs":[{"name":"_splits","type":"address[]","internalType":"address[]"},{"name":"_amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"refund","inputs":[{"name":"_payee","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdrawPayments","inputs":[{"name":"payee","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60a0806040523461007e576104fd8181016001600160401b03811183821017610068578291610616833903906000f0801561005c576080526040516105929081610084823960805181818160940152818161036a01526104b50152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60806040908082526004918236101561001757600080fd5b600091823560e01c90816331b3eb941461033d57508063410085df14610281578063c176e639146101145763e2982c211461005157600080fd5b34610110576020928360031936011261010c578361006d6103d3565b83516371d4ed8d60e11b81526001600160a01b0391821693810193909352829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9283156101015780936100cc575b505051908152f35b909192508382813d83116100fa575b6100e58183610449565b810103126100f75750519038806100c4565b80fd5b503d6100db565b8251903d90823e3d90fd5b8280fd5b5080fd5b5080839160031936011261010c5767ffffffffffffffff90823582811161027d5761014290369085016103ee565b9060249384359081116102795761015f90929192369087016103ee565b9092879388935b8085106101be575050505050340361017c578380f35b606492916020601792519362461bcd60e51b85528401528201527f7061796f75743a3a6e6f7420656e6f7567682073656e740000000000000000006044820152fd5b90919293946101ce868685610522565b35810180911161020f57946001600160a01b036101f46101ef838588610522565b610548565b16610221575b600019811461020f5760010193929190610166565b634e487b7160e01b8a5260118952878afd5b898080806102336101ef86888b610522565b61023e868b8a610522565b359061c350f161024c61046b565b506101fa576102746102626101ef838588610522565b61026d838887610522565b35906104ab565b6101fa565b8680fd5b8480fd5b5080839160031936011261010c576102976103d3565b91602435916001600160a01b038416156102e857505080340361010c57806102bd578280f35b82808080848661c350f16102cf61046b565b50156102d9578280f35b6102e2916104ab565b81808280f35b906020608492519162461bcd60e51b8352820152602960248201527f726566756e643a3a6e6f207061796565732063616e20626520746865207a65726044820152686f206164647265737360b81b6064820152fd5b9293849150346101105760203660031901126101105780356001600160a01b03818116918290036103cf577f00000000000000000000000000000000000000000000000000000000000000001690813b156103cf578360249287949285936351cff8d960e01b85528401525af19081156103c657506103ba575080f35b6103c39061041f565b80f35b513d84823e3d90fd5b8380fd5b600435906001600160a01b03821682036103e957565b600080fd5b9181601f840112156103e95782359167ffffffffffffffff83116103e9576020808501948460051b0101116103e957565b67ffffffffffffffff811161043357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761043357604052565b3d156104a6573d9067ffffffffffffffff8211610433576040519161049a601f8201601f191660200184610449565b82523d6000602084013e565b606090565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692833b156103e957600092602491604051958694859363f340fa0160e01b85521660048401525af180156105165761050b5750565b6105149061041f565b565b6040513d6000823e3d90fd5b91908110156105325760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b03811681036103e9579056fea26469706673582212202845cfe8632cd3775b9ea8c6b61a7857b7327165570017f205529a9f2085934e64736f6c634300081200336080806040523461005b5760008054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361049c90816100618239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c806351cff8d914610279578063715018a61461021c5780638da5cb5b146101f0578063e3a9db1a146101b6578063f2fde38b146100ed5763f340fa011461006257600080fd5b60203660031901126100e95781356001600160a01b03811692908390036100e55761008b61040e565b82845260016020528184208054913483018093116100d2575055513481527f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c490602090a280f35b634e487b7160e01b865260119052602485fd5b8380fd5b8280fd5b50346100e95760203660031901126100e9576001600160a01b038235818116939192908490036101b25761011f61040e565b831561016057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b5090346100e95760203660031901126100e957356001600160a01b038116908190036100e957828291602094526001845220549051908152f35b838234610218578160031936011261021857905490516001600160a01b039091168152602090f35b5080fd5b833461027657806003193601126102765761023561040e565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5090346100e957602090816003193601126100e55780356001600160a01b03811693908490036101b2576102ab61040e565b838552600183528085209185835493558247106103cd578580808086895af13d156103c85767ffffffffffffffff3d8181116103b557845191601f8201601f19908116603f01168301908111838210176103a2578552815287863d92013e5b1561033b5750519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59190a280f35b83608492519162461bcd60e51b8352820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b634e487b7160e01b8a526041855260248afd5b634e487b7160e01b895260418452602489fd5b61030a565b83606492519162461bcd60e51b8352820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b6000546001600160a01b0316330361042257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfea2646970667358221220a16ccdc2353372c77184f1efd7434c991500753aefe7add5654688c3430189f164736f6c63430008120033","sourceMap":"242:1802:179:-:0;;;;;;;1265:12:91;;;;-1:-1:-1;;;;;1265:12:91;;;;;;;;;;;;;;;;;;;;;1255:22;;242:1802:179;;;;;;;;1255:22:91;242:1802:179;;;;;;;;;;;;;;;;1265:12:91;242:1802:179;;;1265:12:91;242:1802:179;;;;;1265:12:91;242:1802:179;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040908082526004918236101561001757600080fd5b600091823560e01c90816331b3eb941461033d57508063410085df14610281578063c176e639146101145763e2982c211461005157600080fd5b34610110576020928360031936011261010c578361006d6103d3565b83516371d4ed8d60e11b81526001600160a01b0391821693810193909352829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9283156101015780936100cc575b505051908152f35b909192508382813d83116100fa575b6100e58183610449565b810103126100f75750519038806100c4565b80fd5b503d6100db565b8251903d90823e3d90fd5b8280fd5b5080fd5b5080839160031936011261010c5767ffffffffffffffff90823582811161027d5761014290369085016103ee565b9060249384359081116102795761015f90929192369087016103ee565b9092879388935b8085106101be575050505050340361017c578380f35b606492916020601792519362461bcd60e51b85528401528201527f7061796f75743a3a6e6f7420656e6f7567682073656e740000000000000000006044820152fd5b90919293946101ce868685610522565b35810180911161020f57946001600160a01b036101f46101ef838588610522565b610548565b16610221575b600019811461020f5760010193929190610166565b634e487b7160e01b8a5260118952878afd5b898080806102336101ef86888b610522565b61023e868b8a610522565b359061c350f161024c61046b565b506101fa576102746102626101ef838588610522565b61026d838887610522565b35906104ab565b6101fa565b8680fd5b8480fd5b5080839160031936011261010c576102976103d3565b91602435916001600160a01b038416156102e857505080340361010c57806102bd578280f35b82808080848661c350f16102cf61046b565b50156102d9578280f35b6102e2916104ab565b81808280f35b906020608492519162461bcd60e51b8352820152602960248201527f726566756e643a3a6e6f207061796565732063616e20626520746865207a65726044820152686f206164647265737360b81b6064820152fd5b9293849150346101105760203660031901126101105780356001600160a01b03818116918290036103cf577f00000000000000000000000000000000000000000000000000000000000000001690813b156103cf578360249287949285936351cff8d960e01b85528401525af19081156103c657506103ba575080f35b6103c39061041f565b80f35b513d84823e3d90fd5b8380fd5b600435906001600160a01b03821682036103e957565b600080fd5b9181601f840112156103e95782359167ffffffffffffffff83116103e9576020808501948460051b0101116103e957565b67ffffffffffffffff811161043357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761043357604052565b3d156104a6573d9067ffffffffffffffff8211610433576040519161049a601f8201601f191660200184610449565b82523d6000602084013e565b606090565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692833b156103e957600092602491604051958694859363f340fa0160e01b85521660048401525af180156105165761050b5750565b6105149061041f565b565b6040513d6000823e3d90fd5b91908110156105325760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b03811681036103e9579056fea26469706673582212202845cfe8632cd3775b9ea8c6b61a7857b7327165570017f205529a9f2085934e64736f6c63430008120033","sourceMap":"242:1802:179:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;2297:24:91;;-1:-1:-1;;;;;242:1802:179;;;2297:24:91;;;242:1802:179;;;;;;;;;;2297:7:91;242:1802:179;2297:24:91;;;;;;;;;;;242:1802:179;;;;;;;;2297:24:91;;;;;;;;;;;;;;;;;;:::i;:::-;;;242:1802:179;;;;;;2297:24:91;;;;;242:1802:179;;;2297:24:91;;;;;;242:1802:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1516:23;;;1555:13;;1550:415;1570:18;;;;;;1983:9;;;;;;:24;242:1802;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1590:3;1637:11;;;;;;;;;;:::i;:::-;242:1802;;;;;;;;;-1:-1:-1;;;;;1666:10:179;;242:1802;1666:10;;;:::i;:::-;;:::i;:::-;242:1802;1662:293;;1590:3;-1:-1:-1;;242:1802:179;;;;;;1555:13;;;;;;242:1802;-1:-1:-1;;;242:1802:179;;;;;;;;1662:293;1737:10;;;;;;;;;;:::i;:::-;1761:11;;;;;:::i;:::-;242:1802;1729:99;1779:6;1729:99;;;:::i;:::-;;1662:293;1847:94;1910:11;1898:10;;;;;;:::i;:::-;1910:11;;;;;:::i;:::-;242:1802;1910:11;;:::i;:::-;1662:293;;242:1802;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;242:1802:179;;853:20;242:1802;;959:9;;;;:20;242:1802;;995:11;991:206;;242:1802;;;991:206;1041:53;;;;;;1083:6;1041:53;;;:::i;:::-;;1113:8;1109:78;;242:1802;;;1109:78;1164:7;;;:::i;:::-;1109:78;;242:1802;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;242:1802:179;;;;;;;;;;;;;;;;-1:-1:-1;;242:1802:179;;;;;;-1:-1:-1;;;;;242:1802:179;;;;;;;;;2070:7:91;242:1802:179;2070:23:91;;;;;;242:1802:179;;;;;;;;;;;2070:23:91;;;;242:1802:179;2070:23:91;;;;;;;;;;242:1802:179;;;2070:23:91;;;;:::i;:::-;242:1802:179;;2070:23:91;242:1802:179;;;;;;;;2070:23:91;242:1802:179;;;;;;;-1:-1:-1;;;;;242:1802:179;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;242:1802:179;;;;;:::i;:::-;;;;-1:-1:-1;242:1802:179;;;;:::o;:::-;;;:::o;2750:124:91:-;-1:-1:-1;;;;;2831:7:91;242:1802:179;;;2831:36:91;;;;;;242:1802:179;;;;;;;;;;;;;2831:36:91;;242:1802:179;2831:36:91;;;242:1802:179;2831:36:91;;;;;;;;2750:124;:::o;2831:36::-;;;;:::i;:::-;2750:124::o;2831:36::-;242:1802:179;;;2831:36:91;242:1802:179;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;242:1802:179;;;;;;;:::o","linkReferences":{},"immutableReferences":{"40869":[{"start":148,"length":32},{"start":874,"length":32},{"start":1205,"length":32}]}},"methodIdentifiers":{"payments(address)":"e2982c21","payout(address[],uint256[])":"c176e639","refund(address,uint256)":"410085df","withdrawPayments(address)":"31b3eb94"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_splits\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"payout\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"payee\",\"type\":\"address\"}],\"name\":\"withdrawPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"payments(address)\":{\"details\":\"Returns the payments owed to an address.\",\"params\":{\"dest\":\"The creditor's address.\"}},\"refund(address,uint256)\":{\"details\":\"Internal function to refund an address. Typically for canceled bids or offers. Requirements: - _payee cannot be the zero address\",\"params\":{\"_amount\":\"uint256 value to be split.\",\"_payee\":\"address seller of the token.\"}},\"withdrawPayments(address)\":{\"details\":\"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.\",\"params\":{\"payee\":\"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event.\"}}},\"title\":\"Payments contract for SuperRare Marketplaces.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/payments/Payments.sol\":\"Payments\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/security/PullPayment.sol\":{\"keccak256\":\"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0\",\"dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/payments/Payments.sol\":{\"keccak256\":\"0xc868257216fd3d43036a6262cfabbf8403a3a9bc2bef39fcd09b727608543a3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://397798a222fad7e1b3aeaed60d6c4857ca68ea86d984d8d731177e8ee3fc7739\",\"dweb:/ipfs/Qme1S133kewWJLTdkDQ14CqCsJv2MQ49bmqFxrTyFoMppZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"dest","type":"address"}],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_splits","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function","name":"payout"},{"inputs":[{"internalType":"address","name":"_payee","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"refund"},{"inputs":[{"internalType":"address payable","name":"payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawPayments"}],"devdoc":{"kind":"dev","methods":{"payments(address)":{"details":"Returns the payments owed to an address.","params":{"dest":"The creditor's address."}},"refund(address,uint256)":{"details":"Internal function to refund an address. Typically for canceled bids or offers. Requirements: - _payee cannot be the zero address","params":{"_amount":"uint256 value to be split.","_payee":"address seller of the token."}},"withdrawPayments(address)":{"details":"Withdraw accumulated payments, forwarding all gas to the recipient. Note that _any_ account can call this function, not just the `payee`. This means that contracts unaware of the `PullPayment` protocol can still receive funds this way, by having a separate account call {withdrawPayments}. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.","params":{"payee":"Whose payments will be withdrawn. Causes the `escrow` to emit a {Withdrawn} event."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/payments/Payments.sol":"Payments"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/PullPayment.sol":{"keccak256":"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860","urls":["bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0","dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol":{"keccak256":"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65","urls":["bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680","dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/payments/Payments.sol":{"keccak256":"0xc868257216fd3d43036a6262cfabbf8403a3a9bc2bef39fcd09b727608543a3e","urls":["bzz-raw://397798a222fad7e1b3aeaed60d6c4857ca68ea86d984d8d731177e8ee3fc7739","dweb:/ipfs/Qme1S133kewWJLTdkDQ14CqCsJv2MQ49bmqFxrTyFoMppZ"],"license":"MIT"}},"version":1},"id":179} \ No newline at end of file diff --git a/abis/RareBatchAuctionHouse.json b/abis/RareBatchAuctionHouse.json new file mode 100644 index 0000000..d4411ce --- /dev/null +++ b/abis/RareBatchAuctionHouse.json @@ -0,0 +1 @@ +{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address"},{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"marketplaceFeeAtTime","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"bidWithAuctionMerkleProof","inputs":[{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_bidAmount","type":"uint128","internalType":"uint128"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuctionMerkleRoot","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"creatorRootToConfig","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"currency","type":"address","internalType":"address"},{"name":"startingAmount","type":"uint128","internalType":"uint128"},{"name":"duration","type":"uint64","internalType":"uint64"},{"name":"nonce","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"uint64","internalType":"uint64"},{"name":"","type":"uint64","internalType":"uint64"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint128","internalType":"uint128"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getCreatorAuctionMerkleRootNonce","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"marketplaceFeeAtTime","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getMerkleAuctionConfig","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareBatchAuctionHouse.MerkleAuctionConfig","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startingAmount","type":"uint128","internalType":"uint128"},{"name":"duration","type":"uint64","internalType":"uint64"},{"name":"nonce","type":"uint32","internalType":"uint32"},{"name":"splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenAuctionNonce","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_tokenContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getUserAuctionMerkleRoots","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_erc20ApprovalManager","type":"address","internalType":"address"},{"name":"_erc721ApprovalManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isTokenInRoot","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_origin","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerAuctionMerkleRoot","inputs":[{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_currency","type":"address","internalType":"address"},{"name":"_startingAmount","type":"uint128","internalType":"uint128"},{"name":"_duration","type":"uint64","internalType":"uint64"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAuctionLengthExtension","inputs":[{"name":"_auctionLengthExtension","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxAuctionLength","inputs":[{"name":"_maxAuctionLength","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinimumBidIncreasePercentage","inputs":[{"name":"_minimumBidIncreasePercentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"creationBlock","type":"uint32","internalType":"uint32"},{"name":"startingTime","type":"uint64","internalType":"uint64"},{"name":"lengthOfAuction","type":"uint64","internalType":"uint64"},{"name":"minimumBid","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AuctionBid","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"bidder","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"marketplaceFee","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionMerkleBid","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"bidder","type":"address","indexed":true,"internalType":"address"},{"name":"creator","type":"address","indexed":false,"internalType":"address"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"nonce","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"AuctionMerkleRootCancelled","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"AuctionMerkleRootRegistered","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"startingAmount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"duration","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"nonce","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"seller","type":"address","indexed":false,"internalType":"address"},{"name":"bidder","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"marketplaceFee","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657615339908161001c8239f35b600080fdfe60806040526004361015610068575b361561001957600080fd5b60405162461bcd60e51b815260206004820152602160248201527f455448207061796d656e74206e6f74206163636570746564206469726563746c6044820152607960f81b6064820152608490fd5b6000803560e01c80630cd87c6814613d695780630e519ef914613d4b57806310f7978914613d28578063299a0e1e14613cbd578063301aa514146134e357806348626b90146134b55780634ebade5f146134075780635138b08c146127a15780635e51b2d4146127115780636699ee4314611ecf5780636fe9f44c14611eb1578063715018a614611e5357806376ffb5a714611c965780638da5cb5b14611c6d57806395cf6b9014610fb8578063ac964f8e14610eaf578063affdafd814610e8c578063bb120e6614610e11578063c306b378146104d1578063c47c35c11461043c578063d97f7657146103a8578063daa264991461038a578063e29ac89014610340578063e35ed75a1461021a5763f2fde38b14610187575061000e565b34610217576020366003190112610217576101a0613ef1565b6101a8613ff7565b6001600160a01b038116156101c3576101c09061404f565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b503461021757604036600319011261021757608090610237613ef1565b906024359060018060a01b038093169182825260ff60209360a28552604084208385528552604084209580604060018151996102728b6140cf565b838154168b52015496888a01966001600160801b0395868a16895287848d019a8e1c168a52825260a18a52828220908252895220976040516102b381614098565b828a5416815260e061031c600460018d01549c8c85019d8e888216905263ffffffff8160a01c16604087015260c01c60608601528860028201546001600160401b038116608088015260401c1660a0860152610311600382016141ad565b60c086015201614207565b91015251169651169251169251169260405194855284015260408301526060820152f35b50346102175760403660031901126102175760209063ffffffff906040906001600160a01b0361036e613ef1565b16815260a8845281812060243582528452205416604051908152f35b5034610217578060031936011261021757602060a554604051908152f35b50346102175760803660031901126102175763ffffffff60406020926103cc613ef1565b61041a6104286103da613f1d565b9285519283918983019560643591602435908892606894926001600160601b0319809360601b168552601485015260601b16603483015260488201520190565b03601f198101835282614118565b519020815260a98452205416604051908152f35b50346102175760403660031901126102175760c0906001600160a01b03906001600160801b03906040908361046f613ef1565b16815260a160205281812060243582526020522091808354169260026001820154910154916040519485528116602085015263ffffffff8160a01c166040850152841c60608401526001600160401b038116608084015260401c1660a0820152f35b503461021757610140366003190112610217576104ec613ef1565b6104f4613f07565b6104fc613f1d565b610504613f33565b60843592906001600160a01b0384168403610e0c5760a435906001600160a01b0382168203610e0c5760c435906001600160a01b0382168203610e0c5760e435956001600160a01b0387168703610e0c5761010435946001600160a01b0386168603610e0c5761012435966001600160a01b0388168803610e0c578a549960ff8b60081c16159a8b809c610dff575b8015610de8575b15610d8c5760ff1981166001178d558b610d7b575b506001600160a01b03811615610d1a576001600160a01b03831615610cbf576001600160a01b03821615610c5c576001600160a01b03851615610bf9576001600160a01b03841615610ba3576001600160a01b03871615610b46576001600160a01b03861615610ae9576001600160a01b038a1615610a89576001600160a01b03881615610a27576001600160a01b038916156109c45760405163ef8c824960e01b81526001600160a01b039a8b166004820152908a16602482015290891660448201529088166064820152908716608482015290861660a482015290851660c482015290841660e48201529083166101048201529116610124820152610140816101448173__$c98ca6a62396e5a7a1471db151198a1f31$__5af49081156109b957839161084e575b5060018060a01b03815116906001600160601b0360a01b9182609754161760975560018060a01b0360208201511682609854161760985560018060a01b0360408201511682609954161760995560018060a01b0360608201511682609a541617609a5560018060a01b0360808201511682609b541617609b5560018060a01b0360a08201511682609c541617609c5560018060a01b0360c08201511682609d541617609d5560018060a01b0360e08201511682609e541617609e5560018060a01b036101008201511682609f541617609f5561012060018060a01b03910151169060a054161760a055600160a35562093a8060a45561038460a5556107ed60ff835460081c166107e88161414d565b61414d565b6107f63361404f565b81549061080c60ff8360081c166107e88161414d565b6001606555610819575080f35b61ff00191681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610140813d610140116109b1575b8161086c6101409383614118565b810103126109ad576040519061014082018281106001600160401b038211176109975760405261089b81614139565b825260208101516001600160a01b038116810361098f57602083015260408101516001600160a01b038116810361098f57604083015260608101516001600160a01b038116810361098f57606083015260808101516001600160a01b038116810361098f57608083015260a08101516001600160a01b038116810361098f5760a083015260c08101516001600160a01b038116810361098f5760c083015260e08101516001600160a01b038116810361098f5760e083015261010081810151906001600160a01b03821682036109935783015261012090810151906001600160a01b038216820361098f57820152386106d9565b8480fd5b8580fd5b634e487b7160e01b600052604160045260246000fd5b8280fd5b3d915061085e565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a657263373231417070726f76616c4d616e616765604482015274722063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603460248201527f696e697469616c697a653a3a6572633230417070726f76616c4d616e616765726044820152732063616e6e6f742062652030206164647265737360601b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f696e697469616c697a653a3a6e6574776f726b42656e65666963696172792063604482015271616e6e6f742062652030206164647265737360701b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6753657474696e67732063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6752656769737472792063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602860248201527f696e697469616c697a653a3a7061796d656e74732063616e6e6f742062652030604482015267206164647265737360c01b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a617070726f766564546f6b656e52656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a73706163654f70657261746f7252656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152602d60248201527f696e697469616c697a653a3a726f79616c7479456e67696e652063616e6e6f7460448201526c2062652030206164647265737360981b6064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f696e697469616c697a653a3a6d61726b6574706c61636553657474696e67732060448201527263616e6e6f742062652030206164647265737360681b6064820152608490fd5b61ffff1916610101178c55386105af565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561059a5750600160ff82161461059a565b50600160ff821610610593565b600080fd5b5034610217576040366003190112610217576001600160a01b039060019060409083610e3b613ef1565b16815260a760205281812060243582526020522091825416910154610e88604051928263ffffffff859460c01c16916001600160801b036001600160401b038360801c1692169085613fb6565b0390f35b503461021757602036600319011261021757610ea6613ff7565b60043560a45580f35b503461021757602080600319360112610fb4576004359033835260a68152610eea826040852060019160005201602052604060002054151590565b15610f605733835260a68152610f038260408520614a07565b5033835260a78152604083209082845252610f38600360408420848155846001820155610f326002820161486e565b016148c6565b337f6c4be52b9a419eb78a1483e27346ba15e73a3f933dfc4310e9728ddf33c695f88380a380f35b6084906040519062461bcd60e51b82526004820152602760248201527f63616e63656c41756374696f6e4d65726b6c65526f6f743a3a4e6f7420726f6f6044820152663a1037bbb732b960c91b6064820152fd5b5080fd5b5060e036600319011261021757610fcd613ef1565b610fd5613f07565b610fdd613f33565b9160a435906001600160801b0382168203610e0c5760c4356001600160401b03811161099357611014611064913690600401613f86565b61101c614801565b604051606087901b6001600160601b0319166020820152604435603482015261105f9061104c816054810161041a565b6020815191012092608435923691614ae3565b614b31565b15611c105760018060a01b03609854169160018060a01b038516865260a66020526110a46084356040882060019160005201602052604060002054151590565b15611bad5760018060a01b038516865260a760205260408620608435875260205260408620926111356003604051956110dc876140b4565b80546001600160a01b0316875260018101546001600160801b0381166020890152608081901c6001600160401b0316604089015260c01c63ffffffff16606088015261112a600282016141ad565b608088015201614207565b60a085015283516001600160a01b0390811690841603611b4d57604051606087811b6001600160601b03199081166020840190815260843560348501529188901b166054830152604435606883015290611192816088810161041a565b5190209360018060a01b038716885260a860205260408820608435895260205263ffffffff6040892054169480895260a96020528563ffffffff60408b2054161015611ad7576001600160a01b038716895260a160209081526040808b206044358c5290915289206001015460c01c611a78576001600160801b03841615611a2457604051637cd11f4360e11b8152602081600481875afa90811561180e578a916119f2575b506001600160801b0385161161198e576001600160801b036020830151166001600160801b03851610611923576040516331a9108f60e11b815260443560048201526020816024816001600160a01b038c165afa90811561180e578a916118e5575b506001600160a01b0389811691160361188d5760a05460405163e985e9c560e01b81526001600160a01b038a811660048301529091166024820152602081806044810103816001600160a01b038c165afa90811561180e578a9161185e575b5015611819576040516361fe24a960e11b81526001600160801b0385166004820152602081602481875afa90811561180e578a916117da575b50611349611359916001600160801b0387166147ce565b83516001600160a01b0316614cf2565b885260a9602052604088208563ffffffff1982541617905560018060a01b03815116906001600160401b03604082015116906001600160801b0360208201511660a0608083015192015192604051946113b186614098565b60018060a01b038c168652602086015263ffffffff431660408601526001600160401b0342166060860152608085015260a084015260c083015260e082015260018060a01b038616885260a1602052604088206044358952602052604088209060018060a01b038151166001600160601b0360a01b83541617825560018060a01b0360208201511663ffffffff60a01b604083015160a01b16906001600160401b0360c01b9182606085015160c01b16911717600184015560028301906001600160401b0360808401511682549177ffffffffffffffffffffffffffffffff000000000000000060a086015160401b1692161717905560c08101518051906001600160401b0382116117c657602060038501916114ce8484614892565b01908b5260208b208b5b8381106117a9575050505060e00151908151906001600160401b038211611795576004602091019261150a83856148f0565b019189526020892090895b8160051c81106117565750601f1981168103611706575b505050602060049160405192838092638347592160e01b82525afa9081156116fb5787916116cc575b5060405190611563826140cf565b3382526001600160801b0360016020840193828616855260ff6040820194168452818060a01b0389168b5260a260205260408b206044358c5260205260408b2090828060a01b039051166001600160601b0360a01b8254161781550192511682549160ff60801b905160801b16916001600160881b031916171790558560018060a01b0360a05416803b15610fb457604051630aed65f560e11b81526001600160a01b03878116600483015288166024820152306044808301919091523560648201529082908290608490829084905af180156116c1576116ad575b5050604080516001600160a01b0396871681529286166020840152608435908301526001600160801b03166060820152608081019190915233926044359216907f5355b558f02261d348034db859415d5317f7b01cdddd74bb117cfed50d40d1089060a090a4600160655580f35b6116b6906140ea565b61099357853861163f565b6040513d84823e3d90fd5b6116ee915060203d6020116116f4575b6116e68183614118565b8101906147e8565b38611555565b503d6116dc565b6040513d89823e3d90fd5b89928a5b601f1983168303811061172857505060051c0155602060043861152c565b9093602061174d6001928460ff895116919060ff809160031b9316831b921b19161790565b9501910161170a565b8a8b5b6020811061176e575083820155600101611515565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501611759565b634e487b7160e01b8a52604160045260248afd5b82516001600160a01b0316818301556020909201916001016114d8565b634e487b7160e01b8b52604160045260248bfd5b90506020813d602011611806575b816117f560209383614118565b81010312610e0c5751611349611332565b3d91506117e8565b6040513d8c823e3d90fd5b60405162461bcd60e51b815260206004820152601e60248201527f6f776e6572206d757374206861766520617070726f76656420746f6b656e00006044820152606490fd5b611880915060203d602011611886575b6118788183614118565b810190614bce565b386112f9565b503d61186e565b60405162461bcd60e51b815260206004820152602a60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4e6f74207460448201526937b5b2b71037bbb732b960b11b6064820152608490fd5b90506020813d60201161191b575b8161190060209383614118565b810103126119175761191190614139565b3861129a565b8980fd5b3d91506118f3565b60405162461bcd60e51b815260206004820152603b60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43616e6e6f60448201527f74206265206c6f776572207468616e206d696e696d756d2062696400000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603660248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4d757374206044820152756265206c657373207468616e206d61782076616c756560501b6064820152608490fd5b90506020813d602011611a1c575b81611a0d60209383614118565b81010312610e0c575138611238565b3d9150611a00565b60405162461bcd60e51b815260206004820152602660248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43616e6e6f60448201526507420626520360d41b6064820152608490fd5b60405162461bcd60e51b815260206004820152603160248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a41756374696044820152706f6e20616c72656164792065786973747360781b6064820152608490fd5b60405162461bcd60e51b815260206004820152604260248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a546f6b656e60448201527f20616c7265616479207573656420666f722074686973204d65726b6c6520726f6064820152611bdd60f21b608482015260a490fd5b60405162461bcd60e51b815260206004820152603260248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43757272656044820152710dcc6f240c8decae640dcdee840dac2e8c6d60731b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4d65726b6c60448201527419481c9bdbdd081b9bdd081c9959da5cdd195c9959605a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a496e76616c60448201526e34b21026b2b935b63290383937b7b360891b6064820152608490fd5b50346102175780600319360112610217576033546040516001600160a01b039091168152602090f35b503461021757604036600319011261021757611cb0613ef1565b606060a0604051611cc0816140b4565b8481528460208201528460408201528483820152826080820152015260018060a01b0316815260a76020526040812060243582526020526040812090611d67600360405193611d0e856140b4565b80546001600160a01b0316855260018101546001600160801b0381166020870152608081901c6001600160401b0316604087015260c01c63ffffffff166060860152611d5c600282016141ad565b608086015201614207565b60a08301526040519182916020835260e083019160018060a01b0381511660208501526001600160801b0360208201511660408501526001600160401b03604082015116606085015263ffffffff606082015116608085015260808101519260c060a0860152835180915260206101008601940190835b818110611e315750505060a0015191601f198482030160c0850152602080845192838152019301915b818110611e15575050500390f35b825160ff16845285945060209384019390920191600101611e07565b82516001600160a01b0316865287965060209586019590920191600101611dde565b5034610217578060031936011261021757611e6c613ff7565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610217578060031936011261021757602060a354604051908152f35b50608036600319011261021757611ee4613ef1565b611eec613f1d565b906064356001600160801b0381168103610e0c57611f08614801565b6098546040516361fe24a960e11b81526001600160801b03831660048201526001600160a01b039091169190602081602481865afa80156123285786906126d8575b6001600160801b039150166001600160801b03821601916001600160801b0383116126c457611f826001600160801b03841686614be6565b60018060a01b038416865260a1602052604086206024358752602052604086209061201c600460405193611fb585614098565b60018060a01b038154168552600181015460018060a01b038116602087015263ffffffff8160a01c16604087015260c01c60608601526001600160801b0360028201546001600160401b038116608088015260401c1660a0860152610311600382016141ad565b60e08301526001600160401b03606083015116156126805781516001600160a01b0316331461262f576001600160401b0361206481606085015116826080860151169061478a565b164210156125f15760208201516001600160a01b0390811690871603612596576001600160801b0360a0830151166001600160801b03841610612551576001600160801b038316156124fd57602060049160405192838092637cd11f4360e11b82525afa9081156116fb5787916124cb575b506001600160801b03831611612486576001600160a01b038416865260a26020908152604080882060243589529091528087209051600194612117826140cf565b858060a01b0383541695869384845201546001600160801b038116602084015260ff8160801c166040840152836123e3575b509261216d6001600160801b036121ae951660018060a01b03602084015116614cf2565b6001600160401b0360608201511680612352575b506020908101519082015160409092015160ff16916001600160801b0316906001600160a01b0316614fec565b609854604051638347592160e01b8082529291602090829060049082906001600160a01b03165afa9081156116fb578791612333575b50604051906121f2826140cf565b3382526001600160801b0360016020840193828616855260ff6040820194168452818060a01b0389168b5260a260205260408b206024358c5260205260408b2090828060a01b039051166001600160601b0360a01b8254161781550192511682549160ff60801b905160801b16916001600160881b03191617179055602060018060a01b03609854169260046040518095819382525afa9081156123285760ff9287926122fe575b506001600160801b03906040519660018060a01b031687521660208601521660408401526060830152602435917f05d5a145b6996460db14669f3bb9bebeb953e570716e24c3d1af0c8e42d2bab36080339360018060a01b031692a4600160655580f35b6001600160801b039192506123219060203d6020116116f4576116e68183614118565b919061229a565b6040513d88823e3d90fd5b61234c915060203d6020116116f4576116e68183614118565b386121e4565b612376906001600160401b036123704292826080870151169061478a565b166147db565b60a554808210612387575b50612181565b6001600160401b03916123a36123a892846080870151166147ce565b6147db565b1660018060a01b0388168a5260a160205260408a206024358b52602052600260408b2001906001600160401b03198254161790553880612381565b6124159193506124016064916001600160801b0360a35491166147bb565b046001600160801b036020840151166147ce565b6001600160801b0385161061242c57849138612149565b60405162461bcd60e51b815260206004820152602c60248201527f6269643a3a4d75737420696e63726561736520626964206279206d696e696d7560448201526b6d2070657263656e7461676560a01b6064820152608490fd5b60405162461bcd60e51b815260206004820152601a60248201527f6269643a3a4269642065786365656473206d61782076616c75650000000000006044820152606490fd5b90506020813d6020116124f5575b816124e660209383614118565b81010312610e0c5751386120d6565b3d91506124d9565b60405162461bcd60e51b815260206004820152602660248201527f6269643a3a42696420616d6f756e74206d75737420626520677265617465722060448201526507468616e20360d41b6064820152608490fd5b60405162461bcd60e51b815260206004820152601760248201527f6269643a3a42696420616d6f756e7420746f6f206c6f770000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602d60248201527f6269643a3a43757272656e637920646f6573206e6f74206d617463682061756360448201526c74696f6e2063757272656e637960981b6064820152608490fd5b60405162461bcd60e51b8152602060048201526016602482015275189a590e8e905d58dd1a5bdb881a185cc8195b99195960521b6044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f6269643a3a43616e6e6f7420626964206f6e20796f7572206f776e206175637460448201526234b7b760e91b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f6269643a3a4d757374206861766520612063757272656e742061756374696f6e6044820152fd5b634e487b7160e01b86526011600452602486fd5b506020813d602011612709575b816126f260209383614118565b81010312610e0c576001600160801b039051611f4a565b3d91506126e5565b50346102175760803660031901126102175761272b613f07565b90606435906001600160401b0382116102175760206127978461105f6127543660048801613f86565b60405160609490941b6001600160601b0319168685019081526044356014820152919390929190612788816034840161041a565b51902092600435923691614ae3565b6040519015158152f35b5034610217576040366003190112610217576127bb613ef1565b60018060a01b038116825260a16020526040822060243583526020526040822061285f6004604051926127ed84614098565b60018060a01b038154168452600181015460018060a01b038116602086015263ffffffff8160a01c16604086015260c01c60608501526001600160801b0360028201546001600160401b038116608087015260401c1660a0850152612854600382016141ad565b60c085015201614207565b60e082015260018060a01b038216835260a2602052604083206024358452602052604083209160ff600160405194612896866140cf565b818060a01b03815416865201546001600160801b038116602086015260801c1660408401526001600160401b03606083015116156133c3576001600160401b036128ed81606085015116826080860151169061478a565b1642106133725760018060a01b038116845260a1602052604084206024358552602052612934600460408620868155866001820155866002820155610f326003820161486e565b6001600160a01b03818116855260a26020908152604080872060243588529091528520858155600101859055835116156132f457825184906001600160a01b039081169083163b15610fb4576040516323b872dd60e01b8152306004820152602480820192909252903560448201528181606481836001600160a01b0388165af180156116c1576132e0575b505060208281015190840151835160c085015160e0860151815181516001600160a01b03948516999690941696929591946001600160801b0316930361327f576024838a9499602060018060a01b0360985416604051948580926361fe24a960e11b82528660048301525afa928315612328578693613248575b5060405192612a48846140cf565b6002845260403660208601376097546001600160a01b031680612a6a86614b9d565b52609e5460405163e286ef3360e01b81526004810185905290602090829060249082906001600160a01b03165afa90811561314957899161320a575b506001600160a01b0316612ab986614baa565b526001600160a01b03612acb86614baa565b51166131f1575b612adb85614baa565b6001600160a01b03909116905260405190612af5826140cf565b600282526040366020840137609d546040516303fdde1160e21b8152600481018690526001600160a01b0390911690602081602481855afa90811561180e578a916131b9575b50602491602091612b4b86614b9d565b526040519283809263470d6ed960e11b82528960048301525afa90811561314957899161317e575b5082918691612b84612b8b95614baa565b528c615220565b609854604051631446f21360e21b81526001600160a01b038781166004830152602480359083015290949116602085604481845afa80156131735788958691613154575b5015612f39575b5050609a54604051637a99dc0160e11b81526001600160a01b038781166004830152602480359083015260448201949094529c8d93606493508492165af19687156109b95783998498612deb575b508399849a5b89518c1015612c5757612c4b612c5191612c448e8d614bba565b51906147ce565b9b614b8e565b9a612c2a565b9a50612c6e8b612c759496989a939597999b6147db565b9a8a615220565b845195612c8187614954565b96612c8f6040519889614118565b808852612c9e601f1991614954565b01366020890137845b8651811015612ce357806064612ccd60ff612cc5612cde958c614bba565b51168d6147bb565b04612cd8828b614bba565b52614b8e565b612ca7565b5091959296612cf59498919550615220565b60985484906001600160a01b0316803b15610fb457604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af1612dd3575b50505b60018060a01b038151169160018060a01b038151169160ff60406001600160801b0360208501511692602060018060a01b0391015116930151169260405194855260208501526040840152606083015260808201527fd6bafd8fc8591640c77fad1fe6a63cf44843ab5139aa025ba7e18c94fd3686c060a060243593600180831b031692a380f35b612ddc906140ea565b612de7578338612d48565b8380fd5b995096503d988984823e612dff8a82614118565b6040818b81010312612de7578051906001600160401b03821161098f578a8101601f83830101121561098f578181015191612e3983614954565b92612e476040519485614118565b80845260208401918d840160208360051b838701010111612f1557602081850101925b60208360051b83870101018410612f19575050505060208101519a6001600160401b038c1161099357808201601f8d8401011215610993578b82015191612eb083614954565b9c6040519d612ebf908f614118565b8d8481526020019282018460051b8284010160200111612f15579190602083820101925b60208560051b82840101018410612f01575050505050989638612c24565b602080809486518152019401939250612ee3565b8780fd5b83516001600160a01b038116810361191757815260209384019301612e6a565b9091935060405190612f4a826140fd565b600182526020368184013760405192612f62846140fd565b60018452602036818601376001600160a01b0390612f7f90614b9d565b5116612f8a84614b9d565b52609954604051635dc22eff60e01b81526004810187905290602090829060249082906001600160a01b03165afa90811561314957899161312a575b501561307c5750609954604051632260494f60e01b81526004810195909552602090859060249082906001600160a01b03165afa9384156116fb57879460ff91869161305d575b50169b61301a8d856147bb565b60649004613027916147db565b9b61303290846147bb565b6064900461303f82614b9d565b5261304981614b9d565b5191613055928b615220565b388080612bd6565b613076915060203d6020116116f4576116e68183614118565b3861300d565b60405163b28a7bad60e01b81526001600160a01b0388166004820152919c50909350602090849060249082905afa92831561232857869360ff91859161310b575b50169a6130ca8c846147bb565b606490046130d890846147db565b9b6130e390846147bb565b606490046130f082614b9d565b526130fa81614b9d565b5191613106928b615220565b613055565b613124915060203d6020116116f4576116e68183614118565b386130bd565b613143915060203d602011611886576118788183614118565b38612fc6565b6040513d8b823e3d90fd5b61316d915060203d602011611886576118788183614118565b38612bcf565b6040513d8a823e3d90fd5b985050906020883d6020116131b1575b8161319b60209383614118565b81010312610e0c5796518d979190612b8b612b73565b3d915061318e565b9950506020893d6020116131e9575b816131d560209383614118565b81010312610e0c5797518e98906024612b3b565b3d91506131c8565b506001600160a01b0361320385614baa565b5116612ad2565b90506020813d602011613240575b8161322560209383614118565b8101031261323c5761323690614139565b38612aa6565b8880fd5b3d9150613218565b955091506020853d602011613277575b8161326560209383614118565b81010312610e0c578a94519138612a3a565b3d9150613258565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b6132e9906140ea565b612de75783386129c0565b8151909291906001600160a01b039081169084163b1561098f576040516323b872dd60e01b8152306004820152602480820192909252903560448201528481606481836001600160a01b0389165af1801561336757613354575b50612d4b565b613360909491946140ea565b923861334e565b6040513d87823e3d90fd5b60405162461bcd60e51b8152602060048201526024808201527f736574746c6541756374696f6e3a3a41756374696f6e20686173206e6f7420656044820152631b99195960e21b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f736574746c6541756374696f6e3a3a4e6f2061756374696f6e206578697374736044820152fd5b503461021757602080600319360112610fb4576001600160a01b0361342a613ef1565b16825260a681526040822060405192838383549182815201908193835284832090835b8181106134a15750505084613463910385614118565b60405193838594850191818652518092526040850193925b82811061348a57505050500390f35b83518552869550938101939281019260010161347b565b82548452928601926001928301920161344d565b50346102175760203660031901126102175760043560ff8116809103610fb4576134dd613ff7565b60a35580f35b50346102175760c0366003190112610217576134fd613f07565b6001600160801b036044351660443503610fb4576001600160401b036064351660643503610fb4576084356001600160401b0381116109ad57613544903690600401613f86565b919060a4356001600160401b03811161098f57613565903690600401613f86565b906001600160a01b038416158015613c5b575b15613c1e578415613bc95760058511613b7857818503613b1e5785805b838210613af2576064915003613a9d5760a4546001600160401b036064351611613a4357609854604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa9081156116fb578791613a0d575b506001600160801b0360443516116139a35733865260a660205261361660043560408820614999565b5033865260a8602052604086206004358752602052600163ffffffff604088205416019463ffffffff861161398f5733875260a8602052604087206004358852602052604087209363ffffffff8716948563ffffffff1982541617905560405194613680866140b4565b6001600160a01b03871686526044356001600160801b031660208701526064356001600160401b0316604087015260608601526136bc82614954565b916136ca6040519384614118565b8083526020830191368260051b8201116119175780925b8260051b8201841061396b575050505060808401526136ff82614954565b9161370d6040519384614118565b8083526020830191368260051b820111612f155780925b8260051b82018410613951575050505060a082015233845260a76020526040842060043585526020526040842060018060a01b038251166001600160601b0360a01b825416178155600181016001600160801b036020840151168154906001600160401b0360801b604086015160801b169063ffffffff60c01b606087015160c01b169263ffffffff60e01b16171717905560808201518051906001600160401b03821161393d57602060028401916137dd8484614892565b0190875260208720875b8381106139205750505050600360a091019101518051906001600160401b03821161390c5760209061381983856148f0565b01918552602085208160051c91865b8381106138cd5750601f198116900380613883575b505050507f0ab992cc17951860858a996357021e201f2a5dc931b948bee54c7c5e665f70cb6040518061387d600435953395606435906044359085613fb6565b0390a380f35b928693875b81811061389d5750505001553880808061383d565b90919460206138c36001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101613888565b87885b602081106138e5575083820155600101613828565b865190969160019160209160ff60038b901b81811b199092169216901b17920196016138d0565b634e487b7160e01b86526041600452602486fd5b82516001600160a01b0316818301556020909201916001016137e7565b634e487b7160e01b87526041600452602487fd5b833560ff8116810361191757815260209384019301613724565b83356001600160a01b038116810361398b578152602093840193016136e1565b8b80fd5b634e487b7160e01b87526011600452602487fd5b608460405162461bcd60e51b815260206004820152604060248201527f726567697374657241756374696f6e4d65726b6c65526f6f743a3a537461727460448201527f696e6720616d6f756e742065786365656473206d6178696d756d2076616c75656064820152fd5b90506020813d602011613a3b575b81613a2860209383614118565b81010312613a375751386135ed565b8680fd5b3d9150613a1b565b60405162461bcd60e51b815260206004820152602c60248201527f726567697374657241756374696f6e4d65726b6c65526f6f743a3a447572617460448201526b696f6e20746f6f206c6f6e6760a01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8301359060ff821680920361323c57613b1891613b12916147ce565b91614b8e565b90613595565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b50609c54604051632d5ad3d560e01b81526001600160a01b038681166004830152909160209183916024918391165afa9081156116fb578791613c9f575b50613578565b613cb7915060203d8111611886576118788183614118565b38613c99565b5034610217576040366003190112610217576060906001600160a01b039060ff9060019060409084613ced613ef1565b16815260a2602052818120602435825260205220928354169201546040519283526001600160801b038116602084015260801c166040820152f35b503461021757602036600319011261021757613d42613ff7565b60043560a55580f35b5034610217578060031936011261021757602060a454604051908152f35b5034610217576040366003190112610217576001600160a01b03613d8b613ef1565b16815260a1602052604081206024358252602052613e1a600460408320613db26080614098565b80546001600160a01b03908116608052600182015490811660a090815281901c63ffffffff1660c09081521c60e05260028101546001600160401b0381166101005260401c6001600160801b031661012052613e10600382016141ad565b6101405201614207565b8060e06080015260018060a01b03608051169063ffffffff6040608001511692613eb16001600160401b03606060800151166001600160401b0360808001511660018060a01b03602060800151166001600160801b0360a060800151169160c06080015193604051998a998a5260208a015260408901526060880152608087015260a08601526101008060c0870152850190613f49565b83810360e0850152602080845192838152019301915b818110613ed5575050500390f35b825160ff16845285945060209384019390920191600101613ec7565b600435906001600160a01b0382168203610e0c57565b602435906001600160a01b0382168203610e0c57565b604435906001600160a01b0382168203610e0c57565b606435906001600160a01b0382168203610e0c57565b90815180825260208080930193019160005b828110613f69575050505090565b83516001600160a01b031685529381019392810192600101613f5b565b9181601f84011215610e0c578235916001600160401b038311610e0c576020808501948460051b010111610e0c57565b6001600160a01b0390911681526001600160801b039190911660208201526001600160401b03909116604082015263ffffffff909116606082015260800190565b6033546001600160a01b0316330361400b57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b61010081019081106001600160401b0382111761099757604052565b60c081019081106001600160401b0382111761099757604052565b606081019081106001600160401b0382111761099757604052565b6001600160401b03811161099757604052565b604081019081106001600160401b0382111761099757604052565b90601f801991011681019081106001600160401b0382111761099757604052565b51906001600160a01b0382168203610e0c57565b1561415457565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b9060405191828154918282526020928383019160005283600020936000905b8282106141e4575050506141e292500383614118565b565b85546001600160a01b0316845260019586019588955093810193909101906141cc565b90604051918281549182825260209081830190600052816000206000905b85601f8301106145f357946141e2955491848282106145e0575b8282106145ca575b8282106145b4575b82821061459e575b828210614589575b828210614573575b82821061455d575b828210614547575b828210614531575b82821061451b575b828210614505575b8282106144ef575b8282106144d9575b8282106144c3575b8282106144ad575b828210614497575b828210614481575b82821061446b575b828210614455575b82821061443f575b828210614429575b828210614413575b8282106143fd575b8282106143e7575b8282106143d1575b8282106143bb575b8282106143a5575b82821061438f575b828210614379575b828210614363575b82821061434d575b5010614340575b5090500383614118565b60f81c8152018038614336565b6001919460ff8560f01c1681520193018461432f565b6001919460ff8560e81c16815201930184614327565b6001919460ff8560e01c1681520193018461431f565b6001919460ff8560d81c16815201930184614317565b6001919460ff8560d01c1681520193018461430f565b6001919460ff8560c81c16815201930184614307565b6001919460ff8560c01c168152019301846142ff565b6001919460ff8560b81c168152019301846142f7565b6001919460ff8560b01c168152019301846142ef565b6001919460ff8560a81c168152019301846142e7565b6001919460ff8560a01c168152019301846142df565b6001919460ff8560981c168152019301846142d7565b6001919460ff8560901c168152019301846142cf565b6001919460ff8560881c168152019301846142c7565b6001919460ff8560801c168152019301846142bf565b6001919460ff8560781c168152019301846142b7565b6001919460ff8560701c168152019301846142af565b6001919460ff8560681c168152019301846142a7565b6001919460ff8560601c1681520193018461429f565b6001919460ff8560581c16815201930184614297565b6001919460ff8560501c1681520193018461428f565b6001919460ff8560481c16815201930184614287565b6001919460ff8560401c1681520193018461427f565b6001919460ff8560381c16815201930184614277565b6001919460ff8560301c1681520193018461426f565b6001919460ff8560281c16815201930184614267565b6001919460ff85831c1681520193018461425f565b6001919460ff8560181c16815201930184614257565b6001919460ff8560101c1681520193018461424f565b6001919460ff8560081c16815201930184614247565b6001919460ff851681520193018461423f565b9350916001610400829693865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018693919492614225565b9190916001600160401b03808094169116019182116147a557565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156147a557565b919082018092116147a557565b919082039182116147a557565b90816020910312610e0c575160ff81168103610e0c5790565b600260655414614812576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b818110614862575050565b60008155600101614857565b8054600082558061487d575050565b6141e291600052602060002090810190614857565b90600160401b8111610997578154908083558181106148b057505050565b6141e29260005260206000209182019101614857565b805460008255806148d5575050565b6141e291600052601f6020600020910160051c810190614857565b90600160401b811161099757815481835580821061490d57505050565b6141e292600052601f6020600020918180850160051c8401941680614939575b500160051c0190614857565b600019908186019182549160200360031b1c1690553861492d565b6001600160401b0381116109975760051b60200190565b80548210156149835760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b6000828152600182016020526040902054614a0057805490600160401b82101561099757826149e96149d284600180960185558461496b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014614adc576000199180830181811161398f57825490848201918211614ac857808203614a93575b50505080548015614a7f57820191614a62838361496b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b614ab3614aa36149d2938661496b565b90549060031b1c9283928661496b565b90558652846020526040862055388080614a4a565b634e487b7160e01b88526011600452602488fd5b5050505090565b9291614aee82614954565b91614afc6040519384614118565b829481845260208094019160051b8101928311610e0c57905b828210614b225750505050565b81358152908301908301614b15565b929091906000915b8451831015614b8657614b4c8386614bba565b5190600082821015614b745750600052602052614b6e60406000205b92614b8e565b91614b39565b604091614b6e93825260205220614b68565b915092501490565b60001981146147a55760010190565b8051156149835760200190565b8051600110156149835760400190565b80518210156149835760209160051b010190565b90816020910312610e0c57518015158103610e0c5790565b6001600160a01b03908116908115614ced57609f54604051636eb1769f60e11b815233600482015291166001600160a01b0316602482015290602090829081806044810103915afa908115614ce157600091614cb0575b5010614c4557565b60405162461bcd60e51b815260206004820152603960248201527f73656e646572206e6565647320746f20617070726f766520455243323041707060448201527f726f76616c4d616e6167657220666f722063757272656e6379000000000000006064820152608490fd5b906020823d8211614cd9575b81614cc960209383614118565b8101031261021757505138614c3d565b3d9150614cbc565b6040513d6000823e3d90fd5b505050565b6001600160a01b0391600091838116908115614ef45734614e9e576040938451916370a0823160e01b908184523060048501526020978885602481895afa948515614e94578495614e65575b50609f541690813b15612de7578751630aed65f560e11b81526001600160a01b03919091166004820152336024820152306044820152606481018790529083908290608490829084905af18015614e5b5790889291614e48575b50602487518096819382523060048301525afa908115614e3d5790614e0e575b614dc292506147db565b03614dcb575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b508482813d8311614e36575b614e248183614118565b81010312610e0c57614dc29151614db8565b503d614e1a565b8551903d90823e3d90fd5b614e54909391936140ea565b9138614d98565b87513d85823e3d90fd5b9094508881813d8311614e8d575b614e7d8183614118565b81010312612de757519338614d3e565b503d614e73565b88513d86823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b50509150503403614f0157565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b3d15614f76573d906001600160401b0382116109975760405191614f6a601f8201601f191660200184614118565b82523d6000602084013e565b606090565b6020808252825181830181905290939260005b828110614fb057505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501614f8e565b15614fcc5750565b60405162461bcd60e51b8152908190614fe89060048301614f7b565b0390fd5b929190801561508457606461500461500b93836147bb565b04906147ce565b6001600160a01b039290919083168015615029576141e2935061508a565b50609b5460405163410085df60e01b602082019081526001600160a01b039093166024820152604481018490526141e2946000948594939091169291615072816064810161041a565b51925af161507e614f3c565b90614fc4565b50505050565b60405163a9059cbb60e01b60208083019182526001600160a01b039490941660248301526044808301959095529381529192615123929160009081906150d1606486614118565b60018060a01b031692604051946150e7866140fd565b8786527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656488870152519082855af161511d614f3c565b916151ab565b805190828215928315615193575b5050501561513c5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6151a39350820181019101614bce565b388281615131565b9192901561520d57508151156151bf575090565b3b156151c85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015614fcc5750805190602001fd5b6001600160a01b039081169493929091851561527b575060005b815181101561527357806152698461525561526e9486614bba565b51166152618388614bba565b51908961508a565b614b8e565b61523a565b505050509050565b92945090609b54169160405160206152ab8183019463c176e63960e01b8652604060248501526064840190613f49565b82810360231901604484015287518082529082019782019160005b8281106152ef575050505091600093918361507286956141e2989903601f198101835282614118565b83518a5298810198928101926001016152c656fea2646970667358221220cc1ca998abc394c2395024e0387ed41a6642f970820e9610c03676a92ef67a5a64736f6c63430008120033","sourceMap":"1183:18265:69:-:0;;;;;;;;;;;;;;;;;","linkReferences":{"src/v2/utils/MarketConfigV2.sol":{"MarketConfigV2":[{"start":1746,"length":20}]}}},"deployedBytecode":{"object":"0x60806040526004361015610068575b361561001957600080fd5b60405162461bcd60e51b815260206004820152602160248201527f455448207061796d656e74206e6f74206163636570746564206469726563746c6044820152607960f81b6064820152608490fd5b6000803560e01c80630cd87c6814613d695780630e519ef914613d4b57806310f7978914613d28578063299a0e1e14613cbd578063301aa514146134e357806348626b90146134b55780634ebade5f146134075780635138b08c146127a15780635e51b2d4146127115780636699ee4314611ecf5780636fe9f44c14611eb1578063715018a614611e5357806376ffb5a714611c965780638da5cb5b14611c6d57806395cf6b9014610fb8578063ac964f8e14610eaf578063affdafd814610e8c578063bb120e6614610e11578063c306b378146104d1578063c47c35c11461043c578063d97f7657146103a8578063daa264991461038a578063e29ac89014610340578063e35ed75a1461021a5763f2fde38b14610187575061000e565b34610217576020366003190112610217576101a0613ef1565b6101a8613ff7565b6001600160a01b038116156101c3576101c09061404f565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b503461021757604036600319011261021757608090610237613ef1565b906024359060018060a01b038093169182825260ff60209360a28552604084208385528552604084209580604060018151996102728b6140cf565b838154168b52015496888a01966001600160801b0395868a16895287848d019a8e1c168a52825260a18a52828220908252895220976040516102b381614098565b828a5416815260e061031c600460018d01549c8c85019d8e888216905263ffffffff8160a01c16604087015260c01c60608601528860028201546001600160401b038116608088015260401c1660a0860152610311600382016141ad565b60c086015201614207565b91015251169651169251169251169260405194855284015260408301526060820152f35b50346102175760403660031901126102175760209063ffffffff906040906001600160a01b0361036e613ef1565b16815260a8845281812060243582528452205416604051908152f35b5034610217578060031936011261021757602060a554604051908152f35b50346102175760803660031901126102175763ffffffff60406020926103cc613ef1565b61041a6104286103da613f1d565b9285519283918983019560643591602435908892606894926001600160601b0319809360601b168552601485015260601b16603483015260488201520190565b03601f198101835282614118565b519020815260a98452205416604051908152f35b50346102175760403660031901126102175760c0906001600160a01b03906001600160801b03906040908361046f613ef1565b16815260a160205281812060243582526020522091808354169260026001820154910154916040519485528116602085015263ffffffff8160a01c166040850152841c60608401526001600160401b038116608084015260401c1660a0820152f35b503461021757610140366003190112610217576104ec613ef1565b6104f4613f07565b6104fc613f1d565b610504613f33565b60843592906001600160a01b0384168403610e0c5760a435906001600160a01b0382168203610e0c5760c435906001600160a01b0382168203610e0c5760e435956001600160a01b0387168703610e0c5761010435946001600160a01b0386168603610e0c5761012435966001600160a01b0388168803610e0c578a549960ff8b60081c16159a8b809c610dff575b8015610de8575b15610d8c5760ff1981166001178d558b610d7b575b506001600160a01b03811615610d1a576001600160a01b03831615610cbf576001600160a01b03821615610c5c576001600160a01b03851615610bf9576001600160a01b03841615610ba3576001600160a01b03871615610b46576001600160a01b03861615610ae9576001600160a01b038a1615610a89576001600160a01b03881615610a27576001600160a01b038916156109c45760405163ef8c824960e01b81526001600160a01b039a8b166004820152908a16602482015290891660448201529088166064820152908716608482015290861660a482015290851660c482015290841660e48201529083166101048201529116610124820152610140816101448173__$c98ca6a62396e5a7a1471db151198a1f31$__5af49081156109b957839161084e575b5060018060a01b03815116906001600160601b0360a01b9182609754161760975560018060a01b0360208201511682609854161760985560018060a01b0360408201511682609954161760995560018060a01b0360608201511682609a541617609a5560018060a01b0360808201511682609b541617609b5560018060a01b0360a08201511682609c541617609c5560018060a01b0360c08201511682609d541617609d5560018060a01b0360e08201511682609e541617609e5560018060a01b036101008201511682609f541617609f5561012060018060a01b03910151169060a054161760a055600160a35562093a8060a45561038460a5556107ed60ff835460081c166107e88161414d565b61414d565b6107f63361404f565b81549061080c60ff8360081c166107e88161414d565b6001606555610819575080f35b61ff00191681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610140813d610140116109b1575b8161086c6101409383614118565b810103126109ad576040519061014082018281106001600160401b038211176109975760405261089b81614139565b825260208101516001600160a01b038116810361098f57602083015260408101516001600160a01b038116810361098f57604083015260608101516001600160a01b038116810361098f57606083015260808101516001600160a01b038116810361098f57608083015260a08101516001600160a01b038116810361098f5760a083015260c08101516001600160a01b038116810361098f5760c083015260e08101516001600160a01b038116810361098f5760e083015261010081810151906001600160a01b03821682036109935783015261012090810151906001600160a01b038216820361098f57820152386106d9565b8480fd5b8580fd5b634e487b7160e01b600052604160045260246000fd5b8280fd5b3d915061085e565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a657263373231417070726f76616c4d616e616765604482015274722063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603460248201527f696e697469616c697a653a3a6572633230417070726f76616c4d616e616765726044820152732063616e6e6f742062652030206164647265737360601b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f696e697469616c697a653a3a6e6574776f726b42656e65666963696172792063604482015271616e6e6f742062652030206164647265737360701b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6753657474696e67732063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6752656769737472792063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602860248201527f696e697469616c697a653a3a7061796d656e74732063616e6e6f742062652030604482015267206164647265737360c01b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a617070726f766564546f6b656e52656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a73706163654f70657261746f7252656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152602d60248201527f696e697469616c697a653a3a726f79616c7479456e67696e652063616e6e6f7460448201526c2062652030206164647265737360981b6064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f696e697469616c697a653a3a6d61726b6574706c61636553657474696e67732060448201527263616e6e6f742062652030206164647265737360681b6064820152608490fd5b61ffff1916610101178c55386105af565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561059a5750600160ff82161461059a565b50600160ff821610610593565b600080fd5b5034610217576040366003190112610217576001600160a01b039060019060409083610e3b613ef1565b16815260a760205281812060243582526020522091825416910154610e88604051928263ffffffff859460c01c16916001600160801b036001600160401b038360801c1692169085613fb6565b0390f35b503461021757602036600319011261021757610ea6613ff7565b60043560a45580f35b503461021757602080600319360112610fb4576004359033835260a68152610eea826040852060019160005201602052604060002054151590565b15610f605733835260a68152610f038260408520614a07565b5033835260a78152604083209082845252610f38600360408420848155846001820155610f326002820161486e565b016148c6565b337f6c4be52b9a419eb78a1483e27346ba15e73a3f933dfc4310e9728ddf33c695f88380a380f35b6084906040519062461bcd60e51b82526004820152602760248201527f63616e63656c41756374696f6e4d65726b6c65526f6f743a3a4e6f7420726f6f6044820152663a1037bbb732b960c91b6064820152fd5b5080fd5b5060e036600319011261021757610fcd613ef1565b610fd5613f07565b610fdd613f33565b9160a435906001600160801b0382168203610e0c5760c4356001600160401b03811161099357611014611064913690600401613f86565b61101c614801565b604051606087901b6001600160601b0319166020820152604435603482015261105f9061104c816054810161041a565b6020815191012092608435923691614ae3565b614b31565b15611c105760018060a01b03609854169160018060a01b038516865260a66020526110a46084356040882060019160005201602052604060002054151590565b15611bad5760018060a01b038516865260a760205260408620608435875260205260408620926111356003604051956110dc876140b4565b80546001600160a01b0316875260018101546001600160801b0381166020890152608081901c6001600160401b0316604089015260c01c63ffffffff16606088015261112a600282016141ad565b608088015201614207565b60a085015283516001600160a01b0390811690841603611b4d57604051606087811b6001600160601b03199081166020840190815260843560348501529188901b166054830152604435606883015290611192816088810161041a565b5190209360018060a01b038716885260a860205260408820608435895260205263ffffffff6040892054169480895260a96020528563ffffffff60408b2054161015611ad7576001600160a01b038716895260a160209081526040808b206044358c5290915289206001015460c01c611a78576001600160801b03841615611a2457604051637cd11f4360e11b8152602081600481875afa90811561180e578a916119f2575b506001600160801b0385161161198e576001600160801b036020830151166001600160801b03851610611923576040516331a9108f60e11b815260443560048201526020816024816001600160a01b038c165afa90811561180e578a916118e5575b506001600160a01b0389811691160361188d5760a05460405163e985e9c560e01b81526001600160a01b038a811660048301529091166024820152602081806044810103816001600160a01b038c165afa90811561180e578a9161185e575b5015611819576040516361fe24a960e11b81526001600160801b0385166004820152602081602481875afa90811561180e578a916117da575b50611349611359916001600160801b0387166147ce565b83516001600160a01b0316614cf2565b885260a9602052604088208563ffffffff1982541617905560018060a01b03815116906001600160401b03604082015116906001600160801b0360208201511660a0608083015192015192604051946113b186614098565b60018060a01b038c168652602086015263ffffffff431660408601526001600160401b0342166060860152608085015260a084015260c083015260e082015260018060a01b038616885260a1602052604088206044358952602052604088209060018060a01b038151166001600160601b0360a01b83541617825560018060a01b0360208201511663ffffffff60a01b604083015160a01b16906001600160401b0360c01b9182606085015160c01b16911717600184015560028301906001600160401b0360808401511682549177ffffffffffffffffffffffffffffffff000000000000000060a086015160401b1692161717905560c08101518051906001600160401b0382116117c657602060038501916114ce8484614892565b01908b5260208b208b5b8381106117a9575050505060e00151908151906001600160401b038211611795576004602091019261150a83856148f0565b019189526020892090895b8160051c81106117565750601f1981168103611706575b505050602060049160405192838092638347592160e01b82525afa9081156116fb5787916116cc575b5060405190611563826140cf565b3382526001600160801b0360016020840193828616855260ff6040820194168452818060a01b0389168b5260a260205260408b206044358c5260205260408b2090828060a01b039051166001600160601b0360a01b8254161781550192511682549160ff60801b905160801b16916001600160881b031916171790558560018060a01b0360a05416803b15610fb457604051630aed65f560e11b81526001600160a01b03878116600483015288166024820152306044808301919091523560648201529082908290608490829084905af180156116c1576116ad575b5050604080516001600160a01b0396871681529286166020840152608435908301526001600160801b03166060820152608081019190915233926044359216907f5355b558f02261d348034db859415d5317f7b01cdddd74bb117cfed50d40d1089060a090a4600160655580f35b6116b6906140ea565b61099357853861163f565b6040513d84823e3d90fd5b6116ee915060203d6020116116f4575b6116e68183614118565b8101906147e8565b38611555565b503d6116dc565b6040513d89823e3d90fd5b89928a5b601f1983168303811061172857505060051c0155602060043861152c565b9093602061174d6001928460ff895116919060ff809160031b9316831b921b19161790565b9501910161170a565b8a8b5b6020811061176e575083820155600101611515565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501611759565b634e487b7160e01b8a52604160045260248afd5b82516001600160a01b0316818301556020909201916001016114d8565b634e487b7160e01b8b52604160045260248bfd5b90506020813d602011611806575b816117f560209383614118565b81010312610e0c5751611349611332565b3d91506117e8565b6040513d8c823e3d90fd5b60405162461bcd60e51b815260206004820152601e60248201527f6f776e6572206d757374206861766520617070726f76656420746f6b656e00006044820152606490fd5b611880915060203d602011611886575b6118788183614118565b810190614bce565b386112f9565b503d61186e565b60405162461bcd60e51b815260206004820152602a60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4e6f74207460448201526937b5b2b71037bbb732b960b11b6064820152608490fd5b90506020813d60201161191b575b8161190060209383614118565b810103126119175761191190614139565b3861129a565b8980fd5b3d91506118f3565b60405162461bcd60e51b815260206004820152603b60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43616e6e6f60448201527f74206265206c6f776572207468616e206d696e696d756d2062696400000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603660248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4d757374206044820152756265206c657373207468616e206d61782076616c756560501b6064820152608490fd5b90506020813d602011611a1c575b81611a0d60209383614118565b81010312610e0c575138611238565b3d9150611a00565b60405162461bcd60e51b815260206004820152602660248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43616e6e6f60448201526507420626520360d41b6064820152608490fd5b60405162461bcd60e51b815260206004820152603160248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a41756374696044820152706f6e20616c72656164792065786973747360781b6064820152608490fd5b60405162461bcd60e51b815260206004820152604260248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a546f6b656e60448201527f20616c7265616479207573656420666f722074686973204d65726b6c6520726f6064820152611bdd60f21b608482015260a490fd5b60405162461bcd60e51b815260206004820152603260248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43757272656044820152710dcc6f240c8decae640dcdee840dac2e8c6d60731b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4d65726b6c60448201527419481c9bdbdd081b9bdd081c9959da5cdd195c9959605a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a496e76616c60448201526e34b21026b2b935b63290383937b7b360891b6064820152608490fd5b50346102175780600319360112610217576033546040516001600160a01b039091168152602090f35b503461021757604036600319011261021757611cb0613ef1565b606060a0604051611cc0816140b4565b8481528460208201528460408201528483820152826080820152015260018060a01b0316815260a76020526040812060243582526020526040812090611d67600360405193611d0e856140b4565b80546001600160a01b0316855260018101546001600160801b0381166020870152608081901c6001600160401b0316604087015260c01c63ffffffff166060860152611d5c600282016141ad565b608086015201614207565b60a08301526040519182916020835260e083019160018060a01b0381511660208501526001600160801b0360208201511660408501526001600160401b03604082015116606085015263ffffffff606082015116608085015260808101519260c060a0860152835180915260206101008601940190835b818110611e315750505060a0015191601f198482030160c0850152602080845192838152019301915b818110611e15575050500390f35b825160ff16845285945060209384019390920191600101611e07565b82516001600160a01b0316865287965060209586019590920191600101611dde565b5034610217578060031936011261021757611e6c613ff7565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610217578060031936011261021757602060a354604051908152f35b50608036600319011261021757611ee4613ef1565b611eec613f1d565b906064356001600160801b0381168103610e0c57611f08614801565b6098546040516361fe24a960e11b81526001600160801b03831660048201526001600160a01b039091169190602081602481865afa80156123285786906126d8575b6001600160801b039150166001600160801b03821601916001600160801b0383116126c457611f826001600160801b03841686614be6565b60018060a01b038416865260a1602052604086206024358752602052604086209061201c600460405193611fb585614098565b60018060a01b038154168552600181015460018060a01b038116602087015263ffffffff8160a01c16604087015260c01c60608601526001600160801b0360028201546001600160401b038116608088015260401c1660a0860152610311600382016141ad565b60e08301526001600160401b03606083015116156126805781516001600160a01b0316331461262f576001600160401b0361206481606085015116826080860151169061478a565b164210156125f15760208201516001600160a01b0390811690871603612596576001600160801b0360a0830151166001600160801b03841610612551576001600160801b038316156124fd57602060049160405192838092637cd11f4360e11b82525afa9081156116fb5787916124cb575b506001600160801b03831611612486576001600160a01b038416865260a26020908152604080882060243589529091528087209051600194612117826140cf565b858060a01b0383541695869384845201546001600160801b038116602084015260ff8160801c166040840152836123e3575b509261216d6001600160801b036121ae951660018060a01b03602084015116614cf2565b6001600160401b0360608201511680612352575b506020908101519082015160409092015160ff16916001600160801b0316906001600160a01b0316614fec565b609854604051638347592160e01b8082529291602090829060049082906001600160a01b03165afa9081156116fb578791612333575b50604051906121f2826140cf565b3382526001600160801b0360016020840193828616855260ff6040820194168452818060a01b0389168b5260a260205260408b206024358c5260205260408b2090828060a01b039051166001600160601b0360a01b8254161781550192511682549160ff60801b905160801b16916001600160881b03191617179055602060018060a01b03609854169260046040518095819382525afa9081156123285760ff9287926122fe575b506001600160801b03906040519660018060a01b031687521660208601521660408401526060830152602435917f05d5a145b6996460db14669f3bb9bebeb953e570716e24c3d1af0c8e42d2bab36080339360018060a01b031692a4600160655580f35b6001600160801b039192506123219060203d6020116116f4576116e68183614118565b919061229a565b6040513d88823e3d90fd5b61234c915060203d6020116116f4576116e68183614118565b386121e4565b612376906001600160401b036123704292826080870151169061478a565b166147db565b60a554808210612387575b50612181565b6001600160401b03916123a36123a892846080870151166147ce565b6147db565b1660018060a01b0388168a5260a160205260408a206024358b52602052600260408b2001906001600160401b03198254161790553880612381565b6124159193506124016064916001600160801b0360a35491166147bb565b046001600160801b036020840151166147ce565b6001600160801b0385161061242c57849138612149565b60405162461bcd60e51b815260206004820152602c60248201527f6269643a3a4d75737420696e63726561736520626964206279206d696e696d7560448201526b6d2070657263656e7461676560a01b6064820152608490fd5b60405162461bcd60e51b815260206004820152601a60248201527f6269643a3a4269642065786365656473206d61782076616c75650000000000006044820152606490fd5b90506020813d6020116124f5575b816124e660209383614118565b81010312610e0c5751386120d6565b3d91506124d9565b60405162461bcd60e51b815260206004820152602660248201527f6269643a3a42696420616d6f756e74206d75737420626520677265617465722060448201526507468616e20360d41b6064820152608490fd5b60405162461bcd60e51b815260206004820152601760248201527f6269643a3a42696420616d6f756e7420746f6f206c6f770000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602d60248201527f6269643a3a43757272656e637920646f6573206e6f74206d617463682061756360448201526c74696f6e2063757272656e637960981b6064820152608490fd5b60405162461bcd60e51b8152602060048201526016602482015275189a590e8e905d58dd1a5bdb881a185cc8195b99195960521b6044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f6269643a3a43616e6e6f7420626964206f6e20796f7572206f776e206175637460448201526234b7b760e91b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f6269643a3a4d757374206861766520612063757272656e742061756374696f6e6044820152fd5b634e487b7160e01b86526011600452602486fd5b506020813d602011612709575b816126f260209383614118565b81010312610e0c576001600160801b039051611f4a565b3d91506126e5565b50346102175760803660031901126102175761272b613f07565b90606435906001600160401b0382116102175760206127978461105f6127543660048801613f86565b60405160609490941b6001600160601b0319168685019081526044356014820152919390929190612788816034840161041a565b51902092600435923691614ae3565b6040519015158152f35b5034610217576040366003190112610217576127bb613ef1565b60018060a01b038116825260a16020526040822060243583526020526040822061285f6004604051926127ed84614098565b60018060a01b038154168452600181015460018060a01b038116602086015263ffffffff8160a01c16604086015260c01c60608501526001600160801b0360028201546001600160401b038116608087015260401c1660a0850152612854600382016141ad565b60c085015201614207565b60e082015260018060a01b038216835260a2602052604083206024358452602052604083209160ff600160405194612896866140cf565b818060a01b03815416865201546001600160801b038116602086015260801c1660408401526001600160401b03606083015116156133c3576001600160401b036128ed81606085015116826080860151169061478a565b1642106133725760018060a01b038116845260a1602052604084206024358552602052612934600460408620868155866001820155866002820155610f326003820161486e565b6001600160a01b03818116855260a26020908152604080872060243588529091528520858155600101859055835116156132f457825184906001600160a01b039081169083163b15610fb4576040516323b872dd60e01b8152306004820152602480820192909252903560448201528181606481836001600160a01b0388165af180156116c1576132e0575b505060208281015190840151835160c085015160e0860151815181516001600160a01b03948516999690941696929591946001600160801b0316930361327f576024838a9499602060018060a01b0360985416604051948580926361fe24a960e11b82528660048301525afa928315612328578693613248575b5060405192612a48846140cf565b6002845260403660208601376097546001600160a01b031680612a6a86614b9d565b52609e5460405163e286ef3360e01b81526004810185905290602090829060249082906001600160a01b03165afa90811561314957899161320a575b506001600160a01b0316612ab986614baa565b526001600160a01b03612acb86614baa565b51166131f1575b612adb85614baa565b6001600160a01b03909116905260405190612af5826140cf565b600282526040366020840137609d546040516303fdde1160e21b8152600481018690526001600160a01b0390911690602081602481855afa90811561180e578a916131b9575b50602491602091612b4b86614b9d565b526040519283809263470d6ed960e11b82528960048301525afa90811561314957899161317e575b5082918691612b84612b8b95614baa565b528c615220565b609854604051631446f21360e21b81526001600160a01b038781166004830152602480359083015290949116602085604481845afa80156131735788958691613154575b5015612f39575b5050609a54604051637a99dc0160e11b81526001600160a01b038781166004830152602480359083015260448201949094529c8d93606493508492165af19687156109b95783998498612deb575b508399849a5b89518c1015612c5757612c4b612c5191612c448e8d614bba565b51906147ce565b9b614b8e565b9a612c2a565b9a50612c6e8b612c759496989a939597999b6147db565b9a8a615220565b845195612c8187614954565b96612c8f6040519889614118565b808852612c9e601f1991614954565b01366020890137845b8651811015612ce357806064612ccd60ff612cc5612cde958c614bba565b51168d6147bb565b04612cd8828b614bba565b52614b8e565b612ca7565b5091959296612cf59498919550615220565b60985484906001600160a01b0316803b15610fb457604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af1612dd3575b50505b60018060a01b038151169160018060a01b038151169160ff60406001600160801b0360208501511692602060018060a01b0391015116930151169260405194855260208501526040840152606083015260808201527fd6bafd8fc8591640c77fad1fe6a63cf44843ab5139aa025ba7e18c94fd3686c060a060243593600180831b031692a380f35b612ddc906140ea565b612de7578338612d48565b8380fd5b995096503d988984823e612dff8a82614118565b6040818b81010312612de7578051906001600160401b03821161098f578a8101601f83830101121561098f578181015191612e3983614954565b92612e476040519485614118565b80845260208401918d840160208360051b838701010111612f1557602081850101925b60208360051b83870101018410612f19575050505060208101519a6001600160401b038c1161099357808201601f8d8401011215610993578b82015191612eb083614954565b9c6040519d612ebf908f614118565b8d8481526020019282018460051b8284010160200111612f15579190602083820101925b60208560051b82840101018410612f01575050505050989638612c24565b602080809486518152019401939250612ee3565b8780fd5b83516001600160a01b038116810361191757815260209384019301612e6a565b9091935060405190612f4a826140fd565b600182526020368184013760405192612f62846140fd565b60018452602036818601376001600160a01b0390612f7f90614b9d565b5116612f8a84614b9d565b52609954604051635dc22eff60e01b81526004810187905290602090829060249082906001600160a01b03165afa90811561314957899161312a575b501561307c5750609954604051632260494f60e01b81526004810195909552602090859060249082906001600160a01b03165afa9384156116fb57879460ff91869161305d575b50169b61301a8d856147bb565b60649004613027916147db565b9b61303290846147bb565b6064900461303f82614b9d565b5261304981614b9d565b5191613055928b615220565b388080612bd6565b613076915060203d6020116116f4576116e68183614118565b3861300d565b60405163b28a7bad60e01b81526001600160a01b0388166004820152919c50909350602090849060249082905afa92831561232857869360ff91859161310b575b50169a6130ca8c846147bb565b606490046130d890846147db565b9b6130e390846147bb565b606490046130f082614b9d565b526130fa81614b9d565b5191613106928b615220565b613055565b613124915060203d6020116116f4576116e68183614118565b386130bd565b613143915060203d602011611886576118788183614118565b38612fc6565b6040513d8b823e3d90fd5b61316d915060203d602011611886576118788183614118565b38612bcf565b6040513d8a823e3d90fd5b985050906020883d6020116131b1575b8161319b60209383614118565b81010312610e0c5796518d979190612b8b612b73565b3d915061318e565b9950506020893d6020116131e9575b816131d560209383614118565b81010312610e0c5797518e98906024612b3b565b3d91506131c8565b506001600160a01b0361320385614baa565b5116612ad2565b90506020813d602011613240575b8161322560209383614118565b8101031261323c5761323690614139565b38612aa6565b8880fd5b3d9150613218565b955091506020853d602011613277575b8161326560209383614118565b81010312610e0c578a94519138612a3a565b3d9150613258565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b6132e9906140ea565b612de75783386129c0565b8151909291906001600160a01b039081169084163b1561098f576040516323b872dd60e01b8152306004820152602480820192909252903560448201528481606481836001600160a01b0389165af1801561336757613354575b50612d4b565b613360909491946140ea565b923861334e565b6040513d87823e3d90fd5b60405162461bcd60e51b8152602060048201526024808201527f736574746c6541756374696f6e3a3a41756374696f6e20686173206e6f7420656044820152631b99195960e21b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f736574746c6541756374696f6e3a3a4e6f2061756374696f6e206578697374736044820152fd5b503461021757602080600319360112610fb4576001600160a01b0361342a613ef1565b16825260a681526040822060405192838383549182815201908193835284832090835b8181106134a15750505084613463910385614118565b60405193838594850191818652518092526040850193925b82811061348a57505050500390f35b83518552869550938101939281019260010161347b565b82548452928601926001928301920161344d565b50346102175760203660031901126102175760043560ff8116809103610fb4576134dd613ff7565b60a35580f35b50346102175760c0366003190112610217576134fd613f07565b6001600160801b036044351660443503610fb4576001600160401b036064351660643503610fb4576084356001600160401b0381116109ad57613544903690600401613f86565b919060a4356001600160401b03811161098f57613565903690600401613f86565b906001600160a01b038416158015613c5b575b15613c1e578415613bc95760058511613b7857818503613b1e5785805b838210613af2576064915003613a9d5760a4546001600160401b036064351611613a4357609854604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa9081156116fb578791613a0d575b506001600160801b0360443516116139a35733865260a660205261361660043560408820614999565b5033865260a8602052604086206004358752602052600163ffffffff604088205416019463ffffffff861161398f5733875260a8602052604087206004358852602052604087209363ffffffff8716948563ffffffff1982541617905560405194613680866140b4565b6001600160a01b03871686526044356001600160801b031660208701526064356001600160401b0316604087015260608601526136bc82614954565b916136ca6040519384614118565b8083526020830191368260051b8201116119175780925b8260051b8201841061396b575050505060808401526136ff82614954565b9161370d6040519384614118565b8083526020830191368260051b820111612f155780925b8260051b82018410613951575050505060a082015233845260a76020526040842060043585526020526040842060018060a01b038251166001600160601b0360a01b825416178155600181016001600160801b036020840151168154906001600160401b0360801b604086015160801b169063ffffffff60c01b606087015160c01b169263ffffffff60e01b16171717905560808201518051906001600160401b03821161393d57602060028401916137dd8484614892565b0190875260208720875b8381106139205750505050600360a091019101518051906001600160401b03821161390c5760209061381983856148f0565b01918552602085208160051c91865b8381106138cd5750601f198116900380613883575b505050507f0ab992cc17951860858a996357021e201f2a5dc931b948bee54c7c5e665f70cb6040518061387d600435953395606435906044359085613fb6565b0390a380f35b928693875b81811061389d5750505001553880808061383d565b90919460206138c36001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101613888565b87885b602081106138e5575083820155600101613828565b865190969160019160209160ff60038b901b81811b199092169216901b17920196016138d0565b634e487b7160e01b86526041600452602486fd5b82516001600160a01b0316818301556020909201916001016137e7565b634e487b7160e01b87526041600452602487fd5b833560ff8116810361191757815260209384019301613724565b83356001600160a01b038116810361398b578152602093840193016136e1565b8b80fd5b634e487b7160e01b87526011600452602487fd5b608460405162461bcd60e51b815260206004820152604060248201527f726567697374657241756374696f6e4d65726b6c65526f6f743a3a537461727460448201527f696e6720616d6f756e742065786365656473206d6178696d756d2076616c75656064820152fd5b90506020813d602011613a3b575b81613a2860209383614118565b81010312613a375751386135ed565b8680fd5b3d9150613a1b565b60405162461bcd60e51b815260206004820152602c60248201527f726567697374657241756374696f6e4d65726b6c65526f6f743a3a447572617460448201526b696f6e20746f6f206c6f6e6760a01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8301359060ff821680920361323c57613b1891613b12916147ce565b91614b8e565b90613595565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b50609c54604051632d5ad3d560e01b81526001600160a01b038681166004830152909160209183916024918391165afa9081156116fb578791613c9f575b50613578565b613cb7915060203d8111611886576118788183614118565b38613c99565b5034610217576040366003190112610217576060906001600160a01b039060ff9060019060409084613ced613ef1565b16815260a2602052818120602435825260205220928354169201546040519283526001600160801b038116602084015260801c166040820152f35b503461021757602036600319011261021757613d42613ff7565b60043560a55580f35b5034610217578060031936011261021757602060a454604051908152f35b5034610217576040366003190112610217576001600160a01b03613d8b613ef1565b16815260a1602052604081206024358252602052613e1a600460408320613db26080614098565b80546001600160a01b03908116608052600182015490811660a090815281901c63ffffffff1660c09081521c60e05260028101546001600160401b0381166101005260401c6001600160801b031661012052613e10600382016141ad565b6101405201614207565b8060e06080015260018060a01b03608051169063ffffffff6040608001511692613eb16001600160401b03606060800151166001600160401b0360808001511660018060a01b03602060800151166001600160801b0360a060800151169160c06080015193604051998a998a5260208a015260408901526060880152608087015260a08601526101008060c0870152850190613f49565b83810360e0850152602080845192838152019301915b818110613ed5575050500390f35b825160ff16845285945060209384019390920191600101613ec7565b600435906001600160a01b0382168203610e0c57565b602435906001600160a01b0382168203610e0c57565b604435906001600160a01b0382168203610e0c57565b606435906001600160a01b0382168203610e0c57565b90815180825260208080930193019160005b828110613f69575050505090565b83516001600160a01b031685529381019392810192600101613f5b565b9181601f84011215610e0c578235916001600160401b038311610e0c576020808501948460051b010111610e0c57565b6001600160a01b0390911681526001600160801b039190911660208201526001600160401b03909116604082015263ffffffff909116606082015260800190565b6033546001600160a01b0316330361400b57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b61010081019081106001600160401b0382111761099757604052565b60c081019081106001600160401b0382111761099757604052565b606081019081106001600160401b0382111761099757604052565b6001600160401b03811161099757604052565b604081019081106001600160401b0382111761099757604052565b90601f801991011681019081106001600160401b0382111761099757604052565b51906001600160a01b0382168203610e0c57565b1561415457565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b9060405191828154918282526020928383019160005283600020936000905b8282106141e4575050506141e292500383614118565b565b85546001600160a01b0316845260019586019588955093810193909101906141cc565b90604051918281549182825260209081830190600052816000206000905b85601f8301106145f357946141e2955491848282106145e0575b8282106145ca575b8282106145b4575b82821061459e575b828210614589575b828210614573575b82821061455d575b828210614547575b828210614531575b82821061451b575b828210614505575b8282106144ef575b8282106144d9575b8282106144c3575b8282106144ad575b828210614497575b828210614481575b82821061446b575b828210614455575b82821061443f575b828210614429575b828210614413575b8282106143fd575b8282106143e7575b8282106143d1575b8282106143bb575b8282106143a5575b82821061438f575b828210614379575b828210614363575b82821061434d575b5010614340575b5090500383614118565b60f81c8152018038614336565b6001919460ff8560f01c1681520193018461432f565b6001919460ff8560e81c16815201930184614327565b6001919460ff8560e01c1681520193018461431f565b6001919460ff8560d81c16815201930184614317565b6001919460ff8560d01c1681520193018461430f565b6001919460ff8560c81c16815201930184614307565b6001919460ff8560c01c168152019301846142ff565b6001919460ff8560b81c168152019301846142f7565b6001919460ff8560b01c168152019301846142ef565b6001919460ff8560a81c168152019301846142e7565b6001919460ff8560a01c168152019301846142df565b6001919460ff8560981c168152019301846142d7565b6001919460ff8560901c168152019301846142cf565b6001919460ff8560881c168152019301846142c7565b6001919460ff8560801c168152019301846142bf565b6001919460ff8560781c168152019301846142b7565b6001919460ff8560701c168152019301846142af565b6001919460ff8560681c168152019301846142a7565b6001919460ff8560601c1681520193018461429f565b6001919460ff8560581c16815201930184614297565b6001919460ff8560501c1681520193018461428f565b6001919460ff8560481c16815201930184614287565b6001919460ff8560401c1681520193018461427f565b6001919460ff8560381c16815201930184614277565b6001919460ff8560301c1681520193018461426f565b6001919460ff8560281c16815201930184614267565b6001919460ff85831c1681520193018461425f565b6001919460ff8560181c16815201930184614257565b6001919460ff8560101c1681520193018461424f565b6001919460ff8560081c16815201930184614247565b6001919460ff851681520193018461423f565b9350916001610400829693865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018693919492614225565b9190916001600160401b03808094169116019182116147a557565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156147a557565b919082018092116147a557565b919082039182116147a557565b90816020910312610e0c575160ff81168103610e0c5790565b600260655414614812576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b818110614862575050565b60008155600101614857565b8054600082558061487d575050565b6141e291600052602060002090810190614857565b90600160401b8111610997578154908083558181106148b057505050565b6141e29260005260206000209182019101614857565b805460008255806148d5575050565b6141e291600052601f6020600020910160051c810190614857565b90600160401b811161099757815481835580821061490d57505050565b6141e292600052601f6020600020918180850160051c8401941680614939575b500160051c0190614857565b600019908186019182549160200360031b1c1690553861492d565b6001600160401b0381116109975760051b60200190565b80548210156149835760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b6000828152600182016020526040902054614a0057805490600160401b82101561099757826149e96149d284600180960185558461496b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014614adc576000199180830181811161398f57825490848201918211614ac857808203614a93575b50505080548015614a7f57820191614a62838361496b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b614ab3614aa36149d2938661496b565b90549060031b1c9283928661496b565b90558652846020526040862055388080614a4a565b634e487b7160e01b88526011600452602488fd5b5050505090565b9291614aee82614954565b91614afc6040519384614118565b829481845260208094019160051b8101928311610e0c57905b828210614b225750505050565b81358152908301908301614b15565b929091906000915b8451831015614b8657614b4c8386614bba565b5190600082821015614b745750600052602052614b6e60406000205b92614b8e565b91614b39565b604091614b6e93825260205220614b68565b915092501490565b60001981146147a55760010190565b8051156149835760200190565b8051600110156149835760400190565b80518210156149835760209160051b010190565b90816020910312610e0c57518015158103610e0c5790565b6001600160a01b03908116908115614ced57609f54604051636eb1769f60e11b815233600482015291166001600160a01b0316602482015290602090829081806044810103915afa908115614ce157600091614cb0575b5010614c4557565b60405162461bcd60e51b815260206004820152603960248201527f73656e646572206e6565647320746f20617070726f766520455243323041707060448201527f726f76616c4d616e6167657220666f722063757272656e6379000000000000006064820152608490fd5b906020823d8211614cd9575b81614cc960209383614118565b8101031261021757505138614c3d565b3d9150614cbc565b6040513d6000823e3d90fd5b505050565b6001600160a01b0391600091838116908115614ef45734614e9e576040938451916370a0823160e01b908184523060048501526020978885602481895afa948515614e94578495614e65575b50609f541690813b15612de7578751630aed65f560e11b81526001600160a01b03919091166004820152336024820152306044820152606481018790529083908290608490829084905af18015614e5b5790889291614e48575b50602487518096819382523060048301525afa908115614e3d5790614e0e575b614dc292506147db565b03614dcb575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b508482813d8311614e36575b614e248183614118565b81010312610e0c57614dc29151614db8565b503d614e1a565b8551903d90823e3d90fd5b614e54909391936140ea565b9138614d98565b87513d85823e3d90fd5b9094508881813d8311614e8d575b614e7d8183614118565b81010312612de757519338614d3e565b503d614e73565b88513d86823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b50509150503403614f0157565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b3d15614f76573d906001600160401b0382116109975760405191614f6a601f8201601f191660200184614118565b82523d6000602084013e565b606090565b6020808252825181830181905290939260005b828110614fb057505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501614f8e565b15614fcc5750565b60405162461bcd60e51b8152908190614fe89060048301614f7b565b0390fd5b929190801561508457606461500461500b93836147bb565b04906147ce565b6001600160a01b039290919083168015615029576141e2935061508a565b50609b5460405163410085df60e01b602082019081526001600160a01b039093166024820152604481018490526141e2946000948594939091169291615072816064810161041a565b51925af161507e614f3c565b90614fc4565b50505050565b60405163a9059cbb60e01b60208083019182526001600160a01b039490941660248301526044808301959095529381529192615123929160009081906150d1606486614118565b60018060a01b031692604051946150e7866140fd565b8786527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656488870152519082855af161511d614f3c565b916151ab565b805190828215928315615193575b5050501561513c5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6151a39350820181019101614bce565b388281615131565b9192901561520d57508151156151bf575090565b3b156151c85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015614fcc5750805190602001fd5b6001600160a01b039081169493929091851561527b575060005b815181101561527357806152698461525561526e9486614bba565b51166152618388614bba565b51908961508a565b614b8e565b61523a565b505050509050565b92945090609b54169160405160206152ab8183019463c176e63960e01b8652604060248501526064840190613f49565b82810360231901604484015287518082529082019782019160005b8281106152ef575050505091600093918361507286956141e2989903601f198101835282614118565b83518a5298810198928101926001016152c656fea2646970667358221220cc1ca998abc394c2395024e0387ed41a6642f970820e9610c03676a92ef67a5a64736f6c63430008120033","sourceMap":"1183:18265:69:-:0;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;-1:-1:-1;;;4581:43:69;;1183:18265;;4581:43;;1183:18265;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;4581:43;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;:::i;:::-;1303:62:20;;:::i;:::-;-1:-1:-1;;;;;1183:18265:69;;2402:22:20;1183:18265:69;;2496:8:20;;;:::i;:::-;1183:18265:69;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;19223:11;1183:18265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;19292:13;1183:18265;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;:::i;:::-;;;;18583:16;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1777:37;1183:18265;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;;;;;:::i;:::-;17980:59;;1183:18265;;:::i;:::-;;;;17980:59;;;;;;1183:18265;;;;;;17980:59;;1183:18265;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;17980:59;;1183:18265;;17980:59;;;;;;:::i;:::-;1183:18265;17970:70;;1183:18265;;18053:17;1183:18265;;;;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;-1:-1:-1;;;;;1183:18265:69;-1:-1:-1;;;;;1183:18265:69;;;;;;:::i;:::-;;;;1534:68;1183:18265;;;;;;;;;;;;;;;;;1534:68;;1183:18265;1534:68;;1183:18265;1534:68;;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;3301:14:21;3347:34;;;;;;1183:18265:69;3346:108:21;;;;1183:18265:69;;;;-1:-1:-1;;1183:18265:69;;;;;;;3562:65:21;;1183:18265:69;-1:-1:-1;;;;;;1183:18265:69;;2915:34;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3019:28;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3111:36;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3219:36;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3327:23;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3409:30;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3505:30;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3601:33;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3703:35;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;3809:36;1183:18265;;;;-1:-1:-1;;;3957:302:69;;-1:-1:-1;;;;;1183:18265:69;;;;3957:302;;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3957:14;:302;;;;;;;;;;;1183:18265;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;3942:317;1183:18265;;;3942:317;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4301:32;1183:18265;4358:6;1183:18265;;4395:10;4370:35;1183:18265;5366:69:21;1183:18265:69;;;;;;5366:69:21;;;:::i;:::-;;:::i;:::-;1195:12:20;929:10:24;1195:12:20;:::i;:::-;1183:18265:69;;;5366:69:21;1183:18265:69;;;;;5366:69:21;;;:::i;:::-;1183:18265:69;2065:22:22;1183:18265:69;3647:99:21;;1183:18265:69;;;3647:99:21;1183:18265:69;;;;;3721:14:21;1183:18265:69;;;;;;3721:14:21;1183:18265:69;;3957:302;;;1183:18265;3957:302;;1183:18265;3957:302;;;;;;1183:18265;3957:302;;;:::i;:::-;;;1183:18265;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;3957:302;;;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;3957:302;;;-1:-1:-1;3957:302:69;;;1183:18265;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;3562:65:21;-1:-1:-1;;1183:18265:69;;;;;3562:65:21;;;1183:18265:69;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;3346:108:21;3426:4;;1713:19:23;:23;3387:66:21;;3346:108;3387:66;1183:18265:69;;;;;3436:17:21;3346:108;;3347:34;1183:18265:69;;;;;3365:16:21;3347:34;;1183:18265:69;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;:::i;:::-;;;;2047:86;1183:18265;;;;;;;;;;;;;;;;2047:86;;1183:18265;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;1183:18265:69;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;1303:62:20;;:::i;:::-;1183:18265:69;;5317:36;1183:18265;;;;;;;;;;;;;;;;;;;13280:10;;1183:18265;;13254:25;1183:18265;;6523:28:51;1183:18265:69;;;;4351:12:51;4255:127;-1:-1:-1;1183:18265:69;4351:12:51;1183:18265:69;;;-1:-1:-1;1183:18265:69;;4351:24:51;;4255:127;;6523:28;1183:18265:69;;;13280:10;1183:18265;;13254:25;1183:18265;;6306:26:51;1183:18265:69;;;;6306:26:51;:::i;:::-;;13280:10:69;1183:18265;;13525:19;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;13280:10;13593:45;;;;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;1183:18265:69;;-1:-1:-1;;1183:18265:69;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;14150:45;1183:18265;;;;;;:::i;:::-;2471:103:22;;:::i;:::-;1183:18265:69;;;;;;-1:-1:-1;;;;;;1183:18265:69;;14092:43;;1183:18265;;;;;;;;;14092:43;1183:18265;;;;14092:43;1183:18265;14092:43;1183:18265;;;14092:43;;14082:54;1183:18265;;;;;;;:::i;:::-;14150:45;:::i;:::-;1183:18265;;;;;;;;14286:32;1183:18265;;;;;;;;;;;;14390:25;1183:18265;;6523:28:51;1183:18265:69;;;;;4351:12:51;4255:127;-1:-1:-1;1183:18265:69;4351:12:51;1183:18265:69;;;-1:-1:-1;1183:18265:69;;4351:24:51;;4255:127;;6523:28;1183:18265:69;;;;;;;;;;;;14598:19;1183:18265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;14654:35;1183:18265;;;;;;;;-1:-1:-1;;;;;;1183:18265:69;;;;14843:66;;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;14843:66;;1183:18265;;;;14843:66;1183:18265;14843:66;1183:18265;14833:77;;1183:18265;;;;;;;;;;14938:16;1183:18265;;;;;;;;;;;;;;;;;;;;;14998:17;1183:18265;;;;;;;;;14998:47;1183:18265;;;-1:-1:-1;;;;;1183:18265:69;;;;15196:13;1183:18265;;;;;;;;;;;;;;;;;;15196:53;1183:18265;;;;;-1:-1:-1;;;;;1183:18265:69;;15368:14;1183:18265;;;;-1:-1:-1;;;15453:33:69;;1183:18265;;;;15453:33;;;;;;;;;;;;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;15439:47;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;;;;-1:-1:-1;;;;;1183:18265:69;;15559:35;1183:18265;;;;-1:-1:-1;;;15757:24:69;;1183:18265;;;15757:24;;1183:18265;;;;;-1:-1:-1;;;;;1183:18265:69;;15757:24;;;;;;;;;;;1183:18265;-1:-1:-1;;;;;;1183:18265:69;;;;;15757:36;1183:18265;;;;;;-1:-1:-1;;;1758:70:73;;-1:-1:-1;;;;;1183:18265:69;;;;1758:70:73;;1183:18265:69;;;;;;;;;;;;;;1758:70:73;1183:18265:69;-1:-1:-1;;;;;1183:18265:69;;1758:70:73;;;;;;;;;;;1183:18265:69;;;;;;;-1:-1:-1;;;16043:44:69;;-1:-1:-1;;;;;1183:18265:69;;;16043:44;;1183:18265;;;;;16043:44;;;;;;;;;;;;1183:18265;;16030:57;16093:83;1183:18265;-1:-1:-1;;;;;1183:18265:69;;16030:57;:::i;:::-;1183:18265;;-1:-1:-1;;;;;1183:18265:69;16093:83;:::i;:::-;1183:18265;;14998:17;1183:18265;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;16656:21;1183:18265;;16698:18;1183:18265;;;;;;;:::i;:::-;;;;;;;;;;;16356:367;;1183:18265;;16475:12;1183:18265;;16356:367;;1183:18265;-1:-1:-1;;;;;16517:15:69;1183:18265;;16356:367;;1183:18265;;16356:367;;1183:18265;;16356:367;;1183:18265;;16356:367;;1183:18265;;16356:367;;1183:18265;;;;;;;;;;15196:13;1183:18265;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;16356:367;;1183:18265;;;;;;16356:367;;1183:18265;;;;;-1:-1:-1;;;;;1183:18265:69;;16356:367;;1183:18265;16356:367;;1183:18265;;;;;;;;;;;;;;16356:367;-1:-1:-1;;;;;1183:18265:69;16356:367;;1183:18265;;;;16356:367;1183:18265;;16356:367;;1183:18265;;;;;;;;;;;16356:367;;1183:18265;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;16356:367;;;;1183:18265;16356:367;1183:18265;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;16879:38;;;;;;;;;;;;;1183:18265;;;;;;;;:::i;:::-;16813:10;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;16793:131;;1183:18265;;;;;;;;16793:131;;1183:18265;;;;;;;;;;;;;16752:11;1183:18265;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;12095:81:73;;;;;1183:18265:69;;-1:-1:-1;;;12095:81:73;;-1:-1:-1;;;;;1183:18265:69;;;;12095:81:73;;1183:18265:69;;;;;;;17061:4;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;12095:81:73;;;;;;;;1183:18265:69;-1:-1:-1;;1183:18265:69;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;16813:10;;1183:18265;;;;;17089:176;;1183:18265;;17089:176;1183:18265;2065:22:22;1183:18265:69;;;12095:81:73;;;;:::i;:::-;1183:18265:69;;12095:81:73;;;;;1183:18265:69;;;;;;;;;16879:38;;;;1183:18265;16879:38;1183:18265;16879:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1183:18265;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;16043:44;;;1183:18265;16043:44;;1183:18265;16043:44;;;;;;1183:18265;16043:44;;;:::i;:::-;;;1183:18265;;;;;16030:57;16043:44;;;;;-1:-1:-1;16043:44:69;;;1183:18265;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;1758:70:73;;;;1183:18265:69;1758:70:73;1183:18265:69;1758:70:73;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1183:18265:69;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;15757:24;;;1183:18265;15757:24;;1183:18265;15757:24;;;;;;1183:18265;15757:24;;;:::i;:::-;;;1183:18265;;;;;;;:::i;:::-;15757:24;;;1183:18265;;;;15757:24;;;-1:-1:-1;15757:24:69;;1183:18265;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;15453:33;;;1183:18265;15453:33;;1183:18265;15453:33;;;;;;1183:18265;15453:33;;;:::i;:::-;;;1183:18265;;;;;15453:33;;;;;;-1:-1:-1;15453:33:69;;1183:18265;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;1513:6:20;1183:18265:69;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18894:19;1183:18265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:20;;:::i;:::-;2758:6;1183:18265:69;;-1:-1:-1;;;;;;1183:18265:69;;;;;;;-1:-1:-1;;;;;1183:18265:69;2806:40:20;1183:18265:69;;2806:40:20;1183:18265:69;;;;;;;;;;;;;;;;1695:43;1183:18265;;;;;;;;-1:-1:-1;1183:18265:69;;-1:-1:-1;;1183:18265:69;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;2471:103:22;;:::i;:::-;6180:32:69;1183:18265;;;-1:-1:-1;;;6180:65:69;;-1:-1:-1;;;;;1183:18265:69;;;6180:65;;1183:18265;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;6180:65;;;;;;;;;;1183:18265;-1:-1:-1;;;;;1183:18265:69;;;-1:-1:-1;;;;;1183:18265:69;;;;-1:-1:-1;;;;;1183:18265:69;;;;6327:80;-1:-1:-1;;;;;1183:18265:69;;6327:80;;:::i;:::-;1183:18265;;;;;;;;;6470:13;1183:18265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;6554:24;1183:18265;;;;-1:-1:-1;;;;;1183:18265:69;6704:10;6678:36;1183:18265;;-1:-1:-1;;;;;6787:46:69;1183:18265;;;;;;;;;;;;6787:46;;:::i;:::-;1183:18265;6769:15;:64;1183:18265;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;6927:43;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;;;;-1:-1:-1;;;;;1183:18265:69;;7069:29;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;7140:11;1183:18265;;;;;;;;;;;;;;7219:57;;;;;;;;;;;;;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;7208:68;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;;;7361:11;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;7518:28;7514:240;;1183:18265;;;7791:76;-1:-1:-1;;;;;8400:112:69;1183:18265;;;;;;;;;;;;7791:76;:::i;:::-;-1:-1:-1;;;;;1183:18265:69;;;;;7997:24;7993:401;;1183:18265;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;-1:-1:-1;;;;;1183:18265:69;8400:112;:::i;:::-;6180:32;1183:18265;;;-1:-1:-1;;;8661:62:69;;;1183:18265;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;8661:62;;;;;;;;;;;1183:18265;;;;;;;;:::i;:::-;6704:10;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;8578:152;;1183:18265;;;;;;;;8578:152;;1183:18265;;;;;;;;;;;;;7361:11;1183:18265;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;6180:32;1183:18265;;;;;;8874:62;;;;;;;;;;;;;1183:18265;8874:62;;;;;1183:18265;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;6704:10;8760:204;1183:18265;6704:10;1183:18265;;;;;;;8760:204;;1183:18265;2065:22:22;1183:18265:69;;;8874:62;-1:-1:-1;;;;;8874:62:69;;;;;1183:18265;8874:62;1183:18265;8874:62;;;;;;;:::i;:::-;;;;;;1183:18265;;;;;;;;;8661:62;;;;1183:18265;8661:62;1183:18265;8661:62;;;;;;;:::i;:::-;;;;7993:401;8050:66;6769:15;-1:-1:-1;;;;;8051:46:69;6769:15;1183:18265;;;;;;;8051:46;;:::i;:::-;1183:18265;8050:66;:::i;:::-;8140:22;1183:18265;8129:33;;;8125:263;;7993:401;;;;8125:263;-1:-1:-1;;;;;1183:18265:69;8193:48;:59;1183:18265;;;;;;;8193:48;:::i;:::-;:59;:::i;:::-;1183:18265;;;;;;;;;;6470:13;1183:18265;;;;;;;;;;;;;;;8296:56;1183:18265;-1:-1:-1;;;;;1183:18265:69;;;;;;;8125:263;;;;7514:240;7664:34;1183:18265;;;7582:48;1183:18265;;-1:-1:-1;;;;;7602:28:69;1183:18265;;;7582:48;:::i;:::-;1183:18265;-1:-1:-1;;;;;1183:18265:69;;;;;7664:34;:::i;:::-;-1:-1:-1;;;;;1183:18265:69;;7653:45;1183:18265;;7514:240;;;;;1183:18265;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;7219:57;;;1183:18265;7219:57;;1183:18265;7219:57;;;;;;1183:18265;7219:57;;;:::i;:::-;;;1183:18265;;;;;7219:57;;;;;;-1:-1:-1;7219:57:69;;1183:18265;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;6180:65;;1183:18265;6180:65;;1183:18265;6180:65;;;;;;1183:18265;6180:65;;;:::i;:::-;;;1183:18265;;;;-1:-1:-1;;;;;1183:18265:69;;6180:65;;;;;-1:-1:-1;6180:65:69;;1183:18265;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;17616:39;1183:18265;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;1183:18265:69;17567:35;;;1183:18265;;;;;;;;;;;;;;17567:35;;1183:18265;;;;17567:35;1183:18265;17567:35;1183:18265;17557:46;;1183:18265;;;;;;;:::i;17616:39::-;1183:18265;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;:::i;:::-;;;;;;;;;;9205:13;1183:18265;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;9275:11;1183:18265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;9357:24;1183:18265;;-1:-1:-1;;;;;9484:46:69;1183:18265;;;;;;;;;;;;9484:46;;:::i;:::-;1183:18265;9465:15;:65;1183:18265;;;;;;;;;;;9205:13;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1183:18265:69;;;;;9275:11;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;9730:31;1183:18265;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;9813:81;;;;1183:18265;;-1:-1:-1;;;9813:81:69;;9859:4;1183:18265;9813:81;;1183:18265;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;9813:81;;;;;;;;9726:688;-1:-1:-1;;1183:18265:69;;;;;;;;;;;;;;10091:23;1183:18265;;;10124:19;1183:18265;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;10091:23;;10124:19;;-1:-1:-1;;;;;1183:18265:69;;7124:41:73;1183:18265:69;;;7769:33:73;;;1183:18265:69;;;;;;;7857:27:73;1183:18265:69;;;;;;;;;;;7857:60:73;;;1183:18265:69;7857:60:73;;1183:18265:69;7857:60:73;;;;;;;;;;;9726:688:69;1183:18265;;;;;;;:::i;:::-;;;;;;;;;;9927:12;1183:18265;-1:-1:-1;;;;;1183:18265:69;;7993:52:73;;;:::i;:::-;1183:18265:69;8076:23:73;1183:18265:69;;;-1:-1:-1;;;8076:67:73;;1183:18265:69;8076:67:73;;1183:18265:69;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;8076:67:73;;;;;;;;;;;9726:688:69;-1:-1:-1;;;;;;1183:18265:69;8051:93:73;;;:::i;:::-;1183:18265:69;-1:-1:-1;;;;;8167:14:73;;;:::i;:::-;1183:18265:69;;8167:83:73;;;8150:100;;;:::i;:::-;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;:::i;:::-;;;;;;;;;;8316:23:73;1183:18265:69;;;-1:-1:-1;;;8316:62:73;;1183:18265:69;8316:62:73;;1183:18265:69;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;8316:62:73;;;;;;;;;;;8167:83;8304:74;1183:18265:69;8304:74:73;1183:18265:69;8304:74:73;;;;:::i;:::-;1183:18265:69;;;;;;;;;;8396:52:73;;;1183:18265:69;8396:52:73;;1183:18265:69;8396:52:73;;;;;;;;;;;8167:83;8384:64;;;;;;8526:6;8384:64;;:::i;:::-;1183:18265:69;8526:6:73;;:::i;:::-;7857:27;1183:18265:69;;;-1:-1:-1;;;8545:73:73;;-1:-1:-1;;;;;1183:18265:69;;;;8545:73:73;;1183:18265:69;;;;;;;;;;;;;;;;;8545:73:73;;;;;;;;;;;;8167:83;8544:74;;8540:1090;;8167:83;-1:-1:-1;;9744:21:73;1183:18265:69;;;-1:-1:-1;;;9744:92:73;;-1:-1:-1;;;;;1183:18265:69;;;;9744:92:73;;1183:18265:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;;9744:92:73;;;;;;;;;;;;;8167:83;9881:30;;9922:13;;9917:92;9957:3;1183:18265:69;;9937:18:73;;;;;9970:32;9957:3;9992:10;;;;;:::i;:::-;1183:18265:69;9970:32:73;;:::i;:::-;9957:3;;:::i;:::-;9922:13;;;9937:18;;;10033:36;9937:18;10175:7;9937:18;;;;;;;;;10033:36;:::i;:::-;10175:7;;;:::i;:::-;1183:18265:69;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;10303:13:73;10343:3;1183:18265:69;;10318:23:73;;;;;10393:15;1183:18265:69;10375:33:73;1183:18265:69;10393:15:73;10343:3;10393:15;;;:::i;:::-;1183:18265:69;;10375:33:73;;:::i;:::-;1183:18265:69;10356:59:73;;;;:::i;:::-;1183:18265:69;10343:3:73;:::i;:::-;10303:13;;10318:23;;;;;;10500:12;10318:23;;;;;10500:12;:::i;:::-;7857:27;1183:18265:69;;;-1:-1:-1;;;;;1183:18265:69;10163:81;;;;;1183:18265;;-1:-1:-1;;;10163:81:69;;-1:-1:-1;;;;;1183:18265:69;;;10163:81;;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;10163:81;;;;10298:124:73;9726:688:69;;;1183:18265;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10443:209;1183:18265;;;;;;;;;;10443:209;;1183:18265;;10163:81;;;;:::i;:::-;1183:18265;;10163:81;;;;1183:18265;;;;9744:92:73;;;;;;;;;;;;;;;:::i;:::-;1183:18265:69;9744:92:73;;;;1183:18265:69;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;9744:92:73;;;1183:18265:69;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9744:92:73;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;9744:92:73;;;1183:18265:69;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;9744:92:73;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9744:92:73;;;;;;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;8540:1090:73;1183:18265:69;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;8775:14:73;;;:::i;:::-;1183:18265:69;;8756:33:73;;;:::i;:::-;1183:18265:69;8802:29:73;1183:18265:69;;;-1:-1:-1;;;8802:62:73;;1183:18265:69;8802:62:73;;1183:18265:69;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;8802:62:73;;;;;;;;;;;8540:1090;-1:-1:-1;8798:826:73;;;-1:-1:-1;8802:29:73;1183:18265:69;;;-1:-1:-1;;;8905:60:73;;1183:18265:69;8905:60:73;;1183:18265:69;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;8905:60:73;;;;;;;;;1183:18265:69;8905:60:73;;;;;8798:826;1183:18265:69;;9014:28:73;;;;;:::i;:::-;1183:18265:69;;;8994:56:73;;;:::i;:::-;9079:28;;;;;:::i;:::-;1183:18265:69;;;9061:53:73;;;:::i;:::-;1183:18265:69;9167:14:73;;;:::i;:::-;1183:18265:69;9198:11:73;;;;;:::i;:::-;8540:1090;;;;;8905:60;;;;1183:18265:69;8905:60:73;1183:18265:69;8905:60:73;;;;;;;:::i;:::-;;;;8798:826;1183:18265:69;;-1:-1:-1;;;9264:106:73;;-1:-1:-1;;;;;1183:18265:69;;;9264:106:73;;1183:18265:69;;;-1:-1:-1;1183:18265:69;;-1:-1:-1;1183:18265:69;;;;;;;;9264:106:73;;;;;;;;;1183:18265:69;9264:106:73;;;;;8798:826;1183:18265:69;;9419:28:73;;;;;:::i;:::-;1183:18265:69;;;9399:56:73;;;;:::i;:::-;9484:28;;;;;:::i;:::-;1183:18265:69;;;9466:53:73;;;:::i;:::-;1183:18265:69;9572:14:73;;;:::i;:::-;1183:18265:69;9603:11:73;;;;;:::i;:::-;8798:826;;9264:106;;;;1183:18265:69;9264:106:73;1183:18265:69;9264:106:73;;;;;;;:::i;:::-;;;;8802:62;;;;1183:18265:69;8802:62:73;1183:18265:69;8802:62:73;;;;;;;:::i;:::-;;;;;1183:18265:69;;;;;;;;;8545:73:73;;;;1183:18265:69;8545:73:73;1183:18265:69;8545:73:73;;;;;;;:::i;:::-;;;;;1183:18265:69;;;;;;;;;8396:52:73;;;;;1183:18265:69;8396:52:73;;1183:18265:69;8396:52:73;;;;;;1183:18265:69;8396:52:73;;;:::i;:::-;;;1183:18265:69;;;;;;;;8396:52:73;1183:18265:69;8526:6:73;8396:52;;;;;-1:-1:-1;8396:52:73;;8316:62;;;;1183:18265:69;8316:62:73;;1183:18265:69;8316:62:73;;;;;;1183:18265:69;8316:62:73;;;:::i;:::-;;;1183:18265:69;;;;;;;;;;8316:62:73;;;;;-1:-1:-1;8316:62:73;;8167:83;-1:-1:-1;;;;;;8236:14:73;;;:::i;:::-;1183:18265:69;;8167:83:73;;8076:67;;;1183:18265:69;8076:67:73;;1183:18265:69;8076:67:73;;;;;;1183:18265:69;8076:67:73;;;:::i;:::-;;;1183:18265:69;;;;;;;:::i;:::-;8076:67:73;;;1183:18265:69;;;;8076:67:73;;;-1:-1:-1;8076:67:73;;7857:60;;;;;1183:18265:69;7857:60:73;;1183:18265:69;7857:60:73;;;;;;1183:18265:69;7857:60:73;;;:::i;:::-;;;1183:18265:69;;;;;;;7857:60:73;;;;;;;-1:-1:-1;7857:60:73;;1183:18265:69;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;9813:81;;;;:::i;:::-;1183:18265;;9813:81;;;;9726:688;1183:18265;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;10321:86;;;;1183:18265;;-1:-1:-1;;;10321:86:69;;10367:4;1183:18265;10321:86;;1183:18265;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;10321:86;;;;;;;;9726:688;;;;10321:86;;;;;;;:::i;:::-;;;;;;1183:18265;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;:::i;:::-;;;;18305:25;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;;;;;;;;;1303:62:20;;:::i;:::-;5048:60:69;1183:18265;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;:::i;:::-;-1:-1:-1;;;;;1183:18265:69;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1183:18265:69;;756:30:73;:97;;;;1183:18265:69;;;;2386:22:73;;1183:18265:69;;2488:1:73;2466:23;;1183:18265:69;;2544:41:73;;;1183:18265:69;;2640:22:73;;2689:23;;;;;;1183:18265:69;2777:17:73;;;1183:18265:69;;;;-1:-1:-1;;;;;1183:18265:69;;;12097:29;1183:18265;;12255:32;1183:18265;;;-1:-1:-1;;;12255:57:69;;1183:18265;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;12255:57;;;;;;;;;;;2669:94:73;1183:18265:69;-1:-1:-1;;;;;1183:18265:69;;;12236:76;1183:18265;;12464:10;1183:18265;;12438:25;1183:18265;;6012:23:51;1183:18265:69;;;;;6012:23:51;:::i;:::-;;12464:10:69;1183:18265;;12544:16;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;12464:10;1183:18265;;12544:16;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1183:18265:69;;;;;;-1:-1:-1;;;;;1183:18265:69;;12701:215;;1183:18265;;;-1:-1:-1;;;;;1183:18265:69;;12701:215;;1183:18265;;12701:215;;1183:18265;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;2488:1:73;1183:18265:69;;;;;;;;;;2488:1:73;1183:18265:69;;;;;;;12701:215;;;;1183:18265;12701:215;;1183:18265;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;2488:1:73;1183:18265:69;;;;;;;;;;2488:1:73;1183:18265:69;;;;;;;12701:215;;;;1183:18265;12701:215;;1183:18265;12464:10;1183:18265;;12654:19;1183:18265;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;12701:215;;1183:18265;;;;;-1:-1:-1;;;;;1183:18265:69;;;12701:215;;1183:18265;;;;;;;;;12701:215;;1183:18265;;;;;;;;;;;;;;;12701:215;;1183:18265;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12701:215;;1183:18265;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;:::i;:::-;;;;;;;;;2488:1:73;1183:18265:69;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;12928:101;1183:18265;;;12928:101;1183:18265;;12464:10;;1183:18265;;;;;;12928:101;;;:::i;:::-;;;;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12255:57;;;1183:18265;12255:57;;1183:18265;12255:57;;;;;;1183:18265;12255:57;;;:::i;:::-;;;1183:18265;;;;;12255:57;;;1183:18265;;;;12255:57;;;-1:-1:-1;12255:57:69;;1183:18265;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;2714:3:73;1183:18265:69;2488:1:73;1183:18265:69;;;;;;;;;;;;;2714:3:73;2727:29;;;;:::i;:::-;2714:3;;:::i;:::-;2674:13;;;1183:18265:69;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;756:97:73;-1:-1:-1;790:29:73;1183:18265:69;;;-1:-1:-1;;;790:63:73;;-1:-1:-1;;;;;1183:18265:69;;;;790:63:73;;1183:18265:69;;;;;;;;;;;;790:63:73;;;;;;;;;;;756:97;;;;790:63;;;;1183:18265:69;790:63:73;;;;;;;;;:::i;:::-;;;;1183:18265:69;;;;;;;-1:-1:-1;;1183:18265:69;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;:::i;:::-;;;;1606:62;1183:18265;;;;;;;;;;;;;;;;1606:62;;1183:18265;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;1303:62:20;;:::i;:::-;1183:18265:69;;5584:48;1183:18265;;;;;;;;;;;;;;;;;1742:31;1183:18265;;;;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;-1:-1:-1;;;;;1183:18265:69;;:::i;:::-;;;;11019:13;1183:18265;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;11256:23;1183:18265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;1183:18265:69;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;;;;;;;:::o;1599:130:20:-;1513:6;1183:18265:69;-1:-1:-1;;;;;1183:18265:69;929:10:24;1662:23:20;1183:18265:69;;1599:130:20:o;1183:18265:69:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:20;2758:6;1183:18265:69;;-1:-1:-1;;;;;1183:18265:69;;;-1:-1:-1;;;;;;1183:18265:69;;;;;;;;;;2806:40:20;-1:-1:-1;;2806:40:20;2666:187::o;1183:18265:69:-;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;:::o;:::-;-1:-1:-1;;;;;1183:18265:69;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1183:18265:69;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;-1:-1:-1;1183:18265:69;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;-1:-1:-1;1183:18265:69;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;2580:287:22:-;1830:1;2712:7;1183:18265:69;2712:19:22;1830:1;;;2712:7;1183:18265:69;2580:287:22:o;1830:1::-;1183:18265:69;;-1:-1:-1;;;1830:1:22;;;;;;;;;;;1183:18265:69;1830:1:22;1183:18265:69;;;1830:1:22;;;;1183:18265:69;;;;;;;;:::o;:::-;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;1183:18265:69;;-1:-1:-1;1183:18265:69;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;1183:18265:69;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;1183:18265:69;;-1:-1:-1;1183:18265:69;;;-1:-1:-1;1183:18265:69;:::o;:::-;;;;;;;;;;;;2214:404:51;-1:-1:-1;1183:18265:69;;;4351:12:51;;;1183:18265:69;;;;;;2298:21:51;;1183:18265:69;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;2493:12:51;1183:18265:69;;;-1:-1:-1;1183:18265:69;;;2547:11:51;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:51;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;1183:18265:69;;;;;;;;;;;3023:15:51;;;;3019:1149;3023:15;;;-1:-1:-1;;1183:18265:69;;;;;;;;;;;;;;;;;;;;3505:26:51;;;3501:398;;3019:1149;1183:18265:69;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:51;4103:11;:::o;1183:18265:69:-;-1:-1:-1;;;1183:18265:69;;;;;;;;3501:398:51;1183:18265:69;3571:22:51;3693:26;3571:22;;;:::i;:::-;1183:18265:69;;;;;;3693:26:51;;;;;:::i;1183:18265:69:-;;;;;;;;;;;;3501:398:51;;;;;1183:18265:69;-1:-1:-1;;;1183:18265:69;;;;;;;;3019:1149:51;4145:12;;;;;:::o;1183:18265:69:-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;1156:154:46;;;;2078:13;-1:-1:-1;2073:116:46;2111:3;1183:18265:69;;2093:16:46;;;;;2169:8;;;;:::i;:::-;1183:18265:69;;-1:-1:-1;9064:5:46;;;;;;9264:119;-1:-1:-1;9264:119:46;;;2111:3;9264:119;-1:-1:-1;9264:119:46;9064:51;2111:3;;:::i;:::-;2078:13;;;9064:51;9264:119;;2111:3;9264:119;;;;;;9064:51;;2093:16;;;;;1270:33;1156:154;:::o;1183:18265:69:-;-1:-1:-1;;1183:18265:69;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;3200:418:73:-;-1:-1:-1;;;;;1183:18265:69;;;;3358:23:73;;3354:50;;3499:28;1183:18265:69;;;-1:-1:-1;;;3463:66:73;;3479:10;3463:66;;;1183:18265:69;;;-1:-1:-1;;;;;1183:18265:69;;;;;;3463:66:73;;1183:18265:69;;;;;;;3463:66:73;;;;;;;;;3379:1;3463:66;;;3200:418;3463:77;;1183:18265:69;;3200:418:73:o;1183:18265:69:-;;;-1:-1:-1;;;1183:18265:69;;3463:66:73;;1183:18265:69;;;;;;;;;;;;;;;;;;;;;3463:66:73;;;;;;;;;;;;;;;;:::i;:::-;;;1183:18265:69;;;;;;3463:66:73;;;;;;-1:-1:-1;3463:66:73;;;1183:18265:69;;;3379:1:73;1183:18265:69;;;;;3354:50:73;3391:7;;;:::o;4114:695::-;-1:-1:-1;;;;;1183:18265:69;4291:1:73;;1183:18265:69;;;;4263:30:73;;4259:117;;4390:9;1183:18265:69;;;;;;;;;;4525:30:73;;;;4549:4;4525:30;;;1183:18265:69;4525:30:73;;;;1183:18265:69;4525:30:73;;;;;;;;;;;;;4114:695;1183:18265:69;4562:28:73;1183:18265:69;;4562:95:73;;;;;;1183:18265:69;;-1:-1:-1;;;4562:95:73;;-1:-1:-1;;;;;1183:18265:69;;;;4525:30:73;4562:95;;1183:18265:69;4622:10:73;1183:18265:69;;;;4549:4:73;1183:18265:69;;;;;;;;;;;;;;;;;;;;;4562:95:73;;;;;;;;;;;;4114:695;1183:18265:69;;;;4687:30:73;;;;;;4549:4;4525:30;4687;;1183:18265:69;4687:30:73;;;;;;;;;;4114:695;4732:28;;;;:::i;:::-;:39;1183:18265:69;;4114:695:73;;:::o;1183:18265:69:-;;;;;;;;;;;4525:30:73;1183:18265:69;;;;;;;;;;;;;;4687:30:73;;;;;;;;;;;;;;;:::i;:::-;;;1183:18265:69;;;;4732:28:73;1183:18265:69;;4687:30:73;;;;;;;;1183:18265:69;;;;;;;;;;4562:95:73;;;;;;;:::i;:::-;;;;;;1183:18265:69;;;;;;;;;4525:30:73;;;;;;;;;;;;;;;;;:::i;:::-;;;1183:18265:69;;;;;4525:30:73;;;;;;;;;;1183:18265:69;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;4259:117:73;4311:9;;;;;;:20;1183:18265:69;;4363:7:73:o;1183:18265:69:-;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;;;;;;;;-1:-1:-1;;1183:18265:69;;;;;:::i;:::-;;;;-1:-1:-1;1183:18265:69;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;1183:18265:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;:::i;:::-;;;;5236:695:73;;;;5422:12;;5418:39;;5529:3;5500:25;5488:45;5500:25;;;:::i;:::-;1183:18265:69;5488:45:73;;:::i;:::-;-1:-1:-1;;;;;1183:18265:69;;;;;;5544:30:73;;5540:289;;5911:14;;;;:::i;5540:289::-;-1:-1:-1;5628:16:73;1183:18265:69;;;-1:-1:-1;;;5683:78:73;;;;;;-1:-1:-1;;;;;1183:18265:69;;;5683:78:73;;;1183:18265:69;;;;;;;5778:30:73;;5433:1;;;;1183:18265:69;;;;;5683:78:73;;1183:18265:69;;;;5683:78:73;1183:18265:69;5683:78:73;5620:149;;;;;;:::i;:::-;5778:30;;:::i;5418:39::-;5444:7;;;;:::o;941:175:37:-;1183:18265:69;;-1:-1:-1;;;1050:58:37;;;;;;;-1:-1:-1;;;;;1183:18265:69;;;;1050:58:37;;;1183:18265:69;;;;;;;;;1050:58:37;;;;;5535:69:42;;1183:18265:69;-1:-1:-1;;;;1050:58:37;1183:18265:69;;1050:58:37;:::i;:::-;1183:18265:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;5487:31:42;;;;;;;;:::i;:::-;5535:69;;:::i;:::-;1183:18265:69;;5705:22:37;;;;:56;;;;;941:175;1183:18265:69;;;;;;941:175:37;:::o;1183:18265:69:-;;;;;;;;;;;;;;;;1050:58:37;1183:18265:69;;;;;;;;-1:-1:-1;;;1183:18265:69;;;;;5705:56:37;5731:30;;-1:-1:-1;5731:30:37;;;;;;;:::i;:::-;5705:56;;;;;7671:628:42;;;;7875:418;;;1183:18265:69;;;7906:22:42;7902:286;;8201:17;;:::o;7902:286::-;1713:19:23;:23;1183:18265:69;;8201:17:42;:::o;1183:18265:69:-;;;-1:-1:-1;;;1183:18265:69;;;;;;;;;;;;;;;;;;;;7875:418:42;1183:18265:69;;;;-1:-1:-1;8980:21:42;:17;;9152:142;;;;;;;10927:667:73;-1:-1:-1;;;;;1183:18265:69;;;;10927:667:73;;1183:18265:69;;11146:30:73;;11142:286;;11484:13;11174:1;11523:3;1183:18265:69;;11499:22:73;;;;;11555:14;11536:47;11555:14;;11523:3;11555:14;;;:::i;:::-;1183:18265:69;;11571:11:73;;;;:::i;:::-;1183:18265:69;11536:47:73;;;:::i;:::-;11523:3;:::i;:::-;11484:13;;11499:22;;;;;;;10927:667::o;11142:286::-;1183:18265:69;;;;11230:16:73;1183:18265:69;;;;;11283:77:73;1183:18265:69;11283:77:73;;;;;;;;;1183:18265:69;11283:77:73;;;1183:18265:69;;;;;;:::i;:::-;;;;-1:-1:-1;;1183:18265:69;;;;;;;;;;;;;;;;;11174:1:73;1183:18265:69;;;;;;11283:77:73;;;;;11174:1;11283:77;;;;;;11377:30;11283:77;;;1183:18265:69;;11283:77:73;;;;;;:::i;1183:18265:69:-;;;;;;;;;;;;;;;;","linkReferences":{"src/v2/utils/MarketConfigV2.sol":{"MarketConfigV2":[{"start":1718,"length":20}]}}},"methodIdentifiers":{"auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","bid(address,uint256,address,uint128)":"6699ee43","bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])":"95cf6b90","cancelAuctionMerkleRoot(bytes32)":"ac964f8e","creatorRootToConfig(address,bytes32)":"bb120e66","getAuctionDetails(address,uint256)":"0cd87c68","getCreatorAuctionMerkleRootNonce(address,bytes32)":"e29ac890","getCurrentBid(address,uint256)":"e35ed75a","getMerkleAuctionConfig(address,bytes32)":"76ffb5a7","getTokenAuctionNonce(address,bytes32,address,uint256)":"d97f7657","getUserAuctionMerkleRoots(address)":"4ebade5f","initialize(address,address,address,address,address,address,address,address,address,address)":"c306b378","isTokenInRoot(bytes32,address,uint256,bytes32[])":"5e51b2d4","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","owner()":"8da5cb5b","registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])":"301aa514","renounceOwnership()":"715018a6","setAuctionLengthExtension(uint256)":"10f79789","setMaxAuctionLength(uint256)":"affdafd8","setMinimumBidIncreasePercentage(uint8)":"48626b90","settleAuction(address,uint256)":"5138b08c","tokenAuctions(address,uint256)":"c47c35c1","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"}],\"name\":\"AuctionMerkleBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"AuctionMerkleRootCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"startingAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"duration\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"}],\"name\":\"AuctionMerkleRootRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFeeAtTime\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_amount\",\"type\":\"uint128\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint128\",\"name\":\"_bidAmount\",\"type\":\"uint128\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"bidWithAuctionMerkleProof\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"cancelAuctionMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"creatorRootToConfig\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"startingAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"duration\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"getCreatorAuctionMerkleRootNonce\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getCurrentBid\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFeeAtTime\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"getMerkleAuctionConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"startingAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"duration\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"address payable[]\",\"name\":\"splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareBatchAuctionHouse.MerkleAuctionConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenAuctionNonce\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserAuctionMerkleRoots\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc20ApprovalManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc721ApprovalManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"isTokenInRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_startingAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_duration\",\"type\":\"uint64\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"registerAuctionMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_auctionLengthExtension\",\"type\":\"uint256\"}],\"name\":\"setAuctionLengthExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxAuctionLength\",\"type\":\"uint256\"}],\"name\":\"setMaxAuctionLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_minimumBidIncreasePercentage\",\"type\":\"uint8\"}],\"name\":\"setMinimumBidIncreasePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"creationBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"startingTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lengthOfAuction\",\"type\":\"uint64\"},{\"internalType\":\"uint128\",\"name\":\"minimumBid\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"SuperRare Labs\",\"details\":\"This contract consolidates standard auction functionality from the SuperRare Bazaar with the existing Merkle auction features, ensuring full adoption of MarketUtilsV2.\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"bid(address,uint256,address,uint128)\":{\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])\":{\"params\":{\"_bidAmount\":\"The amount of the bid\",\"_creator\":\"The creator of the auction\",\"_currencyAddress\":\"The currency address for the bid\",\"_merkleRoot\":\"The root hash of the Merkle tree\",\"_originContract\":\"The contract address of the token\",\"_proof\":\"The Merkle proof verifying token inclusion\",\"_tokenId\":\"The ID of the token being bid on\"}},\"cancelAuctionMerkleRoot(bytes32)\":{\"params\":{\"_root\":\"The Merkle root to cancel\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationBlock, startingTime, lengthOfAuction, currencyAddress, minimumBid, splitRecipients array, and splitRatios array.\"}},\"getCreatorAuctionMerkleRootNonce(address,bytes32)\":{\"params\":{\"_root\":\"The Merkle root\",\"_user\":\"The address of the user\"},\"returns\":{\"_0\":\"The current nonce value\"}},\"getCurrentBid(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of the asset\",\"_tokenId\":\"Token Id of the asset\"},\"returns\":{\"amount\":\"The amount of the current highest bid\",\"bidder\":\"The address of the current highest bidder\",\"currencyAddress\":\"The currency address of the bid\",\"marketplaceFeeAtTime\":\"The marketplace fee percentage at the time of the bid\"}},\"getMerkleAuctionConfig(address,bytes32)\":{\"params\":{\"_creator\":\"The address of the creator\",\"_root\":\"The Merkle root\"},\"returns\":{\"_0\":\"The MerkleAuctionConfig struct containing the auction configuration\"}},\"getTokenAuctionNonce(address,bytes32,address,uint256)\":{\"params\":{\"_creator\":\"The creator of the auction\",\"_root\":\"The Merkle root\",\"_tokenContract\":\"The token contract address\",\"_tokenId\":\"The token ID\"},\"returns\":{\"_0\":\"The current nonce for this token\"}},\"getUserAuctionMerkleRoots(address)\":{\"params\":{\"_user\":\"The address of the user\"},\"returns\":{\"_0\":\"An array of Merkle roots\"}},\"initialize(address,address,address,address,address,address,address,address,address,address)\":{\"details\":\"Initializer function\"},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"params\":{\"_origin\":\"The contract address of the token\",\"_proof\":\"The Merkle proof for verification\",\"_root\":\"The Merkle root to check against\",\"_tokenId\":\"The ID of the token\"},\"returns\":{\"_0\":\"True if the token is included in the root, false otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])\":{\"params\":{\"_currency\":\"The currency address for the auction\",\"_duration\":\"The length of the auction in seconds\",\"_merkleRoot\":\"The root hash of the Merkle tree containing token IDs\",\"_splitAddresses\":\"The addresses to split the proceeds with\",\"_splitRatios\":\"The ratios for each split address\",\"_startingAmount\":\"The minimum bid amount\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setAuctionLengthExtension(uint256)\":{\"params\":{\"_auctionLengthExtension\":\"The new auction length extension in seconds\"}},\"setMaxAuctionLength(uint256)\":{\"params\":{\"_maxAuctionLength\":\"The new maximum auction length in seconds\"}},\"setMinimumBidIncreasePercentage(uint8)\":{\"params\":{\"_minimumBidIncreasePercentage\":\"The new minimum bid increase percentage\"}},\"settleAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"RareBatchAuctionHouse\",\"version\":1},\"userdoc\":{\"events\":{\"AuctionBid(address,address,uint256,address,uint128,uint8,address)\":{\"notice\":\"Emitted when a bid is placed\"},\"AuctionMerkleBid(address,uint256,address,address,address,bytes32,uint128,uint32)\":{\"notice\":\"Emitted when a bid with Merkle proof is placed\"},\"AuctionMerkleRootCancelled(address,bytes32)\":{\"notice\":\"Emitted when a Merkle auction root is cancelled\"},\"AuctionMerkleRootRegistered(address,bytes32,address,uint128,uint64,uint32)\":{\"notice\":\"Emitted when a Merkle auction root is registered\"},\"AuctionSettled(address,uint256,address,address,uint128,address,uint8)\":{\"notice\":\"Emitted when an auction is settled\"}},\"kind\":\"user\",\"methods\":{\"bid(address,uint256,address,uint128)\":{\"notice\":\"Places a bid on a running auction.\"},\"bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])\":{\"notice\":\"Places a bid using a Merkle proof to verify token inclusion\"},\"cancelAuctionMerkleRoot(bytes32)\":{\"notice\":\"Cancels a previously registered Merkle root\"},\"getAuctionDetails(address,uint256)\":{\"notice\":\"Grabs the current auction details for a token.\"},\"getCreatorAuctionMerkleRootNonce(address,bytes32)\":{\"notice\":\"Gets the current nonce for a user's Merkle root\"},\"getCurrentBid(address,uint256)\":{\"notice\":\"Gets the current bid details for a specific token\"},\"getMerkleAuctionConfig(address,bytes32)\":{\"notice\":\"Gets the Merkle auction configuration for a given creator and root\"},\"getTokenAuctionNonce(address,bytes32,address,uint256)\":{\"notice\":\"Gets the nonce for a specific token under a Merkle root\"},\"getUserAuctionMerkleRoots(address)\":{\"notice\":\"Gets all Merkle roots registered by a user\"},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"notice\":\"Verifies if a token is included in a Merkle root\"},\"registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])\":{\"notice\":\"Registers a new Merkle root for auction configuration\"},\"setAuctionLengthExtension(uint256)\":{\"notice\":\"Sets the auction length extension\"},\"setMaxAuctionLength(uint256)\":{\"notice\":\"Sets the maximum auction length\"},\"setMinimumBidIncreasePercentage(uint8)\":{\"notice\":\"Sets the minimum bid increase percentage\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The logic for all functions related to the RareBatchAuctionHouse.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/auctionhouse/RareBatchAuctionHouse.sol\":\"RareBatchAuctionHouse\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0xcc76dbe53154a5bbd12fdd1613a73f73f3dc7c63d813be36f7ee606f52d6a7b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345232794f2cfafccfb4371e44910af9fd86f972ecace1bb6843532536590929\",\"dweb:/ipfs/QmSnapDBk6P2JG6LJHwituQq7wMM8DawKj32APiPj5Bzpn\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":{\"keccak256\":\"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f\",\"dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY\"]},\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":{\"keccak256\":\"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3\",\"dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd\"]},\"src/v2/auctionhouse/IRareBatchAuctionHouse.sol\":{\"keccak256\":\"0xa6adc1497cb70e4752243e0091354a353d1c8ed7a9eb8907f4cb36ad3d2eff61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bf2567753240178690a171ba17f85e70b85a49874c97abd94ad88eac45f678e\",\"dweb:/ipfs/Qmc9Hcdnf5Yx2hdWMdqKmmbstAJBwPLfuvLs62HVm9a4ju\"]},\"src/v2/auctionhouse/RareBatchAuctionHouse.sol\":{\"keccak256\":\"0x05f393cbca5a71744ff85370d070e6e79b8a479bf07ba2a8b3f787ed7fe10278\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b79d4caf9ca5e4156866083363233f6d8110406604d3019264be6701c9eead1f\",\"dweb:/ipfs/QmZvnD9rrwhFGPZdkM51Cd73CZ27tFxNjuazQCyfMdoB4j\"]},\"src/v2/utils/MarketConfigV2.sol\":{\"keccak256\":\"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6\",\"dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj\"]},\"src/v2/utils/MarketUtilsV2.sol\":{\"keccak256\":\"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042\",\"dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"bidder","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"uint128","name":"amount","type":"uint128","indexed":false},{"internalType":"uint8","name":"marketplaceFee","type":"uint8","indexed":false},{"internalType":"address","name":"previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"bidder","type":"address","indexed":true},{"internalType":"address","name":"creator","type":"address","indexed":false},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":false},{"internalType":"uint128","name":"amount","type":"uint128","indexed":false},{"internalType":"uint32","name":"nonce","type":"uint32","indexed":false}],"type":"event","name":"AuctionMerkleBid","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true}],"type":"event","name":"AuctionMerkleRootCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"uint128","name":"startingAmount","type":"uint128","indexed":false},{"internalType":"uint64","name":"duration","type":"uint64","indexed":false},{"internalType":"uint32","name":"nonce","type":"uint32","indexed":false}],"type":"event","name":"AuctionMerkleRootRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"seller","type":"address","indexed":false},{"internalType":"address","name":"bidder","type":"address","indexed":false},{"internalType":"uint128","name":"amount","type":"uint128","indexed":false},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"uint8","name":"marketplaceFee","type":"uint8","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint8","name":"marketplaceFeeAtTime","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint128","name":"_amount","type":"uint128"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"uint128","name":"_bidAmount","type":"uint128"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"bidWithAuctionMerkleProof"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuctionMerkleRoot"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"creatorRootToConfig","outputs":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint128","name":"startingAmount","type":"uint128"},{"internalType":"uint64","name":"duration","type":"uint64"},{"internalType":"uint32","name":"nonce","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getCreatorAuctionMerkleRootNonce","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentBid","outputs":[{"internalType":"address","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"uint8","name":"marketplaceFeeAtTime","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMerkleAuctionConfig","outputs":[{"internalType":"struct IRareBatchAuctionHouse.MerkleAuctionConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint128","name":"startingAmount","type":"uint128"},{"internalType":"uint64","name":"duration","type":"uint64"},{"internalType":"uint32","name":"nonce","type":"uint32"},{"internalType":"address payable[]","name":"splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTokenAuctionNonce","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserAuctionMerkleRoots","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_erc20ApprovalManager","type":"address"},{"internalType":"address","name":"_erc721ApprovalManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"address","name":"_origin","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"isTokenInRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"address","name":"_currency","type":"address"},{"internalType":"uint128","name":"_startingAmount","type":"uint128"},{"internalType":"uint64","name":"_duration","type":"uint64"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"registerAuctionMerkleRoot"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_auctionLengthExtension","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setAuctionLengthExtension"},{"inputs":[{"internalType":"uint256","name":"_maxAuctionLength","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxAuctionLength"},{"inputs":[{"internalType":"uint8","name":"_minimumBidIncreasePercentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMinimumBidIncreasePercentage"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint32","name":"creationBlock","type":"uint32"},{"internalType":"uint64","name":"startingTime","type":"uint64"},{"internalType":"uint64","name":"lengthOfAuction","type":"uint64"},{"internalType":"uint128","name":"minimumBid","type":"uint128"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"bid(address,uint256,address,uint128)":{"params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])":{"params":{"_bidAmount":"The amount of the bid","_creator":"The creator of the auction","_currencyAddress":"The currency address for the bid","_merkleRoot":"The root hash of the Merkle tree","_originContract":"The contract address of the token","_proof":"The Merkle proof verifying token inclusion","_tokenId":"The ID of the token being bid on"}},"cancelAuctionMerkleRoot(bytes32)":{"params":{"_root":"The Merkle root to cancel"}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationBlock, startingTime, lengthOfAuction, currencyAddress, minimumBid, splitRecipients array, and splitRatios array."}},"getCreatorAuctionMerkleRootNonce(address,bytes32)":{"params":{"_root":"The Merkle root","_user":"The address of the user"},"returns":{"_0":"The current nonce value"}},"getCurrentBid(address,uint256)":{"params":{"_originContract":"Contract address of the asset","_tokenId":"Token Id of the asset"},"returns":{"amount":"The amount of the current highest bid","bidder":"The address of the current highest bidder","currencyAddress":"The currency address of the bid","marketplaceFeeAtTime":"The marketplace fee percentage at the time of the bid"}},"getMerkleAuctionConfig(address,bytes32)":{"params":{"_creator":"The address of the creator","_root":"The Merkle root"},"returns":{"_0":"The MerkleAuctionConfig struct containing the auction configuration"}},"getTokenAuctionNonce(address,bytes32,address,uint256)":{"params":{"_creator":"The creator of the auction","_root":"The Merkle root","_tokenContract":"The token contract address","_tokenId":"The token ID"},"returns":{"_0":"The current nonce for this token"}},"getUserAuctionMerkleRoots(address)":{"params":{"_user":"The address of the user"},"returns":{"_0":"An array of Merkle roots"}},"initialize(address,address,address,address,address,address,address,address,address,address)":{"details":"Initializer function"},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"params":{"_origin":"The contract address of the token","_proof":"The Merkle proof for verification","_root":"The Merkle root to check against","_tokenId":"The ID of the token"},"returns":{"_0":"True if the token is included in the root, false otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])":{"params":{"_currency":"The currency address for the auction","_duration":"The length of the auction in seconds","_merkleRoot":"The root hash of the Merkle tree containing token IDs","_splitAddresses":"The addresses to split the proceeds with","_splitRatios":"The ratios for each split address","_startingAmount":"The minimum bid amount"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setAuctionLengthExtension(uint256)":{"params":{"_auctionLengthExtension":"The new auction length extension in seconds"}},"setMaxAuctionLength(uint256)":{"params":{"_maxAuctionLength":"The new maximum auction length in seconds"}},"setMinimumBidIncreasePercentage(uint8)":{"params":{"_minimumBidIncreasePercentage":"The new minimum bid increase percentage"}},"settleAuction(address,uint256)":{"params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"bid(address,uint256,address,uint128)":{"notice":"Places a bid on a running auction."},"bidWithAuctionMerkleProof(address,address,uint256,address,bytes32,uint128,bytes32[])":{"notice":"Places a bid using a Merkle proof to verify token inclusion"},"cancelAuctionMerkleRoot(bytes32)":{"notice":"Cancels a previously registered Merkle root"},"getAuctionDetails(address,uint256)":{"notice":"Grabs the current auction details for a token."},"getCreatorAuctionMerkleRootNonce(address,bytes32)":{"notice":"Gets the current nonce for a user's Merkle root"},"getCurrentBid(address,uint256)":{"notice":"Gets the current bid details for a specific token"},"getMerkleAuctionConfig(address,bytes32)":{"notice":"Gets the Merkle auction configuration for a given creator and root"},"getTokenAuctionNonce(address,bytes32,address,uint256)":{"notice":"Gets the nonce for a specific token under a Merkle root"},"getUserAuctionMerkleRoots(address)":{"notice":"Gets all Merkle roots registered by a user"},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"notice":"Verifies if a token is included in a Merkle root"},"registerAuctionMerkleRoot(bytes32,address,uint128,uint64,address[],uint8[])":{"notice":"Registers a new Merkle root for auction configuration"},"setAuctionLengthExtension(uint256)":{"notice":"Sets the auction length extension"},"setMaxAuctionLength(uint256)":{"notice":"Sets the maximum auction length"},"setMinimumBidIncreasePercentage(uint8)":{"notice":"Sets the minimum bid increase percentage"},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/auctionhouse/RareBatchAuctionHouse.sol":"RareBatchAuctionHouse"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol":{"keccak256":"0xcc76dbe53154a5bbd12fdd1613a73f73f3dc7c63d813be36f7ee606f52d6a7b3","urls":["bzz-raw://345232794f2cfafccfb4371e44910af9fd86f972ecace1bb6843532536590929","dweb:/ipfs/QmSnapDBk6P2JG6LJHwituQq7wMM8DawKj32APiPj5Bzpn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/v2/approver/ERC20/IERC20ApprovalManager.sol":{"keccak256":"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e","urls":["bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f","dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY"],"license":"MIT"},"src/v2/approver/ERC721/IERC721ApprovalManager.sol":{"keccak256":"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4","urls":["bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3","dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd"],"license":"MIT"},"src/v2/auctionhouse/IRareBatchAuctionHouse.sol":{"keccak256":"0xa6adc1497cb70e4752243e0091354a353d1c8ed7a9eb8907f4cb36ad3d2eff61","urls":["bzz-raw://1bf2567753240178690a171ba17f85e70b85a49874c97abd94ad88eac45f678e","dweb:/ipfs/Qmc9Hcdnf5Yx2hdWMdqKmmbstAJBwPLfuvLs62HVm9a4ju"],"license":"MIT"},"src/v2/auctionhouse/RareBatchAuctionHouse.sol":{"keccak256":"0x05f393cbca5a71744ff85370d070e6e79b8a479bf07ba2a8b3f787ed7fe10278","urls":["bzz-raw://b79d4caf9ca5e4156866083363233f6d8110406604d3019264be6701c9eead1f","dweb:/ipfs/QmZvnD9rrwhFGPZdkM51Cd73CZ27tFxNjuazQCyfMdoB4j"],"license":"MIT"},"src/v2/utils/MarketConfigV2.sol":{"keccak256":"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a","urls":["bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6","dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj"],"license":"MIT"},"src/v2/utils/MarketUtilsV2.sol":{"keccak256":"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421","urls":["bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042","dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18"],"license":"MIT"}},"version":1},"id":69} \ No newline at end of file diff --git a/abis/RareBatchListingMarketplace.json b/abis/RareBatchListingMarketplace.json new file mode 100644 index 0000000..0707bd2 --- /dev/null +++ b/abis/RareBatchListingMarketplace.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"OFFER_CANCELATION_DELAY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"buyWithMerkleProof","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currency","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"},{"name":"_allowListProof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelSalePriceMerkleRoot","inputs":[{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"creatorRootToConfig","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"currency","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getAllowListConfig","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareBatchListingMarketplace.AllowListConfig","components":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getCreatorSalePriceMerkleRootNonce","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMerkleSalePriceConfig","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareBatchListingMarketplace.MerkleSalePriceConfig","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"},{"name":"nonce","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenSalePriceNonce","inputs":[{"name":"_creator","type":"address","internalType":"address"},{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_tokenContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserSalePriceMerkleRoots","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_erc20ApprovalManager","type":"address","internalType":"address"},{"name":"_erc721ApprovalManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isTokenInRoot","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_origin","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerSalePriceMerkleRoot","inputs":[{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_currency","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAllowListConfig","inputs":[{"name":"_merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"_allowListRoot","type":"bytes32","internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AllowListConfigSet","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"allowListRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MerkleSalePriceExecuted","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"buyer","type":"address","indexed":true,"internalType":"address"},{"name":"seller","type":"address","indexed":false,"internalType":"address"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"merkleRoot","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SalePriceMerkleRootCancelled","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"SalePriceMerkleRootRegistered","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234620000c6576000549060ff8260081c1662000074575060ff8082160362000038575b6040516141ad9081620000cc8239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a13862000028565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816309858ef21461363d57508063260d0a2814611f5057806338de3d6514611e59578063453c855814611dab57806345935d18146115c05780635e51b2d41461152b5780636a11a64d146114e8578063715018a61461148a57806375c9c23e146113fc5780638da5cb5b146113d3578063a435bac5146113b7578063bb120e6614611342578063c306b37814610a14578063cae43de6146108a3578063d72a541a146101645763f2fde38b146100d157600080fd5b34610161576020366003190112610161576100ea6136b5565b6100f261373d565b6001600160a01b0381161561010d5761010a90613795565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346101615760403660031901126101615761017e6136b5565b81608060405161018d816137f9565b82815282602082015260606040820152606080820152015260018060a01b0316815260a2602052604081206024358252602052604081206040516101d0816137f9565b60018060a01b03825416815260018201546020820152600282016040518082602082945493848152019087526020872092875b81811061088157505061021892500382613842565b6040820152600382019160405180938491602082549182815201918752602087209087915b81601f8401106106f8579161035d9391600496959354918181106106e4575b8181106106cd575b8181106106b6575b81811061069f575b818110610689575b818110610672575b81811061065b575b818110610644575b81811061062d575b818110610616575b8181106105ff575b8181106105e8575b8181106105d1575b8181106105ba575b8181106105a3575b81811061058c575b818110610575575b81811061055e575b818110610547575b818110610530575b818110610519575b818110610502575b8181106104eb575b8181106104d4575b8181106104bd575b8181106104a6575b81811061048f575b818110610478575b818110610461575b81811061044a575b818110610433575b10610425575b509694960385613842565b606085019384520154608084019081526040519260208452604060c085019560018060a01b03815116602087015260208101518287015201519460a060608601528551809152602060e08601960190845b818110610406575050505191601f1984860301608085015260208084519687815201930190945b8086106103eb5750508293505160a08301520390f35b909260208060019260ff8751168152019401950194906103d5565b82516001600160a01b03168852602097880197909201916001016103ae565b60f81c815260200138610352565b92602060019160ff8560f01c16815201930161034c565b92602060019160ff8560e81c168152019301610344565b92602060019160ff8560e01c16815201930161033c565b92602060019160ff8560d81c168152019301610334565b92602060019160ff8560d01c16815201930161032c565b92602060019160ff8560c81c168152019301610324565b92602060019160ff8560c01c16815201930161031c565b92602060019160ff8560b81c168152019301610314565b92602060019160ff8560b01c16815201930161030c565b92602060019160ff8560a81c168152019301610304565b92602060019160ff8560a01c1681520193016102fc565b92602060019160ff8560981c1681520193016102f4565b92602060019160ff8560901c1681520193016102ec565b92602060019160ff8560881c1681520193016102e4565b92602060019160ff8560801c1681520193016102dc565b92602060019160ff8560781c1681520193016102d4565b92602060019160ff8560701c1681520193016102cc565b92602060019160ff8560681c1681520193016102c4565b92602060019160ff8560601c1681520193016102bc565b92602060019160ff8560581c1681520193016102b4565b92602060019160ff8560501c1681520193016102ac565b92602060019160ff8560481c1681520193016102a4565b92602060019160ff8560401c16815201930161029c565b92602060019160ff8560381c168152019301610294565b92602060019160ff8560301c16815201930161028c565b92602060019160ff8560281c168152019301610284565b92602060019160ff85831c16815201930161027c565b92602060019160ff8560181c168152019301610274565b92602060019160ff8560101c16815201930161026c565b92602060019160ff8560081c168152019301610264565b92602060019160ff8516815201930161025c565b935090916001610400602092865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260a0828260281c1681870152828260c092828260301c16848a0152828260381c1660e08a0152828260401c166101008a0152828260481c166101208a0152828260501c166101408a0152828260581c166101608a0152828260601c166101808a0152828260681c166101a08a0152828260701c166101c08a0152828260781c166101e08a0152828260801c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201940192019086939261023d565b84546001600160a01b0316835260019485019486945060209093019201610203565b503461016157602080600319360112610a10576004359033835260a181526108de826040852060019160005201602052604060002054151590565b156109ba5733835260a181526108f782604085206139e4565b5033835260a281526040832082845281526000600460408520858155826001820155600281018054848255806109a1575b505060038101805484825580610982575b5050015533835260a5815260408320908284525260006001604084208281550155337f5a563e5c2e70d79e1f8f6a2a5324344079543abed259428183d7c03d35426a518380a380f35b61099a918552601f868620910160051c810190613924565b3880610939565b6109b391855285852090810190613924565b3880610928565b6084906040519062461bcd60e51b82526004820152602960248201527f63616e63656c53616c6550726963654d65726b6c65526f6f743a3a4e6f74207260448201526837b7ba1037bbb732b960b91b6064820152fd5b5080fd5b50346101615761014036600319011261016157610a2f6136b5565b610a376136f7565b610a3f6136cb565b606435916001600160a01b038316830361133d57610a5b6136e1565b9260a435906001600160a01b038216820361133d5760c435906001600160a01b038216820361133d5760e435956001600160a01b038716870361133d5761010435946001600160a01b038616860361133d5761012435966001600160a01b038816880361133d578a549960ff8b60081c16159a8b809c611330575b8015611319575b156112bd5760ff1981166001178d558b6112ac575b506001600160a01b0381161561124b576001600160a01b038316156111f0576001600160a01b0382161561118d576001600160a01b0385161561112a576001600160a01b038416156110d4576001600160a01b03871615611077576001600160a01b0386161561101a576001600160a01b038a1615610fba576001600160a01b03881615610f58576001600160a01b03891615610ef55760405163ef8c824960e01b81526001600160a01b039a8b166004820152908a16602482015290891660448201529088166064820152908716608482015290861660a482015290851660c482015290841660e48201529083166101048201529116610124820152610140816101448173__$c98ca6a62396e5a7a1471db151198a1f31$__5af4908115610eea578391610d7f575b5060018060a01b03815116906001600160601b0360a01b9182609754161760975560018060a01b0360208201511682609854161760985560018060a01b0360408201511682609954161760995560018060a01b0360608201511682609a541617609a5560018060a01b0360808201511682609b541617609b5560018060a01b0360a08201511682609c541617609c5560018060a01b0360c08201511682609d541617609d5560018060a01b0360e08201511682609e541617609e5560018060a01b036101008201511682609f541617609f5561012060018060a01b03910151169060a054161760a055610d1e60ff835460081c16610d1981613877565b613877565b610d2733613795565b815490610d3d60ff8360081c16610d1981613877565b6001606555610d4a575080f35b61ff00191681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610140813d61014011610ee2575b81610d9d6101409383613842565b81010312610ede576040519061014082018281106001600160401b03821117610ec857604052610dcc81613863565b825260208101516001600160a01b0381168103610ec057602083015260408101516001600160a01b0381168103610ec057604083015260608101516001600160a01b0381168103610ec057606083015260808101516001600160a01b0381168103610ec057608083015260a08101516001600160a01b0381168103610ec05760a083015260c08101516001600160a01b0381168103610ec05760c083015260e08101516001600160a01b0381168103610ec05760e083015261010081810151906001600160a01b0382168203610ec45783015261012090810151906001600160a01b0382168203610ec05782015238610c1c565b8480fd5b8580fd5b634e487b7160e01b600052604160045260246000fd5b8280fd5b3d9150610d8f565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a657263373231417070726f76616c4d616e616765604482015274722063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603460248201527f696e697469616c697a653a3a6572633230417070726f76616c4d616e616765726044820152732063616e6e6f742062652030206164647265737360601b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f696e697469616c697a653a3a6e6574776f726b42656e65666963696172792063604482015271616e6e6f742062652030206164647265737360701b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6753657474696e67732063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6752656769737472792063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602860248201527f696e697469616c697a653a3a7061796d656e74732063616e6e6f742062652030604482015267206164647265737360c01b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a617070726f766564546f6b656e52656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a73706163654f70657261746f7252656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152602d60248201527f696e697469616c697a653a3a726f79616c7479456e67696e652063616e6e6f7460448201526c2062652030206164647265737360981b6064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f696e697469616c697a653a3a6d61726b6574706c61636553657474696e67732060448201527263616e6e6f742062652030206164647265737360681b6064820152608490fd5b61ffff1916610101178c5538610af2565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610add5750600160ff821614610add565b50600160ff821610610ad6565b600080fd5b5034610161576040366003190112610161576001600160a01b0390604090826113696136b5565b16815260a2602052818120602435825260205220908154166113b36004600184015493015460405193849384604091949392606082019560018060a01b0316825260208201520152565b0390f35b5034610161578060031936011261016157602060405160788152f35b50346101615780600319360112610161576033546040516001600160a01b039091168152602090f35b503461016157608036600319011261016157604060209161141b6136b5565b6114696114776114296136cb565b9285519283918883019560643591602435908892606894926001600160601b0319809360601b168552601485015260601b16603483015260488201520190565b03601f198101835282613842565b519020815260a483522054604051908152f35b50346101615780600319360112610161576114a361373d565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610161576040366003190112610161576020906040906001600160a01b036115106136b5565b16815260a38352818120602435825283522054604051908152f35b5034610161576080366003190112610161576115456136f7565b90606435906001600160401b0382116101615760206115b6846115b161156e366004880161370d565b60405160609490941b6001600160601b03191686850190815260443560148201529193909291906115a28160348401611469565b51902092600435923691613ac0565b613b0e565b6040519015158152f35b50346101615760a0366003190112610161576115da6136f7565b6064356001600160401b038111610ede576115f990369060040161370d565b608480356001600160401b038111610ec45761161990369060040161370d565b916001600160a01b038616158015611d39575b15611cfc57609854604051637cd11f4360e11b81526001600160a01b0390911690602081600481855afa908115611cf1578991611cbf575b5060443511159081611c4d575b5015611bf0578315611b9e5760058411611b5057828403611af95786805b848210611acd576064915003611a7b575033865260a16020526116b760043560408820613969565b5033865260a3602052604086206004358752602052604086205493600185018511611a675733875260a360205260408720600435885260205260018501604088205560405193611706856137f9565b6001600160a01b03871685526044356020860152611723816138fa565b916117316040519384613842565b818352602083019160051b810190368211611a3b57915b818310611a43575050506040840152611760826138fa565b9161176e6040519384613842565b8083526020830191368260051b820111611a3f5780925b8260051b82018410611a215750505050606082015260018201608082015233845260a2602052604084206004358552602052604084209060018060a01b038151166001600160601b0360a01b8354161782556020810151600183015560408101518051906001600160401b038211611a0d57600160401b8211610ec8576020600285019182548484558085106119f0575b500190875260208720875b8381106119d357505050506003820160608201518051906001600160401b0382116119bf57600160401b8211610ec8576020908354838555808410611973575b5001918752602087208160051c91885b8381106119345750601f1981169003806118e8575b5050505060800151600491820155604080516001600160a01b03949094168452604435602085015260019290920191830191909152359033907f6ac61a1aee451307d73de9183ea0a92ddcb00bb73b49d4479e78501e7905f22a90606090a380f35b928893895b818110611904575050500155608060043880611886565b909194602061192a6001928460ff8a5116919060ff809160031b9316831b921b19161790565b96019291016118ed565b898a5b6020811061194c575083820155600101611871565b865190969160019160209160ff60038b901b81811b199092169216901b1792019601611937565b61199f908560005283600020601f80870160051c820192818816806119a5575b500160051c0190613924565b38611861565b60001990818601918254918a0360031b1c16905538611993565b634e487b7160e01b88526041600452602488fd5b82516001600160a01b031681830155602090920191600101611821565b611a07908460005285846000209182019101613924565b38611816565b634e487b7160e01b87526041600452602487fd5b833560ff81168103611a3b57815260209384019301611785565b8980fd5b8780fd5b82356001600160a01b0381168103611a6357815260209283019201611748565b8a80fd5b634e487b7160e01b87526011600452602487fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152fd5b8160051b8401359060ff8216809203611a3b57611af391611aed916138d7565b91613b6b565b9061168f565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152fd5b60405162461bcd60e51b815260206004820152603260248201527f726567697374657253616c6550726963654d65726b6c65526f6f743a3a416d6f604482015271756e74206f75747369646520626f756e647360701b6064820152fd5b604051635c1b40f160e01b81529150602090829060049082905afa908115611cb4578891611c82575b50604435101538611671565b90506020813d602011611cac575b81611c9d60209383613842565b8101031261133d575138611c76565b3d9150611c90565b6040513d8a823e3d90fd5b90506020813d602011611ce9575b81611cda60209383613842565b8101031261133d575138611664565b3d9150611ccd565b6040513d8b823e3d90fd5b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b50609c54604051632d5ad3d560e01b81526001600160a01b038881166004830152909160209183916024918391165afa908115611cb4578891611d7d575b5061162c565b611d9e915060203d8111611da4575b611d968183613842565b810190613bab565b38611d77565b503d611d8c565b503461016157602080600319360112610a10576001600160a01b03611dce6136b5565b16825260a181526040822060405192838383549182815201908193835284832090835b818110611e455750505084611e07910385613842565b60405193838594850191818652518092526040850193925b828110611e2e57505050500390f35b835185528695509381019392810192600101611e1f565b825484529286019260019283019201611df1565b50346101615760603660031901126101615760043560243590604435338452602060a18152611e9b836040872060019160005201602052604060002054151590565b15611f01577f178cf25b1579b19d34c1cfd3a48dd226c6a7581eafae97981c97ab9c64d9957890604051611ece816137de565b858152600182820185815233895260a5845260408920878a5284526040892092518355519101556040519283523392a480f35b6084906040519062461bcd60e51b82526004820152602260248201527f736574416c6c6f774c697374436f6e6669673a3a4e6f7420726f6f74206f776e60448201526132b960f11b6064820152fd5b5061010036600319011261016157611f666136b5565b611f6e6136cb565b91611f776136e1565b9260c4356001600160401b038111610ede57611f9790369060040161370d565b60e4356001600160401b038111610ec057611fb690369060040161370d565b9190926002606554146135f8576002606555604051606088901b6001600160601b03191660208201908152602435603483015261200f93916115b191906120008160548101611469565b5190209260a435923691613ac0565b156135a25760018060a01b038616845260a160205261204360a4356040862060019160005201602052604060002054151590565b156135465760018060a01b038616845260a56020526040842060a4358552602052604084209060405191612076836137de565b6001815491828552015490816020850152613455575b5050505060018060a01b038416825260a26020526040822060a43583526020526040822090604051916120be836137f9565b60018060a01b03815416835260018101546020840152600281016040518082602082945493848152019088526020882092885b81811061343357505061210692500382613842565b604084015260405190816003820192602084549182815201938752602087209087915b81601f8401106132a957946122459284926004975491818110613295575b81811061327e575b818110613267575b818110613250575b81811061323a575b818110613223575b81811061320c575b8181106131f5575b8181106131de575b8181106131c7575b8181106131b0575b818110613199575b818110613182575b81811061316b575b818110613154575b81811061313d575b818110613126575b81811061310f575b8181106130f8575b8181106130e1575b8181106130ca575b8181106130b3575b81811061309c575b818110613085575b81811061306e575b818110613057575b818110613040575b818110613029575b818110613012575b818110612ffb575b818110612fe4575b10612fd6575b500382613842565b60608501520154608083015281516001600160a01b03908116911603612f8357606435602082015103612f3257604051606085811b6001600160601b03199081166020840190815260a43560348501529186901b1660548301526024356068830152906122b58160888101611469565b5190209360018060a01b038116835260a36020526040832060a435845260205260408320549480845260a46020528560408520541015612ec7576040516331a9108f60e11b81526024803560048301526020908290816001600160a01b038a165afa908115612e31578591612e8d575b506001600160a01b03838116911603612e3c5760a05460405163e985e9c560e01b81526001600160a01b038481166004830152918216602482015290602090829060449082908a165afa908115612e31578591612e12575b5015612dcd576020838101516098546040516361fe24a960e11b815260048101839052919290829060249082906001600160a01b03165afa908115612dc2578691612d8e575b506123d1906123e1926138d7565b84516001600160a01b0316613bc3565b835260a46020526040832085905560a0546001600160a01b0316803b1561299757604051630aed65f560e11b81526001600160a01b03868116600483015283166024808301919091523360448301523560648201529084908290608490829084905af18015612d8357612d70575b5060018060a01b03825116916020810151946040820151926060830151918451835103612d0f576098546040516361fe24a960e11b8152600481018a90528991602090829060249082906001600160a01b03165afa908115611cf1578991612cdd575b50604051906124c082613827565b6002825260403660208401376097546001600160a01b0316806124e284613b7a565b52609e5460405163e286ef3360e01b81526001600160a01b038881166004830152909160209183916024918391165afa908115612be7578c91612c9f575b506001600160a01b031661253384613b87565b526001600160a01b0361254584613b87565b5116612c86575b61255583613b87565b6001600160a01b03909116905260405161256e81613827565b600281526040366020830137609d546040516303fdde1160e21b8152600481018690526001600160a01b0390911690602081602481855afa908115612c7b578d91612c48575b506024916020916125c485613b7a565b526040519283809263470d6ed960e11b82528960048301525afa908115612be7579084918d91612c11575b5092612605936125fe84613b87565b528b613eae565b609854604051631446f21360e21b81526001600160a01b038581166004830152602480359083015290911690602081604481855afa908115612afe57908b9695949392918791612bf2575b501561299b575b5050609a54604051637a99dc0160e11b81526001600160a01b038481166004830152602480359083015260448201939093529985928b921690829081606481015b03925af1998a15610eea578398849b61284e575b50839884995b8c518b10156126e0576126d46126da916126cd8f8e90613b97565b51906138d7565b9a613b6b565b996126b2565b96979899508b6126fb916126f4898e6139d7565b988c613eae565b845196612707886138fa565b97612715604051998a613842565b808952612724601f19916138fa565b013660208a0137845b86518110156127695780606461275360ff61274b612764958c613b97565b51168b613911565b0461275e828c613b97565b52613b6b565b61272d565b50612776888a898d613eae565b60985485906001600160a01b0316803b15610a1057604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af161283a575b5050602060018060a01b03825116910151906040519460018060a01b031685526020850152604084015260a4356060840152608083015233917ff1e2baf65bd30ecb770e2b9edd169e21873da910d77d627560c94603f0ad6baf60a060243593600180831b031692a4600160655580f35b61284390613814565b610ec05784866127c9565b985099503d978884823e6128628982613842565b6040818a81010312612997578051906001600160401b038211610ec057898101601f838301011215610ec057818101519161289c836138fa565b926128aa6040519485613842565b80845260208401918c840160208360051b838701010111611a3f57602081850101925b60208360051b8387010101841061297757505050506020810151996001600160401b038b11610ec457808201601f8c8401011215610ec4578a82015191612913836138fa565b9b6129216040519d8e613842565b838d5260208d0192820160208560051b838501010111611a3f579190602083820101925b60208560051b828401010184106129635750505050509799386126ac565b602080809486518152019401939250612945565b83516001600160a01b0381168103611a3b578152602093840193016128cd565b8380fd5b909192939450604051906129ae826137de565b6001825260203681840137604051926129c6846137de565b60018452602036818601376001600160a01b03906129e390613b7a565b51166129ee84613b7a565b52609954604051635dc22eff60e01b81526001600160a01b038881166004830152909160209183916024918391165afa908115612be7578c91612bc8575b5015612b095750609954604051632260494f60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115612afe579160ff8c97969593928895938691612acf575b50169c612a898e85613911565b60649004612a96916139d7565b9c612aa19084613911565b60649004612aae82613b7a565b52612ab881613b7a565b5191612ac4928c613eae565b612698905b91612657565b612af1915060203d602011612af7575b612ae98183613842565b810190613e0d565b38612a7c565b503d612adf565b6040513d8d823e3d90fd5b60405163b28a7bad60e01b81526001600160a01b0386166004820152919b50602090829060249082905afa908115612bbd579160ff8b9695949287948591612b9e575b50169b612b598d84613911565b60649004612b6790846139d7565b9c612b729084613911565b60649004612b7f82613b7a565b52612b8981613b7a565b5191612b95928c613eae565b61269890612ac9565b612bb7915060203d602011612af757612ae98183613842565b38612b4c565b6040513d8c823e3d90fd5b612be1915060203d602011611da457611d968183613842565b38612a2c565b6040513d8e823e3d90fd5b612c0b915060203d602011611da457611d968183613842565b38612650565b9150506020813d602011612c40575b81612c2d60209383613842565b8101031261133d575183906126056125ef565b3d9150612c20565b90506020813d602011612c73575b81612c6360209383613842565b8101031261133d575160246125b4565b3d9150612c56565b6040513d8f823e3d90fd5b506001600160a01b03612c9883613b87565b511661254c565b90506020813d602011612cd5575b81612cba60209383613842565b81010312612cd157612ccb90613863565b38612520565b8b80fd5b3d9150612cad565b90506020813d602011612d07575b81612cf860209383613842565b8101031261133d5751386124b2565b3d9150612ceb565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b612d7c90939193613814565b913861244f565b6040513d86823e3d90fd5b90506020813d602011612dba575b81612da960209383613842565b81010312610ec457516123e16123c3565b3d9150612d9c565b6040513d88823e3d90fd5b60405162461bcd60e51b815260206004820152601e60248201527f6f776e6572206d757374206861766520617070726f76656420746f6b656e00006044820152606490fd5b612e2b915060203d602011611da457611d968183613842565b3861237d565b6040513d87823e3d90fd5b60405162461bcd60e51b815260206004820152602360248201527f627579576974684d65726b6c6550726f6f663a3a4e6f7420746f6b656e206f776044820152623732b960e91b6064820152608490fd5b90506020813d602011612ebf575b81612ea860209383613842565b81010312610ec057612eb990613863565b38612325565b3d9150612e9b565b60405162461bcd60e51b815260206004820152603b60248201527f627579576974684d65726b6c6550726f6f663a3a546f6b656e20616c7265616460448201527f79207573656420666f722074686973204d65726b6c6520726f6f7400000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f627579576974684d65726b6c6550726f6f663a3a416d6f756e74206d69736d616044820152620e8c6d60eb1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f627579576974684d65726b6c6550726f6f663a3a43757272656e6379206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b60f81c81526020013861223d565b92602060019160ff8560f01c168152019301612237565b92602060019160ff8560e81c16815201930161222f565b92602060019160ff8560e01c168152019301612227565b92602060019160ff8560d81c16815201930161221f565b92602060019160ff8560d01c168152019301612217565b92602060019160ff8560c81c16815201930161220f565b92602060019160ff8560c01c168152019301612207565b92602060019160ff8560b81c1681520193016121ff565b92602060019160ff8560b01c1681520193016121f7565b92602060019160ff8560a81c1681520193016121ef565b92602060019160ff8560a01c1681520193016121e7565b92602060019160ff8560981c1681520193016121df565b92602060019160ff8560901c1681520193016121d7565b92602060019160ff8560881c1681520193016121cf565b92602060019160ff8560801c1681520193016121c7565b92602060019160ff8560781c1681520193016121bf565b92602060019160ff8560701c1681520193016121b7565b92602060019160ff8560681c1681520193016121af565b92602060019160ff8560601c1681520193016121a7565b92602060019160ff8560581c16815201930161219f565b92602060019160ff8560501c168152019301612197565b92602060019160ff8560481c16815201930161218f565b92602060019160ff8560401c168152019301612187565b92602060019160ff8560381c16815201930161217f565b92602060019160ff8560301c168152019301612177565b92602060019160ff8560281c16815201930161216f565b92602060019160ff85831c168152019301612167565b92602060019160ff8560181c16815201930161215f565b92602060019160ff8560101c168152019301612157565b92602060019160ff8560081c16815201930161214f565b92602060019160ff85168152019301612147565b9293946001610400602092865460ff8082168352808260081c1686840152808260101c16604084015280828482826060828260181c168185015282826080828f83901c1681880152828260a095828260281c16878b015260c099838360301c168b820152838360381c1660e0820152838360401c16610100820152838360481c16610120820152838360501c16610140820152610160848460581c169101521c166101808d0152828260681c166101a08d0152828260701c166101c08d0152828260781c166101e08d01521c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201940192019194939294612129565b84546001600160a01b03168352600194850194869450602090930192016120f1565b4210156134ea576115b161348b9360405160208101903360601b82526014815261347e816137de565b5190209351923691613ac0565b15613499573880808061208c565b60405162461bcd60e51b8152602060048201526024808201527f627579576974684d65726b6c6550726f6f663a3a4e6f74206f6e20616c6c6f776044820152631b1a5cdd60e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602e60248201527f627579576974684d65726b6c6550726f6f663a3a416c6c6f776c69737420706560448201526d1c9a5bd9081a185cc8195b99195960921b6064820152608490fd5b60405162461bcd60e51b815260206004820152602e60248201527f627579576974684d65726b6c6550726f6f663a3a4d65726b6c6520726f6f742060448201526d1b9bdd081c9959da5cdd195c995960921b6064820152608490fd5b60405162461bcd60e51b815260206004820152602860248201527f627579576974684d65726b6c6550726f6f663a3a496e76616c6964204d65726b604482015267363290383937b7b360c11b6064820152608490fd5b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b905034610a10576040366003190112610a105760408281928160206136606136b5565b9261366a816137de565b82815201526001600160a01b0316815260a5602090815282822060243583529052208151613697816137de565b60206001835493848452015491019081528251918252516020820152f35b600435906001600160a01b038216820361133d57565b604435906001600160a01b038216820361133d57565b608435906001600160a01b038216820361133d57565b602435906001600160a01b038216820361133d57565b9181601f8401121561133d578235916001600160401b03831161133d576020808501948460051b01011161133d57565b6033546001600160a01b0316330361375157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b604081019081106001600160401b03821117610ec857604052565b60a081019081106001600160401b03821117610ec857604052565b6001600160401b038111610ec857604052565b606081019081106001600160401b03821117610ec857604052565b90601f801991011681019081106001600160401b03821117610ec857604052565b51906001600160a01b038216820361133d57565b1561387e57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116138e457565b634e487b7160e01b600052601160045260246000fd5b6001600160401b038111610ec85760051b60200190565b818102929181159184041417156138e457565b81811061392f575050565b60008155600101613924565b80548210156139535760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60008281526001820160205260409020546139d057805490600160401b821015610ec857826139b96139a284600180960185558461393b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b919082039182116138e457565b90600182019060009281845282602052604084205490811515600014613ab95760001991808301818111611a6757825490848201918211613aa557808203613a70575b50505080548015613a5c57820191613a3f838361393b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b613a90613a806139a2938661393b565b90549060031b1c9283928661393b565b90558652846020526040862055388080613a27565b634e487b7160e01b88526011600452602488fd5b5050505090565b9291613acb826138fa565b91613ad96040519384613842565b829481845260208094019160051b810192831161133d57905b828210613aff5750505050565b81358152908301908301613af2565b929091906000915b8451831015613b6357613b298386613b97565b5190600082821015613b515750600052602052613b4b60406000205b92613b6b565b91613b16565b604091613b4b93825260205220613b45565b915092501490565b60001981146138e45760010190565b8051156139535760200190565b8051600110156139535760400190565b80518210156139535760209160051b010190565b9081602091031261133d5751801515810361133d5790565b6001600160a01b0391600091838116908115613dc55734613d6f576040938451916370a0823160e01b908184523060048501526020978885602481895afa948515613d65578495613d36575b50609f541690813b15612997578751630aed65f560e11b81526001600160a01b03919091166004820152336024820152306044820152606481018790529083908290608490829084905af18015613d2c5790889291613d19575b50602487518096819382523060048301525afa908115613d0e5790613cdf575b613c9392506139d7565b03613c9c575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b508482813d8311613d07575b613cf58183613842565b8101031261133d57613c939151613c89565b503d613ceb565b8551903d90823e3d90fd5b613d2590939193613814565b9138613c69565b87513d85823e3d90fd5b9094508881813d8311613d5e575b613d4e8183613842565b8101031261299757519338613c0f565b503d613d44565b88513d86823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b50509150503403613dd257565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b9081602091031261133d575160ff8116810361133d5790565b3d15613e60573d906001600160401b038211610ec85760405191613e54601f8201601f191660200184613842565b82523d6000602084013e565b606090565b6020808252825181830181905290939260005b828110613e9a57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501613e78565b9192916001600160a01b039081169182156140195750600093845b81518110156140115782613edd8284613b97565b5116613ee98287613b97565b516040805163a9059cbb60e01b60208083019182526001600160a01b0395909516602480840191909152604480840195909552938252613f7c91908b908190613f33606485613842565b855193613f3f856137de565b8885527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564898601525190828d5af1613f75613e26565b908a614102565b805190848215928315613ff9575b50505015613fa357505050613f9e90613b6b565b613ec9565b5162461bcd60e51b81526004810192909252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b6140099350820181019101613bab565b388481613f8a565b505050505050565b9150919282609b541693604051916020908184019563c176e63960e01b87526064850160406024870152825180915283608487019301916000905b8282106140e9575050505083810360231901604485015282518082529082019282019160005b8281106140d5575050505091816140a0600096949387969403601f198101835282613842565b51925af16140ac613e26565b90156140b55750565b60405162461bcd60e51b81529081906140d19060048301613e65565b0390fd5b83518552938101939281019260010161407a565b8351811685529385019392850192600190910190614054565b919290156141645750815115614116575090565b3b1561411f5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156140b55750805190602001fdfea26469706673582212200cd2a18e145f713374619fd3b120f29bae345cd04afd1c0ef89e627881f149e764736f6c63430008120033","sourceMap":"950:11359:66:-:0;;;;;;;6007:13:20;950:11359:66;;;;;;;;;;;;;;6078:31:20;6074:139;;-1:-1:-1;950:11359:66;;;;;;;;;6074:139:20;950:11359:66;;;;;;6007:13:20;950:11359:66;6174:28:20;950:11359:66;;;;;;6174:28:20;6074:139;;;950:11359:66;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;","linkReferences":{"src/v2/utils/MarketConfigV2.sol":{"MarketConfigV2":[{"start":3269,"length":20}]}}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c90816309858ef21461363d57508063260d0a2814611f5057806338de3d6514611e59578063453c855814611dab57806345935d18146115c05780635e51b2d41461152b5780636a11a64d146114e8578063715018a61461148a57806375c9c23e146113fc5780638da5cb5b146113d3578063a435bac5146113b7578063bb120e6614611342578063c306b37814610a14578063cae43de6146108a3578063d72a541a146101645763f2fde38b146100d157600080fd5b34610161576020366003190112610161576100ea6136b5565b6100f261373d565b6001600160a01b0381161561010d5761010a90613795565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346101615760403660031901126101615761017e6136b5565b81608060405161018d816137f9565b82815282602082015260606040820152606080820152015260018060a01b0316815260a2602052604081206024358252602052604081206040516101d0816137f9565b60018060a01b03825416815260018201546020820152600282016040518082602082945493848152019087526020872092875b81811061088157505061021892500382613842565b6040820152600382019160405180938491602082549182815201918752602087209087915b81601f8401106106f8579161035d9391600496959354918181106106e4575b8181106106cd575b8181106106b6575b81811061069f575b818110610689575b818110610672575b81811061065b575b818110610644575b81811061062d575b818110610616575b8181106105ff575b8181106105e8575b8181106105d1575b8181106105ba575b8181106105a3575b81811061058c575b818110610575575b81811061055e575b818110610547575b818110610530575b818110610519575b818110610502575b8181106104eb575b8181106104d4575b8181106104bd575b8181106104a6575b81811061048f575b818110610478575b818110610461575b81811061044a575b818110610433575b10610425575b509694960385613842565b606085019384520154608084019081526040519260208452604060c085019560018060a01b03815116602087015260208101518287015201519460a060608601528551809152602060e08601960190845b818110610406575050505191601f1984860301608085015260208084519687815201930190945b8086106103eb5750508293505160a08301520390f35b909260208060019260ff8751168152019401950194906103d5565b82516001600160a01b03168852602097880197909201916001016103ae565b60f81c815260200138610352565b92602060019160ff8560f01c16815201930161034c565b92602060019160ff8560e81c168152019301610344565b92602060019160ff8560e01c16815201930161033c565b92602060019160ff8560d81c168152019301610334565b92602060019160ff8560d01c16815201930161032c565b92602060019160ff8560c81c168152019301610324565b92602060019160ff8560c01c16815201930161031c565b92602060019160ff8560b81c168152019301610314565b92602060019160ff8560b01c16815201930161030c565b92602060019160ff8560a81c168152019301610304565b92602060019160ff8560a01c1681520193016102fc565b92602060019160ff8560981c1681520193016102f4565b92602060019160ff8560901c1681520193016102ec565b92602060019160ff8560881c1681520193016102e4565b92602060019160ff8560801c1681520193016102dc565b92602060019160ff8560781c1681520193016102d4565b92602060019160ff8560701c1681520193016102cc565b92602060019160ff8560681c1681520193016102c4565b92602060019160ff8560601c1681520193016102bc565b92602060019160ff8560581c1681520193016102b4565b92602060019160ff8560501c1681520193016102ac565b92602060019160ff8560481c1681520193016102a4565b92602060019160ff8560401c16815201930161029c565b92602060019160ff8560381c168152019301610294565b92602060019160ff8560301c16815201930161028c565b92602060019160ff8560281c168152019301610284565b92602060019160ff85831c16815201930161027c565b92602060019160ff8560181c168152019301610274565b92602060019160ff8560101c16815201930161026c565b92602060019160ff8560081c168152019301610264565b92602060019160ff8516815201930161025c565b935090916001610400602092865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260a0828260281c1681870152828260c092828260301c16848a0152828260381c1660e08a0152828260401c166101008a0152828260481c166101208a0152828260501c166101408a0152828260581c166101608a0152828260601c166101808a0152828260681c166101a08a0152828260701c166101c08a0152828260781c166101e08a0152828260801c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201940192019086939261023d565b84546001600160a01b0316835260019485019486945060209093019201610203565b503461016157602080600319360112610a10576004359033835260a181526108de826040852060019160005201602052604060002054151590565b156109ba5733835260a181526108f782604085206139e4565b5033835260a281526040832082845281526000600460408520858155826001820155600281018054848255806109a1575b505060038101805484825580610982575b5050015533835260a5815260408320908284525260006001604084208281550155337f5a563e5c2e70d79e1f8f6a2a5324344079543abed259428183d7c03d35426a518380a380f35b61099a918552601f868620910160051c810190613924565b3880610939565b6109b391855285852090810190613924565b3880610928565b6084906040519062461bcd60e51b82526004820152602960248201527f63616e63656c53616c6550726963654d65726b6c65526f6f743a3a4e6f74207260448201526837b7ba1037bbb732b960b91b6064820152fd5b5080fd5b50346101615761014036600319011261016157610a2f6136b5565b610a376136f7565b610a3f6136cb565b606435916001600160a01b038316830361133d57610a5b6136e1565b9260a435906001600160a01b038216820361133d5760c435906001600160a01b038216820361133d5760e435956001600160a01b038716870361133d5761010435946001600160a01b038616860361133d5761012435966001600160a01b038816880361133d578a549960ff8b60081c16159a8b809c611330575b8015611319575b156112bd5760ff1981166001178d558b6112ac575b506001600160a01b0381161561124b576001600160a01b038316156111f0576001600160a01b0382161561118d576001600160a01b0385161561112a576001600160a01b038416156110d4576001600160a01b03871615611077576001600160a01b0386161561101a576001600160a01b038a1615610fba576001600160a01b03881615610f58576001600160a01b03891615610ef55760405163ef8c824960e01b81526001600160a01b039a8b166004820152908a16602482015290891660448201529088166064820152908716608482015290861660a482015290851660c482015290841660e48201529083166101048201529116610124820152610140816101448173__$c98ca6a62396e5a7a1471db151198a1f31$__5af4908115610eea578391610d7f575b5060018060a01b03815116906001600160601b0360a01b9182609754161760975560018060a01b0360208201511682609854161760985560018060a01b0360408201511682609954161760995560018060a01b0360608201511682609a541617609a5560018060a01b0360808201511682609b541617609b5560018060a01b0360a08201511682609c541617609c5560018060a01b0360c08201511682609d541617609d5560018060a01b0360e08201511682609e541617609e5560018060a01b036101008201511682609f541617609f5561012060018060a01b03910151169060a054161760a055610d1e60ff835460081c16610d1981613877565b613877565b610d2733613795565b815490610d3d60ff8360081c16610d1981613877565b6001606555610d4a575080f35b61ff00191681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610140813d61014011610ee2575b81610d9d6101409383613842565b81010312610ede576040519061014082018281106001600160401b03821117610ec857604052610dcc81613863565b825260208101516001600160a01b0381168103610ec057602083015260408101516001600160a01b0381168103610ec057604083015260608101516001600160a01b0381168103610ec057606083015260808101516001600160a01b0381168103610ec057608083015260a08101516001600160a01b0381168103610ec05760a083015260c08101516001600160a01b0381168103610ec05760c083015260e08101516001600160a01b0381168103610ec05760e083015261010081810151906001600160a01b0382168203610ec45783015261012090810151906001600160a01b0382168203610ec05782015238610c1c565b8480fd5b8580fd5b634e487b7160e01b600052604160045260246000fd5b8280fd5b3d9150610d8f565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a657263373231417070726f76616c4d616e616765604482015274722063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603460248201527f696e697469616c697a653a3a6572633230417070726f76616c4d616e616765726044820152732063616e6e6f742062652030206164647265737360601b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f696e697469616c697a653a3a6e6574776f726b42656e65666963696172792063604482015271616e6e6f742062652030206164647265737360701b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6753657474696e67732063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6752656769737472792063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602860248201527f696e697469616c697a653a3a7061796d656e74732063616e6e6f742062652030604482015267206164647265737360c01b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a617070726f766564546f6b656e52656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a73706163654f70657261746f7252656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152602d60248201527f696e697469616c697a653a3a726f79616c7479456e67696e652063616e6e6f7460448201526c2062652030206164647265737360981b6064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f696e697469616c697a653a3a6d61726b6574706c61636553657474696e67732060448201527263616e6e6f742062652030206164647265737360681b6064820152608490fd5b61ffff1916610101178c5538610af2565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610add5750600160ff821614610add565b50600160ff821610610ad6565b600080fd5b5034610161576040366003190112610161576001600160a01b0390604090826113696136b5565b16815260a2602052818120602435825260205220908154166113b36004600184015493015460405193849384604091949392606082019560018060a01b0316825260208201520152565b0390f35b5034610161578060031936011261016157602060405160788152f35b50346101615780600319360112610161576033546040516001600160a01b039091168152602090f35b503461016157608036600319011261016157604060209161141b6136b5565b6114696114776114296136cb565b9285519283918883019560643591602435908892606894926001600160601b0319809360601b168552601485015260601b16603483015260488201520190565b03601f198101835282613842565b519020815260a483522054604051908152f35b50346101615780600319360112610161576114a361373d565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610161576040366003190112610161576020906040906001600160a01b036115106136b5565b16815260a38352818120602435825283522054604051908152f35b5034610161576080366003190112610161576115456136f7565b90606435906001600160401b0382116101615760206115b6846115b161156e366004880161370d565b60405160609490941b6001600160601b03191686850190815260443560148201529193909291906115a28160348401611469565b51902092600435923691613ac0565b613b0e565b6040519015158152f35b50346101615760a0366003190112610161576115da6136f7565b6064356001600160401b038111610ede576115f990369060040161370d565b608480356001600160401b038111610ec45761161990369060040161370d565b916001600160a01b038616158015611d39575b15611cfc57609854604051637cd11f4360e11b81526001600160a01b0390911690602081600481855afa908115611cf1578991611cbf575b5060443511159081611c4d575b5015611bf0578315611b9e5760058411611b5057828403611af95786805b848210611acd576064915003611a7b575033865260a16020526116b760043560408820613969565b5033865260a3602052604086206004358752602052604086205493600185018511611a675733875260a360205260408720600435885260205260018501604088205560405193611706856137f9565b6001600160a01b03871685526044356020860152611723816138fa565b916117316040519384613842565b818352602083019160051b810190368211611a3b57915b818310611a43575050506040840152611760826138fa565b9161176e6040519384613842565b8083526020830191368260051b820111611a3f5780925b8260051b82018410611a215750505050606082015260018201608082015233845260a2602052604084206004358552602052604084209060018060a01b038151166001600160601b0360a01b8354161782556020810151600183015560408101518051906001600160401b038211611a0d57600160401b8211610ec8576020600285019182548484558085106119f0575b500190875260208720875b8381106119d357505050506003820160608201518051906001600160401b0382116119bf57600160401b8211610ec8576020908354838555808410611973575b5001918752602087208160051c91885b8381106119345750601f1981169003806118e8575b5050505060800151600491820155604080516001600160a01b03949094168452604435602085015260019290920191830191909152359033907f6ac61a1aee451307d73de9183ea0a92ddcb00bb73b49d4479e78501e7905f22a90606090a380f35b928893895b818110611904575050500155608060043880611886565b909194602061192a6001928460ff8a5116919060ff809160031b9316831b921b19161790565b96019291016118ed565b898a5b6020811061194c575083820155600101611871565b865190969160019160209160ff60038b901b81811b199092169216901b1792019601611937565b61199f908560005283600020601f80870160051c820192818816806119a5575b500160051c0190613924565b38611861565b60001990818601918254918a0360031b1c16905538611993565b634e487b7160e01b88526041600452602488fd5b82516001600160a01b031681830155602090920191600101611821565b611a07908460005285846000209182019101613924565b38611816565b634e487b7160e01b87526041600452602487fd5b833560ff81168103611a3b57815260209384019301611785565b8980fd5b8780fd5b82356001600160a01b0381168103611a6357815260209283019201611748565b8a80fd5b634e487b7160e01b87526011600452602487fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152fd5b8160051b8401359060ff8216809203611a3b57611af391611aed916138d7565b91613b6b565b9061168f565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152fd5b60405162461bcd60e51b815260206004820152603260248201527f726567697374657253616c6550726963654d65726b6c65526f6f743a3a416d6f604482015271756e74206f75747369646520626f756e647360701b6064820152fd5b604051635c1b40f160e01b81529150602090829060049082905afa908115611cb4578891611c82575b50604435101538611671565b90506020813d602011611cac575b81611c9d60209383613842565b8101031261133d575138611c76565b3d9150611c90565b6040513d8a823e3d90fd5b90506020813d602011611ce9575b81611cda60209383613842565b8101031261133d575138611664565b3d9150611ccd565b6040513d8b823e3d90fd5b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b50609c54604051632d5ad3d560e01b81526001600160a01b038881166004830152909160209183916024918391165afa908115611cb4578891611d7d575b5061162c565b611d9e915060203d8111611da4575b611d968183613842565b810190613bab565b38611d77565b503d611d8c565b503461016157602080600319360112610a10576001600160a01b03611dce6136b5565b16825260a181526040822060405192838383549182815201908193835284832090835b818110611e455750505084611e07910385613842565b60405193838594850191818652518092526040850193925b828110611e2e57505050500390f35b835185528695509381019392810192600101611e1f565b825484529286019260019283019201611df1565b50346101615760603660031901126101615760043560243590604435338452602060a18152611e9b836040872060019160005201602052604060002054151590565b15611f01577f178cf25b1579b19d34c1cfd3a48dd226c6a7581eafae97981c97ab9c64d9957890604051611ece816137de565b858152600182820185815233895260a5845260408920878a5284526040892092518355519101556040519283523392a480f35b6084906040519062461bcd60e51b82526004820152602260248201527f736574416c6c6f774c697374436f6e6669673a3a4e6f7420726f6f74206f776e60448201526132b960f11b6064820152fd5b5061010036600319011261016157611f666136b5565b611f6e6136cb565b91611f776136e1565b9260c4356001600160401b038111610ede57611f9790369060040161370d565b60e4356001600160401b038111610ec057611fb690369060040161370d565b9190926002606554146135f8576002606555604051606088901b6001600160601b03191660208201908152602435603483015261200f93916115b191906120008160548101611469565b5190209260a435923691613ac0565b156135a25760018060a01b038616845260a160205261204360a4356040862060019160005201602052604060002054151590565b156135465760018060a01b038616845260a56020526040842060a4358552602052604084209060405191612076836137de565b6001815491828552015490816020850152613455575b5050505060018060a01b038416825260a26020526040822060a43583526020526040822090604051916120be836137f9565b60018060a01b03815416835260018101546020840152600281016040518082602082945493848152019088526020882092885b81811061343357505061210692500382613842565b604084015260405190816003820192602084549182815201938752602087209087915b81601f8401106132a957946122459284926004975491818110613295575b81811061327e575b818110613267575b818110613250575b81811061323a575b818110613223575b81811061320c575b8181106131f5575b8181106131de575b8181106131c7575b8181106131b0575b818110613199575b818110613182575b81811061316b575b818110613154575b81811061313d575b818110613126575b81811061310f575b8181106130f8575b8181106130e1575b8181106130ca575b8181106130b3575b81811061309c575b818110613085575b81811061306e575b818110613057575b818110613040575b818110613029575b818110613012575b818110612ffb575b818110612fe4575b10612fd6575b500382613842565b60608501520154608083015281516001600160a01b03908116911603612f8357606435602082015103612f3257604051606085811b6001600160601b03199081166020840190815260a43560348501529186901b1660548301526024356068830152906122b58160888101611469565b5190209360018060a01b038116835260a36020526040832060a435845260205260408320549480845260a46020528560408520541015612ec7576040516331a9108f60e11b81526024803560048301526020908290816001600160a01b038a165afa908115612e31578591612e8d575b506001600160a01b03838116911603612e3c5760a05460405163e985e9c560e01b81526001600160a01b038481166004830152918216602482015290602090829060449082908a165afa908115612e31578591612e12575b5015612dcd576020838101516098546040516361fe24a960e11b815260048101839052919290829060249082906001600160a01b03165afa908115612dc2578691612d8e575b506123d1906123e1926138d7565b84516001600160a01b0316613bc3565b835260a46020526040832085905560a0546001600160a01b0316803b1561299757604051630aed65f560e11b81526001600160a01b03868116600483015283166024808301919091523360448301523560648201529084908290608490829084905af18015612d8357612d70575b5060018060a01b03825116916020810151946040820151926060830151918451835103612d0f576098546040516361fe24a960e11b8152600481018a90528991602090829060249082906001600160a01b03165afa908115611cf1578991612cdd575b50604051906124c082613827565b6002825260403660208401376097546001600160a01b0316806124e284613b7a565b52609e5460405163e286ef3360e01b81526001600160a01b038881166004830152909160209183916024918391165afa908115612be7578c91612c9f575b506001600160a01b031661253384613b87565b526001600160a01b0361254584613b87565b5116612c86575b61255583613b87565b6001600160a01b03909116905260405161256e81613827565b600281526040366020830137609d546040516303fdde1160e21b8152600481018690526001600160a01b0390911690602081602481855afa908115612c7b578d91612c48575b506024916020916125c485613b7a565b526040519283809263470d6ed960e11b82528960048301525afa908115612be7579084918d91612c11575b5092612605936125fe84613b87565b528b613eae565b609854604051631446f21360e21b81526001600160a01b038581166004830152602480359083015290911690602081604481855afa908115612afe57908b9695949392918791612bf2575b501561299b575b5050609a54604051637a99dc0160e11b81526001600160a01b038481166004830152602480359083015260448201939093529985928b921690829081606481015b03925af1998a15610eea578398849b61284e575b50839884995b8c518b10156126e0576126d46126da916126cd8f8e90613b97565b51906138d7565b9a613b6b565b996126b2565b96979899508b6126fb916126f4898e6139d7565b988c613eae565b845196612707886138fa565b97612715604051998a613842565b808952612724601f19916138fa565b013660208a0137845b86518110156127695780606461275360ff61274b612764958c613b97565b51168b613911565b0461275e828c613b97565b52613b6b565b61272d565b50612776888a898d613eae565b60985485906001600160a01b0316803b15610a1057604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af161283a575b5050602060018060a01b03825116910151906040519460018060a01b031685526020850152604084015260a4356060840152608083015233917ff1e2baf65bd30ecb770e2b9edd169e21873da910d77d627560c94603f0ad6baf60a060243593600180831b031692a4600160655580f35b61284390613814565b610ec05784866127c9565b985099503d978884823e6128628982613842565b6040818a81010312612997578051906001600160401b038211610ec057898101601f838301011215610ec057818101519161289c836138fa565b926128aa6040519485613842565b80845260208401918c840160208360051b838701010111611a3f57602081850101925b60208360051b8387010101841061297757505050506020810151996001600160401b038b11610ec457808201601f8c8401011215610ec4578a82015191612913836138fa565b9b6129216040519d8e613842565b838d5260208d0192820160208560051b838501010111611a3f579190602083820101925b60208560051b828401010184106129635750505050509799386126ac565b602080809486518152019401939250612945565b83516001600160a01b0381168103611a3b578152602093840193016128cd565b8380fd5b909192939450604051906129ae826137de565b6001825260203681840137604051926129c6846137de565b60018452602036818601376001600160a01b03906129e390613b7a565b51166129ee84613b7a565b52609954604051635dc22eff60e01b81526001600160a01b038881166004830152909160209183916024918391165afa908115612be7578c91612bc8575b5015612b095750609954604051632260494f60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115612afe579160ff8c97969593928895938691612acf575b50169c612a898e85613911565b60649004612a96916139d7565b9c612aa19084613911565b60649004612aae82613b7a565b52612ab881613b7a565b5191612ac4928c613eae565b612698905b91612657565b612af1915060203d602011612af7575b612ae98183613842565b810190613e0d565b38612a7c565b503d612adf565b6040513d8d823e3d90fd5b60405163b28a7bad60e01b81526001600160a01b0386166004820152919b50602090829060249082905afa908115612bbd579160ff8b9695949287948591612b9e575b50169b612b598d84613911565b60649004612b6790846139d7565b9c612b729084613911565b60649004612b7f82613b7a565b52612b8981613b7a565b5191612b95928c613eae565b61269890612ac9565b612bb7915060203d602011612af757612ae98183613842565b38612b4c565b6040513d8c823e3d90fd5b612be1915060203d602011611da457611d968183613842565b38612a2c565b6040513d8e823e3d90fd5b612c0b915060203d602011611da457611d968183613842565b38612650565b9150506020813d602011612c40575b81612c2d60209383613842565b8101031261133d575183906126056125ef565b3d9150612c20565b90506020813d602011612c73575b81612c6360209383613842565b8101031261133d575160246125b4565b3d9150612c56565b6040513d8f823e3d90fd5b506001600160a01b03612c9883613b87565b511661254c565b90506020813d602011612cd5575b81612cba60209383613842565b81010312612cd157612ccb90613863565b38612520565b8b80fd5b3d9150612cad565b90506020813d602011612d07575b81612cf860209383613842565b8101031261133d5751386124b2565b3d9150612ceb565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b612d7c90939193613814565b913861244f565b6040513d86823e3d90fd5b90506020813d602011612dba575b81612da960209383613842565b81010312610ec457516123e16123c3565b3d9150612d9c565b6040513d88823e3d90fd5b60405162461bcd60e51b815260206004820152601e60248201527f6f776e6572206d757374206861766520617070726f76656420746f6b656e00006044820152606490fd5b612e2b915060203d602011611da457611d968183613842565b3861237d565b6040513d87823e3d90fd5b60405162461bcd60e51b815260206004820152602360248201527f627579576974684d65726b6c6550726f6f663a3a4e6f7420746f6b656e206f776044820152623732b960e91b6064820152608490fd5b90506020813d602011612ebf575b81612ea860209383613842565b81010312610ec057612eb990613863565b38612325565b3d9150612e9b565b60405162461bcd60e51b815260206004820152603b60248201527f627579576974684d65726b6c6550726f6f663a3a546f6b656e20616c7265616460448201527f79207573656420666f722074686973204d65726b6c6520726f6f7400000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f627579576974684d65726b6c6550726f6f663a3a416d6f756e74206d69736d616044820152620e8c6d60eb1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f627579576974684d65726b6c6550726f6f663a3a43757272656e6379206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b60f81c81526020013861223d565b92602060019160ff8560f01c168152019301612237565b92602060019160ff8560e81c16815201930161222f565b92602060019160ff8560e01c168152019301612227565b92602060019160ff8560d81c16815201930161221f565b92602060019160ff8560d01c168152019301612217565b92602060019160ff8560c81c16815201930161220f565b92602060019160ff8560c01c168152019301612207565b92602060019160ff8560b81c1681520193016121ff565b92602060019160ff8560b01c1681520193016121f7565b92602060019160ff8560a81c1681520193016121ef565b92602060019160ff8560a01c1681520193016121e7565b92602060019160ff8560981c1681520193016121df565b92602060019160ff8560901c1681520193016121d7565b92602060019160ff8560881c1681520193016121cf565b92602060019160ff8560801c1681520193016121c7565b92602060019160ff8560781c1681520193016121bf565b92602060019160ff8560701c1681520193016121b7565b92602060019160ff8560681c1681520193016121af565b92602060019160ff8560601c1681520193016121a7565b92602060019160ff8560581c16815201930161219f565b92602060019160ff8560501c168152019301612197565b92602060019160ff8560481c16815201930161218f565b92602060019160ff8560401c168152019301612187565b92602060019160ff8560381c16815201930161217f565b92602060019160ff8560301c168152019301612177565b92602060019160ff8560281c16815201930161216f565b92602060019160ff85831c168152019301612167565b92602060019160ff8560181c16815201930161215f565b92602060019160ff8560101c168152019301612157565b92602060019160ff8560081c16815201930161214f565b92602060019160ff85168152019301612147565b9293946001610400602092865460ff8082168352808260081c1686840152808260101c16604084015280828482826060828260181c168185015282826080828f83901c1681880152828260a095828260281c16878b015260c099838360301c168b820152838360381c1660e0820152838360401c16610100820152838360481c16610120820152838360501c16610140820152610160848460581c169101521c166101808d0152828260681c166101a08d0152828260701c166101c08d0152828260781c166101e08d01521c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201940192019194939294612129565b84546001600160a01b03168352600194850194869450602090930192016120f1565b4210156134ea576115b161348b9360405160208101903360601b82526014815261347e816137de565b5190209351923691613ac0565b15613499573880808061208c565b60405162461bcd60e51b8152602060048201526024808201527f627579576974684d65726b6c6550726f6f663a3a4e6f74206f6e20616c6c6f776044820152631b1a5cdd60e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602e60248201527f627579576974684d65726b6c6550726f6f663a3a416c6c6f776c69737420706560448201526d1c9a5bd9081a185cc8195b99195960921b6064820152608490fd5b60405162461bcd60e51b815260206004820152602e60248201527f627579576974684d65726b6c6550726f6f663a3a4d65726b6c6520726f6f742060448201526d1b9bdd081c9959da5cdd195c995960921b6064820152608490fd5b60405162461bcd60e51b815260206004820152602860248201527f627579576974684d65726b6c6550726f6f663a3a496e76616c6964204d65726b604482015267363290383937b7b360c11b6064820152608490fd5b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b905034610a10576040366003190112610a105760408281928160206136606136b5565b9261366a816137de565b82815201526001600160a01b0316815260a5602090815282822060243583529052208151613697816137de565b60206001835493848452015491019081528251918252516020820152f35b600435906001600160a01b038216820361133d57565b604435906001600160a01b038216820361133d57565b608435906001600160a01b038216820361133d57565b602435906001600160a01b038216820361133d57565b9181601f8401121561133d578235916001600160401b03831161133d576020808501948460051b01011161133d57565b6033546001600160a01b0316330361375157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b604081019081106001600160401b03821117610ec857604052565b60a081019081106001600160401b03821117610ec857604052565b6001600160401b038111610ec857604052565b606081019081106001600160401b03821117610ec857604052565b90601f801991011681019081106001600160401b03821117610ec857604052565b51906001600160a01b038216820361133d57565b1561387e57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116138e457565b634e487b7160e01b600052601160045260246000fd5b6001600160401b038111610ec85760051b60200190565b818102929181159184041417156138e457565b81811061392f575050565b60008155600101613924565b80548210156139535760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60008281526001820160205260409020546139d057805490600160401b821015610ec857826139b96139a284600180960185558461393b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b919082039182116138e457565b90600182019060009281845282602052604084205490811515600014613ab95760001991808301818111611a6757825490848201918211613aa557808203613a70575b50505080548015613a5c57820191613a3f838361393b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b613a90613a806139a2938661393b565b90549060031b1c9283928661393b565b90558652846020526040862055388080613a27565b634e487b7160e01b88526011600452602488fd5b5050505090565b9291613acb826138fa565b91613ad96040519384613842565b829481845260208094019160051b810192831161133d57905b828210613aff5750505050565b81358152908301908301613af2565b929091906000915b8451831015613b6357613b298386613b97565b5190600082821015613b515750600052602052613b4b60406000205b92613b6b565b91613b16565b604091613b4b93825260205220613b45565b915092501490565b60001981146138e45760010190565b8051156139535760200190565b8051600110156139535760400190565b80518210156139535760209160051b010190565b9081602091031261133d5751801515810361133d5790565b6001600160a01b0391600091838116908115613dc55734613d6f576040938451916370a0823160e01b908184523060048501526020978885602481895afa948515613d65578495613d36575b50609f541690813b15612997578751630aed65f560e11b81526001600160a01b03919091166004820152336024820152306044820152606481018790529083908290608490829084905af18015613d2c5790889291613d19575b50602487518096819382523060048301525afa908115613d0e5790613cdf575b613c9392506139d7565b03613c9c575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b508482813d8311613d07575b613cf58183613842565b8101031261133d57613c939151613c89565b503d613ceb565b8551903d90823e3d90fd5b613d2590939193613814565b9138613c69565b87513d85823e3d90fd5b9094508881813d8311613d5e575b613d4e8183613842565b8101031261299757519338613c0f565b503d613d44565b88513d86823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b50509150503403613dd257565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b9081602091031261133d575160ff8116810361133d5790565b3d15613e60573d906001600160401b038211610ec85760405191613e54601f8201601f191660200184613842565b82523d6000602084013e565b606090565b6020808252825181830181905290939260005b828110613e9a57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501613e78565b9192916001600160a01b039081169182156140195750600093845b81518110156140115782613edd8284613b97565b5116613ee98287613b97565b516040805163a9059cbb60e01b60208083019182526001600160a01b0395909516602480840191909152604480840195909552938252613f7c91908b908190613f33606485613842565b855193613f3f856137de565b8885527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564898601525190828d5af1613f75613e26565b908a614102565b805190848215928315613ff9575b50505015613fa357505050613f9e90613b6b565b613ec9565b5162461bcd60e51b81526004810192909252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b6140099350820181019101613bab565b388481613f8a565b505050505050565b9150919282609b541693604051916020908184019563c176e63960e01b87526064850160406024870152825180915283608487019301916000905b8282106140e9575050505083810360231901604485015282518082529082019282019160005b8281106140d5575050505091816140a0600096949387969403601f198101835282613842565b51925af16140ac613e26565b90156140b55750565b60405162461bcd60e51b81529081906140d19060048301613e65565b0390fd5b83518552938101939281019260010161407a565b8351811685529385019392850192600190910190614054565b919290156141645750815115614116575090565b3b1561411f5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156140b55750805190602001fdfea26469706673582212200cd2a18e145f713374619fd3b120f29bae345cd04afd1c0ef89e627881f149e764736f6c63430008120033","sourceMap":"950:11359:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;950:11359:66;;2402:22:19;950:11359:66;;2496:8:19;;;:::i;:::-;950:11359:66;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12022:19;950:11359;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7693:43;;;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;-1:-1:-1;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;6240:10;;950:11359;;6211:28;950:11359;;6523:28:50;950:11359:66;;;;4351:12:50;4255:127;-1:-1:-1;950:11359:66;4351:12:50;950:11359:66;;;-1:-1:-1;950:11359:66;;4351:24:50;;4255:127;;6523:28;950:11359:66;;;6240:10;950:11359;;6211:28;950:11359;;6306:26:50;950:11359:66;;;;6306:26:50;:::i;:::-;;6240:10:66;950:11359;;6513:19;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6240:10;950:11359;;6617:17;950:11359;;;;;;;;;;;;;;;;;;;;6240:10;6671:53;;;;950:11359;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1830:1:21;;;;950:11359:66;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;3301:14:20;3347:34;;;;;;950:11359:66;3346:108:20;;;;950:11359:66;;;;-1:-1:-1;;950:11359:66;;;;;;;3562:65:20;;950:11359:66;-1:-1:-1;;;;;;950:11359:66;;3298:34;950:11359;;-1:-1:-1;;;;;950:11359:66;;3402:28;950:11359;;-1:-1:-1;;;;;950:11359:66;;3494:36;950:11359;;-1:-1:-1;;;;;950:11359:66;;3602:36;950:11359;;-1:-1:-1;;;;;950:11359:66;;3710:23;950:11359;;-1:-1:-1;;;;;950:11359:66;;3792:30;950:11359;;-1:-1:-1;;;;;950:11359:66;;3888:30;950:11359;;-1:-1:-1;;;;;950:11359:66;;3984:33;950:11359;;-1:-1:-1;;;;;950:11359:66;;4086:35;950:11359;;-1:-1:-1;;;;;950:11359:66;;4192:36;950:11359;;;;-1:-1:-1;;;4341:302:66;;-1:-1:-1;;;;;950:11359:66;;;;4341:302;;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4341:14;:302;;;;;;;;;;;950:11359;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;4325:318;950:11359;;;4325:318;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5366:69:20;950:11359:66;;;;;;5366:69:20;;;:::i;:::-;;:::i;:::-;1195:12:19;929:10:23;1195:12:19;:::i;:::-;950:11359:66;;;5366:69:20;950:11359:66;;;;;5366:69:20;;;:::i;:::-;950:11359:66;2065:22:21;1787:1;3647:99:20;;950:11359:66;;;3647:99:20;950:11359:66;;;;;3721:14:20;950:11359:66;;;;;;3721:14:20;950:11359:66;;4341:302;;;950:11359;4341:302;;950:11359;4341:302;;;;;;950:11359;4341:302;;;:::i;:::-;;;950:11359;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;4341:302;;;950:11359;;;;;;;;;;;;;;;;;;;;;;;;4341:302;;;-1:-1:-1;4341:302:66;;;950:11359;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;3562:65:20;-1:-1:-1;;950:11359:66;;;;;3562:65:20;;;950:11359:66;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;3346:108:20;3426:4;;1713:19:22;:23;3387:66:20;;3346:108;3387:66;950:11359:66;;;;;3436:17:20;3346:108;;3347:34;950:11359:66;;;;;3365:16:20;3347:34;;950:11359:66;;;;;;;;;;;-1:-1:-1;;950:11359:66;;;;-1:-1:-1;;;;;950:11359:66;;;;;;:::i;:::-;;;;1734:88;950:11359;;;;;;;;;;;;;;;;;;;1734:88;;950:11359;1734:88;;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2394:9;950:11359;;;;;;;;;;;;;;;;1513:6:19;950:11359:66;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;;;;:::i;:::-;11274:59;;950:11359;;:::i;:::-;;;;11274:59;;;;;;950:11359;;;;;;11274:59;;950:11359;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;11274:59;;7693:43;;11274:59;;;;;;:::i;:::-;950:11359;11264:70;;950:11359;;11347:20;950:11359;;;;;;;;;;;;;;;;;;;;;;;1303:62:19;;:::i;:::-;2758:6;950:11359:66;;-1:-1:-1;;;;;;950:11359:66;;;;;;;-1:-1:-1;;;;;950:11359:66;2806:40:19;950:11359:66;;2806:40:19;950:11359:66;;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;;;-1:-1:-1;;;;;950:11359:66;;:::i;:::-;;;;11781:17;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;950:11359:66;;;;;10971:39;950:11359;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;950:11359:66;10922:35;;;950:11359;;;;;;;;;;;;;;10922:35;;950:11359;;;;10922:35;950:11359;10922:35;950:11359;10912:46;;950:11359;;;;;;;:::i;:::-;10971:39;:::i;:::-;950:11359;;;;;;;;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;:::i;:::-;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;950:11359:66;;756:30:68;:97;;;;950:11359:66;;;;5114:33;950:11359;;;-1:-1:-1;;;5114:58:66;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;5114:58;;;;;;;;;;;950:11359;;;;5103:69;;:150;;;;950:11359;;;;;2386:22:68;;950:11359:66;;2488:1:68;2466:23;;950:11359:66;;2544:41:68;;;950:11359:66;;2640:22:68;;2689:23;;;;;;950:11359:66;2777:17:68;;;950:11359:66;;5480:10;;950:11359;;5451:28;950:11359;;6012:23:50;950:11359:66;;;;;6012:23:50;:::i;:::-;;5480:10:66;950:11359;;5561:17;950:11359;;;;;;;;;;;;;;;;;;;;;;;5480:10;950:11359;;5561:17;950:11359;;;;;;;;;;;;;;;;;1787:1:21;950:11359:66;;;;;;:::i;:::-;-1:-1:-1;;;;;950:11359:66;;;;;;;5747:175;;950:11359;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2488:1:68;950:11359:66;;;;;;;;;;;;;;;;5747:175;;;950:11359;5747:175;;950:11359;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;2488:1:68;950:11359:66;;;;;;;;;;2488:1:68;950:11359:66;;;;;;;5747:175;;;;950:11359;5747:175;;950:11359;;;;;5747:175;;950:11359;5480:10;950:11359;;5700:19;950:11359;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;5747:175;;950:11359;;;;1787:1:21;950:11359:66;5747:175;;950:11359;;;;-1:-1:-1;;;;;950:11359:66;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5747:175;;950:11359;;;;-1:-1:-1;;;;;950:11359:66;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;2488:1:68;950:11359:66;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;-1:-1:-1;;;;950:11359:66;5747:175;950:11359;;;;;1787:1:21;950:11359:66;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;5480:10;;5934:84;;950:11359;;5934:84;950:11359;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2488:1:68;950:11359:66;;;;;;;;;;;;;2488:1:68;950:11359:66;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;2714:3:68;950:11359:66;2488:1:68;950:11359:66;;;;;;;;;;;;;2714:3:68;2727:29;;;;:::i;:::-;2714:3;;:::i;:::-;2674:13;;;950:11359:66;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;5103:150;950:11359;;-1:-1:-1;;;5195:58:66;;950:11359;-1:-1:-1;950:11359:66;;;;;;;;5195:58;;;;;;;;;;;5103:150;950:11359;;;5184:69;;5103:150;;;5195:58;;;950:11359;5195:58;;950:11359;5195:58;;;;;;950:11359;5195:58;;;:::i;:::-;;;950:11359;;;;;5195:58;;;;;;-1:-1:-1;5195:58:66;;;950:11359;;;;;;;;;5114:58;;;950:11359;5114:58;;950:11359;5114:58;;;;;;950:11359;5114:58;;;:::i;:::-;;;950:11359;;;;;5114:58;;;;;;-1:-1:-1;5114:58:66;;;950:11359;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;756:97:68;-1:-1:-1;790:29:68;950:11359:66;;;-1:-1:-1;;;790:63:68;;-1:-1:-1;;;;;950:11359:66;;;;790:63:68;;950:11359:66;;;;;;;;;;;;790:63:68;;;;;;;;;;;756:97;;;;790:63;;;;950:11359:66;790:63:68;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;:::i;:::-;;;;11553:28;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;;;;;;6979:10;950:11359;;;6950:28;950:11359;;6523:28:50;950:11359:66;;;;4351:12:50;4255:127;-1:-1:-1;950:11359:66;4351:12:50;950:11359:66;;;-1:-1:-1;950:11359:66;;4351:24:50;;4255:127;;6523:28;950:11359:66;;;7210:74;950:11359;;;;;;:::i;:::-;;;;;7130:68;;;950:11359;;;6979:10;950:11359;;7085:17;950:11359;;;;;;;;;;;;;;;1787:1:21;;950:11359:66;;;1787:1:21;950:11359:66;;;;;6979:10;7210:74;;950:11359;;;;;;;1830:1:21;;;;950:11359:66;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;-1:-1:-1;950:11359:66;;-1:-1:-1;;950:11359:66;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;:::i;:::-;;;;1830:1:21;2712:7;950:11359:66;2712:19:21;1830:1;;;2712:7;1787:1;950:11359:66;;;;;;-1:-1:-1;;;;;;950:11359:66;;7693:43;;950:11359;;;;;;;;;7751:45;;1787:1:21;950:11359:66;;7693:43;;950:11359;;;;7693:43;950:11359;7693:43;950:11359;7683:54;;950:11359;;;;;;;:::i;7751:45::-;950:11359;;;;;;;;;;;;7914:28;950:11359;;6523:28:50;950:11359:66;;;;;4351:12:50;4255:127;-1:-1:-1;950:11359:66;4351:12:50;950:11359:66;;;-1:-1:-1;950:11359:66;;4351:24:50;;4255:127;;6523:28;950:11359:66;;;;;;;;;;;;8121:17;950:11359;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8167:482;;950:11359;;;;;;;;;;;;;;8732:19;950:11359;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1830:1:21;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7693:43;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;8788:28;950:11359;;;;;;;;8872:24;950:11359;;;;;;;;-1:-1:-1;;;;;;950:11359:66;;;;9035:66;;950:11359;;;;;;;;;;;;;;;;;;;;;;;;9035:66;;950:11359;;;;9035:66;950:11359;9035:66;950:11359;9025:77;;950:11359;;;;;;;;;;9131:17;950:11359;;;;;;;;;;;;;;;;;;;;;;;;;;;9192:50;950:11359;;;;;-1:-1:-1;;;9429:24:66;;950:11359;;;;9429:24;;950:11359;;;;;;-1:-1:-1;;;;;950:11359:66;;9429:24;;;;;;;;;;;950:11359;-1:-1:-1;;;;;;950:11359:66;;;;;9467:22;950:11359;;;;;;-1:-1:-1;;;1758:70:68;;-1:-1:-1;;;;;950:11359:66;;;;1758:70:68;;950:11359:66;;;;;;;;;;;;;;;;;;;1758:70:68;;;;;;;;;;;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;;;9747:72:66;;950:11359;9747:72;;950:11359;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;9747:72;;;;;;;;;;;950:11359;9731:88;;;9825:84;9731:88;;:::i;:::-;950:11359;;-1:-1:-1;;;;;950:11359:66;9825:84;:::i;:::-;950:11359;;;;;;;;1787:1:21;;;950:11359:66;;-1:-1:-1;;;;;950:11359:66;12095:81:68;;;;;950:11359:66;;-1:-1:-1;;;12095:81:68;;-1:-1:-1;;;;;950:11359:66;;;;12095:81:68;;950:11359:66;;;;;;;;;;;10118:10;950:11359;;;;;;;;;;;;;;;;;;;;12095:81:68;;;;;;;;950:11359:66;;;;;;;;;;;;;;;;;;;10296:22;950:11359;;;;10326:18;950:11359;;;;;7124:41:68;950:11359:66;;;;;;-1:-1:-1;;;7857:60:68;;950:11359:66;7857:60:68;;950:11359:66;;;7769:33:68;;950:11359:66;;;;;;;;-1:-1:-1;;;;;950:11359:66;7857:60:68;;;;;;;;;;;950:11359:66;;;;;;;;:::i;:::-;1830:1:21;950:11359:66;;;;;;;;9570:13;950:11359;-1:-1:-1;;;;;950:11359:66;;7993:52:68;;;:::i;:::-;950:11359:66;8076:23:68;950:11359:66;;;-1:-1:-1;;;8076:67:68;;-1:-1:-1;;;;;950:11359:66;;;;8076:67:68;;950:11359:66;;;;;;;;;;;;8076:67:68;;;;;;;;;;;950:11359:66;-1:-1:-1;;;;;;950:11359:66;8051:93:68;;;:::i;:::-;950:11359:66;-1:-1:-1;;;;;8167:14:68;;;:::i;:::-;950:11359:66;;8167:83:68;;;8150:100;;;:::i;:::-;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;:::i;:::-;1830:1:21;950:11359:66;;;;;;;;8316:23:68;950:11359:66;;;-1:-1:-1;;;8316:62:68;;950:11359:66;8316:62:68;;950:11359:66;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;8316:62:68;;;;;;;;;;;8167:83;8304:74;950:11359:66;8304:74:68;950:11359:66;8304:74:68;;;;:::i;:::-;950:11359:66;;;;;;;;;;8396:52:68;;;950:11359:66;8396:52:68;;950:11359:66;8396:52:68;;;;;;;;;;;;;;8167:83;8384:64;;8526:6;8384:64;;;;:::i;:::-;950:11359:66;8526:6:68;;:::i;:::-;950:11359:66;;;;-1:-1:-1;;;8545:73:68;;-1:-1:-1;;;;;950:11359:66;;;;8545:73:68;;950:11359:66;;;;;;;;;;;;;;;;;8545:73:68;;;;;;;;;;;;;;;;;;;8167:83;8544:74;;8540:1090;;8167:83;-1:-1:-1;;9744:21:68;950:11359:66;;;-1:-1:-1;;;9744:92:68;;-1:-1:-1;;;;;950:11359:66;;;;9744:92:68;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;9744:92:68;;;;;;;;;;;;;;;;8167:83;9881:30;;9922:13;;9917:92;9957:3;950:11359:66;;9937:18:68;;;;;9970:32;9957:3;9992:10;;;;;;:::i;:::-;950:11359:66;9970:32:68;;:::i;:::-;9957:3;;:::i;:::-;9922:13;;;9937:18;;;;;;;10175:7;9937:18;10033:36;9937:18;;10033:36;:::i;:::-;10175:7;;;:::i;:::-;950:11359:66;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;7693:43;;950:11359;;:::i;:::-;;;;;;;10303:13:68;10343:3;950:11359:66;;10318:23:68;;;;;10393:15;950:11359:66;10375:33:68;950:11359:66;10393:15:68;10343:3;10393:15;;;:::i;:::-;950:11359:66;;10375:33:68;;:::i;:::-;950:11359:66;10356:59:68;;;;:::i;:::-;950:11359:66;10343:3:68;:::i;:::-;10303:13;;10318:23;;10500:12;10318:23;;;;10500:12;:::i;:::-;950:11359:66;;;;-1:-1:-1;;;;;950:11359:66;10387:82;;;;;950:11359;;-1:-1:-1;;;10387:82:66;;-1:-1:-1;;;;;950:11359:66;;;10387:82;;950:11359;;;;;;;;;;;;;;;;;;;;;;;;10387:82;;;;10298:124:68;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10118:10;950:11359;10492:185;950:11359;;;;;;;;;;10492:185;;950:11359;2712:7:21;1787:1;950:11359:66;;10387:82;;;;:::i;:::-;950:11359;;10387:82;;;;9744:92:68;;;;;;;;;;;;;;;:::i;:::-;950:11359:66;9744:92:68;;;;950:11359:66;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;9744:92:68;;;7693:43:66;950:11359;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9744:92:68;;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;9744:92:68;;;7693:43:66;950:11359;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9744:92:68;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9744:92:68;;;;;;;;;;950:11359:66;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;;;;;;8540:1090:68;950:11359:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;8775:14:68;;;:::i;:::-;950:11359:66;;8756:33:68;;;:::i;:::-;950:11359:66;8802:29:68;950:11359:66;;;-1:-1:-1;;;8802:62:68;;-1:-1:-1;;;;;950:11359:66;;;;8802:62:68;;950:11359:66;;;;;;;;;;;;8802:62:68;;;;;;;;;;;8540:1090;-1:-1:-1;8798:826:68;;;-1:-1:-1;8802:29:68;950:11359:66;;;-1:-1:-1;;;8905:60:68;;-1:-1:-1;;;;;950:11359:66;;;;8905:60:68;;950:11359:66;;;;;;;;;;;;8905:60:68;;;;;;;;950:11359:66;8905:60:68;;;;;;;;;;;;;8798:826;950:11359:66;;9014:28:68;;;;;:::i;:::-;950:11359:66;;;8994:56:68;;;:::i;:::-;9079:28;;;;;:::i;:::-;950:11359:66;;;9061:53:68;;;:::i;:::-;950:11359:66;9167:14:68;;;:::i;:::-;950:11359:66;9198:11:68;;;;;:::i;:::-;9744:92;8798:826;;8540:1090;;;8905:60;;;;950:11359:66;8905:60:68;950:11359:66;8905:60:68;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;950:11359:66;;;;;;;;;8798:826:68;950:11359:66;;-1:-1:-1;;;9264:106:68;;-1:-1:-1;;;;;950:11359:66;;;9264:106:68;;950:11359:66;;;-1:-1:-1;950:11359:66;;;;;;;;9264:106:68;;;;;;;;950:11359:66;9264:106:68;;;;;;;;;;;8798:826;950:11359:66;;9419:28:68;;;;;:::i;:::-;950:11359:66;;;9399:56:68;;;;:::i;:::-;9484:28;;;;;:::i;:::-;950:11359:66;;;9466:53:68;;;:::i;:::-;950:11359:66;9572:14:68;;;:::i;:::-;950:11359:66;9603:11:68;;;;;:::i;:::-;9744:92;8798:826;;;9264:106;;;;950:11359:66;9264:106:68;950:11359:66;9264:106:68;;;;;;;:::i;:::-;;;;;950:11359:66;;;;;;;;;8802:62:68;;;;950:11359:66;8802:62:68;950:11359:66;8802:62:68;;;;;;;:::i;:::-;;;;;950:11359:66;;;;;;;;;8545:73:68;;;;950:11359:66;8545:73:68;950:11359:66;8545:73:68;;;;;;;:::i;:::-;;;;8396:52;;;;950:11359:66;8396:52:68;;950:11359:66;8396:52:68;;;;;;950:11359:66;8396:52:68;;;:::i;:::-;;;950:11359:66;;;;;;;8526:6:68;8396:52;;;;;-1:-1:-1;8396:52:68;;8316:62;;;950:11359:66;8316:62:68;;950:11359:66;8316:62:68;;;;;;950:11359:66;8316:62:68;;;:::i;:::-;;;950:11359:66;;;;;;8316:62:68;;;;;-1:-1:-1;8316:62:68;;;950:11359:66;;;;;;;;;8167:83:68;-1:-1:-1;;;;;;8236:14:68;;;:::i;:::-;950:11359:66;;8167:83:68;;8076:67;;;950:11359:66;8076:67:68;;950:11359:66;8076:67:68;;;;;;950:11359:66;8076:67:68;;;:::i;:::-;;;950:11359:66;;;;;;;:::i;:::-;8076:67:68;;;950:11359:66;;;;8076:67:68;;;-1:-1:-1;8076:67:68;;7857:60;;;950:11359:66;7857:60:68;;950:11359:66;7857:60:68;;;;;;950:11359:66;7857:60:68;;;:::i;:::-;;;950:11359:66;;;;;7857:60:68;;;;;;-1:-1:-1;7857:60:68;;950:11359:66;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;12095:81:68;;;;;;;:::i;:::-;;;;;;950:11359:66;;;;;;;;;9747:72;;;950:11359;9747:72;;950:11359;9747:72;;;;;;950:11359;9747:72;;;:::i;:::-;;;950:11359;;;;;9825:84;9747:72;;;;;-1:-1:-1;9747:72:66;;;950:11359;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;1758:70:68;;;;950:11359:66;1758:70:68;950:11359:66;1758:70:68;;;;;;;:::i;:::-;;;;;950:11359:66;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;9429:24;;;950:11359;9429:24;;950:11359;9429:24;;;;;;950:11359;9429:24;;;:::i;:::-;;;950:11359;;;;;;;:::i;:::-;9429:24;;;;;;-1:-1:-1;9429:24:66;;950:11359;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;-1:-1:-1;950:11359:66;;;;;;;;8167:482;8282:15;:46;950:11359;;;;8514:72;950:11359;;;;8460:28;;8477:10;;950:11359;;;;8460:28;;;;;;:::i;:::-;950:11359;8450:39;;950:11359;;;;;;:::i;8514:72::-;950:11359;;;8167:482;;;;;;950:11359;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;1830:1:21;950:11359:66;;-1:-1:-1;;;1830:1:21;;950:11359:66;;1830:1:21;;;;950:11359:66;1830:1:21;;950:11359:66;1830:1:21;950:11359:66;;;1830:1:21;950:11359:66;;1830:1:21;950:11359:66;;;;;;;;-1:-1:-1;;950:11359:66;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;950:11359:66;;;12262:17;950:11359;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;950:11359:66;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;950:11359:66;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;950:11359:66;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;;;;;;;;;:::o;1599:130:19:-;1513:6;950:11359:66;-1:-1:-1;;;;;950:11359:66;929:10:23;1662:23:19;950:11359:66;;1599:130:19:o;950:11359:66:-;;;;1830:1:21;;;950:11359:66;;;;;;;;;;;;;;;;;;2666:187:19;2758:6;950:11359:66;;-1:-1:-1;;;;;950:11359:66;;;-1:-1:-1;;;;;;950:11359:66;;;;;;;;;;2806:40:19;-1:-1:-1;;2806:40:19;2666:187::o;950:11359:66:-;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;:::o;:::-;-1:-1:-1;;;;;950:11359:66;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;:::o;:::-;;7693:43;;;950:11359;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;950:11359:66;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;-1:-1:-1;950:11359:66;;;;;;;;;;;;;;-1:-1:-1;950:11359:66;;-1:-1:-1;950:11359:66;;;-1:-1:-1;950:11359:66;:::o;:::-;;;;;;;;;;;;2214:404:50;-1:-1:-1;950:11359:66;;;4351:12:50;;;950:11359:66;;;;;;2298:21:50;;950:11359:66;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;950:11359:66;2493:12:50;950:11359:66;;;-1:-1:-1;950:11359:66;1787:1:21;950:11359:66;2547:11:50;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:50;:::o;950:11359:66:-;;;;;;;;;;:::o;2786:1388:50:-;;2989:12;;;-1:-1:-1;;950:11359:66;;;;;;;;;;;3023:15:50;;;;3019:1149;3023:15;;;-1:-1:-1;;950:11359:66;;;;;;;;;;;;;;;;;;;;3505:26:50;;;3501:398;;3019:1149;950:11359:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:50;4103:11;:::o;950:11359:66:-;-1:-1:-1;;;950:11359:66;;;;;;;;3501:398:50;950:11359:66;3571:22:50;3693:26;3571:22;;;:::i;:::-;950:11359:66;;;;;;3693:26:50;;;;;:::i;950:11359:66:-;;;;;;;;;;;1787:1:21;3501:398:50;;;;;950:11359:66;-1:-1:-1;;;950:11359:66;;;;;;;;3019:1149:50;4145:12;;;;;:::o;950:11359:66:-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;1156:154:45;;;;2078:13;-1:-1:-1;2073:116:45;2111:3;950:11359:66;;2093:16:45;;;;;2169:8;;;;:::i;:::-;950:11359:66;;-1:-1:-1;9064:5:45;;;;;;9264:119;-1:-1:-1;9264:119:45;;;2111:3;9264:119;-1:-1:-1;9264:119:45;9064:51;2111:3;;:::i;:::-;2078:13;;;9064:51;9264:119;;2111:3;9264:119;;;;;;9064:51;;2093:16;;;;;1270:33;1156:154;:::o;950:11359:66:-;-1:-1:-1;;950:11359:66;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;4114:695:68:-;-1:-1:-1;;;;;950:11359:66;4291:1:68;;950:11359:66;;;;4263:30:68;;4259:117;;4390:9;950:11359:66;;;;;;;;;;4525:30:68;;;;4549:4;4525:30;;;950:11359:66;4525:30:68;;;;950:11359:66;4525:30:68;;;;;;;;;;;;;4114:695;950:11359:66;4562:28:68;950:11359:66;;4562:95:68;;;;;;950:11359:66;;-1:-1:-1;;;4562:95:68;;-1:-1:-1;;;;;950:11359:66;;;;4525:30:68;4562:95;;950:11359:66;4622:10:68;950:11359:66;;;;4549:4:68;950:11359:66;;;;;;;;;;;;;;;;;;;;;4562:95:68;;;;;;;;;;;;4114:695;950:11359:66;;;;4687:30:68;;;;;;4549:4;4525:30;4687;;950:11359:66;4687:30:68;;;;;;;;;;4114:695;4732:28;;;;:::i;:::-;:39;950:11359:66;;4114:695:68;;:::o;950:11359:66:-;;;;;1830:1:21;;;;950:11359:66;;4525:30:68;950:11359:66;;;;;;;;;;;;;;4687:30:68;;;;;;;;;;;;;;;:::i;:::-;;;950:11359:66;;;;4732:28:68;950:11359:66;;4687:30:68;;;;;;;;950:11359:66;;;;;;;;;;4562:95:68;;;;;;;:::i;:::-;;;;;;950:11359:66;;;;;;;;;4525:30:68;;;;;;;;;;;;;;;;;:::i;:::-;;;950:11359:66;;;;;4525:30:68;;;;;;;;;;950:11359:66;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;4259:117:68;4311:9;;;;;;:20;950:11359:66;;4363:7:68:o;950:11359:66:-;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;;;;;7693:43;950:11359;;-1:-1:-1;;950:11359:66;;;;;:::i;:::-;;;;-1:-1:-1;950:11359:66;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;950:11359:66;;;;;;;;;;;;;;;;;;;7693:43;;;950:11359;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;10927:667:68;;;;-1:-1:-1;;;;;950:11359:66;;;;11146:30:68;;11142:286;;11484:13;11174:1;11484:13;;11523:3;950:11359:66;;11499:22:68;;;;;11555:14;;;;;:::i;:::-;950:11359:66;;11571:11:68;;;;:::i;:::-;950:11359:66;;;;-1:-1:-1;;;1050:58:36;;;;;;;-1:-1:-1;;;;;950:11359:66;;;;1050:58:36;;;;950:11359:66;;;;;;;;;;;;1050:58:36;;;5535:69:41;;950:11359:66;1050:58:36;;;;;950:11359:66;;1050:58:36;:::i;:::-;950:11359:66;;;;;;:::i;:::-;;;;;;;;;5487:31:41;;;;;;;;:::i;:::-;5535:69;;;:::i;:::-;950:11359:66;;5705:22:36;;;;:56;;;;;11523:3:68;950:11359:66;;;;;;11523:3:68;;;;;;:::i;:::-;11484:13;;950:11359:66;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;950:11359:66;;;;;;;5705:56:36;5731:30;;-1:-1:-1;5731:30:36;;;;;;;:::i;:::-;5705:56;;;;;11499:22:68;;;;;;;10927:667::o;11142:286::-;950:11359:66;;;;;11230:16:68;950:11359:66;;;;;11283:77:68;;;;;;;;;;;;950:11359:66;;;;11283:77:68;;;950:11359:66;;;;;;;;;;;;;11174:1:68;950:11359:66;;;;;;;-1:-1:-1;;;;950:11359:66;;;-1:-1:-1;;950:11359:66;;;;;;;;;;;;;;;;;11174:1:68;950:11359:66;;;;;;11283:77:68;;;;;;;11174:1;11283:77;;;;;;;7693:43:66;;11283:77:68;;;;;;:::i;:::-;11222:146;;;;;;:::i;:::-;950:11359:66;;;;11415:7:68;:::o;950:11359:66:-;;;-1:-1:-1;;;950:11359:66;;;;;;;11230:16:68;950:11359:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7671:628:41;;;;7875:418;;;950:11359:66;;;7906:22:41;7902:286;;8201:17;;:::o;7902:286::-;1713:19:22;:23;950:11359:66;;8201:17:41;:::o;950:11359:66:-;;;-1:-1:-1;;;950:11359:66;;;;;;;;;;;;;;;;;;;;7875:418:41;950:11359:66;;;;-1:-1:-1;8980:21:41;:17;;9152:142;;;;;;","linkReferences":{"src/v2/utils/MarketConfigV2.sol":{"MarketConfigV2":[{"start":3065,"length":20}]}}},"methodIdentifiers":{"OFFER_CANCELATION_DELAY()":"a435bac5","buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])":"260d0a28","cancelSalePriceMerkleRoot(bytes32)":"cae43de6","creatorRootToConfig(address,bytes32)":"bb120e66","getAllowListConfig(address,bytes32)":"09858ef2","getCreatorSalePriceMerkleRootNonce(address,bytes32)":"6a11a64d","getMerkleSalePriceConfig(address,bytes32)":"d72a541a","getTokenSalePriceNonce(address,bytes32,address,uint256)":"75c9c23e","getUserSalePriceMerkleRoots(address)":"453c8558","initialize(address,address,address,address,address,address,address,address,address,address)":"c306b378","isTokenInRoot(bytes32,address,uint256,bytes32[])":"5e51b2d4","owner()":"8da5cb5b","registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])":"45935d18","renounceOwnership()":"715018a6","setAllowListConfig(bytes32,bytes32,uint256)":"38de3d65","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"allowListRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"name\":\"AllowListConfigSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"MerkleSalePriceExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"SalePriceMerkleRootCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"SalePriceMerkleRootRegistered\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"OFFER_CANCELATION_DELAY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_allowListProof\",\"type\":\"bytes32[]\"}],\"name\":\"buyWithMerkleProof\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"cancelSalePriceMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"creatorRootToConfig\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"getAllowListConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareBatchListingMarketplace.AllowListConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"getCreatorSalePriceMerkleRootNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"getMerkleSalePriceConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareBatchListingMarketplace.MerkleSalePriceConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_tokenContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenSalePriceNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserSalePriceMerkleRoots\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc20ApprovalManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc721ApprovalManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"isTokenInRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"registerSalePriceMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_allowListRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"}],\"name\":\"setAllowListConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])\":{\"params\":{\"_allowListProof\":\"The Merkle proof for the allowlist (empty if no allowlist)\",\"_amount\":\"The sale price amount\",\"_creator\":\"The creator who registered the Merkle root\",\"_currency\":\"The currency address for the sale price (address(0) for ETH)\",\"_merkleRoot\":\"The Merkle root containing this token\",\"_originContract\":\"The contract address of the token\",\"_proof\":\"The Merkle proof for this token\",\"_tokenId\":\"The token ID\"}},\"cancelSalePriceMerkleRoot(bytes32)\":{\"params\":{\"_merkleRoot\":\"The Merkle root to cancel\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAllowListConfig(address,bytes32)\":{\"params\":{\"_creator\":\"The address of the creator\",\"_merkleRoot\":\"The sale price Merkle root\"},\"returns\":{\"_0\":\"The AllowListConfig struct containing the allowlist configuration\"}},\"getCreatorSalePriceMerkleRootNonce(address,bytes32)\":{\"params\":{\"_root\":\"The Merkle root\",\"_user\":\"The address of the user\"},\"returns\":{\"_0\":\"The current nonce value\"}},\"getMerkleSalePriceConfig(address,bytes32)\":{\"params\":{\"_creator\":\"The address of the creator\",\"_root\":\"The Merkle root\"},\"returns\":{\"_0\":\"The MerkleSalePriceConfig struct containing the sale price configuration\"}},\"getTokenSalePriceNonce(address,bytes32,address,uint256)\":{\"params\":{\"_creator\":\"The creator who registered the root\",\"_root\":\"The Merkle root\",\"_tokenContract\":\"The token contract address\",\"_tokenId\":\"The token ID\"}},\"getUserSalePriceMerkleRoots(address)\":{\"params\":{\"_user\":\"The address of the user\"},\"returns\":{\"_0\":\"An array of Merkle roots\"}},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"params\":{\"_origin\":\"The token contract address\",\"_proof\":\"The Merkle proof to verify\",\"_root\":\"The Merkle root to check against\",\"_tokenId\":\"The token ID\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"The sale price amount\",\"_currency\":\"The currency address for the sale price (address(0) for ETH)\",\"_merkleRoot\":\"The Merkle root of the token set\",\"_splitAddresses\":\"Array of addresses to split the payment with\",\"_splitRatios\":\"Array of ratios for payment splits\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setAllowListConfig(bytes32,bytes32,uint256)\":{\"params\":{\"_allowListRoot\":\"The Merkle root of allowed addresses\",\"_endTimestamp\":\"The timestamp after which the allowlist expires\",\"_merkleRoot\":\"The sale price Merkle root to set allowlist for\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"RareBatchListingMarketplace\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"OFFER_CANCELATION_DELAY()\":{\"notice\":\"Delay required before an offer can be cancelled (in seconds)\"},\"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])\":{\"notice\":\"Buy a token using a Merkle proof\"},\"cancelSalePriceMerkleRoot(bytes32)\":{\"notice\":\"Cancels a previously registered sale price Merkle root\"},\"creatorRootToConfig(address,bytes32)\":{\"notice\":\"Mapping from (creator, root) to MerkleSalePriceConfig\"},\"getAllowListConfig(address,bytes32)\":{\"notice\":\"Gets the allowlist configuration for a given creator and sale price root\"},\"getCreatorSalePriceMerkleRootNonce(address,bytes32)\":{\"notice\":\"Gets the current nonce for a user's Merkle root\"},\"getMerkleSalePriceConfig(address,bytes32)\":{\"notice\":\"Gets the Merkle sale price configuration for a given creator and root\"},\"getTokenSalePriceNonce(address,bytes32,address,uint256)\":{\"notice\":\"Gets the nonce for a specific token under a Merkle root\"},\"getUserSalePriceMerkleRoots(address)\":{\"notice\":\"Gets all Merkle roots registered by a user\"},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"notice\":\"Verify if a token is included in a Merkle root\"},\"registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])\":{\"notice\":\"Register a new Merkle root for batch sale prices\"},\"setAllowListConfig(bytes32,bytes32,uint256)\":{\"notice\":\"Set allowlist configuration for a sale price Merkle root\"}},\"notice\":\"V2 implementation of the RareBatchListingMarketplace, using Merkle-based sale price functionality\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/marketplace/RareBatchListingMarketplace.sol\":\"RareBatchListingMarketplace\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0xcc76dbe53154a5bbd12fdd1613a73f73f3dc7c63d813be36f7ee606f52d6a7b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345232794f2cfafccfb4371e44910af9fd86f972ecace1bb6843532536590929\",\"dweb:/ipfs/QmSnapDBk6P2JG6LJHwituQq7wMM8DawKj32APiPj5Bzpn\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":{\"keccak256\":\"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f\",\"dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY\"]},\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":{\"keccak256\":\"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3\",\"dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd\"]},\"src/v2/marketplace/IRareBatchListingMarketplace.sol\":{\"keccak256\":\"0x2614aedd3c81ef27697f34eb125685772174cc7d3cb7b3d8f9484dc3e36f3301\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e1fbc80217263928e2f118a092ce297711e966b0846d4627d886dff8c73c468\",\"dweb:/ipfs/QmXQ8wefkNPWER3DKxWvfPKFnDUzNVk67jKNNbYRxL2ijy\"]},\"src/v2/marketplace/RareBatchListingMarketplace.sol\":{\"keccak256\":\"0x322e8f5fcf901684b8ffbe5c40cad80c7d838c6272052c0422b600d9d0be80c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9c751c57578bf0601ec7f3ee5c04bb38bf9a1c48166ad7540a3b8f85118091b\",\"dweb:/ipfs/QmcbuFWig3zPD9L91g327vP4Xsn2n2ucEJPAmEUDBoFk2T\"]},\"src/v2/utils/MarketConfigV2.sol\":{\"keccak256\":\"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6\",\"dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj\"]},\"src/v2/utils/MarketUtilsV2.sol\":{\"keccak256\":\"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042\",\"dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"allowListRoot","type":"bytes32","indexed":true},{"internalType":"uint256","name":"endTimestamp","type":"uint256","indexed":false}],"type":"event","name":"AllowListConfigSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"buyer","type":"address","indexed":true},{"internalType":"address","name":"seller","type":"address","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":false},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"MerkleSalePriceExecuted","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true}],"type":"event","name":"SalePriceMerkleRootCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"SalePriceMerkleRootRegistered","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"OFFER_CANCELATION_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currency","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"},{"internalType":"bytes32[]","name":"_allowListProof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"buyWithMerkleProof"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancelSalePriceMerkleRoot"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"creatorRootToConfig","outputs":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getAllowListConfig","outputs":[{"internalType":"struct IRareBatchListingMarketplace.AllowListConfig","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getCreatorSalePriceMerkleRootNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMerkleSalePriceConfig","outputs":[{"internalType":"struct IRareBatchListingMarketplace.MerkleSalePriceConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"},{"internalType":"uint256","name":"nonce","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTokenSalePriceNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserSalePriceMerkleRoots","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_erc20ApprovalManager","type":"address"},{"internalType":"address","name":"_erc721ApprovalManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"address","name":"_origin","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"isTokenInRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"address","name":"_currency","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"registerSalePriceMerkleRoot"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"_allowListRoot","type":"bytes32"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setAllowListConfig"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])":{"params":{"_allowListProof":"The Merkle proof for the allowlist (empty if no allowlist)","_amount":"The sale price amount","_creator":"The creator who registered the Merkle root","_currency":"The currency address for the sale price (address(0) for ETH)","_merkleRoot":"The Merkle root containing this token","_originContract":"The contract address of the token","_proof":"The Merkle proof for this token","_tokenId":"The token ID"}},"cancelSalePriceMerkleRoot(bytes32)":{"params":{"_merkleRoot":"The Merkle root to cancel"}},"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"getAllowListConfig(address,bytes32)":{"params":{"_creator":"The address of the creator","_merkleRoot":"The sale price Merkle root"},"returns":{"_0":"The AllowListConfig struct containing the allowlist configuration"}},"getCreatorSalePriceMerkleRootNonce(address,bytes32)":{"params":{"_root":"The Merkle root","_user":"The address of the user"},"returns":{"_0":"The current nonce value"}},"getMerkleSalePriceConfig(address,bytes32)":{"params":{"_creator":"The address of the creator","_root":"The Merkle root"},"returns":{"_0":"The MerkleSalePriceConfig struct containing the sale price configuration"}},"getTokenSalePriceNonce(address,bytes32,address,uint256)":{"params":{"_creator":"The creator who registered the root","_root":"The Merkle root","_tokenContract":"The token contract address","_tokenId":"The token ID"}},"getUserSalePriceMerkleRoots(address)":{"params":{"_user":"The address of the user"},"returns":{"_0":"An array of Merkle roots"}},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"params":{"_origin":"The token contract address","_proof":"The Merkle proof to verify","_root":"The Merkle root to check against","_tokenId":"The token ID"}},"owner()":{"details":"Returns the address of the current owner."},"registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])":{"params":{"_amount":"The sale price amount","_currency":"The currency address for the sale price (address(0) for ETH)","_merkleRoot":"The Merkle root of the token set","_splitAddresses":"Array of addresses to split the payment with","_splitRatios":"Array of ratios for payment splits"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setAllowListConfig(bytes32,bytes32,uint256)":{"params":{"_allowListRoot":"The Merkle root of allowed addresses","_endTimestamp":"The timestamp after which the allowlist expires","_merkleRoot":"The sale price Merkle root to set allowlist for"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"OFFER_CANCELATION_DELAY()":{"notice":"Delay required before an offer can be cancelled (in seconds)"},"buyWithMerkleProof(address,uint256,address,uint256,address,bytes32,bytes32[],bytes32[])":{"notice":"Buy a token using a Merkle proof"},"cancelSalePriceMerkleRoot(bytes32)":{"notice":"Cancels a previously registered sale price Merkle root"},"creatorRootToConfig(address,bytes32)":{"notice":"Mapping from (creator, root) to MerkleSalePriceConfig"},"getAllowListConfig(address,bytes32)":{"notice":"Gets the allowlist configuration for a given creator and sale price root"},"getCreatorSalePriceMerkleRootNonce(address,bytes32)":{"notice":"Gets the current nonce for a user's Merkle root"},"getMerkleSalePriceConfig(address,bytes32)":{"notice":"Gets the Merkle sale price configuration for a given creator and root"},"getTokenSalePriceNonce(address,bytes32,address,uint256)":{"notice":"Gets the nonce for a specific token under a Merkle root"},"getUserSalePriceMerkleRoots(address)":{"notice":"Gets all Merkle roots registered by a user"},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"notice":"Verify if a token is included in a Merkle root"},"registerSalePriceMerkleRoot(bytes32,address,uint256,address[],uint8[])":{"notice":"Register a new Merkle root for batch sale prices"},"setAllowListConfig(bytes32,bytes32,uint256)":{"notice":"Set allowlist configuration for a sale price Merkle root"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/marketplace/RareBatchListingMarketplace.sol":"RareBatchListingMarketplace"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol":{"keccak256":"0xcc76dbe53154a5bbd12fdd1613a73f73f3dc7c63d813be36f7ee606f52d6a7b3","urls":["bzz-raw://345232794f2cfafccfb4371e44910af9fd86f972ecace1bb6843532536590929","dweb:/ipfs/QmSnapDBk6P2JG6LJHwituQq7wMM8DawKj32APiPj5Bzpn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/v2/approver/ERC20/IERC20ApprovalManager.sol":{"keccak256":"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e","urls":["bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f","dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY"],"license":"MIT"},"src/v2/approver/ERC721/IERC721ApprovalManager.sol":{"keccak256":"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4","urls":["bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3","dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd"],"license":"MIT"},"src/v2/marketplace/IRareBatchListingMarketplace.sol":{"keccak256":"0x2614aedd3c81ef27697f34eb125685772174cc7d3cb7b3d8f9484dc3e36f3301","urls":["bzz-raw://5e1fbc80217263928e2f118a092ce297711e966b0846d4627d886dff8c73c468","dweb:/ipfs/QmXQ8wefkNPWER3DKxWvfPKFnDUzNVk67jKNNbYRxL2ijy"],"license":"MIT"},"src/v2/marketplace/RareBatchListingMarketplace.sol":{"keccak256":"0x322e8f5fcf901684b8ffbe5c40cad80c7d838c6272052c0422b600d9d0be80c1","urls":["bzz-raw://c9c751c57578bf0601ec7f3ee5c04bb38bf9a1c48166ad7540a3b8f85118091b","dweb:/ipfs/QmcbuFWig3zPD9L91g327vP4Xsn2n2ucEJPAmEUDBoFk2T"],"license":"MIT"},"src/v2/utils/MarketConfigV2.sol":{"keccak256":"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a","urls":["bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6","dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj"],"license":"MIT"},"src/v2/utils/MarketUtilsV2.sol":{"keccak256":"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421","urls":["bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042","dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18"],"license":"MIT"}},"version":1},"id":66} \ No newline at end of file diff --git a/abis/RareCollectionMarket.json b/abis/RareCollectionMarket.json index e62edd4..a8ebed4 100644 --- a/abis/RareCollectionMarket.json +++ b/abis/RareCollectionMarket.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptCollectionOffer","inputs":[{"name":"_buyer","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddrs","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"buyFromCollection","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_buyer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareCollectionMarket.CollectionOffer","components":[{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_seller","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareCollectionMarket.CollectionSalePrice","components":[{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"getMarketConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct MarketConfig.Config","components":[{"name":"networkBeneficiary","type":"address","internalType":"address"},{"name":"marketplaceSettings","type":"address","internalType":"contract IMarketplaceSettings"},{"name":"spaceOperatorRegistry","type":"address","internalType":"contract ISpaceOperatorRegistry"},{"name":"royaltyEngine","type":"address","internalType":"contract IRoyaltyEngineV1"},{"name":"payments","type":"address","internalType":"contract IPayments"},{"name":"approvedTokenRegistry","type":"address","internalType":"contract IApprovedTokenRegistry"},{"name":"stakingSettings","type":"address","internalType":"contract IStakingSettings"},{"name":"stakingRegistry","type":"address","internalType":"contract IRareStakingRegistry"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPaused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"makeCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovedTokenRegistry","inputs":[{"name":"_approvedTokenRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddrs","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractPaused","inputs":[{"name":"_isPaused","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceSettings","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkBeneficiary","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPayments","inputs":[{"name":"_payments","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyEngine","inputs":[{"name":"_royaltyEngine","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorRegistry","inputs":[{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AcceptCollectionOffer","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionOfferCancelled","inputs":[{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionOfferPlaced","inputs":[{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectionSalePriceCancelled","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionSalePriceSet","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AmountCantBeZero","inputs":[]},{"type":"error","name":"ContractPaused","inputs":[]},{"type":"error","name":"CurrencyMismatch","inputs":[{"name":"_suppliedCurrency","type":"address","internalType":"address"},{"name":"_configuredCurrency","type":"address","internalType":"address"}]},{"type":"error","name":"IncorrectAmount","inputs":[{"name":"_requiredAmount","type":"uint256","internalType":"uint256"},{"name":"_specifiedAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidTokenRange","inputs":[]},{"type":"error","name":"NoOfferExistsForBuyer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_buyer","type":"address","internalType":"address"}]},{"type":"error","name":"SalePriceDoesntExist","inputs":[{"name":"_seller","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"}]},{"type":"error","name":"TokenNotPartOfSalePrice","inputs":[{"name":"_seller","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a08060405234610031573060805261541090816100378239608051818181612c7401528181612da001526130bc0152f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c8063176ab44014613d8f57806321ede03214613d1257806322f193d014613a2157806325bc1330146132ed5780633492e5a8146132705780633659cfe614613097578063381eff7c14612ff45780634f1ef28614612d2557806352d1902d14612c61578063614bd94414612b045780636d374d8114611af3578063715018a614611a955780637f35823014611a1857806385b1eb27146119ea578063882796f1146119b05780638a29e2de146115b65780638da5cb5b1461158d5780639214be521461154f578063af231a58146114d2578063b187bd26146114ae578063d9ed209614610fa8578063e4e87e3b14610f17578063e5fc48ee146101b85763f2fde38b1461012557600080fd5b346101b55760203660031901126101b55761013e613e14565b610146613f58565b6001600160a01b038116156101615761015e90613fb0565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346101b55760e03660031901126101b5576101d2613e14565b6101da613e2a565b906101e3613e56565b9060a4356001600160401b038111610f1357610203903690600401613f28565b939060c4356001600160401b038111610f0f57610224903690600401613f28565b9561022d614320565b60ff6101055416610efd576040516331a9108f60e11b815260443560048201526020816024816001600160a01b0389165afa908115610ef2578991610eb8575b50336001600160a01b0390911603610e73576102898433614cb6565b8015610e1e5760058111610dcd57868103610d73576000805b888210610d42576064915003610ced5760018060a01b03851688526101036020526040882060018060a01b0385166000526020526040600020604051906102e882613e7f565b80546001600160a01b03168252600181015460208301818152600290920154604084015215610cc457518060843503610ca45750516001600160a01b039081169087168103610c7557506001600160a01b03858116895261010360209081526040808b20928716600081815293909252822082815560018101839055600201919091553b15610aea57604051632142170760e11b81523360048201526001600160a01b038616602482015260448035908201528890818180606481010381836001600160a01b038b165af1801561081d57610c61575b50506103d7926103cf91369161438d565b9536916143eb565b908451825103610c005760fc546040516361fe24a960e11b8152608435600482018190529491602090829060249082906001600160a01b03165afa90811561085b57600091610bce575b506040519061042f82613e7f565b60028252604036602084013760fb546001600160a01b03168061045184615231565b526101025460405163e286ef3360e01b815233600482015290602090829060249082906001600160a01b03165afa90811561085b57600091610b94575b506001600160a01b03166104a184615254565b526001600160a01b036104b384615254565b5116610b7b575b6104c383615254565b6001600160a01b0390911690526040516104dc81613e7f565b600281526040366020830137610101546040516303fdde1160e21b815260843560048201526001600160a01b0390911690602081602481855afa90811561085b57600091610b48575b5060249160209161053585615231565b5260405163470d6ed960e11b8152608435600482015292839182905afa92831561085b578491600094610b0d575b506105789361057184615254565b52896152aa565b60fc54604051631446f21360e21b81526001600160a01b0385811660048301526044803560248401529192602092849290918391165afa90811561085b57600091610aee575b506108f3576040516024916105d282613ed1565b6001825260203681840137604051906105ea82613ed1565b60018252602036818401376001600160a01b039061060790615231565b511661061282615231565b5260fd54604051635dc22eff60e01b81523360048201529360209185919082906001600160a01b03165afa801561085b576024936000916108c4575b50156108675760fd54604051632260494f60e01b81523360048201529360209185919082906001600160a01b03165afa801561085b576106bb6106b260ff6064936106d69760009161082c575b501699836106ab8c608435614300565b0490614313565b98608435614300565b046106c583615231565b526106cf82615231565b51886152aa565b6106e08651615278565b91600095865b885188101561073f5761073361073991606461070f60ff6107078d8c615264565b51168b614300565b0461071a8b89615264565b52606461072c60ff6107078d8c615264565b04906142c4565b97614d6b565b966106e6565b89948961074c92846152aa565b60fc5484906001600160a01b0316803b1561082857604051635a3c652d60e01b81526001600160a01b03851660048201526044803560248301526001908201529082908290606490829084905af1801561081d57610805575b5050604080516001600160a01b03928316815260843560208201526044359181019190915291811692169033907fd746eda767465ff5307bdf346d8f0e530205a4dc2c0b8e7241a9fefc7e6dec7b9080606081015b0390a4600160655580f35b61080e90613e6c565b6108195783856107a5565b8380fd5b6040513d84823e3d90fd5b5080fd5b61084e915060203d602011610854575b6108468183613eec565b8101906142e7565b3861069b565b503d61083c565b6040513d6000823e3d90fd5b60fc5460405163b28a7bad60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b576106bb6106b260ff6064936108bf9760009161082c57501699836106ab8c608435614300565b6106d6565b6108e6915060203d6020116108ec575b6108de8183613eec565b810190614be9565b3861064e565b503d6108d4565b5060fe54604051637a99dc0160e11b81526001600160a01b0384811660048301526044803560248401526084359083015293989097929690955091939192600091889160649183918591165af196871561085b57600096879861099e575b50600095865b895188101561097e57610733610978916109718a8d615264565b51906142c4565b96610957565b9598909294976108bf9294975061099787608435614313565b96886152aa565b9097503d908188823e6109b18282613eec565b6040818381010312610aea578051916001600160401b038311610ae657808201601f848401011215610ae657828201516109ea81614376565b936109f86040519586613eec565b81855260208086019260051b8286010101908385018211610ae2578401602001915b818310610abe575050506020820151916001600160401b038311610aba57818101601f848301011215610aba578281015192610a5584614376565b9a610a636040519c8d613eec565b848c5260208c0193830160208660051b8486010101116101b557509190602083820101925b60208560051b82840101018410610aa6575050505050959638610951565b602080809486518152019401939250610a88565b8980fd5b82516001600160a01b0381168103610ade57815260209283019201610a1a565b8c80fd5b8b80fd5b8880fd5b8780fd5b610b07915060203d6020116108ec576108de8183613eec565b386105be565b915091926020823d602011610b40575b81610b2a60209383613eec565b810103126101b557505191908390610578610563565b3d9150610b1d565b906020823d602011610b73575b81610b6260209383613eec565b810103126101b55750516024610525565b3d9150610b55565b506001600160a01b03610b8d83615254565b51166104ba565b906020823d602011610bc6575b81610bae60209383613eec565b810103126101b55750610bc090614250565b3861048e565b3d9150610ba1565b906020823d602011610bf8575b81610be860209383613eec565b810103126101b557505138610421565b3d9150610bdb565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b610c6a90613e6c565b610aea5787386103be565b604051632e834cbf60e11b81526001600160a01b038881166004830152919091166024820152604490fd5b0390fd5b60449060405190630f81919b60e21b825260048201526084356024820152fd5b604051633ef5628160e01b81526001600160a01b03878116600483015288166024820152604490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff8216809203610d6e57610d6891610d62916142c4565b91614d6b565b906102a2565b600080fd5b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b90506020813d602011610eea575b81610ed360209383613eec565b81010312610ae657610ee490614250565b3861026d565b3d9150610ec6565b6040513d8b823e3d90fd5b60405163ab35696f60e01b8152600490fd5b8680fd5b8480fd5b50346101b55760203660031901126101b55780610f32613e14565b610f3a613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa4576040516386e5800760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b610f9d90613e6c565b6101b55780f35b5050fd5b50346101b55760a03660031901126101b557610fc2613e14565b610fca613e2a565b606480356001600160401b038111610f1357610fea903690600401613f28565b916084356001600160401b038111610f0f5761100a903690600401613f28565b909160ff6101055416610efd5761102086614c01565b61102a8733614cb6565b841561145a576005851161140a578185036113b157806000805b84811061138757500361133357506044351561132157611089611095936040519561106e87613e9a565b6001600160a01b03881687526044356020880152369161438d565b604085015236916143eb565b60608201523384526101046020526040842060018060a01b038416600052602052604060002060018060a01b038251166001600160601b0360a01b8254161781556020820151600182015560408201518051906001600160401b03821161130d57600160401b82116112a65760209060028401548360028601558084106112ed575b500160028301875260208720875b8381106112d057505050506003606091019101518051906001600160401b0382116112bc57600160401b82116112a657602090835483855580841061125a575b5001918552602085208160051c91865b83811061121b5750601f1981169003806111d1575b505060405160443581526001600160a01b0393841694909316923392507f4c172f9d7dfc4fbab9c54966d9334e977ce1ae637bbc08489b2762715ae1f6a09150602090a480f35b928693875b8181106111eb5750505001553880808061118a565b90919460206112116001928460ff8a5116919060ff809160031b9316831b921b19161790565b96019291016111d6565b87885b60208110611233575083820155600101611175565b865190969160019160209160ff60038b901b81811b199092169216901b179201960161121e565b611286908560005283600020601f80870160051c8201928188168061128c575b500160051c01906144fb565b38611165565b60001990818601918254918a0360031b1c1690553861127a565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b86526041600452602486fd5b82516001600160a01b031681830155602090920191600101611125565b6113079060028601600052848460002091820191016144fb565b38611117565b634e487b7160e01b87526041600452602487fd5b6040516346f1397d60e01b8152600490fd5b60849066020746f203130360cc1b6040519162461bcd60e51b835260206004840152602760248401527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c6044840152820152fd5b80925060051b8501359060ff8216809203610d6e576113a991610d62916142c4565b908291611044565b6084906b1d5cdd08189948195c5d585b60a21b6040519162461bcd60e51b835260206004840152602c60248401527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d6044840152820152fd5b6084906373697a6560e01b6040519162461bcd60e51b8352602060048401526024808401527f636865636b53706c6974733a3a53706c6974206578636565646564206d6178206044840152820152fd5b608490660c481cdc1b1a5d60ca1b6040519162461bcd60e51b835260206004840152602760248401527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044840152820152fd5b50346101b557806003193601126101b557602060ff61010554166040519015158152f35b50346101b55760203660031901126101b557806114ed613e14565b6114f5613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163c70c56c760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760203660031901126101b557611569613e14565b611571614320565b60ff6101055416610efd5761158590614443565b600160655580f35b50346101b557806003193601126101b5576033546040516001600160a01b039091168152602090f35b50346101b5576101003660031901126101b5576115d1613e14565b6115d9613e2a565b906115e2613e40565b6115ea613e56565b6084356001600160a01b0381168103610d6e5760a435906001600160a01b0382168203610d6e5760c435926001600160a01b0384168403610d6e5760e435946001600160a01b0386168603610d6e5788549760ff8960081c16159889809a6119a3575b801561198c575b156119305760ff1981166001178b558961191f575b506040516323e95fa960e01b81526001600160a01b039889166004820152908816602482015290871660448201529086166064820152908516608482015290841660a482015290831660c4820152911660e4820152610100816101048173__$7682c538d2a75d26dfca907f0e750789f4$__5af490811561191457839161180b575b5060018060a01b03815116906001600160601b0360a01b918260fb54161760fb5560018060a01b036020820151168260fc54161760fc5560018060a01b036040820151168260fd54161760fd5560018060a01b036060820151168260fe54161760fe5560018060a01b036080820151168260ff54161760ff5560018060a01b0360a082015116826101005416176101005560018060a01b0360c082015116610101908382541617905560e060018060a01b0391015116610102918254161790556117c460ff835460081c166117bf81614264565b614264565b6117cd33613fb0565b6117d45780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610100813d6101001161190c575b816118296101009383613eec565b81010312611908576040519061183e82613eb5565b61184781614250565b825260208101516001600160a01b0381168103610f1357602083015260408101516001600160a01b0381168103610f1357604083015260608101516001600160a01b0381168103610f1357606083015260808101516001600160a01b0381168103610f1357608083015260a08101516001600160a01b0381168103610f135760a083015260c0810151906001600160a01b0382168203610f135760c083019190915260e001516001600160a01b03811681036108195760e0820152386116eb565b8280fd5b3d915061181b565b6040513d85823e3d90fd5b61ffff1916610101178a5538611669565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156116545750600160ff821614611654565b50600160ff82161061164d565b50346101b55760203660031901126101b557600435801515809103610828576119d7613f58565b6101059060ff8019835416911617905580f35b50346101b55760203660031901126101b557611a04613e14565b60ff6101055416610efd5761015e90614512565b50346101b55760203660031901126101b55780611a33613e14565b611a3b613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa457604051630cf1420760e21b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b557806003193601126101b557611aae613f58565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5060803660031901126101b557611b08613e14565b611b10613e40565b611b18614320565b60ff6101055416610efd576040516331a9108f60e11b81526024803560048301529092906020908490816001600160a01b0385165afa928315612af9578493612abd575b50611b678184614cb6565b60fc546040516361fe24a960e11b8152606435600482015290602090829060249082906001600160a01b03165afa8015612ab2578590612a7e575b611baf91506064356142c4565b9260018060a01b03811685526101046020526040852060018060a01b03831660005260205260406000209360405194611be786613e9a565b60018060a01b03815416865260018101546020870152600281016040519081602082549182815201918a5260208a20908a5b818110612a5f5750505090611c3381600394930382613eec565b6040880152604051908192839101602081549384815201908a5260208a20928a905b80601f8301106128ce57611d6b9454918181106128ba575b8181106128a3575b81811061288c575b818110612875575b81811061285f575b818110612848575b818110612831575b81811061281a575b818110612803575b8181106127ec575b8181106127d5575b8181106127be575b8181106127a7575b818110612790575b818110612779575b818110612762575b81811061274b575b818110612734575b81811061271d575b818110612706575b8181106126ef575b8181106126d8575b8181106126c1575b8181106126aa575b818110612693575b81811061267c575b818110612665575b81811061264e575b818110612637575b818110612620575b818110612609575b106125fb575b500382613eec565b60608601526020850151156125d15784516001600160a01b0390811690851681036125a65750602085015180606435036125865750611daa9084614e59565b6001600160a01b0382163b15610f1357604051632142170760e11b81526001600160a01b0382166004820152336024808301919091523560448201528590818180606481010381836001600160a01b0389165af1801561081d57612572575b505060606040850151940151908451825103610c005760fc546040516361fe24a960e11b8152606435600482018190529491602090829060249082906001600160a01b03165afa90811561085b57600091612540575b5060405190611e6d82613e7f565b60028252604036602084013760fb546001600160a01b031680611e8f84615231565b526101025460405163e286ef3360e01b81526001600160a01b038781166004830152909160209183916024918391165afa90811561085b57600091612506575b506001600160a01b0316611ee284615254565b526001600160a01b03611ef484615254565b51166124ed575b611f0483615254565b6001600160a01b039091169052604051611f1d81613e7f565b600281526040366020830137610101546040516303fdde1160e21b815260643560048201526001600160a01b0390911690602081602481855afa90811561085b576000916124ba575b50602491602091611f7685615231565b5260405163470d6ed960e11b8152606435600482015292839182905afa92831561085b57849160009461247f575b50611fb29361057184615254565b60fc54604051631446f21360e21b81526001600160a01b0384811660048301526024803590830152909160209183916044918391165afa90811561085b57600091612460575b506122965760405160249161200c82613ed1565b60018252602036818401376040519061202482613ed1565b60018252602036818401376001600160a01b039061204190615231565b511661204c82615231565b5260fd54604051635dc22eff60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b57602493600091612277575b501561221b5760fd54604051632260494f60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b576106bb6120e860ff6064936120f0976000916121fc575b501699836106ab8c8235614300565b988235614300565b6120fa8651615278565b91600095865b88518810156121275761073361212191606461070f60ff6107078d8c615264565b96612100565b89948961213492846152aa565b60fc5484906001600160a01b0316803b1561082857604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af1801561081d576121e8575b5050604080516001600160a01b039283168152606435602082015260243591810191909152928116923392909116907f6f9e7bc841408072f4a49e469f90e1a634b85251803662bc8e5c220b287824729080606081016107fa565b6121f190613e6c565b61081957838561218d565b612215915060203d602011610854576108468183613eec565b386120d9565b60fc5460405163b28a7bad60e01b81526001600160a01b038681166004830152909460209286928391165afa801561085b576106bb6120e860ff606493612272976000916121fc57501699836106ab8c8235614300565b6120f0565b612290915060203d6020116108ec576108de8183613eec565b3861208a565b5060fe54604051637a99dc0160e11b81526001600160a01b038381166004830152602480359083015260648035604484015294999198939791965092949093909260009289929183918591165af196871561085b576000968798612334575b50600095865b895188101561231b57610733612315916109718a8d615264565b966122fb565b9598909294976122729294975061099787606435614313565b9097503d8088833e6123468183613eec565b8101604082820312610aea578151906001600160401b0391828111610aba5783019281601f85011215610aba57835161237e81614376565b9461238c6040519687613eec565b81865260208087019260051b82010190848211610ade57602001915b81831061243c575050506020810151928311610aba5781601f848301011215610aba5782810151926123d984614376565b9a6123e76040519c8d613eec565b848c5260208c019360208660051b8486010101116101b557509190602083820101925b60208560051b828401010184106124285750505050509596386122f5565b60208080948651815201940193925061240a565b82516001600160a01b038116810361245c578152602092830192016123a8565b8d80fd5b612479915060203d6020116108ec576108de8183613eec565b38611ff8565b915091926020823d6020116124b2575b8161249c60209383613eec565b810103126101b557505191908390611fb2611fa4565b3d915061248f565b906020823d6020116124e5575b816124d460209383613eec565b810103126101b55750516024611f66565b3d91506124c7565b506001600160a01b036124ff83615254565b5116611efb565b906020823d602011612538575b8161252060209383613eec565b810103126101b5575061253290614250565b38611ecf565b3d9150612513565b906020823d60201161256a575b8161255a60209383613eec565b810103126101b557505138611e5f565b3d915061254d565b61257b90613e6c565b610f13578438611e09565b60449060405190630f81919b60e21b825260048201526064356024820152fd5b604051632e834cbf60e11b81526001600160a01b038681166004830152919091166024820152604490fd5b50604051630e587c8f60e41b81526001600160a01b03918216600482015291166024820152604490fd5b60f81c815260200138611d63565b92602060019160ff8560f01c168152019301611d5d565b92602060019160ff8560e81c168152019301611d55565b92602060019160ff8560e01c168152019301611d4d565b92602060019160ff8560d81c168152019301611d45565b92602060019160ff8560d01c168152019301611d3d565b92602060019160ff8560c81c168152019301611d35565b92602060019160ff8560c01c168152019301611d2d565b92602060019160ff8560b81c168152019301611d25565b92602060019160ff8560b01c168152019301611d1d565b92602060019160ff8560a81c168152019301611d15565b92602060019160ff8560a01c168152019301611d0d565b92602060019160ff8560981c168152019301611d05565b92602060019160ff8560901c168152019301611cfd565b92602060019160ff8560881c168152019301611cf5565b92602060019160ff8560801c168152019301611ced565b92602060019160ff8560781c168152019301611ce5565b92602060019160ff8560701c168152019301611cdd565b92602060019160ff8560681c168152019301611cd5565b92602060019160ff8560601c168152019301611ccd565b92602060019160ff8560581c168152019301611cc5565b92602060019160ff8560501c168152019301611cbd565b92602060019160ff8560481c168152019301611cb5565b92602060019160ff8560401c168152019301611cad565b92602060019160ff8560381c168152019301611ca5565b92602060019160ff8560301c168152019301611c9d565b92602060019160ff8560281c168152019301611c95565b92602060019160ff85831c168152019301611c8d565b92602060019160ff8560181c168152019301611c85565b92602060019160ff8560101c168152019301611c7d565b92602060019160ff8560081c168152019301611c75565b92602060019160ff85168152019301611c6d565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282891c166080860152828260a0828260281c1681890152828260c095828260301c16878c0152828260381c1660e08c0152828260401c166101008c0152828260481c166101208c0152828260501c166101408c0152828260581c166101608c01521c16610180890152828260681c166101a0890152828260701c166101c0890152828260781c166101e0890152828260801c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920184929391611c55565b82546001600160a01b0316845260209093019260019283019201611c19565b506020813d602011612aaa575b81612a9860209383613eec565b81010312610d6e57611baf9051611ba2565b3d9150612a8b565b6040513d87823e3d90fd5b9092506020813d602011612af1575b81612ad960209383613eec565b8101031261081957612aea90614250565b9138611b5c565b3d9150612acc565b6040513d86823e3d90fd5b50346101b557806003193601126101b55760e0604051612b2381613eb5565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201520152610100604051612b5b81613eb5565b60018060a01b0360fb54169081815260018060a01b0360fc5416602082015260018060a01b0360fd5416604082015260018060a01b0360fe5416606082015260018060a01b0360ff5416608082015260018060a01b0383541660a082015260018060a01b03610101541660c082015260018060a01b03610102541660e082015260405191825260018060a01b03602082015116602083015260018060a01b03604082015116604083015260018060a01b03606082015116606083015260018060a01b03608082015116608083015260018060a01b0360a08201511660a083015260018060a01b0360c08201511660c083015260e060018060a01b039101511660e0820152f35b50346101b557806003193601126101b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003612cba5760206040516000805160206153bb8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b5060403660031901126101b557612d3a613e14565b602435906001600160401b0382116119085736602383011215611908578160040135612d6581613f0d565b90612d736040519283613eec565b80825284602094858401923660248284010111611908578060248893018537840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612dce30831415613ff9565b612deb6000805160206153bb83398151915292828454161461405a565b612df3613f58565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e2b575050505061015e91506140bb565b84939416906040516352d1902d60e01b81528681600481865afa60009181612fc5575b50612eaf5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503612f6e57612ec0836140bb565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590612f66575b612efc575b5050505080f35b60008091612f5c957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405196612f3288613e7f565b60278852870152660819985a5b195960ca1b60408701525190845af4612f5661414b565b9161417b565b5038808080612ef5565b506001612ef0565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612fed575b612fdc8183613eec565b810103126101b55750519038612e4e565b503d612fd2565b50346101b55760403660031901126101b557606090613011613e14565b613019613e2a565b826040805161302781613e7f565b8281528260208201520152604060018060a01b03938480931681526101036020522091166000526020526040600020906040519061306482613e7f565b82541691828252604060026001830154926020850193845201549201918252604051928352516020830152516040820152f35b50346101b557602080600319360112610828576130b2613e14565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906130ea30831415613ff9565b6131076000805160206153bb83398151915292828454161461405a565b61310f613f58565b60405191848301918383106001600160401b038411176112a6578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143541660001461316a575050505061015e91506140bb565b84939416906040516352d1902d60e01b81528681600481865afa60009181613241575b506131ee5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503612f6e576131ff836140bb565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159061323957612efc575050505080f35b506000612ef0565b90918882813d8311613269575b6132588183613eec565b810103126101b5575051903861318d565b503d61324e565b50346101b55760203660031901126101b5578061328b613e14565b613293613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163dec30e3360e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760403660031901126101b557613307613e14565b61330f613e2a565b60608060405161331e81613e9a565b858152856020820152816040820152015260018060a01b03168252610104602052604082209060018060a01b03166000526020526040600020906040519161336583613e9a565b60018060a01b038154168352600181015460208401526002810160405190816020825491828152019185526020852090855b818110613a0257505050906133b181600394930382613eec565b60408501520191604051808460208296549384815201908552602085209285905b80601f83011061387a576134eb945491818110613866575b81811061384f575b818110613838575b818110613821575b81811061380b575b8181106137f4575b8181106137dd575b8181106137c6575b8181106137af575b818110613798575b818110613781575b81811061376a575b818110613753575b81811061373c575b818110613725575b81811061370e575b8181106136f7575b8181106136e0575b8181106136c9575b8181106136b2575b81811061369b575b818110613684575b81811061366d575b818110613656575b81811061363f575b818110613628575b818110613611575b8181106135fa575b8181106135e3575b8181106135cc575b8181106135b5575b106135a7575b509493940383613eec565b6060810191825260405192839260208452604060a085019360018060a01b038151166020870152602081015182870152015192608060608601528351809152602060c08601940190835b818110613585575050505191601f19848203016080850152602080845192838152019301915b818110613569575050500390f35b825160ff1684528594506020938401939092019160010161355b565b82516001600160a01b0316865287965060209586019590920191600101613535565b60f81c8152602001386134e0565b92602060019160ff8560f01c1681520193016134da565b92602060019160ff8560e81c1681520193016134d2565b92602060019160ff8560e01c1681520193016134ca565b92602060019160ff8560d81c1681520193016134c2565b92602060019160ff8560d01c1681520193016134ba565b92602060019160ff8560c81c1681520193016134b2565b92602060019160ff8560c01c1681520193016134aa565b92602060019160ff8560b81c1681520193016134a2565b92602060019160ff8560b01c16815201930161349a565b92602060019160ff8560a81c168152019301613492565b92602060019160ff8560a01c16815201930161348a565b92602060019160ff8560981c168152019301613482565b92602060019160ff8560901c16815201930161347a565b92602060019160ff8560881c168152019301613472565b92602060019160ff8560801c16815201930161346a565b92602060019160ff8560781c168152019301613462565b92602060019160ff8560701c16815201930161345a565b92602060019160ff8560681c168152019301613452565b92602060019160ff8560601c16815201930161344a565b92602060019160ff8560581c168152019301613442565b92602060019160ff8560501c16815201930161343a565b92602060019160ff8560481c168152019301613432565b92602060019160ff8560401c16815201930161342a565b92602060019160ff8560381c168152019301613422565b92602060019160ff8560301c16815201930161341a565b92602060019160ff8560281c168152019301613412565b92602060019160ff85831c16815201930161340a565b92602060019160ff8560181c168152019301613402565b92602060019160ff8560101c1681520193016133fa565b92602060019160ff8560081c1681520193016133f2565b92602060019160ff851681520193016133ea565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082608082828a1c1681870152828260a0828260281c16818a0152828260c095828260301c16878d0152828260381c1660e08d0152828260401c166101008d0152828260481c166101208d0152828260501c166101408d0152828260581c166101608d0152828260601c166101808d0152828260681c166101a08d0152828260701c166101c08d0152828260781c166101e08d01521c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e08201520194019201869293916133d2565b82546001600160a01b0316845260209093019260019283019201613397565b5060603660031901126101b557613a36613e14565b613a3e613e2a565b90604435613a4a614320565b60ff6101055416610efd57613a5e83614c01565b80156113215760fc546040516361fe24a960e11b8152600481018390526001600160a01b0394918516916020918281602481875afa8015613bea578890613ce3575b613aab9150856142c4565b92338852610103938484528760408a20971696876000528452604060002060405190613ad682613e7f565b8981541682526001810154908b8760028186019385855201549360408601948552613bf5575b5050505050613b169150613b108184614d7a565b82614e59565b6004828760fc541660405192838092638347592160e01b82525afa8015613bea577fa47b480b3eb82e8148b782528faf6afad69b7f3da51fc0160764a4f78723c90a946002928a92613bcb575b508860405194613b7286613e7f565b16988985528585019188835260ff6040870194168452338c52865260408b2089600052865260406000209451166001600160601b0360a01b855416178455516001840155519101556040519283523392a4600160655580f35b613be3919250853d8711610854576108468183613eec565b9038613b63565b6040513d8a823e3d90fd5b600492949660409694965193848092638347592160e01b82525afa958615613cd6578a9660ff938e9391613cb9575b5086519316831480613cab575b15613c94575050508151848111600014613c6e575050613c5f92613c559151614313565b3391519084615157565b613b16875b3880808b87613afc565b613b169450613c89919250606461072c613c8f955183614300565b90614313565b613c64565b613b169650613c8f94939550511633925190615157565b508181511682891614613c31565b613cd091508a3d8c11610854576108468183613eec565b38613c24565b50604051903d90823e3d90fd5b508281813d8311613d0b575b613cf98183613eec565b81010312610d6e57613aab9051613aa0565b503d613cef565b50346101b55760203660031901126101b55780613d2d613e14565b613d35613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163ebda042b60e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760203660031901126101b557613da9613e14565b613db1613f58565b8173__$7682c538d2a75d26dfca907f0e750789f4$__91823b1561082857604051632c55921b60e01b815260fb60048201526001600160a01b03909116602482015291829060449082905af4801561081d57613e0b575080f35b61015e90613e6c565b600435906001600160a01b0382168203610d6e57565b602435906001600160a01b0382168203610d6e57565b604435906001600160a01b0382168203610d6e57565b606435906001600160a01b0382168203610d6e57565b6001600160401b0381116112a657604052565b606081019081106001600160401b038211176112a657604052565b608081019081106001600160401b038211176112a657604052565b61010081019081106001600160401b038211176112a657604052565b604081019081106001600160401b038211176112a657604052565b90601f801991011681019081106001600160401b038211176112a657604052565b6001600160401b0381116112a657601f01601f191660200190565b9181601f84011215610d6e578235916001600160401b038311610d6e576020808501948460051b010111610d6e57565b6033546001600160a01b03163303613f6c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561400057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561406157565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156140f0576000805160206153bb83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15614176573d9061415c82613f0d565b9161416a6040519384613eec565b82523d6000602084013e565b606090565b919290156141dd575081511561418f575090565b3b156141985790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156141f05750805190602001fd5b60405162461bcd60e51b815260206004820181815283516024840181905292938493610ca0929160005b82811061423c57505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161421a565b51906001600160a01b0382168203610d6e57565b1561426b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116142d157565b634e487b7160e01b600052601160045260246000fd5b90816020910312610d6e575160ff81168103610d6e5790565b818102929181159184041417156142d157565b919082039182116142d157565b600260655414614331576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b6001600160401b0381116112a65760051b60200190565b929161439882614376565b916143a66040519384613eec565b829481845260208094019160051b8101928311610d6e57905b8282106143cc5750505050565b81356001600160a01b0381168103610d6e5781529083019083016143bf565b92916143f682614376565b916144046040519384613eec565b829481845260208094019160051b8101928311610d6e57905b82821061442a5750505050565b813560ff81168103610d6e57815290830190830161441d565b60003381526101038060205260408083209360018060a01b038091169485855260205281842090825161447581613e7f565b81835416815260018301549360026020830194868652015494818301958652156144f157600287916144ca973384526020528083208a8452602052822082815582600182015501555116905133925191615157565b7f7d0e940828cac20ee2f9b4bc116a5b9303f4de2f3e08c0731becff862d0aa1b0339180a3565b5050505050505050565b818110614506575050565b600081556001016144fb565b6000338152610104602090808252604083209360018060a01b03809116948585528352604084209060405161454681613e9a565b8183541681528460019384810154938284019485526002820160405191828583549182815201928c52858c20918c905b8a838310614bcf5750505050509061459381600394930382613eec565b60408501520191604051809384918482549182815201918b52848b20908b915b8982601f850110614a375750916146d89493916060979354918b85838310614a24575b838310614a0e575b8383106149f8575b8383106149e2575b8383106149cd575b8383106149b7575b8383106149a1575b83831061498b575b838310614975575b83831061495f575b838310614949575b838310614933575b83831061491e575b838310614908575b8383106148f2575b8383106148dc575b8383106148c6575b8383106148b0575b83831061489a575b838310614884575b83831061486e575b838310614858575b838310614842575b83831061482c575b838310614816575b838310614800575b8383106147ea575b8383106147d4575b8383106147be575b8383106147a8575b838310614792575b505010614784575b5090500384613eec565b0152511561477d57600391338552835260408420858552835283604081209181835582015560028101805485825580614764575b50500180549083815581614745575b5050507f2ee913c883151f0ab8f63c8bed5b91afe9c0ef1a2074398ff1c07c35c04cb55e339180a3565b835290822061475c91601f0160051c8101906144fb565b38808061471b565b614776918652848620908101906144fb565b388061470c565b5050505050565b60f81c8152018990386146ce565b90919460ff8560f01c1681520193018b856146c6565b90919460ff8560e81c1681520193018b856146be565b90919460ff8560e01c1681520193018b856146b6565b90919460ff8560d81c1681520193018b856146ae565b90919460ff8560d01c1681520193018b856146a6565b90919460ff8560c81c1681520193018b8561469e565b90919460ff8560c01c1681520193018b85614696565b90919460ff8560b81c1681520193018b8561468e565b90919460ff8560b01c1681520193018b85614686565b90919460ff8560a81c1681520193018b8561467e565b90919460ff8560a01c1681520193018b85614676565b90919460ff8560981c1681520193018b8561466e565b90919460ff8560901c1681520193018b85614666565b90919460ff8560881c1681520193018b8561465e565b90919460ff8560801c1681520193018b85614656565b90919460ff8560781c1681520193018b8561464e565b90919460ff8560701c1681520193018b85614646565b90919460ff8560681c1681520193018b8561463e565b90919460ff858c1c1681520193018b85614636565b90919460ff8560581c1681520193018b8561462e565b90919460ff8560501c1681520193018b85614626565b90919460ff8560481c1681520193018b8561461e565b90919460ff8560401c1681520193018b85614616565b90919460ff8560381c1681520193018b8561460e565b90919460ff8560301c1681520193018b85614606565b90919460ff8560281c1681520193018b856145fe565b90919460ff85831c1681520193018b856145f6565b90919460ff8560181c1681520193018b856145ee565b90919460ff8560101c1681520193018b856145e6565b90919460ff8560081c1681520193018b856145de565b90919460ff851681520193018b856145d6565b9193816104009297989496505460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018994939186936145b3565b8454821686528d9890950194938401939190910190614576565b90816020910312610d6e57518015158103610d6e5790565b6001600160a01b039081168015918215614c5c575b505015614c1f57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250610100541691602460405180948193632d5ad3d560e01b835260048301525afa90811561085b57600091614c98575b503880614c16565b614cb0915060203d81116108ec576108de8183613eec565b38614c90565b60405163e985e9c560e01b81526001600160a01b0391821660048201523060248201529160209183916044918391165afa90811561085b57600091614d4d575b5015614cfe57565b60405162461bcd60e51b815260206004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152608490fd5b614d65915060203d81116108ec576108de8183613eec565b38614cf6565b60001981146142d15760010190565b6001600160a01b03168015614e5557604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa90811561085b57600091614e24575b5010614dc657565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211614e4d575b81614e3d60209383613eec565b810103126101b557505138614dbe565b3d9150614e30565b5050565b6001600160a01b031690811561502a5734614fd45760409081516370a0823160e01b938482523060048301526020948583602481855afa928315614fc957908691600094614f97575b5085516323b872dd60e01b8382015233602482015230604482015260648101869052614ee590614edf81608481015b03601f198101835282613eec565b8461506f565b602486518094819382523060048301525afa908115614f8c57600091614f5d575b5090614f1191614313565b03614f1a575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614f85575b614f738183613eec565b810103126101b5575051614f11614f06565b503d614f69565b84513d6000823e3d90fd5b9182819592953d8311614fc2575b614faf8183613eec565b810103126101b557508590519238614ea2565b503d614fa5565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b9050340361503457565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b6040516150c7916001600160a01b031661508882613ed1565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1612f5661414b565b805190828215928315615137575b505050156150e05750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6151479350820181019101614be9565b3882816150d5565b156141f05750565b92919080156151ea57606461072c61516f9383614300565b6001600160a01b03929091908316801561518f5761518d93506151f0565b565b5060ff5460405163410085df60e01b602082019081526001600160a01b0390931660248201526044810184905261518d9460009485949390911692916151d88160648101614ed1565b51925af16151e461414b565b9061514f565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b0392909216602483015260448083019390935291815261518d9161522c606483613eec565b61506f565b80511561523e5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561523e5760400190565b805182101561523e5760209160051b010190565b9061528282614376565b61528f6040519182613eec565b82815280926152a0601f1991614376565b0190602036910137565b9293926001600160a01b03919082168061537257508160ff541692604051906020908183019463c176e63960e01b86526064840160406024860152825180915283608486019301916000905b828210615359575050505082810360231901604484015287518082529082019782019160005b82811061534557505050509160009391836151d8869561518d989903601f198101835282613eec565b83518a52988101989281019260010161531c565b83518116855293850193928501926001909101906152f6565b9492905060005b81518110156153b257806153a8846153946153ad9486615264565b51166153a08388615264565b5190896151f0565b614d6b565b615379565b50505050905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d70323061e6bc784597490f77bfaf8111e56a10638311c8b286fe24b680300f564736f6c63430008120033","sourceMap":"733:12026:157:-:0;;;;;;;1332:4:46;1324:13;;733:12026:157;;;;;;1324:13:46;733:12026:157;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/utils/structs/MarketConfig.sol":{"MarketConfig":[{"start":3955,"length":20},{"start":5422,"length":20},{"start":5887,"length":20},{"start":6772,"length":20},{"start":13004,"length":20},{"start":15726,"length":20},{"start":15851,"length":20}]}}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c8063176ab44014613d8f57806321ede03214613d1257806322f193d014613a2157806325bc1330146132ed5780633492e5a8146132705780633659cfe614613097578063381eff7c14612ff45780634f1ef28614612d2557806352d1902d14612c61578063614bd94414612b045780636d374d8114611af3578063715018a614611a955780637f35823014611a1857806385b1eb27146119ea578063882796f1146119b05780638a29e2de146115b65780638da5cb5b1461158d5780639214be521461154f578063af231a58146114d2578063b187bd26146114ae578063d9ed209614610fa8578063e4e87e3b14610f17578063e5fc48ee146101b85763f2fde38b1461012557600080fd5b346101b55760203660031901126101b55761013e613e14565b610146613f58565b6001600160a01b038116156101615761015e90613fb0565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346101b55760e03660031901126101b5576101d2613e14565b6101da613e2a565b906101e3613e56565b9060a4356001600160401b038111610f1357610203903690600401613f28565b939060c4356001600160401b038111610f0f57610224903690600401613f28565b9561022d614320565b60ff6101055416610efd576040516331a9108f60e11b815260443560048201526020816024816001600160a01b0389165afa908115610ef2578991610eb8575b50336001600160a01b0390911603610e73576102898433614cb6565b8015610e1e5760058111610dcd57868103610d73576000805b888210610d42576064915003610ced5760018060a01b03851688526101036020526040882060018060a01b0385166000526020526040600020604051906102e882613e7f565b80546001600160a01b03168252600181015460208301818152600290920154604084015215610cc457518060843503610ca45750516001600160a01b039081169087168103610c7557506001600160a01b03858116895261010360209081526040808b20928716600081815293909252822082815560018101839055600201919091553b15610aea57604051632142170760e11b81523360048201526001600160a01b038616602482015260448035908201528890818180606481010381836001600160a01b038b165af1801561081d57610c61575b50506103d7926103cf91369161438d565b9536916143eb565b908451825103610c005760fc546040516361fe24a960e11b8152608435600482018190529491602090829060249082906001600160a01b03165afa90811561085b57600091610bce575b506040519061042f82613e7f565b60028252604036602084013760fb546001600160a01b03168061045184615231565b526101025460405163e286ef3360e01b815233600482015290602090829060249082906001600160a01b03165afa90811561085b57600091610b94575b506001600160a01b03166104a184615254565b526001600160a01b036104b384615254565b5116610b7b575b6104c383615254565b6001600160a01b0390911690526040516104dc81613e7f565b600281526040366020830137610101546040516303fdde1160e21b815260843560048201526001600160a01b0390911690602081602481855afa90811561085b57600091610b48575b5060249160209161053585615231565b5260405163470d6ed960e11b8152608435600482015292839182905afa92831561085b578491600094610b0d575b506105789361057184615254565b52896152aa565b60fc54604051631446f21360e21b81526001600160a01b0385811660048301526044803560248401529192602092849290918391165afa90811561085b57600091610aee575b506108f3576040516024916105d282613ed1565b6001825260203681840137604051906105ea82613ed1565b60018252602036818401376001600160a01b039061060790615231565b511661061282615231565b5260fd54604051635dc22eff60e01b81523360048201529360209185919082906001600160a01b03165afa801561085b576024936000916108c4575b50156108675760fd54604051632260494f60e01b81523360048201529360209185919082906001600160a01b03165afa801561085b576106bb6106b260ff6064936106d69760009161082c575b501699836106ab8c608435614300565b0490614313565b98608435614300565b046106c583615231565b526106cf82615231565b51886152aa565b6106e08651615278565b91600095865b885188101561073f5761073361073991606461070f60ff6107078d8c615264565b51168b614300565b0461071a8b89615264565b52606461072c60ff6107078d8c615264565b04906142c4565b97614d6b565b966106e6565b89948961074c92846152aa565b60fc5484906001600160a01b0316803b1561082857604051635a3c652d60e01b81526001600160a01b03851660048201526044803560248301526001908201529082908290606490829084905af1801561081d57610805575b5050604080516001600160a01b03928316815260843560208201526044359181019190915291811692169033907fd746eda767465ff5307bdf346d8f0e530205a4dc2c0b8e7241a9fefc7e6dec7b9080606081015b0390a4600160655580f35b61080e90613e6c565b6108195783856107a5565b8380fd5b6040513d84823e3d90fd5b5080fd5b61084e915060203d602011610854575b6108468183613eec565b8101906142e7565b3861069b565b503d61083c565b6040513d6000823e3d90fd5b60fc5460405163b28a7bad60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b576106bb6106b260ff6064936108bf9760009161082c57501699836106ab8c608435614300565b6106d6565b6108e6915060203d6020116108ec575b6108de8183613eec565b810190614be9565b3861064e565b503d6108d4565b5060fe54604051637a99dc0160e11b81526001600160a01b0384811660048301526044803560248401526084359083015293989097929690955091939192600091889160649183918591165af196871561085b57600096879861099e575b50600095865b895188101561097e57610733610978916109718a8d615264565b51906142c4565b96610957565b9598909294976108bf9294975061099787608435614313565b96886152aa565b9097503d908188823e6109b18282613eec565b6040818381010312610aea578051916001600160401b038311610ae657808201601f848401011215610ae657828201516109ea81614376565b936109f86040519586613eec565b81855260208086019260051b8286010101908385018211610ae2578401602001915b818310610abe575050506020820151916001600160401b038311610aba57818101601f848301011215610aba578281015192610a5584614376565b9a610a636040519c8d613eec565b848c5260208c0193830160208660051b8486010101116101b557509190602083820101925b60208560051b82840101018410610aa6575050505050959638610951565b602080809486518152019401939250610a88565b8980fd5b82516001600160a01b0381168103610ade57815260209283019201610a1a565b8c80fd5b8b80fd5b8880fd5b8780fd5b610b07915060203d6020116108ec576108de8183613eec565b386105be565b915091926020823d602011610b40575b81610b2a60209383613eec565b810103126101b557505191908390610578610563565b3d9150610b1d565b906020823d602011610b73575b81610b6260209383613eec565b810103126101b55750516024610525565b3d9150610b55565b506001600160a01b03610b8d83615254565b51166104ba565b906020823d602011610bc6575b81610bae60209383613eec565b810103126101b55750610bc090614250565b3861048e565b3d9150610ba1565b906020823d602011610bf8575b81610be860209383613eec565b810103126101b557505138610421565b3d9150610bdb565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b610c6a90613e6c565b610aea5787386103be565b604051632e834cbf60e11b81526001600160a01b038881166004830152919091166024820152604490fd5b0390fd5b60449060405190630f81919b60e21b825260048201526084356024820152fd5b604051633ef5628160e01b81526001600160a01b03878116600483015288166024820152604490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff8216809203610d6e57610d6891610d62916142c4565b91614d6b565b906102a2565b600080fd5b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b90506020813d602011610eea575b81610ed360209383613eec565b81010312610ae657610ee490614250565b3861026d565b3d9150610ec6565b6040513d8b823e3d90fd5b60405163ab35696f60e01b8152600490fd5b8680fd5b8480fd5b50346101b55760203660031901126101b55780610f32613e14565b610f3a613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa4576040516386e5800760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b610f9d90613e6c565b6101b55780f35b5050fd5b50346101b55760a03660031901126101b557610fc2613e14565b610fca613e2a565b606480356001600160401b038111610f1357610fea903690600401613f28565b916084356001600160401b038111610f0f5761100a903690600401613f28565b909160ff6101055416610efd5761102086614c01565b61102a8733614cb6565b841561145a576005851161140a578185036113b157806000805b84811061138757500361133357506044351561132157611089611095936040519561106e87613e9a565b6001600160a01b03881687526044356020880152369161438d565b604085015236916143eb565b60608201523384526101046020526040842060018060a01b038416600052602052604060002060018060a01b038251166001600160601b0360a01b8254161781556020820151600182015560408201518051906001600160401b03821161130d57600160401b82116112a65760209060028401548360028601558084106112ed575b500160028301875260208720875b8381106112d057505050506003606091019101518051906001600160401b0382116112bc57600160401b82116112a657602090835483855580841061125a575b5001918552602085208160051c91865b83811061121b5750601f1981169003806111d1575b505060405160443581526001600160a01b0393841694909316923392507f4c172f9d7dfc4fbab9c54966d9334e977ce1ae637bbc08489b2762715ae1f6a09150602090a480f35b928693875b8181106111eb5750505001553880808061118a565b90919460206112116001928460ff8a5116919060ff809160031b9316831b921b19161790565b96019291016111d6565b87885b60208110611233575083820155600101611175565b865190969160019160209160ff60038b901b81811b199092169216901b179201960161121e565b611286908560005283600020601f80870160051c8201928188168061128c575b500160051c01906144fb565b38611165565b60001990818601918254918a0360031b1c1690553861127a565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b86526041600452602486fd5b82516001600160a01b031681830155602090920191600101611125565b6113079060028601600052848460002091820191016144fb565b38611117565b634e487b7160e01b87526041600452602487fd5b6040516346f1397d60e01b8152600490fd5b60849066020746f203130360cc1b6040519162461bcd60e51b835260206004840152602760248401527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c6044840152820152fd5b80925060051b8501359060ff8216809203610d6e576113a991610d62916142c4565b908291611044565b6084906b1d5cdd08189948195c5d585b60a21b6040519162461bcd60e51b835260206004840152602c60248401527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d6044840152820152fd5b6084906373697a6560e01b6040519162461bcd60e51b8352602060048401526024808401527f636865636b53706c6974733a3a53706c6974206578636565646564206d6178206044840152820152fd5b608490660c481cdc1b1a5d60ca1b6040519162461bcd60e51b835260206004840152602760248401527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044840152820152fd5b50346101b557806003193601126101b557602060ff61010554166040519015158152f35b50346101b55760203660031901126101b557806114ed613e14565b6114f5613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163c70c56c760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760203660031901126101b557611569613e14565b611571614320565b60ff6101055416610efd5761158590614443565b600160655580f35b50346101b557806003193601126101b5576033546040516001600160a01b039091168152602090f35b50346101b5576101003660031901126101b5576115d1613e14565b6115d9613e2a565b906115e2613e40565b6115ea613e56565b6084356001600160a01b0381168103610d6e5760a435906001600160a01b0382168203610d6e5760c435926001600160a01b0384168403610d6e5760e435946001600160a01b0386168603610d6e5788549760ff8960081c16159889809a6119a3575b801561198c575b156119305760ff1981166001178b558961191f575b506040516323e95fa960e01b81526001600160a01b039889166004820152908816602482015290871660448201529086166064820152908516608482015290841660a482015290831660c4820152911660e4820152610100816101048173__$7682c538d2a75d26dfca907f0e750789f4$__5af490811561191457839161180b575b5060018060a01b03815116906001600160601b0360a01b918260fb54161760fb5560018060a01b036020820151168260fc54161760fc5560018060a01b036040820151168260fd54161760fd5560018060a01b036060820151168260fe54161760fe5560018060a01b036080820151168260ff54161760ff5560018060a01b0360a082015116826101005416176101005560018060a01b0360c082015116610101908382541617905560e060018060a01b0391015116610102918254161790556117c460ff835460081c166117bf81614264565b614264565b6117cd33613fb0565b6117d45780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610100813d6101001161190c575b816118296101009383613eec565b81010312611908576040519061183e82613eb5565b61184781614250565b825260208101516001600160a01b0381168103610f1357602083015260408101516001600160a01b0381168103610f1357604083015260608101516001600160a01b0381168103610f1357606083015260808101516001600160a01b0381168103610f1357608083015260a08101516001600160a01b0381168103610f135760a083015260c0810151906001600160a01b0382168203610f135760c083019190915260e001516001600160a01b03811681036108195760e0820152386116eb565b8280fd5b3d915061181b565b6040513d85823e3d90fd5b61ffff1916610101178a5538611669565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156116545750600160ff821614611654565b50600160ff82161061164d565b50346101b55760203660031901126101b557600435801515809103610828576119d7613f58565b6101059060ff8019835416911617905580f35b50346101b55760203660031901126101b557611a04613e14565b60ff6101055416610efd5761015e90614512565b50346101b55760203660031901126101b55780611a33613e14565b611a3b613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa457604051630cf1420760e21b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b557806003193601126101b557611aae613f58565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5060803660031901126101b557611b08613e14565b611b10613e40565b611b18614320565b60ff6101055416610efd576040516331a9108f60e11b81526024803560048301529092906020908490816001600160a01b0385165afa928315612af9578493612abd575b50611b678184614cb6565b60fc546040516361fe24a960e11b8152606435600482015290602090829060249082906001600160a01b03165afa8015612ab2578590612a7e575b611baf91506064356142c4565b9260018060a01b03811685526101046020526040852060018060a01b03831660005260205260406000209360405194611be786613e9a565b60018060a01b03815416865260018101546020870152600281016040519081602082549182815201918a5260208a20908a5b818110612a5f5750505090611c3381600394930382613eec565b6040880152604051908192839101602081549384815201908a5260208a20928a905b80601f8301106128ce57611d6b9454918181106128ba575b8181106128a3575b81811061288c575b818110612875575b81811061285f575b818110612848575b818110612831575b81811061281a575b818110612803575b8181106127ec575b8181106127d5575b8181106127be575b8181106127a7575b818110612790575b818110612779575b818110612762575b81811061274b575b818110612734575b81811061271d575b818110612706575b8181106126ef575b8181106126d8575b8181106126c1575b8181106126aa575b818110612693575b81811061267c575b818110612665575b81811061264e575b818110612637575b818110612620575b818110612609575b106125fb575b500382613eec565b60608601526020850151156125d15784516001600160a01b0390811690851681036125a65750602085015180606435036125865750611daa9084614e59565b6001600160a01b0382163b15610f1357604051632142170760e11b81526001600160a01b0382166004820152336024808301919091523560448201528590818180606481010381836001600160a01b0389165af1801561081d57612572575b505060606040850151940151908451825103610c005760fc546040516361fe24a960e11b8152606435600482018190529491602090829060249082906001600160a01b03165afa90811561085b57600091612540575b5060405190611e6d82613e7f565b60028252604036602084013760fb546001600160a01b031680611e8f84615231565b526101025460405163e286ef3360e01b81526001600160a01b038781166004830152909160209183916024918391165afa90811561085b57600091612506575b506001600160a01b0316611ee284615254565b526001600160a01b03611ef484615254565b51166124ed575b611f0483615254565b6001600160a01b039091169052604051611f1d81613e7f565b600281526040366020830137610101546040516303fdde1160e21b815260643560048201526001600160a01b0390911690602081602481855afa90811561085b576000916124ba575b50602491602091611f7685615231565b5260405163470d6ed960e11b8152606435600482015292839182905afa92831561085b57849160009461247f575b50611fb29361057184615254565b60fc54604051631446f21360e21b81526001600160a01b0384811660048301526024803590830152909160209183916044918391165afa90811561085b57600091612460575b506122965760405160249161200c82613ed1565b60018252602036818401376040519061202482613ed1565b60018252602036818401376001600160a01b039061204190615231565b511661204c82615231565b5260fd54604051635dc22eff60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b57602493600091612277575b501561221b5760fd54604051632260494f60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b576106bb6120e860ff6064936120f0976000916121fc575b501699836106ab8c8235614300565b988235614300565b6120fa8651615278565b91600095865b88518810156121275761073361212191606461070f60ff6107078d8c615264565b96612100565b89948961213492846152aa565b60fc5484906001600160a01b0316803b1561082857604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af1801561081d576121e8575b5050604080516001600160a01b039283168152606435602082015260243591810191909152928116923392909116907f6f9e7bc841408072f4a49e469f90e1a634b85251803662bc8e5c220b287824729080606081016107fa565b6121f190613e6c565b61081957838561218d565b612215915060203d602011610854576108468183613eec565b386120d9565b60fc5460405163b28a7bad60e01b81526001600160a01b038681166004830152909460209286928391165afa801561085b576106bb6120e860ff606493612272976000916121fc57501699836106ab8c8235614300565b6120f0565b612290915060203d6020116108ec576108de8183613eec565b3861208a565b5060fe54604051637a99dc0160e11b81526001600160a01b038381166004830152602480359083015260648035604484015294999198939791965092949093909260009289929183918591165af196871561085b576000968798612334575b50600095865b895188101561231b57610733612315916109718a8d615264565b966122fb565b9598909294976122729294975061099787606435614313565b9097503d8088833e6123468183613eec565b8101604082820312610aea578151906001600160401b0391828111610aba5783019281601f85011215610aba57835161237e81614376565b9461238c6040519687613eec565b81865260208087019260051b82010190848211610ade57602001915b81831061243c575050506020810151928311610aba5781601f848301011215610aba5782810151926123d984614376565b9a6123e76040519c8d613eec565b848c5260208c019360208660051b8486010101116101b557509190602083820101925b60208560051b828401010184106124285750505050509596386122f5565b60208080948651815201940193925061240a565b82516001600160a01b038116810361245c578152602092830192016123a8565b8d80fd5b612479915060203d6020116108ec576108de8183613eec565b38611ff8565b915091926020823d6020116124b2575b8161249c60209383613eec565b810103126101b557505191908390611fb2611fa4565b3d915061248f565b906020823d6020116124e5575b816124d460209383613eec565b810103126101b55750516024611f66565b3d91506124c7565b506001600160a01b036124ff83615254565b5116611efb565b906020823d602011612538575b8161252060209383613eec565b810103126101b5575061253290614250565b38611ecf565b3d9150612513565b906020823d60201161256a575b8161255a60209383613eec565b810103126101b557505138611e5f565b3d915061254d565b61257b90613e6c565b610f13578438611e09565b60449060405190630f81919b60e21b825260048201526064356024820152fd5b604051632e834cbf60e11b81526001600160a01b038681166004830152919091166024820152604490fd5b50604051630e587c8f60e41b81526001600160a01b03918216600482015291166024820152604490fd5b60f81c815260200138611d63565b92602060019160ff8560f01c168152019301611d5d565b92602060019160ff8560e81c168152019301611d55565b92602060019160ff8560e01c168152019301611d4d565b92602060019160ff8560d81c168152019301611d45565b92602060019160ff8560d01c168152019301611d3d565b92602060019160ff8560c81c168152019301611d35565b92602060019160ff8560c01c168152019301611d2d565b92602060019160ff8560b81c168152019301611d25565b92602060019160ff8560b01c168152019301611d1d565b92602060019160ff8560a81c168152019301611d15565b92602060019160ff8560a01c168152019301611d0d565b92602060019160ff8560981c168152019301611d05565b92602060019160ff8560901c168152019301611cfd565b92602060019160ff8560881c168152019301611cf5565b92602060019160ff8560801c168152019301611ced565b92602060019160ff8560781c168152019301611ce5565b92602060019160ff8560701c168152019301611cdd565b92602060019160ff8560681c168152019301611cd5565b92602060019160ff8560601c168152019301611ccd565b92602060019160ff8560581c168152019301611cc5565b92602060019160ff8560501c168152019301611cbd565b92602060019160ff8560481c168152019301611cb5565b92602060019160ff8560401c168152019301611cad565b92602060019160ff8560381c168152019301611ca5565b92602060019160ff8560301c168152019301611c9d565b92602060019160ff8560281c168152019301611c95565b92602060019160ff85831c168152019301611c8d565b92602060019160ff8560181c168152019301611c85565b92602060019160ff8560101c168152019301611c7d565b92602060019160ff8560081c168152019301611c75565b92602060019160ff85168152019301611c6d565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282891c166080860152828260a0828260281c1681890152828260c095828260301c16878c0152828260381c1660e08c0152828260401c166101008c0152828260481c166101208c0152828260501c166101408c0152828260581c166101608c01521c16610180890152828260681c166101a0890152828260701c166101c0890152828260781c166101e0890152828260801c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920184929391611c55565b82546001600160a01b0316845260209093019260019283019201611c19565b506020813d602011612aaa575b81612a9860209383613eec565b81010312610d6e57611baf9051611ba2565b3d9150612a8b565b6040513d87823e3d90fd5b9092506020813d602011612af1575b81612ad960209383613eec565b8101031261081957612aea90614250565b9138611b5c565b3d9150612acc565b6040513d86823e3d90fd5b50346101b557806003193601126101b55760e0604051612b2381613eb5565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201520152610100604051612b5b81613eb5565b60018060a01b0360fb54169081815260018060a01b0360fc5416602082015260018060a01b0360fd5416604082015260018060a01b0360fe5416606082015260018060a01b0360ff5416608082015260018060a01b0383541660a082015260018060a01b03610101541660c082015260018060a01b03610102541660e082015260405191825260018060a01b03602082015116602083015260018060a01b03604082015116604083015260018060a01b03606082015116606083015260018060a01b03608082015116608083015260018060a01b0360a08201511660a083015260018060a01b0360c08201511660c083015260e060018060a01b039101511660e0820152f35b50346101b557806003193601126101b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003612cba5760206040516000805160206153bb8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b5060403660031901126101b557612d3a613e14565b602435906001600160401b0382116119085736602383011215611908578160040135612d6581613f0d565b90612d736040519283613eec565b80825284602094858401923660248284010111611908578060248893018537840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612dce30831415613ff9565b612deb6000805160206153bb83398151915292828454161461405a565b612df3613f58565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e2b575050505061015e91506140bb565b84939416906040516352d1902d60e01b81528681600481865afa60009181612fc5575b50612eaf5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503612f6e57612ec0836140bb565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590612f66575b612efc575b5050505080f35b60008091612f5c957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405196612f3288613e7f565b60278852870152660819985a5b195960ca1b60408701525190845af4612f5661414b565b9161417b565b5038808080612ef5565b506001612ef0565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612fed575b612fdc8183613eec565b810103126101b55750519038612e4e565b503d612fd2565b50346101b55760403660031901126101b557606090613011613e14565b613019613e2a565b826040805161302781613e7f565b8281528260208201520152604060018060a01b03938480931681526101036020522091166000526020526040600020906040519061306482613e7f565b82541691828252604060026001830154926020850193845201549201918252604051928352516020830152516040820152f35b50346101b557602080600319360112610828576130b2613e14565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906130ea30831415613ff9565b6131076000805160206153bb83398151915292828454161461405a565b61310f613f58565b60405191848301918383106001600160401b038411176112a6578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143541660001461316a575050505061015e91506140bb565b84939416906040516352d1902d60e01b81528681600481865afa60009181613241575b506131ee5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503612f6e576131ff836140bb565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159061323957612efc575050505080f35b506000612ef0565b90918882813d8311613269575b6132588183613eec565b810103126101b5575051903861318d565b503d61324e565b50346101b55760203660031901126101b5578061328b613e14565b613293613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163dec30e3360e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760403660031901126101b557613307613e14565b61330f613e2a565b60608060405161331e81613e9a565b858152856020820152816040820152015260018060a01b03168252610104602052604082209060018060a01b03166000526020526040600020906040519161336583613e9a565b60018060a01b038154168352600181015460208401526002810160405190816020825491828152019185526020852090855b818110613a0257505050906133b181600394930382613eec565b60408501520191604051808460208296549384815201908552602085209285905b80601f83011061387a576134eb945491818110613866575b81811061384f575b818110613838575b818110613821575b81811061380b575b8181106137f4575b8181106137dd575b8181106137c6575b8181106137af575b818110613798575b818110613781575b81811061376a575b818110613753575b81811061373c575b818110613725575b81811061370e575b8181106136f7575b8181106136e0575b8181106136c9575b8181106136b2575b81811061369b575b818110613684575b81811061366d575b818110613656575b81811061363f575b818110613628575b818110613611575b8181106135fa575b8181106135e3575b8181106135cc575b8181106135b5575b106135a7575b509493940383613eec565b6060810191825260405192839260208452604060a085019360018060a01b038151166020870152602081015182870152015192608060608601528351809152602060c08601940190835b818110613585575050505191601f19848203016080850152602080845192838152019301915b818110613569575050500390f35b825160ff1684528594506020938401939092019160010161355b565b82516001600160a01b0316865287965060209586019590920191600101613535565b60f81c8152602001386134e0565b92602060019160ff8560f01c1681520193016134da565b92602060019160ff8560e81c1681520193016134d2565b92602060019160ff8560e01c1681520193016134ca565b92602060019160ff8560d81c1681520193016134c2565b92602060019160ff8560d01c1681520193016134ba565b92602060019160ff8560c81c1681520193016134b2565b92602060019160ff8560c01c1681520193016134aa565b92602060019160ff8560b81c1681520193016134a2565b92602060019160ff8560b01c16815201930161349a565b92602060019160ff8560a81c168152019301613492565b92602060019160ff8560a01c16815201930161348a565b92602060019160ff8560981c168152019301613482565b92602060019160ff8560901c16815201930161347a565b92602060019160ff8560881c168152019301613472565b92602060019160ff8560801c16815201930161346a565b92602060019160ff8560781c168152019301613462565b92602060019160ff8560701c16815201930161345a565b92602060019160ff8560681c168152019301613452565b92602060019160ff8560601c16815201930161344a565b92602060019160ff8560581c168152019301613442565b92602060019160ff8560501c16815201930161343a565b92602060019160ff8560481c168152019301613432565b92602060019160ff8560401c16815201930161342a565b92602060019160ff8560381c168152019301613422565b92602060019160ff8560301c16815201930161341a565b92602060019160ff8560281c168152019301613412565b92602060019160ff85831c16815201930161340a565b92602060019160ff8560181c168152019301613402565b92602060019160ff8560101c1681520193016133fa565b92602060019160ff8560081c1681520193016133f2565b92602060019160ff851681520193016133ea565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082608082828a1c1681870152828260a0828260281c16818a0152828260c095828260301c16878d0152828260381c1660e08d0152828260401c166101008d0152828260481c166101208d0152828260501c166101408d0152828260581c166101608d0152828260601c166101808d0152828260681c166101a08d0152828260701c166101c08d0152828260781c166101e08d01521c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e08201520194019201869293916133d2565b82546001600160a01b0316845260209093019260019283019201613397565b5060603660031901126101b557613a36613e14565b613a3e613e2a565b90604435613a4a614320565b60ff6101055416610efd57613a5e83614c01565b80156113215760fc546040516361fe24a960e11b8152600481018390526001600160a01b0394918516916020918281602481875afa8015613bea578890613ce3575b613aab9150856142c4565b92338852610103938484528760408a20971696876000528452604060002060405190613ad682613e7f565b8981541682526001810154908b8760028186019385855201549360408601948552613bf5575b5050505050613b169150613b108184614d7a565b82614e59565b6004828760fc541660405192838092638347592160e01b82525afa8015613bea577fa47b480b3eb82e8148b782528faf6afad69b7f3da51fc0160764a4f78723c90a946002928a92613bcb575b508860405194613b7286613e7f565b16988985528585019188835260ff6040870194168452338c52865260408b2089600052865260406000209451166001600160601b0360a01b855416178455516001840155519101556040519283523392a4600160655580f35b613be3919250853d8711610854576108468183613eec565b9038613b63565b6040513d8a823e3d90fd5b600492949660409694965193848092638347592160e01b82525afa958615613cd6578a9660ff938e9391613cb9575b5086519316831480613cab575b15613c94575050508151848111600014613c6e575050613c5f92613c559151614313565b3391519084615157565b613b16875b3880808b87613afc565b613b169450613c89919250606461072c613c8f955183614300565b90614313565b613c64565b613b169650613c8f94939550511633925190615157565b508181511682891614613c31565b613cd091508a3d8c11610854576108468183613eec565b38613c24565b50604051903d90823e3d90fd5b508281813d8311613d0b575b613cf98183613eec565b81010312610d6e57613aab9051613aa0565b503d613cef565b50346101b55760203660031901126101b55780613d2d613e14565b613d35613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163ebda042b60e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760203660031901126101b557613da9613e14565b613db1613f58565b8173__$7682c538d2a75d26dfca907f0e750789f4$__91823b1561082857604051632c55921b60e01b815260fb60048201526001600160a01b03909116602482015291829060449082905af4801561081d57613e0b575080f35b61015e90613e6c565b600435906001600160a01b0382168203610d6e57565b602435906001600160a01b0382168203610d6e57565b604435906001600160a01b0382168203610d6e57565b606435906001600160a01b0382168203610d6e57565b6001600160401b0381116112a657604052565b606081019081106001600160401b038211176112a657604052565b608081019081106001600160401b038211176112a657604052565b61010081019081106001600160401b038211176112a657604052565b604081019081106001600160401b038211176112a657604052565b90601f801991011681019081106001600160401b038211176112a657604052565b6001600160401b0381116112a657601f01601f191660200190565b9181601f84011215610d6e578235916001600160401b038311610d6e576020808501948460051b010111610d6e57565b6033546001600160a01b03163303613f6c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561400057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561406157565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156140f0576000805160206153bb83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15614176573d9061415c82613f0d565b9161416a6040519384613eec565b82523d6000602084013e565b606090565b919290156141dd575081511561418f575090565b3b156141985790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156141f05750805190602001fd5b60405162461bcd60e51b815260206004820181815283516024840181905292938493610ca0929160005b82811061423c57505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161421a565b51906001600160a01b0382168203610d6e57565b1561426b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116142d157565b634e487b7160e01b600052601160045260246000fd5b90816020910312610d6e575160ff81168103610d6e5790565b818102929181159184041417156142d157565b919082039182116142d157565b600260655414614331576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b6001600160401b0381116112a65760051b60200190565b929161439882614376565b916143a66040519384613eec565b829481845260208094019160051b8101928311610d6e57905b8282106143cc5750505050565b81356001600160a01b0381168103610d6e5781529083019083016143bf565b92916143f682614376565b916144046040519384613eec565b829481845260208094019160051b8101928311610d6e57905b82821061442a5750505050565b813560ff81168103610d6e57815290830190830161441d565b60003381526101038060205260408083209360018060a01b038091169485855260205281842090825161447581613e7f565b81835416815260018301549360026020830194868652015494818301958652156144f157600287916144ca973384526020528083208a8452602052822082815582600182015501555116905133925191615157565b7f7d0e940828cac20ee2f9b4bc116a5b9303f4de2f3e08c0731becff862d0aa1b0339180a3565b5050505050505050565b818110614506575050565b600081556001016144fb565b6000338152610104602090808252604083209360018060a01b03809116948585528352604084209060405161454681613e9a565b8183541681528460019384810154938284019485526002820160405191828583549182815201928c52858c20918c905b8a838310614bcf5750505050509061459381600394930382613eec565b60408501520191604051809384918482549182815201918b52848b20908b915b8982601f850110614a375750916146d89493916060979354918b85838310614a24575b838310614a0e575b8383106149f8575b8383106149e2575b8383106149cd575b8383106149b7575b8383106149a1575b83831061498b575b838310614975575b83831061495f575b838310614949575b838310614933575b83831061491e575b838310614908575b8383106148f2575b8383106148dc575b8383106148c6575b8383106148b0575b83831061489a575b838310614884575b83831061486e575b838310614858575b838310614842575b83831061482c575b838310614816575b838310614800575b8383106147ea575b8383106147d4575b8383106147be575b8383106147a8575b838310614792575b505010614784575b5090500384613eec565b0152511561477d57600391338552835260408420858552835283604081209181835582015560028101805485825580614764575b50500180549083815581614745575b5050507f2ee913c883151f0ab8f63c8bed5b91afe9c0ef1a2074398ff1c07c35c04cb55e339180a3565b835290822061475c91601f0160051c8101906144fb565b38808061471b565b614776918652848620908101906144fb565b388061470c565b5050505050565b60f81c8152018990386146ce565b90919460ff8560f01c1681520193018b856146c6565b90919460ff8560e81c1681520193018b856146be565b90919460ff8560e01c1681520193018b856146b6565b90919460ff8560d81c1681520193018b856146ae565b90919460ff8560d01c1681520193018b856146a6565b90919460ff8560c81c1681520193018b8561469e565b90919460ff8560c01c1681520193018b85614696565b90919460ff8560b81c1681520193018b8561468e565b90919460ff8560b01c1681520193018b85614686565b90919460ff8560a81c1681520193018b8561467e565b90919460ff8560a01c1681520193018b85614676565b90919460ff8560981c1681520193018b8561466e565b90919460ff8560901c1681520193018b85614666565b90919460ff8560881c1681520193018b8561465e565b90919460ff8560801c1681520193018b85614656565b90919460ff8560781c1681520193018b8561464e565b90919460ff8560701c1681520193018b85614646565b90919460ff8560681c1681520193018b8561463e565b90919460ff858c1c1681520193018b85614636565b90919460ff8560581c1681520193018b8561462e565b90919460ff8560501c1681520193018b85614626565b90919460ff8560481c1681520193018b8561461e565b90919460ff8560401c1681520193018b85614616565b90919460ff8560381c1681520193018b8561460e565b90919460ff8560301c1681520193018b85614606565b90919460ff8560281c1681520193018b856145fe565b90919460ff85831c1681520193018b856145f6565b90919460ff8560181c1681520193018b856145ee565b90919460ff8560101c1681520193018b856145e6565b90919460ff8560081c1681520193018b856145de565b90919460ff851681520193018b856145d6565b9193816104009297989496505460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018994939186936145b3565b8454821686528d9890950194938401939190910190614576565b90816020910312610d6e57518015158103610d6e5790565b6001600160a01b039081168015918215614c5c575b505015614c1f57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250610100541691602460405180948193632d5ad3d560e01b835260048301525afa90811561085b57600091614c98575b503880614c16565b614cb0915060203d81116108ec576108de8183613eec565b38614c90565b60405163e985e9c560e01b81526001600160a01b0391821660048201523060248201529160209183916044918391165afa90811561085b57600091614d4d575b5015614cfe57565b60405162461bcd60e51b815260206004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152608490fd5b614d65915060203d81116108ec576108de8183613eec565b38614cf6565b60001981146142d15760010190565b6001600160a01b03168015614e5557604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa90811561085b57600091614e24575b5010614dc657565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211614e4d575b81614e3d60209383613eec565b810103126101b557505138614dbe565b3d9150614e30565b5050565b6001600160a01b031690811561502a5734614fd45760409081516370a0823160e01b938482523060048301526020948583602481855afa928315614fc957908691600094614f97575b5085516323b872dd60e01b8382015233602482015230604482015260648101869052614ee590614edf81608481015b03601f198101835282613eec565b8461506f565b602486518094819382523060048301525afa908115614f8c57600091614f5d575b5090614f1191614313565b03614f1a575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614f85575b614f738183613eec565b810103126101b5575051614f11614f06565b503d614f69565b84513d6000823e3d90fd5b9182819592953d8311614fc2575b614faf8183613eec565b810103126101b557508590519238614ea2565b503d614fa5565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b9050340361503457565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b6040516150c7916001600160a01b031661508882613ed1565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1612f5661414b565b805190828215928315615137575b505050156150e05750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6151479350820181019101614be9565b3882816150d5565b156141f05750565b92919080156151ea57606461072c61516f9383614300565b6001600160a01b03929091908316801561518f5761518d93506151f0565b565b5060ff5460405163410085df60e01b602082019081526001600160a01b0390931660248201526044810184905261518d9460009485949390911692916151d88160648101614ed1565b51925af16151e461414b565b9061514f565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b0392909216602483015260448083019390935291815261518d9161522c606483613eec565b61506f565b80511561523e5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561523e5760400190565b805182101561523e5760209160051b010190565b9061528282614376565b61528f6040519182613eec565b82815280926152a0601f1991614376565b0190602036910137565b9293926001600160a01b03919082168061537257508160ff541692604051906020908183019463c176e63960e01b86526064840160406024860152825180915283608486019301916000905b828210615359575050505082810360231901604484015287518082529082019782019160005b82811061534557505050509160009391836151d8869561518d989903601f198101835282613eec565b83518a52988101989281019260010161531c565b83518116855293850193928501926001909101906152f6565b9492905060005b81518110156153b257806153a8846153946153ad9486615264565b51166153a08388615264565b5190896151f0565b614d6b565b615379565b50505050905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d70323061e6bc784597490f77bfaf8111e56a10638311c8b286fe24b680300f564736f6c63430008120033","sourceMap":"733:12026:157:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;733:12026:157;;2402:22:39;733:12026:157;;2496:8:39;;;:::i;:::-;733:12026:157;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;:::i;:::-;2471:103:48;;;:::i;:::-;733:12026:157;1921:6;971:66:43;733:12026:157;1917:57;;733:12026;;-1:-1:-1;;;1230:24:217;;733:12026:157;;;1230:24:217;;733:12026:157;;;;;-1:-1:-1;;;;;733:12026:157;;1230:24:217;;;;;;;;;;;733:12026:157;-1:-1:-1;1258:10:217;-1:-1:-1;;;;;733:12026:157;;;1230:38:217;733:12026:157;;7026:15;1258:10:217;;7026:15:157;:::i;:::-;2302:22:217;;733:12026:157;;2404:1:217;2382:23;;733:12026:157;;2460:41:217;;;733:12026:157;;;2590:13:217;2605:23;;;;;;2707:3;2693:17;;;733:12026:157;;;;;;;;;;;7158:16;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;7210:17;7206:98;;733:12026;;;;7314:23;7310:96;;-1:-1:-1;733:12026:157;-1:-1:-1;;;;;733:12026:157;;;;;;7417:41;;7413:139;;-1:-1:-1;;;;;;733:12026:157;;;;;7158:16;733:12026;;;;;;;;;;;-1:-1:-1;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;7661:53;;;;733:12026;;-1:-1:-1;;;7661:53:157;;1258:10:217;733:12026:157;7661:53;;733:12026;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;7661:53;733:12026;;-1:-1:-1;;;;;733:12026:157;;7661:53;;;;;;;;2585:94:217;733:12026:157;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;6804:41:217;733:12026:157;;7537:27:217;733:12026:157;;;-1:-1:-1;;;7537:60:217;;733:12026:157;;;7537:60:217;;733:12026:157;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;7537:60:217;;;;;;;733:12026:157;7537:60:217;;;2585:94;733:12026:157;;;;;;;:::i;:::-;;;;;;;;;;7721:12;733:12026;-1:-1:-1;;;;;733:12026:157;;7673:52:217;;;:::i;:::-;733:12026:157;7756:23:217;733:12026:157;;;-1:-1:-1;;;7756:67:217;;1258:10;733:12026:157;7756:67:217;;733:12026:157;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;7756:67:217;;;;;;;733:12026:157;7756:67:217;;;2585:94;-1:-1:-1;;;;;;733:12026:157;7731:93:217;;;:::i;:::-;733:12026:157;-1:-1:-1;;;;;7847:14:217;;;:::i;:::-;733:12026:157;;7847:83:217;;;7830:100;;;:::i;:::-;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;:::i;:::-;;;;;;;;;;7996:23:217;733:12026:157;;;-1:-1:-1;;;7996:62:217;;733:12026:157;;;7996:62:217;;733:12026:157;-1:-1:-1;;;;;733:12026:157;;;;;;;;;7996:62:217;;;;;;;733:12026:157;7996:62:217;;;7847:83;7984:74;733:12026:157;7984:74:217;733:12026:157;7984:74:217;;;;:::i;:::-;733:12026:157;;;-1:-1:-1;;;8076:52:217;;733:12026:157;;;8076:52:217;;733:12026:157;;;;;;8076:52:217;;;;;;;;;733:12026:157;8076:52:217;;;7847:83;8064:64;8206:6;8064:64;;;;:::i;:::-;733:12026:157;8206:6:217;;:::i;:::-;7537:27;733:12026:157;;;-1:-1:-1;;;8225:73:217;;-1:-1:-1;;;;;733:12026:157;;;;8225:73:217;;733:12026:157;;;;;;;;;;;;;;;;;;;8225:73:217;;;;;;;733:12026:157;8225:73:217;;;7847:83;-1:-1:-1;8224:74:217;;733:12026:157;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;8455:14:217;;;:::i;:::-;733:12026:157;;8436:33:217;;;:::i;:::-;733:12026:157;8482:29:217;733:12026:157;;;-1:-1:-1;;;8482:62:217;;1258:10;733:12026:157;8482:62:217;;733:12026:157;;;;;;971:66:43;733:12026:157;;-1:-1:-1;;;;;733:12026:157;8482:62:217;;;;;;733:12026:157;8482:62:217;733:12026:157;8482:62:217;;;8220:1546;-1:-1:-1;8478:826:217;;;8482:29;733:12026:157;;;-1:-1:-1;;;8585:60:217;;1258:10;733:12026:157;8585:60:217;;733:12026:157;;;;;;971:66:43;733:12026:157;;-1:-1:-1;;;;;733:12026:157;8585:60:217;;;;;;8759:28;8674:56;733:12026:157;2707:3:217;8585:60;8878:11;8585:60;733:12026:157;8585:60:217;;;8478:826;733:12026:157;;;;8694:28:217;733:12026:157;;;8694:28:217;:::i;:::-;733:12026:157;8674:56:217;;:::i;:::-;733:12026:157;;;8759:28:217;:::i;:::-;733:12026:157;8741:53:217;;;:::i;:::-;733:12026:157;8847:14:217;;;:::i;:::-;733:12026:157;8878:11:217;;:::i;:::-;9805:33;733:12026:157;;9805:33:217;:::i;:::-;9845:22;733:12026:157;9879:13:217;;9918:3;733:12026:157;;9894:22:217;;;;;9999:55;9918:3;9969:15;2707:3;9951:33;733:12026:157;9969:15:217;;;;:::i;:::-;733:12026:157;;9951:33:217;;:::i;:::-;733:12026:157;9931:60:217;;;;:::i;:::-;733:12026:157;2707:3:217;10014:33;733:12026:157;10032:15:217;;;;:::i;10014:33::-;733:12026:157;9999:55:217;;:::i;:::-;9918:3;;:::i;:::-;9879:13;;;9894:22;;;;10133:13;9894:22;10133:13;;:::i;:::-;7537:27;733:12026:157;;;-1:-1:-1;;;;;733:12026:157;7840:81;;;;;733:12026;;-1:-1:-1;;;7840:81:157;;-1:-1:-1;;;;;733:12026:157;;;7840:81;;733:12026;;;;;;;;;;;;;;;;;;2707:3:217;;733:12026:157;;;;7840:81;;;;;;;;9874:187:217;-1:-1:-1;;733:12026:157;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;1258:10:217;;7933:95:157;;733:12026;;;;7933:95;;;;733:12026;3053:22:48;733:12026:157;;;7840:81;;;;:::i;:::-;733:12026;;7840:81;;;;733:12026;;;;7840:81;733:12026;;971:66:43;733:12026:157;;971:66:43;;;;7840:81:157;733:12026;;;8585:60:217;;;;733:12026:157;8585:60:217;733:12026:157;8585:60:217;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;733:12026:157;;971:66:43;733:12026:157;971:66:43;;;;;8478:826:217;7537:27;733:12026:157;;;-1:-1:-1;;;8944:106:217;;-1:-1:-1;;;;;733:12026:157;;;;8944:106:217;;733:12026:157;;;;;;;;;;8944:106:217;;;;;;9164:28;9079:56;733:12026:157;2707:3:217;8944:106;9283:11;8944:106;733:12026:157;8944:106:217;;;733:12026:157;;;;9099:28:217;733:12026:157;;;9099:28:217;:::i;9283:11::-;8478:826;;8482:62;;;;733:12026:157;8482:62:217;733:12026:157;8482:62:217;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;8220:1546;-1:-1:-1;9391:21:217;733:12026:157;;;-1:-1:-1;;;9391:100:217;;-1:-1:-1;;;;;733:12026:157;;;;9391:100:217;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:157;;;;-1:-1:-1;;733:12026:157;;;;;;-1:-1:-1;;733:12026:157;9391:100:217;;;;;;;733:12026:157;;;9391:100:217;;;8220:1546;9500:26;733:12026:157;9540:13:217;;9577:3;733:12026:157;;9555:20:217;;;;;9592:30;9577:3;9610:12;;;;;:::i;:::-;733:12026:157;9592:30:217;;:::i;9577:3::-;9540:13;;;9555:20;;;;;;;9749:9;9555:20;;;;9639:33;733:12026:157;;;9639:33:217;:::i;:::-;9749:9;;;:::i;9391:100::-;;;;;;;;;;;;;;:::i;:::-;733:12026:157;9391:100:217;;;;733:12026:157;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;9391:100:217;;;733:12026:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;2404:1:217;733:12026:157;;;;;;9391:100:217;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;9391:100:217;;;733:12026:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9391:100:217;;;733:12026:157;;2404:1:217;733:12026:157;;;;;;;;;;;;;;;;;;;;;2404:1:217;733:12026:157;;;;;;;;;;9391:100:217;;;;;;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8225:73:217;;;;733:12026:157;8225:73:217;733:12026:157;8225:73:217;;;;;;;:::i;:::-;;;;8076:52;;;;;733:12026:157;8076:52:217;;733:12026:157;8076:52:217;;;;;;733:12026:157;8076:52:217;;;:::i;:::-;;;733:12026:157;;;;-1:-1:-1;733:12026:157;;;;;8206:6:217;8076:52;;;;;-1:-1:-1;8076:52:217;;7996:62;;733:12026:157;7996:62:217;;733:12026:157;7996:62:217;;;;;;733:12026:157;7996:62:217;;;:::i;:::-;;;733:12026:157;;;;-1:-1:-1;733:12026:157;;7996:62:217;;;;;-1:-1:-1;7996:62:217;;7847:83;-1:-1:-1;;;;;;7916:14:217;;;:::i;:::-;733:12026:157;;7847:83:217;;7756:67;;733:12026:157;7756:67:217;;733:12026:157;7756:67:217;;;;;;733:12026:157;7756:67:217;;;:::i;:::-;;;733:12026:157;;;;;;;;:::i;:::-;7756:67:217;;;;;;-1:-1:-1;7756:67:217;;7537:60;;733:12026:157;7537:60:217;;733:12026:157;7537:60:217;;;;;;733:12026:157;7537:60:217;;;:::i;:::-;;;733:12026:157;;;;;;7537:60:217;;;;;;-1:-1:-1;7537:60:217;;733:12026:157;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;2707:3:217;733:12026:157;;;;;;7661:53;;;;:::i;:::-;733:12026;;7661:53;;;;7413:139;733:12026;;-1:-1:-1;;;7473:79:157;;-1:-1:-1;;;;;733:12026:157;;;;7473:79;;733:12026;;;;;;;;;;;7473:79;;;;;7310:96;733:12026;;;;10875:64;;;;7346:60;;733:12026;7346:60;;733:12026;;;;;;;7346:60;7206:98;733:12026;;-1:-1:-1;;;7236:68:157;;-1:-1:-1;;;;;733:12026:157;;;;7236:68;;733:12026;;;;;;;;;7473:79;733:12026;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;2707:3:217;733:12026:157;;;;;;2630:3:217;733:12026:157;2404:1:217;733:12026:157;;;;;;;;;;;;;2630:3:217;2643:29;;;;:::i;:::-;2630:3;;:::i;:::-;2590:13;;;733:12026:157;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;;;;1230:24:217;;;733:12026:157;1230:24:217;;733:12026:157;1230:24:217;;;;;;733:12026:157;1230:24:217;;;:::i;:::-;;;733:12026:157;;;;;;;:::i;:::-;1230:24:217;;;;;;-1:-1:-1;1230:24:217;;;733:12026:157;;971:66:43;733:12026:157;;971:66:43;;;;1917:57:157;733:12026;;-1:-1:-1;;;1936:38:157;;733:12026;;1936:38;733:12026;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;4106:40:157;:64;;;;;;733:12026;;-1:-1:-1;;;4106:64:157;;:12;733:12026;4106:64;;733:12026;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;4106:64;;;;;;;;733:12026;;4106:64;;;;:::i;:::-;733:12026;;4106:64;733:12026;4106:64;733:12026;;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;:::i;:::-;971:66:43;;733:12026:157;1921:6;971:66:43;733:12026:157;1917:57;;8865:16;;;:::i;:::-;8953:15;8941:10;;8953:15;:::i;:::-;2302:22:217;;733:12026:157;;2404:1:217;2382:23;;733:12026:157;;2460:41:217;;;733:12026:157;;2556:22:217;733:12026:157;2590:13:217;2605:23;;;;;;2693:17;;733:12026:157;;;;;9036:12;9032:65;;733:12026;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;733:12026:157;;;;;;;9156:125;;733:12026;;;;:::i;:::-;;9156:125;;733:12026;;;;:::i;:::-;;9156:125;;733:12026;8941:10;733:12026;;9104:20;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;9156:125;;733:12026;;;;;;9156:125;;733:12026;;;;-1:-1:-1;;;;;733:12026:157;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;;;;2585:94:217;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;9156:125;;733:12026;;;;-1:-1:-1;;;;;733:12026:157;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;2404:1:217;733:12026:157;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;8941:10;;-1:-1:-1;9293:100:157;;-1:-1:-1;733:12026:157;;9293:100;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2404:1:217;733:12026:157;;;;;;;;;;;;;2404:1:217;733:12026:157;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;9032:65;733:12026;;-1:-1:-1;;;9057:40:157;;733:12026;;9057:40;733:12026;;;-1:-1:-1;;;733:12026:157;;971:66:43;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;2630:3:217;733:12026:157;;;2404:1:217;733:12026:157;;;;;;;;;;;;;2630:3:217;2643:29;;;;:::i;2630:3::-;2590:13;;;;;733:12026:157;;;-1:-1:-1;;;733:12026:157;;971:66:43;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;971:66:43;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;971:66:43;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12746:6;971:66:43;733:12026:157;;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;3968:27:157;:38;;;;;;733:12026;;-1:-1:-1;;;3968:38:157;;:12;733:12026;3968:38;;733:12026;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;3968:38;;;;;;;;733:12026;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;2471:103:48;;:::i;:::-;733:12026:157;1921:6;971:66:43;733:12026:157;1917:57;;1980:1;;;:::i;:::-;1787::48;3053:22;733:12026:157;;;;;;;;;;;;;;;;1513:6:39;733:12026:157;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;3301:14:45;3347:34;;;;;;733:12026:157;3346:108:45;;;;733:12026:157;;;;-1:-1:-1;;733:12026:157;;;;;;;3562:65:45;;733:12026:157;-1:-1:-1;733:12026:157;;-1:-1:-1;;;2507:241:157;;-1:-1:-1;;;;;733:12026:157;;;;2507:241;;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2507:12;:241;;;;;;;;;;;733:12026;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;2492:256;733:12026;;;2492:256;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5366:69:45;733:12026:157;;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;3647:99:45;;733:12026:157;;3647:99:45;733:12026:157;;;;;;;3721:14:45;733:12026:157;;;;;;3721:14:45;733:12026:157;;2507:241;;;733:12026;2507:241;;733:12026;2507:241;;;;;;733:12026;2507:241;;;:::i;:::-;;;733:12026;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;2507:241;;;733:12026;;;;2507:241;;;-1:-1:-1;2507:241:157;;;733:12026;;971:66:43;733:12026:157;;971:66:43;;;;3562:65:45;-1:-1:-1;;733:12026:157;;;;;3562:65:45;;;733:12026:157;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;733:12026:157;;;;;3436:17:45;3346:108;;3347:34;733:12026:157;;;;;3365:16:45;3347:34;;733:12026:157;;;;;;;-1:-1:-1;;733:12026:157;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;4247:18:157;733:12026;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;;1921:6;971:66:43;733:12026:157;1917:57;;1980:1;;;:::i;733:12026::-;;;;;;;-1:-1:-1;;733:12026:157;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;3698:40:157;:64;;;;;;733:12026;;-1:-1:-1;;;3698:64:157;;:12;733:12026;3698:64;;733:12026;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;3698:64;;;;;;;;733:12026;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;733:12026:157;;-1:-1:-1;;;;;;733:12026:157;;;;;;;-1:-1:-1;;;;;733:12026:157;2806:40:39;733:12026:157;;2806:40:39;733:12026:157;;;-1:-1:-1;733:12026:157;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;;;:::i;:::-;2471:103:48;;:::i;:::-;733:12026:157;1921:6;971:66:43;733:12026:157;1917:57;;733:12026;;-1:-1:-1;;;10219:24:157;;733:12026;;;;10219:24;;733:12026;;;971:66:43;733:12026:157;;;;;-1:-1:-1;;;;;733:12026:157;;10219:24;;;;;;;;;;;733:12026;10314:15;;;;;:::i;:::-;10372:32;733:12026;;;-1:-1:-1;;;10372:65:157;;733:12026;;;10372:65;;733:12026;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;10372:65;;;;;;;;;;733:12026;10362:75;733:12026;;;;10362:75;:::i;:::-;733:12026;;;;;;;;;;10505:20;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;10565:21;10561:105;;733:12026;;-1:-1:-1;;;;;733:12026:157;;;;;;10677:45;;10673:156;;733:12026;;;;;;;;10839:27;10835:104;;10999:14;;;;;:::i;:::-;-1:-1:-1;;;;;733:12026:157;;11021:57;;;;733:12026;;-1:-1:-1;;;11021:57:157;;-1:-1:-1;;;;;733:12026:157;;;11021:57;;733:12026;11057:10;733:12026;;;;;;;;;;;;;;;;;;;;;11021:57;733:12026;;-1:-1:-1;;;;;733:12026:157;;11021:57;;;;;;;;733:12026;;;;;;;11208:25;733:12026;;11241:21;733:12026;;;;;6804:41:217;733:12026:157;;10372:32;733:12026;;;-1:-1:-1;;;7537:60:217;;733:12026:157;;;7537:60:217;;733:12026:157;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;7537:60:217;;;;;;;733:12026:157;7537:60:217;;;733:12026:157;;;;;;;;:::i;:::-;;;;;;;;;;10372:12;733:12026;-1:-1:-1;;;;;733:12026:157;;7673:52:217;;;:::i;:::-;733:12026:157;7756:23:217;733:12026:157;;;-1:-1:-1;;;7756:67:217;;-1:-1:-1;;;;;733:12026:157;;;;7756:67:217;;733:12026:157;;;;;;;;;;;;7756:67:217;;;;;;;733:12026:157;7756:67:217;;;733:12026:157;-1:-1:-1;;;;;;733:12026:157;7731:93:217;;;:::i;:::-;733:12026:157;-1:-1:-1;;;;;7847:14:217;;;:::i;:::-;733:12026:157;;7847:83:217;;;7830:100;;;:::i;:::-;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;:::i;:::-;;;;;;;;;;7996:23:217;733:12026:157;;;-1:-1:-1;;;7996:62:217;;733:12026:157;;;7996:62:217;;733:12026:157;-1:-1:-1;;;;;733:12026:157;;;;;;;;;7996:62:217;;;;;;;733:12026:157;7996:62:217;;;7847:83;7984:74;733:12026:157;7984:74:217;733:12026:157;7984:74:217;;;;:::i;:::-;733:12026:157;;;-1:-1:-1;;;8076:52:217;;733:12026:157;;;8076:52:217;;733:12026:157;;;;;;8076:52:217;;;;;;;;;733:12026:157;8076:52:217;;;7847:83;8064:64;8206:6;8064:64;;;;:::i;8206:6::-;10372:32:157;733:12026;;;-1:-1:-1;;;8225:73:217;;-1:-1:-1;;;;;733:12026:157;;;;8225:73:217;;733:12026:157;;;;;;;;;;;;;;;;;;;8225:73:217;;;;;;;733:12026:157;8225:73:217;;;7847:83;-1:-1:-1;8224:74:217;;733:12026:157;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;8455:14:217;;;:::i;:::-;733:12026:157;;8436:33:217;;;:::i;:::-;733:12026:157;8482:29:217;733:12026:157;;;-1:-1:-1;;;8482:62:217;;-1:-1:-1;;;;;733:12026:157;;;;8482:62:217;;733:12026:157;;;;;;;;;;8482:62:217;;;;;;733:12026:157;8482:62:217;733:12026:157;8482:62:217;;;8220:1546;-1:-1:-1;8478:826:217;;;8482:29;733:12026:157;;;-1:-1:-1;;;8585:60:217;;-1:-1:-1;;;;;733:12026:157;;;;8585:60:217;;733:12026:157;;;;;;;;;;8585:60:217;;;;;;8759:28;8674:56;733:12026:157;;8585:60:217;8878:11;8585:60;733:12026:157;8585:60:217;;;8478:826;733:12026:157;;;;8694:28:217;733:12026:157;;;8694:28:217;:::i;8674:56::-;733:12026:157;;;8759:28:217;:::i;8878:11::-;9805:33;733:12026:157;;9805:33:217;:::i;:::-;9845:22;733:12026:157;9879:13:217;;9918:3;733:12026:157;;9894:22:217;;;;;9999:55;9918:3;9969:15;733:12026:157;9951:33:217;733:12026:157;9969:15:217;;;;:::i;9918:3::-;9879:13;;;9894:22;;;;10133:13;9894:22;10133:13;;:::i;:::-;10372:32:157;733:12026;;;-1:-1:-1;;;;;733:12026:157;11275:81;;;;;733:12026;;-1:-1:-1;;;11275:81:157;;-1:-1:-1;;;;;733:12026:157;;;11275:81;;733:12026;;;;;;;;;;;;;;;;;;;;;;;;11275:81;;;;;;;;9874:187:217;-1:-1:-1;;733:12026:157;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;11057:10;;733:12026;;;;11368:82;;733:12026;;;;11368:82;733:12026;11275:81;;;;:::i;:::-;733:12026;;11275:81;;;;8585:60:217;;;;733:12026:157;8585:60:217;733:12026:157;8585:60:217;;;;;;;:::i;:::-;;;;8478:826;10372:32:157;733:12026;;;-1:-1:-1;;;8944:106:217;;-1:-1:-1;;;;;733:12026:157;;;;8944:106:217;;733:12026:157;;;;;;;;;;8944:106:217;;;;;;9164:28;9079:56;733:12026:157;;8944:106:217;9283:11;8944:106;733:12026:157;8944:106:217;;;733:12026:157;;;;9099:28:217;733:12026:157;;;9099:28:217;:::i;9283:11::-;8478:826;;8482:62;;;;733:12026:157;8482:62:217;733:12026:157;8482:62:217;;;;;;;:::i;:::-;;;;8220:1546;-1:-1:-1;9391:21:217;733:12026:157;;;-1:-1:-1;;;9391:100:217;;-1:-1:-1;;;;;733:12026:157;;;;9391:100:217;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:157;;;;;;-1:-1:-1;;733:12026:157;;;;;-1:-1:-1;;733:12026:157;9391:100:217;;;;;;;733:12026:157;;;9391:100:217;;;8220:1546;9500:26;733:12026:157;9540:13:217;;9577:3;733:12026:157;;9555:20:217;;;;;9592:30;9577:3;9610:12;;;;;:::i;9577:3::-;9540:13;;;9555:20;;;;;;;9749:9;9555:20;;;;9639:33;733:12026:157;;;9639:33:217;:::i;9391:100::-;;;;;;;;;;;;;:::i;:::-;;;733:12026:157;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9391:100:217;;;;;;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;8225:73:217;;;;733:12026:157;8225:73:217;733:12026:157;8225:73:217;;;;;;;:::i;:::-;;;;8076:52;;;;;733:12026:157;8076:52:217;;733:12026:157;8076:52:217;;;;;;733:12026:157;8076:52:217;;;:::i;:::-;;;733:12026:157;;;;-1:-1:-1;733:12026:157;;;;;8206:6:217;8076:52;;;;;-1:-1:-1;8076:52:217;;7996:62;;733:12026:157;7996:62:217;;733:12026:157;7996:62:217;;;;;;733:12026:157;7996:62:217;;;:::i;:::-;;;733:12026:157;;;;-1:-1:-1;733:12026:157;;7996:62:217;;;;;-1:-1:-1;7996:62:217;;7847:83;-1:-1:-1;;;;;;7916:14:217;;;:::i;:::-;733:12026:157;;7847:83:217;;7756:67;;733:12026:157;7756:67:217;;733:12026:157;7756:67:217;;;;;;733:12026:157;7756:67:217;;;:::i;:::-;;;733:12026:157;;;;;;;;:::i;:::-;7756:67:217;;;;;;-1:-1:-1;7756:67:217;;7537:60;;733:12026:157;7537:60:217;;733:12026:157;7537:60:217;;;;;;733:12026:157;7537:60:217;;;:::i;:::-;;;733:12026:157;;;;;;7537:60:217;;;;;;-1:-1:-1;7537:60:217;;11021:57:157;;;;:::i;:::-;733:12026;;11021:57;;;;10835:104;733:12026;;;;10875:64;;;;;;733:12026;10875:64;;733:12026;;;;;;;10875:64;10673:156;733:12026;;-1:-1:-1;;;10739:83:157;;-1:-1:-1;;;;;733:12026:157;;;;10739:83;;733:12026;;;;;;;;;;;7473:79;10561:105;-1:-1:-1;733:12026:157;;-1:-1:-1;;;10595:71:157;;-1:-1:-1;;;;;733:12026:157;;;;10595:71;;733:12026;;;;;;;;;7473:79;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;10372:65;;733:12026;10372:65;;733:12026;10372:65;;;;;;733:12026;10372:65;;;:::i;:::-;;;733:12026;;;;10362:75;733:12026;;10372:65;;;;;-1:-1:-1;10372:65:157;;;733:12026;;971:66:43;733:12026:157;;971:66:43;;;;10219:24:157;;;;733:12026;10219:24;;733:12026;10219:24;;;;;;733:12026;10219:24;;;:::i;:::-;;;733:12026;;;;;;;:::i;:::-;10219:24;;;;;;;-1:-1:-1;10219:24:157;;;733:12026;;971:66:43;733:12026:157;;971:66:43;;;;733:12026:157;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;12531:12;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2333:6:46;-1:-1:-1;;;;;733:12026:157;2324:4:46;2316:23;733:12026:157;;;;;-1:-1:-1;;;;;;;;;;;733:12026:157;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:157;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:46;733:12026:157;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;733:12026:157;;;;;1971:30:46;1963:87;:::i;:::-;1303:62:39;;:::i;:::-;971:66:43;;733:12026:157;;;;;3330:17:43;;;;;;;;:::i;3232:526::-;733:12026:157;;;;;;;971:66:43;;;3383:63;;;;733:12026:157;3383:63:43;;;;733:12026:157;;3383:63:43;;;3232:526;-1:-1:-1;3379:302:43;;733:12026:157;;-1:-1:-1;;;3610:56:43;;733:12026:157;3610:56:43;;971:66;;;;733:12026:157;971:66:43;;733:12026:157;971:66:43;733:12026:157;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;3610:56;3379:302;3496:28;;;;971:66;;2171:17;;;:::i;:::-;2204:27;733:12026:157;2204:27:43;;733:12026:157;;2523:15:43;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;733:12026:157;;2519:123:43;733:12026:157;;;7318:69:63;733:12026:157;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;733:12026:157;;;;7276:25:63;;;;;;;:::i;:::-;7318:69;;:::i;:::-;;2519:123:43;;;;;;2523:28;;733:12026:157;2523:28:43;;971:66;733:12026:157;;-1:-1:-1;;;971:66:43;;733:12026:157;971:66:43;;;;;;733:12026:157;971:66:43;;733:12026:157;971:66:43;733:12026:157;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;733:12026:157;;;;;;;-1:-1:-1;;733:12026:157;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;11880:16;733:12026;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1898:6:46;733:12026:157;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;733:12026:157;;;;;1971:30:46;1963:87;:::i;:::-;1303:62:39;;:::i;:::-;733:12026:157;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;971:66:43;;733:12026:157;3232:526:43;733:12026:157;;;3330:17:43;;;;;;;;:::i;3232:526::-;733:12026:157;;;;;;;971:66:43;;;3383:63;;;;733:12026:157;3383:63:43;;;;733:12026:157;;3383:63:43;;;3232:526;-1:-1:-1;3379:302:43;;733:12026:157;;-1:-1:-1;;;3610:56:43;;733:12026:157;3610:56:43;;971:66;;;;;;;733:12026:157;971:66:43;733:12026:157;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;3610:56;3379:302;3496:28;;;;971:66;;2171:17;;;:::i;:::-;2204:27;733:12026:157;2204:27:43;;733:12026:157;;2523:15:43;;;:28;;;2519:123;;3232:526;;;;733:12026:157;;2523:28:43;;733:12026:157;2523:28:43;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;733:12026:157;;;;;;;-1:-1:-1;;733:12026:157;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;3384:37:157;:58;;;;;;733:12026;;-1:-1:-1;;;3384:58:157;;:12;733:12026;3384:58;;733:12026;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;3384:58;;;;;;;;733:12026;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;12151:20;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:157;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;-1:-1:-1;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:157;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;;;:::i;:::-;;;;2471:103:48;;:::i;:::-;733:12026:157;1921:6;971:66:43;733:12026:157;1917:57;;4731:16;;;:::i;:::-;4759:12;;4755:65;;4862:32;733:12026;;;-1:-1:-1;;;4862:65:157;;733:12026;4862:65;;733:12026;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;4862:65;;;;;;;;;;733:12026;4852:75;;;;;:::i;:::-;5004:10;;733:12026;;4987:16;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5061:1023;;733:12026;6154:14;;;;;6229;6154;;;;;;:::i;:::-;6229;;:::i;:::-;733:12026;;;4862:32;733:12026;;;;971:66:43;;;;;;;6383:62:157;;;;;;;;6463:99;6383:62;733:12026;6383:62;;;;;733:12026;;;;;;;;;:::i;:::-;;;;;;6299:152;;;733:12026;;;;;;6299:152;;733:12026;;;;5004:10;733:12026;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;5004:10;6463:99;;733:12026;3053:22:48;733:12026:157;;;6383:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;733:12026;;971:66:43;733:12026:157;;971:66:43;;;;5061:1023:157;733:12026;;;;;;;;;971:66:43;;;;;;;5198:62:157;;;;;;;;;;;733:12026;5198:62;;;;;;5061:1023;-1:-1:-1;733:12026:157;;;;5198:86;;;:139;;5061:1023;5185:893;;;733:12026;;;;;5483:22;;;5479:398;5483:22;;;733:12026;;5603:10;733:12026;5557:22;733:12026;;5557:22;:::i;:::-;5004:10;733:12026;;5603:10;;;:::i;:::-;6229:14;5626:18;5479:398;5061:1023;;;;;;;5479:398;6229:14;733:12026;;5805:60;733:12026;;;5861:3;5822:35;5787:79;733:12026;;5822:35;;:::i;5805:60::-;5787:79;;:::i;:::-;5479:398;;5185:893;6229:14;733:12026;;6058:10;733:12026;;;;;;5004:10;733:12026;;6058:10;;:::i;5198:139::-;733:12026;;;;;;;;5296:41;5198:139;;:62;;;;;;;;;;;;;;:::i;:::-;;;;;733:12026;;;971:66:43;;;;;;;;4862:65:157;;;;;;;;;;;;;;;:::i;:::-;;;733:12026;;;;4852:75;733:12026;;4862:65;;;;;;;733:12026;;;;;;;-1:-1:-1;;733:12026:157;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;3846:32:157;:48;;;;;;733:12026;;-1:-1:-1;;;3846:48:157;;:12;733:12026;3846:48;;733:12026;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;3846:48;;;;;;;;733:12026;;;;;;;;;-1:-1:-1;;733:12026:157;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;3538:38:157;;:60;;;;;;733:12026;;-1:-1:-1;;;3538:60:157;;:12;733:12026;3538:60;;733:12026;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;3538:60;;;;;;;;733:12026;;;3538:60;;;;:::i;733:12026::-;;;;-1:-1:-1;;;;;733:12026:157;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;733:12026:157;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;733:12026:157;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;733:12026:157;;;;;;:::o;:::-;-1:-1:-1;;;;;733:12026:157;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;:::o;:::-;-1:-1:-1;;;;;733:12026:157;;;;;;-1:-1:-1;;733:12026:157;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;:::o;1599:130:39:-;1513:6;733:12026:157;-1:-1:-1;;;;;733:12026:157;929:10:65;1662:23:39;733:12026:157;;1599:130:39:o;733:12026:157:-;;;;971:66:43;;;733:12026:157;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;733:12026:157;;-1:-1:-1;;;;;733:12026:157;;;-1:-1:-1;;;;;;733:12026:157;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;733:12026:157:-;;;;:::o;:::-;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;1699:281:43;1713:19:63;;:23;733:12026:157;;-1:-1:-1;;;;;;;;;;;733:12026:157;;-1:-1:-1;;;;;;733:12026:157;-1:-1:-1;;;;;733:12026:157;;;;;;;;;1699:281:43:o;733:12026:157:-;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;733:12026:157;;;;:::o;:::-;;;:::o;7682:628:63:-;;;;7886:418;;;733:12026:157;;;7917:22:63;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;733:12026:157;;8212:17:63;:::o;733:12026:157:-;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;;;;7886:418:63;733:12026:157;;;;-1:-1:-1;8991:21:63;:17;;9163:142;;;;;;;8987:379;733:12026:157;;-1:-1:-1;;;9335:20:63;;733:12026:157;9335:20:63;;;733:12026:157;;;;;;;;;;;;;;;9335:20:63;;;-1:-1:-1;733:12026:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:157;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;2580:287:48:-;1830:1;2712:7;733:12026:157;2712:19:48;1830:1;;;2712:7;733:12026:157;2580:287:48:o;1830:1::-;733:12026:157;;-1:-1:-1;;;1830:1:48;;;;;;;;;;;733:12026:157;1830:1:48;733:12026:157;;;1830:1:48;;;;733:12026:157;-1:-1:-1;;;;;733:12026:157;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;733:12026:157;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;8077:476;-1:-1:-1;8241:10:157;733:12026;;8224:16;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8280:17;8276:30;;733:12026;8241:10;;8450;8241;;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;8241:10;733:12026;;8450:10;;:::i;:::-;8473:75;8241:10;8473:75;;;8077:476::o;8276:30::-;8299:7;;;;;;;;:::o;733:12026::-;;;;;;;;:::o;:::-;;;;;;;;9442:394;-1:-1:-1;9609:10:157;733:12026;;9588:20;9648:16;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9648:21;9644:34;;733:12026;9609:10;;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9609:10;;;9752:79;9609:10;9752:79;;;9442:394::o;733:12026::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;9644:34;9671:7;;;;;:::o;733:12026::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;623:272:217:-;-1:-1:-1;;;;;733:12026:157;;;756:30:217;;;:97;;;;623:272;733:12026:157;;;;;623:272:217:o;733:12026:157:-;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;756:97:217;790:63;733:12026:157;;;790:29:217;733:12026:157;;;;;;971:66:43;;;;;;;790:63:217;;;;;733:12026:157;790:63:217;;;;;;;784:1;790:63;;;756:97;;;;;;790:63;;;;;;;;;;;;;;:::i;:::-;;;;1531:253;733:12026:157;;-1:-1:-1;;;1696:45:217;;-1:-1:-1;;;;;733:12026:157;;;1696:45:217;;;733:12026:157;1735:4:217;733:12026:157;;;;;1696:45:217;;733:12026:157;;;;;;;1696:45:217;;;;;;;-1:-1:-1;1696:45:217;;;1531:253;733:12026:157;;;;1531:253:217:o;733:12026:157:-;;;-1:-1:-1;;;733:12026:157;;1696:45:217;;733:12026:157;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;1696:45:217;;;;;;;;;;;;;;:::i;:::-;;;;733:12026:157;-1:-1:-1;;733:12026:157;;;;;;;:::o;3119:313:217:-;-1:-1:-1;;;;;733:12026:157;3222:23:217;;3218:50;;733:12026:157;;-1:-1:-1;;;3321:42:217;;3337:10;3321:42;;;733:12026:157;3357:4:217;733:12026:157;;;;;3321:42:217;;733:12026:157;;;;;;3321:42:217;;;;;;;3243:1;3321:42;;;3119:313;3321:53;;733:12026:157;;3119:313:217:o;733:12026:157:-;;;-1:-1:-1;;;733:12026:157;;3321:42:217;;733:12026:157;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;3321:42:217;;;;;;;;;;;;;;;;:::i;:::-;;;733:12026:157;;;;;;3321:42:217;;;;;;-1:-1:-1;3321:42:217;;3218:50;3255:7;;:::o;3889:603::-;-1:-1:-1;;;;;733:12026:157;;3983:30:217;;3979:117;;4110:9;733:12026:157;;;;;;971:66:43;;;4245:30:217;;;;4269:4;4245:30;;;733:12026:157;4245:30:217;;;;733:12026:157;4245:30:217;;;;;;;;;;;;4011:1;4245:30;;;3889:603;-1:-1:-1;733:12026:157;;-1:-1:-1;;;1482:68:93;;;;4305:10:217;733:12026:157;1482:68:93;;733:12026:157;4269:4:217;733:12026:157;;;;;;;;;;1482:68:93;;;733:12026:157;;;;1482:68:93;;733:12026:157;;1482:68:93;;;;;;:::i;:::-;;;:::i;:::-;733:12026:157;;;4370:30:217;;;;;;4269:4;4245:30;4370;;733:12026:157;4370:30:217;;;;;;;4011:1;4370:30;;;3889:603;4415:28;;;;;:::i;:::-;:39;733:12026:157;;3889:603:217;;:::o;733:12026:157:-;;;;;971:66:43;;;;733:12026:157;;4245:30:217;733:12026:157;;;;;;;;;;;;;;4370:30:217;;;;;;;;;;;;;;;:::i;:::-;;;733:12026:157;;;;-1:-1:-1;733:12026:157;4415:28:217;4370:30;;;;;;;;733:12026:157;;971:66:43;4011:1:217;971:66:43;;;;;4245:30:217;;;;;;;;;;;;;;;;;:::i;:::-;;;733:12026:157;;;;;;;;4245:30:217;;;;;;;;;;733:12026:157;;971:66:43;4011:1:217;971:66:43;;;;;733:12026:157;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;3979:117:217;4031:9;;;:20;733:12026:157;;4083:7:217:o;733:12026:157:-;;;-1:-1:-1;;;733:12026:157;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;;;5173:642:93;733:12026:157;;5535:69:98;;-1:-1:-1;;;;;733:12026:157;;;;:::i;:::-;-1:-1:-1;733:12026:157;;;;;;;;;;;5487:31:98;;;;;;;;;;;:::i;5535:69::-;733:12026:157;;5705:22:93;;;;:56;;;;;5173:642;733:12026:157;;;;;;5173:642:93;:::o;733:12026:157:-;;;;;971:66:43;;;;733:12026:157;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:157;;;;;5705:56:93;5731:30;;-1:-1:-1;5731:30:93;;;;;;;:::i;:::-;5705:56;;;;;733:12026:157;;;;;:::o;4919:693:217:-;;;;5103:12;;5099:39;;5210:3;5181:25;5169:45;5181:25;;;:::i;5169:45::-;-1:-1:-1;;;;;733:12026:157;;;;;;5225:30:217;;5221:289;;5592:14;;;;:::i;:::-;4919:693::o;5221:289::-;-1:-1:-1;5309:16:217;733:12026:157;;;-1:-1:-1;;;5364:78:217;;;;;;-1:-1:-1;;;;;733:12026:157;;;5364:78:217;;;733:12026:157;;;;;;;5459:30:217;;5114:1;;;;733:12026:157;;;;;5364:78:217;;733:12026:157;;;;5364:78:217;733:12026:157;5364:78:217;5301:149;;;;;;:::i;:::-;5459:30;;:::i;5099:39::-;5125:7;;;;:::o;941:175:93:-;733:12026:157;;-1:-1:-1;;;1050:58:93;;;;-1:-1:-1;;;;;733:12026:157;;;;1050:58:93;;;733:12026:157;;;;;;;;;1050:58:93;;;;;;733:12026:157;;1050:58:93;:::i;:::-;;:::i;733:12026:157:-;;;;;;;;;:::o;:::-;;;;-1:-1:-1;733:12026:157;;;;;-1:-1:-1;733:12026:157;;;;7537:27:217;733:12026:157;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;10156:657:217:-;;;;-1:-1:-1;;;;;733:12026:157;10156:657:217;733:12026:157;;10368:30:217;733:12026:157;;;;10452:16:217;733:12026:157;;;;;10500:72:217;;;;;;10523:25;;;;10500:72;;733:12026:157;;;;10500:72:217;;;733:12026:157;;;;;;;;;;;;;10396:1:217;733:12026:157;;;;;;;-1:-1:-1;;;;733:12026:157;;;-1:-1:-1;;733:12026:157;;;;;;;;;;;;;;;;;10396:1:217;733:12026:157;;;;;;10500:72:217;;;;;10396:1;10500:72;;;;;;10589:30;10500:72;;;733:12026:157;;10500:72:217;;;;;;:::i;733:12026:157:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10364:445:217;10693:13;;;;10396:1;10732:3;733:12026:157;;10708:22:217;;;;;10766:14;10747:47;10766:14;;10732:3;10766:14;;;:::i;:::-;733:12026:157;;10782:11:217;;;;:::i;:::-;733:12026:157;10747:47:217;;;:::i;:::-;10732:3;:::i;:::-;10693:13;;10708:22;;;;;;;10156:657::o","linkReferences":{"src/utils/structs/MarketConfig.sol":{"MarketConfig":[{"start":3900,"length":20},{"start":5367,"length":20},{"start":5832,"length":20},{"start":6717,"length":20},{"start":12949,"length":20},{"start":15671,"length":20},{"start":15796,"length":20}]}},"immutableReferences":{"31740":[{"start":11380,"length":32},{"start":11680,"length":32},{"start":12476,"length":32}]}},"methodIdentifiers":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":"e5fc48ee","buyFromCollection(address,uint256,address,uint256)":"6d374d81","cancelCollectionOffer(address)":"9214be52","cancelCollectionSalePrice(address)":"85b1eb27","getCollectionOffer(address,address)":"381eff7c","getCollectionSalePrice(address,address)":"25bc1330","getMarketConfig()":"614bd944","initialize(address,address,address,address,address,address,address,address)":"8a29e2de","isPaused()":"b187bd26","makeCollectionOffer(address,address,uint256)":"22f193d0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setApprovedTokenRegistry(address)":"e4e87e3b","setCollectionSalePrice(address,address,uint256,address[],uint8[])":"d9ed2096","setContractPaused(bool)":"882796f1","setMarketplaceSettings(address)":"176ab440","setNetworkBeneficiary(address)":"3492e5a8","setPayments(address)":"af231a58","setRoyaltyEngine(address)":"21ede032","setSpaceOperatorRegistry(address)":"7f358230","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AmountCantBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractPaused\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_suppliedCurrency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_configuredCurrency\",\"type\":\"address\"}],\"name\":\"CurrencyMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requiredAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_specifiedAmount\",\"type\":\"uint256\"}],\"name\":\"IncorrectAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTokenRange\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"}],\"name\":\"NoOfferExistsForBuyer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"SalePriceDoesntExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenNotPartOfSalePrice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"AcceptCollectionOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"CollectionOfferCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"CollectionOfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"CollectionSalePriceCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"CollectionSalePriceSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptCollectionOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buyFromCollection\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"cancelCollectionOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"cancelCollectionSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"}],\"name\":\"getCollectionOffer\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marketplaceFee\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareCollectionMarket.CollectionOffer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"}],\"name\":\"getCollectionSalePrice\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareCollectionMarket.CollectionSalePrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"contract IPayments\",\"name\":\"payments\",\"type\":\"address\"},{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"contract IStakingSettings\",\"name\":\"stakingSettings\",\"type\":\"address\"},{\"internalType\":\"contract IRareStakingRegistry\",\"name\":\"stakingRegistry\",\"type\":\"address\"}],\"internalType\":\"struct MarketConfig.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"makeCollectionOffer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"}],\"name\":\"setApprovedTokenRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setCollectionSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPaused\",\"type\":\"bool\"}],\"name\":\"setContractPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"}],\"name\":\"setNetworkBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"}],\"name\":\"setPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"}],\"name\":\"setRoyaltyEngine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"setSpaceOperatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_buyer\":\"Address of the user who submitted the collection offer.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddrs\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"buyFromCollection(address,uint256,address,uint256)\":{\"details\":\"Users will still need to cancel collection offers if previously placed.\",\"params\":{\"_amount\":\"Amount the piece if being bought for (excluding marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelCollectionOffer(address)\":{\"params\":{\"_originContract\":\"Contract address of collection.\"}},\"cancelCollectionSalePrice(address)\":{\"params\":{\"_originContract\":\"Contract address of the collection.\"}},\"getCollectionOffer(address,address)\":{\"params\":{\"_buyer\":\"The user who placed the collection offer.\",\"_originContract\":\"The nft contract the collection offer was made on.\"},\"returns\":{\"_0\":\"CollectionOffer struct containing the currencyAddress, amount, and marketplace fee.\"}},\"getCollectionSalePrice(address,address)\":{\"params\":{\"_originContract\":\"The nft contract the collection sales price was set on.\",\"_seller\":\"The user who set the collection sales price.\"},\"returns\":{\"_0\":\"CollectionSalePrice struct containing the currencyAddress, amount, token range, and split information.\"}},\"getMarketConfig()\":{\"returns\":{\"_0\":\"MarketConfig.Config struct with addresses for NetworkBeneficiary, MarketplaceSettings, SpaceOperatorRegistry, RoyaltyEngine, Payments, and ApprovedTokenRegistry.\"}},\"isPaused()\":{\"returns\":{\"_0\":\"bool flag on whether the contract is paused or not.\"}},\"makeCollectionOffer(address,address,uint256)\":{\"params\":{\"_amount\":\"Amount being offered.\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Address of the collection the offer is placed on.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setCollectionSalePrice(address,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_currencyAddress\":\"Contract address of the currency the collection is being listed for.\",\"_originContract\":\"Contract address of the collection being listed.\",\"_splitAddrs\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"collectionOffers\":{\"details\":\"Mapping from UserAddr => CollectionAddr => CollectionOffer Struct\"},\"collectionSalePrices\":{\"details\":\"Mapping from UserAddr => CollectionAddr => CollectionSalePrice Struct\"},\"paused\":{\"details\":\"Flag to show if the contract is paused or not\"}},\"version\":1},\"userdoc\":{\"errors\":{\"AmountCantBeZero()\":[{\"notice\":\"Emitted when an offer or sale price with an amount of 0 is made via {makeCollectionOffer} and {setCollectionSalePrice}.\"}],\"ContractPaused()\":[{\"notice\":\"Emitted via functions if the contract has been paused.\"}],\"CurrencyMismatch(address,address)\":[{\"notice\":\"Emitted via {buyFromCollection} and {acceptCollectionOffer} when the currency address doesnt match the sale price/offer.\"}],\"IncorrectAmount(uint256,uint256)\":[{\"notice\":\"Emitted via {acceptCollectionOffer} and {buyFromCollection} when the required amount isnt sent.\"}],\"InvalidTokenRange()\":[{\"notice\":\"Emitted when a sale price has an invalid token range.\"}],\"NoOfferExistsForBuyer(address,address)\":[{\"notice\":\"Emitted via {acceptCollectionOffer} if no offer exists on {_originContract} for {_buyer}.\"}],\"SalePriceDoesntExist(address,address)\":[{\"notice\":\"Emitted via {buyFromCollection} if no sale price exists for {_originContract} and {_seller}.\"}],\"TokenNotPartOfSalePrice(address,address,uint256)\":[{\"notice\":\"Emitted via {buyFromCollection} if the token is not in the sale price range.\"}]},\"events\":{\"AcceptCollectionOffer(address,address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when a collection offer is accepted via {acceptCollectionOffer}.\"},\"CollectionOfferCancelled(address,address)\":{\"notice\":\"Emitted when a collection offer is cancelled via {cancelCollectionOffer}.\"},\"CollectionOfferPlaced(address,address,address,uint256)\":{\"notice\":\"Emitted when the a collection offer is placed via {makeCollectionOffer}.\"},\"CollectionSalePriceCancelled(address,address)\":{\"notice\":\"Emitted when a collection sale price has been cancelled via {cancelCollectionSalePrice}.\"},\"CollectionSalePriceSet(address,address,address,uint256)\":{\"notice\":\"Emitted when a collection sale price is set via {setCollectionSalePrice}.\"},\"Sold(address,address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when a token is bought from a sale price via {buyFromCollection}.\"}},\"kind\":\"user\",\"methods\":{\"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept a collection offer that as made.\"},\"buyFromCollection(address,uint256,address,uint256)\":{\"notice\":\"Purchase token under the current owners collection sale price.\"},\"cancelCollectionOffer(address)\":{\"notice\":\"Cancels an existing collection offer the sender has placed.\"},\"cancelCollectionSalePrice(address)\":{\"notice\":\"Cancels an existing collection sale price set by the sender.\"},\"getCollectionOffer(address,address)\":{\"notice\":\"Queries the collection offer made on {_originContract} by {_buyer}.\"},\"getCollectionSalePrice(address,address)\":{\"notice\":\"Queries the collection sales price set on {_originContract} by {_seller}.\"},\"getMarketConfig()\":{\"notice\":\"Query the current market config being used.\"},\"isPaused()\":{\"notice\":\"Query the contract to see the current pause status.\"},\"makeCollectionOffer(address,address,uint256)\":{\"notice\":\"Place an offer for a collection that can be accepted by any token owner.\"},\"setCollectionSalePrice(address,address,uint256,address[],uint8[])\":{\"notice\":\"Set a sale price for all pieces under {_originContract}.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/RareCollectionMarket.sol\":\"RareCollectionMarket\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/collection/IRareCollectionMarket.sol\":{\"keccak256\":\"0x7cd8c599bc8ca7423f0443c2226b8339ec8ca8c4317779f8f8f9d4b734ff7a5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d99b83c8768bb879e2c1b2e5b604eb7ed2a833ef59762c54588ba78d9e3effea\",\"dweb:/ipfs/QmdoA7GZ8A4pvcUE1bW2Zh3nb3FVCskNGVSRb3HTNDSXJC\"]},\"src/collection/RareCollectionMarket.sol\":{\"keccak256\":\"0x71d01cbb242b77caab282903f053bd416d1ff04e5b95f265d00d0c5ff94d5c20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://360340761ef62de41498cebf986c8113c7e32a4f022f9157df351ccd35bfb067\",\"dweb:/ipfs/Qmc9a9kw2wPa6rKV3htLB4wMUhLg89JAKFjerHiWpDCE1F\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/utils/MarketUtils.sol\":{\"keccak256\":\"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da\",\"dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY\"]},\"src/utils/structs/MarketConfig.sol\":{\"keccak256\":\"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369\",\"dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AmountCantBeZero"},{"inputs":[],"type":"error","name":"ContractPaused"},{"inputs":[{"internalType":"address","name":"_suppliedCurrency","type":"address"},{"internalType":"address","name":"_configuredCurrency","type":"address"}],"type":"error","name":"CurrencyMismatch"},{"inputs":[{"internalType":"uint256","name":"_requiredAmount","type":"uint256"},{"internalType":"uint256","name":"_specifiedAmount","type":"uint256"}],"type":"error","name":"IncorrectAmount"},{"inputs":[],"type":"error","name":"InvalidTokenRange"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_buyer","type":"address"}],"type":"error","name":"NoOfferExistsForBuyer"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"address","name":"_originContract","type":"address"}],"type":"error","name":"SalePriceDoesntExist"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"TokenNotPartOfSalePrice"},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"AcceptCollectionOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true}],"type":"event","name":"CollectionOfferCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"CollectionOfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true}],"type":"event","name":"CollectionSalePriceCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"CollectionSalePriceSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buyFromCollection"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelCollectionSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_buyer","type":"address"}],"stateMutability":"view","type":"function","name":"getCollectionOffer","outputs":[{"internalType":"struct IRareCollectionMarket.CollectionOffer","name":"","type":"tuple","components":[{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"marketplaceFee","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_seller","type":"address"}],"stateMutability":"view","type":"function","name":"getCollectionSalePrice","outputs":[{"internalType":"struct IRareCollectionMarket.CollectionSalePrice","name":"","type":"tuple","components":[{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketConfig","outputs":[{"internalType":"struct MarketConfig.Config","name":"","type":"tuple","components":[{"internalType":"address","name":"networkBeneficiary","type":"address"},{"internalType":"contract IMarketplaceSettings","name":"marketplaceSettings","type":"address"},{"internalType":"contract ISpaceOperatorRegistry","name":"spaceOperatorRegistry","type":"address"},{"internalType":"contract IRoyaltyEngineV1","name":"royaltyEngine","type":"address"},{"internalType":"contract IPayments","name":"payments","type":"address"},{"internalType":"contract IApprovedTokenRegistry","name":"approvedTokenRegistry","type":"address"},{"internalType":"contract IStakingSettings","name":"stakingSettings","type":"address"},{"internalType":"contract IRareStakingRegistry","name":"stakingRegistry","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"makeCollectionOffer"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_approvedTokenRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setApprovedTokenRegistry"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setCollectionSalePrice"},{"inputs":[{"internalType":"bool","name":"_isPaused","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setContractPaused"},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceSettings"},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkBeneficiary"},{"inputs":[{"internalType":"address","name":"_payments","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPayments"},{"inputs":[{"internalType":"address","name":"_royaltyEngine","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyEngine"},{"inputs":[{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorRegistry"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount the offer was for/and is being accepted.","_buyer":"Address of the user who submitted the collection offer.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddrs":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"buyFromCollection(address,uint256,address,uint256)":{"details":"Users will still need to cancel collection offers if previously placed.","params":{"_amount":"Amount the piece if being bought for (excluding marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelCollectionOffer(address)":{"params":{"_originContract":"Contract address of collection."}},"cancelCollectionSalePrice(address)":{"params":{"_originContract":"Contract address of the collection."}},"getCollectionOffer(address,address)":{"params":{"_buyer":"The user who placed the collection offer.","_originContract":"The nft contract the collection offer was made on."},"returns":{"_0":"CollectionOffer struct containing the currencyAddress, amount, and marketplace fee."}},"getCollectionSalePrice(address,address)":{"params":{"_originContract":"The nft contract the collection sales price was set on.","_seller":"The user who set the collection sales price."},"returns":{"_0":"CollectionSalePrice struct containing the currencyAddress, amount, token range, and split information."}},"getMarketConfig()":{"returns":{"_0":"MarketConfig.Config struct with addresses for NetworkBeneficiary, MarketplaceSettings, SpaceOperatorRegistry, RoyaltyEngine, Payments, and ApprovedTokenRegistry."}},"isPaused()":{"returns":{"_0":"bool flag on whether the contract is paused or not."}},"makeCollectionOffer(address,address,uint256)":{"params":{"_amount":"Amount being offered.","_currencyAddress":"Address of the token being offered.","_originContract":"Address of the collection the offer is placed on."}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setCollectionSalePrice(address,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount of the currency the asset is being listed for (including all decimal points).","_currencyAddress":"Contract address of the currency the collection is being listed for.","_originContract":"Contract address of the collection being listed.","_splitAddrs":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept a collection offer that as made."},"buyFromCollection(address,uint256,address,uint256)":{"notice":"Purchase token under the current owners collection sale price."},"cancelCollectionOffer(address)":{"notice":"Cancels an existing collection offer the sender has placed."},"cancelCollectionSalePrice(address)":{"notice":"Cancels an existing collection sale price set by the sender."},"getCollectionOffer(address,address)":{"notice":"Queries the collection offer made on {_originContract} by {_buyer}."},"getCollectionSalePrice(address,address)":{"notice":"Queries the collection sales price set on {_originContract} by {_seller}."},"getMarketConfig()":{"notice":"Query the current market config being used."},"isPaused()":{"notice":"Query the contract to see the current pause status."},"makeCollectionOffer(address,address,uint256)":{"notice":"Place an offer for a collection that can be accepted by any token owner."},"setCollectionSalePrice(address,address,uint256,address[],uint8[])":{"notice":"Set a sale price for all pieces under {_originContract}."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/RareCollectionMarket.sol":"RareCollectionMarket"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/collection/IRareCollectionMarket.sol":{"keccak256":"0x7cd8c599bc8ca7423f0443c2226b8339ec8ca8c4317779f8f8f9d4b734ff7a5b","urls":["bzz-raw://d99b83c8768bb879e2c1b2e5b604eb7ed2a833ef59762c54588ba78d9e3effea","dweb:/ipfs/QmdoA7GZ8A4pvcUE1bW2Zh3nb3FVCskNGVSRb3HTNDSXJC"],"license":"MIT"},"src/collection/RareCollectionMarket.sol":{"keccak256":"0x71d01cbb242b77caab282903f053bd416d1ff04e5b95f265d00d0c5ff94d5c20","urls":["bzz-raw://360340761ef62de41498cebf986c8113c7e32a4f022f9157df351ccd35bfb067","dweb:/ipfs/Qmc9a9kw2wPa6rKV3htLB4wMUhLg89JAKFjerHiWpDCE1F"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/utils/MarketUtils.sol":{"keccak256":"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875","urls":["bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da","dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY"],"license":"MIT"},"src/utils/structs/MarketConfig.sol":{"keccak256":"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1","urls":["bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369","dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6"],"license":"MIT"}},"version":1},"id":157} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptCollectionOffer","inputs":[{"name":"_buyer","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddrs","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"buyFromCollection","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_buyer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareCollectionMarket.CollectionOffer","components":[{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_seller","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareCollectionMarket.CollectionSalePrice","components":[{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"getMarketConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct MarketConfig.Config","components":[{"name":"networkBeneficiary","type":"address","internalType":"address"},{"name":"marketplaceSettings","type":"address","internalType":"contract IMarketplaceSettings"},{"name":"spaceOperatorRegistry","type":"address","internalType":"contract ISpaceOperatorRegistry"},{"name":"royaltyEngine","type":"address","internalType":"contract IRoyaltyEngineV1"},{"name":"payments","type":"address","internalType":"contract IPayments"},{"name":"approvedTokenRegistry","type":"address","internalType":"contract IApprovedTokenRegistry"},{"name":"stakingSettings","type":"address","internalType":"contract IStakingSettings"},{"name":"stakingRegistry","type":"address","internalType":"contract IRareStakingRegistry"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPaused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"makeCollectionOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovedTokenRegistry","inputs":[{"name":"_approvedTokenRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCollectionSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddrs","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractPaused","inputs":[{"name":"_isPaused","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceSettings","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkBeneficiary","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPayments","inputs":[{"name":"_payments","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyEngine","inputs":[{"name":"_royaltyEngine","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorRegistry","inputs":[{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AcceptCollectionOffer","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionOfferCancelled","inputs":[{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionOfferPlaced","inputs":[{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectionSalePriceCancelled","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CollectionSalePriceSet","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AmountCantBeZero","inputs":[]},{"type":"error","name":"ContractPaused","inputs":[]},{"type":"error","name":"CurrencyMismatch","inputs":[{"name":"_suppliedCurrency","type":"address","internalType":"address"},{"name":"_configuredCurrency","type":"address","internalType":"address"}]},{"type":"error","name":"IncorrectAmount","inputs":[{"name":"_requiredAmount","type":"uint256","internalType":"uint256"},{"name":"_specifiedAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidTokenRange","inputs":[]},{"type":"error","name":"NoOfferExistsForBuyer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_buyer","type":"address","internalType":"address"}]},{"type":"error","name":"SalePriceDoesntExist","inputs":[{"name":"_seller","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"}]},{"type":"error","name":"TokenNotPartOfSalePrice","inputs":[{"name":"_seller","type":"address","internalType":"address"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a08060405234610031573060805261541090816100378239608051818181612c7401528181612da001526130bc0152f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c8063176ab44014613d8f57806321ede03214613d1257806322f193d014613a2157806325bc1330146132ed5780633492e5a8146132705780633659cfe614613097578063381eff7c14612ff45780634f1ef28614612d2557806352d1902d14612c61578063614bd94414612b045780636d374d8114611af3578063715018a614611a955780637f35823014611a1857806385b1eb27146119ea578063882796f1146119b05780638a29e2de146115b65780638da5cb5b1461158d5780639214be521461154f578063af231a58146114d2578063b187bd26146114ae578063d9ed209614610fa8578063e4e87e3b14610f17578063e5fc48ee146101b85763f2fde38b1461012557600080fd5b346101b55760203660031901126101b55761013e613e14565b610146613f58565b6001600160a01b038116156101615761015e90613fb0565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346101b55760e03660031901126101b5576101d2613e14565b6101da613e2a565b906101e3613e56565b9060a4356001600160401b038111610f1357610203903690600401613f28565b939060c4356001600160401b038111610f0f57610224903690600401613f28565b9561022d614320565b60ff6101055416610efd576040516331a9108f60e11b815260443560048201526020816024816001600160a01b0389165afa908115610ef2578991610eb8575b50336001600160a01b0390911603610e73576102898433614cb6565b8015610e1e5760058111610dcd57868103610d73576000805b888210610d42576064915003610ced5760018060a01b03851688526101036020526040882060018060a01b0385166000526020526040600020604051906102e882613e7f565b80546001600160a01b03168252600181015460208301818152600290920154604084015215610cc457518060843503610ca45750516001600160a01b039081169087168103610c7557506001600160a01b03858116895261010360209081526040808b20928716600081815293909252822082815560018101839055600201919091553b15610aea57604051632142170760e11b81523360048201526001600160a01b038616602482015260448035908201528890818180606481010381836001600160a01b038b165af1801561081d57610c61575b50506103d7926103cf91369161438d565b9536916143eb565b908451825103610c005760fc546040516361fe24a960e11b8152608435600482018190529491602090829060249082906001600160a01b03165afa90811561085b57600091610bce575b506040519061042f82613e7f565b60028252604036602084013760fb546001600160a01b03168061045184615231565b526101025460405163e286ef3360e01b815233600482015290602090829060249082906001600160a01b03165afa90811561085b57600091610b94575b506001600160a01b03166104a184615254565b526001600160a01b036104b384615254565b5116610b7b575b6104c383615254565b6001600160a01b0390911690526040516104dc81613e7f565b600281526040366020830137610101546040516303fdde1160e21b815260843560048201526001600160a01b0390911690602081602481855afa90811561085b57600091610b48575b5060249160209161053585615231565b5260405163470d6ed960e11b8152608435600482015292839182905afa92831561085b578491600094610b0d575b506105789361057184615254565b52896152aa565b60fc54604051631446f21360e21b81526001600160a01b0385811660048301526044803560248401529192602092849290918391165afa90811561085b57600091610aee575b506108f3576040516024916105d282613ed1565b6001825260203681840137604051906105ea82613ed1565b60018252602036818401376001600160a01b039061060790615231565b511661061282615231565b5260fd54604051635dc22eff60e01b81523360048201529360209185919082906001600160a01b03165afa801561085b576024936000916108c4575b50156108675760fd54604051632260494f60e01b81523360048201529360209185919082906001600160a01b03165afa801561085b576106bb6106b260ff6064936106d69760009161082c575b501699836106ab8c608435614300565b0490614313565b98608435614300565b046106c583615231565b526106cf82615231565b51886152aa565b6106e08651615278565b91600095865b885188101561073f5761073361073991606461070f60ff6107078d8c615264565b51168b614300565b0461071a8b89615264565b52606461072c60ff6107078d8c615264565b04906142c4565b97614d6b565b966106e6565b89948961074c92846152aa565b60fc5484906001600160a01b0316803b1561082857604051635a3c652d60e01b81526001600160a01b03851660048201526044803560248301526001908201529082908290606490829084905af1801561081d57610805575b5050604080516001600160a01b03928316815260843560208201526044359181019190915291811692169033907fd746eda767465ff5307bdf346d8f0e530205a4dc2c0b8e7241a9fefc7e6dec7b9080606081015b0390a4600160655580f35b61080e90613e6c565b6108195783856107a5565b8380fd5b6040513d84823e3d90fd5b5080fd5b61084e915060203d602011610854575b6108468183613eec565b8101906142e7565b3861069b565b503d61083c565b6040513d6000823e3d90fd5b60fc5460405163b28a7bad60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b576106bb6106b260ff6064936108bf9760009161082c57501699836106ab8c608435614300565b6106d6565b6108e6915060203d6020116108ec575b6108de8183613eec565b810190614be9565b3861064e565b503d6108d4565b5060fe54604051637a99dc0160e11b81526001600160a01b0384811660048301526044803560248401526084359083015293989097929690955091939192600091889160649183918591165af196871561085b57600096879861099e575b50600095865b895188101561097e57610733610978916109718a8d615264565b51906142c4565b96610957565b9598909294976108bf9294975061099787608435614313565b96886152aa565b9097503d908188823e6109b18282613eec565b6040818381010312610aea578051916001600160401b038311610ae657808201601f848401011215610ae657828201516109ea81614376565b936109f86040519586613eec565b81855260208086019260051b8286010101908385018211610ae2578401602001915b818310610abe575050506020820151916001600160401b038311610aba57818101601f848301011215610aba578281015192610a5584614376565b9a610a636040519c8d613eec565b848c5260208c0193830160208660051b8486010101116101b557509190602083820101925b60208560051b82840101018410610aa6575050505050959638610951565b602080809486518152019401939250610a88565b8980fd5b82516001600160a01b0381168103610ade57815260209283019201610a1a565b8c80fd5b8b80fd5b8880fd5b8780fd5b610b07915060203d6020116108ec576108de8183613eec565b386105be565b915091926020823d602011610b40575b81610b2a60209383613eec565b810103126101b557505191908390610578610563565b3d9150610b1d565b906020823d602011610b73575b81610b6260209383613eec565b810103126101b55750516024610525565b3d9150610b55565b506001600160a01b03610b8d83615254565b51166104ba565b906020823d602011610bc6575b81610bae60209383613eec565b810103126101b55750610bc090614250565b3861048e565b3d9150610ba1565b906020823d602011610bf8575b81610be860209383613eec565b810103126101b557505138610421565b3d9150610bdb565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b610c6a90613e6c565b610aea5787386103be565b604051632e834cbf60e11b81526001600160a01b038881166004830152919091166024820152604490fd5b0390fd5b60449060405190630f81919b60e21b825260048201526084356024820152fd5b604051633ef5628160e01b81526001600160a01b03878116600483015288166024820152604490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff8216809203610d6e57610d6891610d62916142c4565b91614d6b565b906102a2565b600080fd5b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b90506020813d602011610eea575b81610ed360209383613eec565b81010312610ae657610ee490614250565b3861026d565b3d9150610ec6565b6040513d8b823e3d90fd5b60405163ab35696f60e01b8152600490fd5b8680fd5b8480fd5b50346101b55760203660031901126101b55780610f32613e14565b610f3a613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa4576040516386e5800760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b610f9d90613e6c565b6101b55780f35b5050fd5b50346101b55760a03660031901126101b557610fc2613e14565b610fca613e2a565b606480356001600160401b038111610f1357610fea903690600401613f28565b916084356001600160401b038111610f0f5761100a903690600401613f28565b909160ff6101055416610efd5761102086614c01565b61102a8733614cb6565b841561145a576005851161140a578185036113b157806000805b84811061138757500361133357506044351561132157611089611095936040519561106e87613e9a565b6001600160a01b03881687526044356020880152369161438d565b604085015236916143eb565b60608201523384526101046020526040842060018060a01b038416600052602052604060002060018060a01b038251166001600160601b0360a01b8254161781556020820151600182015560408201518051906001600160401b03821161130d57600160401b82116112a65760209060028401548360028601558084106112ed575b500160028301875260208720875b8381106112d057505050506003606091019101518051906001600160401b0382116112bc57600160401b82116112a657602090835483855580841061125a575b5001918552602085208160051c91865b83811061121b5750601f1981169003806111d1575b505060405160443581526001600160a01b0393841694909316923392507f4c172f9d7dfc4fbab9c54966d9334e977ce1ae637bbc08489b2762715ae1f6a09150602090a480f35b928693875b8181106111eb5750505001553880808061118a565b90919460206112116001928460ff8a5116919060ff809160031b9316831b921b19161790565b96019291016111d6565b87885b60208110611233575083820155600101611175565b865190969160019160209160ff60038b901b81811b199092169216901b179201960161121e565b611286908560005283600020601f80870160051c8201928188168061128c575b500160051c01906144fb565b38611165565b60001990818601918254918a0360031b1c1690553861127a565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b86526041600452602486fd5b82516001600160a01b031681830155602090920191600101611125565b6113079060028601600052848460002091820191016144fb565b38611117565b634e487b7160e01b87526041600452602487fd5b6040516346f1397d60e01b8152600490fd5b60849066020746f203130360cc1b6040519162461bcd60e51b835260206004840152602760248401527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c6044840152820152fd5b80925060051b8501359060ff8216809203610d6e576113a991610d62916142c4565b908291611044565b6084906b1d5cdd08189948195c5d585b60a21b6040519162461bcd60e51b835260206004840152602c60248401527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d6044840152820152fd5b6084906373697a6560e01b6040519162461bcd60e51b8352602060048401526024808401527f636865636b53706c6974733a3a53706c6974206578636565646564206d6178206044840152820152fd5b608490660c481cdc1b1a5d60ca1b6040519162461bcd60e51b835260206004840152602760248401527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044840152820152fd5b50346101b557806003193601126101b557602060ff61010554166040519015158152f35b50346101b55760203660031901126101b557806114ed613e14565b6114f5613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163c70c56c760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760203660031901126101b557611569613e14565b611571614320565b60ff6101055416610efd5761158590614443565b600160655580f35b50346101b557806003193601126101b5576033546040516001600160a01b039091168152602090f35b50346101b5576101003660031901126101b5576115d1613e14565b6115d9613e2a565b906115e2613e40565b6115ea613e56565b6084356001600160a01b0381168103610d6e5760a435906001600160a01b0382168203610d6e5760c435926001600160a01b0384168403610d6e5760e435946001600160a01b0386168603610d6e5788549760ff8960081c16159889809a6119a3575b801561198c575b156119305760ff1981166001178b558961191f575b506040516323e95fa960e01b81526001600160a01b039889166004820152908816602482015290871660448201529086166064820152908516608482015290841660a482015290831660c4820152911660e4820152610100816101048173__$7682c538d2a75d26dfca907f0e750789f4$__5af490811561191457839161180b575b5060018060a01b03815116906001600160601b0360a01b918260fb54161760fb5560018060a01b036020820151168260fc54161760fc5560018060a01b036040820151168260fd54161760fd5560018060a01b036060820151168260fe54161760fe5560018060a01b036080820151168260ff54161760ff5560018060a01b0360a082015116826101005416176101005560018060a01b0360c082015116610101908382541617905560e060018060a01b0391015116610102918254161790556117c460ff835460081c166117bf81614264565b614264565b6117cd33613fb0565b6117d45780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610100813d6101001161190c575b816118296101009383613eec565b81010312611908576040519061183e82613eb5565b61184781614250565b825260208101516001600160a01b0381168103610f1357602083015260408101516001600160a01b0381168103610f1357604083015260608101516001600160a01b0381168103610f1357606083015260808101516001600160a01b0381168103610f1357608083015260a08101516001600160a01b0381168103610f135760a083015260c0810151906001600160a01b0382168203610f135760c083019190915260e001516001600160a01b03811681036108195760e0820152386116eb565b8280fd5b3d915061181b565b6040513d85823e3d90fd5b61ffff1916610101178a5538611669565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156116545750600160ff821614611654565b50600160ff82161061164d565b50346101b55760203660031901126101b557600435801515809103610828576119d7613f58565b6101059060ff8019835416911617905580f35b50346101b55760203660031901126101b557611a04613e14565b60ff6101055416610efd5761015e90614512565b50346101b55760203660031901126101b55780611a33613e14565b611a3b613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa457604051630cf1420760e21b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b557806003193601126101b557611aae613f58565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5060803660031901126101b557611b08613e14565b611b10613e40565b611b18614320565b60ff6101055416610efd576040516331a9108f60e11b81526024803560048301529092906020908490816001600160a01b0385165afa928315612af9578493612abd575b50611b678184614cb6565b60fc546040516361fe24a960e11b8152606435600482015290602090829060249082906001600160a01b03165afa8015612ab2578590612a7e575b611baf91506064356142c4565b9260018060a01b03811685526101046020526040852060018060a01b03831660005260205260406000209360405194611be786613e9a565b60018060a01b03815416865260018101546020870152600281016040519081602082549182815201918a5260208a20908a5b818110612a5f5750505090611c3381600394930382613eec565b6040880152604051908192839101602081549384815201908a5260208a20928a905b80601f8301106128ce57611d6b9454918181106128ba575b8181106128a3575b81811061288c575b818110612875575b81811061285f575b818110612848575b818110612831575b81811061281a575b818110612803575b8181106127ec575b8181106127d5575b8181106127be575b8181106127a7575b818110612790575b818110612779575b818110612762575b81811061274b575b818110612734575b81811061271d575b818110612706575b8181106126ef575b8181106126d8575b8181106126c1575b8181106126aa575b818110612693575b81811061267c575b818110612665575b81811061264e575b818110612637575b818110612620575b818110612609575b106125fb575b500382613eec565b60608601526020850151156125d15784516001600160a01b0390811690851681036125a65750602085015180606435036125865750611daa9084614e59565b6001600160a01b0382163b15610f1357604051632142170760e11b81526001600160a01b0382166004820152336024808301919091523560448201528590818180606481010381836001600160a01b0389165af1801561081d57612572575b505060606040850151940151908451825103610c005760fc546040516361fe24a960e11b8152606435600482018190529491602090829060249082906001600160a01b03165afa90811561085b57600091612540575b5060405190611e6d82613e7f565b60028252604036602084013760fb546001600160a01b031680611e8f84615231565b526101025460405163e286ef3360e01b81526001600160a01b038781166004830152909160209183916024918391165afa90811561085b57600091612506575b506001600160a01b0316611ee284615254565b526001600160a01b03611ef484615254565b51166124ed575b611f0483615254565b6001600160a01b039091169052604051611f1d81613e7f565b600281526040366020830137610101546040516303fdde1160e21b815260643560048201526001600160a01b0390911690602081602481855afa90811561085b576000916124ba575b50602491602091611f7685615231565b5260405163470d6ed960e11b8152606435600482015292839182905afa92831561085b57849160009461247f575b50611fb29361057184615254565b60fc54604051631446f21360e21b81526001600160a01b0384811660048301526024803590830152909160209183916044918391165afa90811561085b57600091612460575b506122965760405160249161200c82613ed1565b60018252602036818401376040519061202482613ed1565b60018252602036818401376001600160a01b039061204190615231565b511661204c82615231565b5260fd54604051635dc22eff60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b57602493600091612277575b501561221b5760fd54604051632260494f60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b576106bb6120e860ff6064936120f0976000916121fc575b501699836106ab8c8235614300565b988235614300565b6120fa8651615278565b91600095865b88518810156121275761073361212191606461070f60ff6107078d8c615264565b96612100565b89948961213492846152aa565b60fc5484906001600160a01b0316803b1561082857604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af1801561081d576121e8575b5050604080516001600160a01b039283168152606435602082015260243591810191909152928116923392909116907f6f9e7bc841408072f4a49e469f90e1a634b85251803662bc8e5c220b287824729080606081016107fa565b6121f190613e6c565b61081957838561218d565b612215915060203d602011610854576108468183613eec565b386120d9565b60fc5460405163b28a7bad60e01b81526001600160a01b038681166004830152909460209286928391165afa801561085b576106bb6120e860ff606493612272976000916121fc57501699836106ab8c8235614300565b6120f0565b612290915060203d6020116108ec576108de8183613eec565b3861208a565b5060fe54604051637a99dc0160e11b81526001600160a01b038381166004830152602480359083015260648035604484015294999198939791965092949093909260009289929183918591165af196871561085b576000968798612334575b50600095865b895188101561231b57610733612315916109718a8d615264565b966122fb565b9598909294976122729294975061099787606435614313565b9097503d8088833e6123468183613eec565b8101604082820312610aea578151906001600160401b0391828111610aba5783019281601f85011215610aba57835161237e81614376565b9461238c6040519687613eec565b81865260208087019260051b82010190848211610ade57602001915b81831061243c575050506020810151928311610aba5781601f848301011215610aba5782810151926123d984614376565b9a6123e76040519c8d613eec565b848c5260208c019360208660051b8486010101116101b557509190602083820101925b60208560051b828401010184106124285750505050509596386122f5565b60208080948651815201940193925061240a565b82516001600160a01b038116810361245c578152602092830192016123a8565b8d80fd5b612479915060203d6020116108ec576108de8183613eec565b38611ff8565b915091926020823d6020116124b2575b8161249c60209383613eec565b810103126101b557505191908390611fb2611fa4565b3d915061248f565b906020823d6020116124e5575b816124d460209383613eec565b810103126101b55750516024611f66565b3d91506124c7565b506001600160a01b036124ff83615254565b5116611efb565b906020823d602011612538575b8161252060209383613eec565b810103126101b5575061253290614250565b38611ecf565b3d9150612513565b906020823d60201161256a575b8161255a60209383613eec565b810103126101b557505138611e5f565b3d915061254d565b61257b90613e6c565b610f13578438611e09565b60449060405190630f81919b60e21b825260048201526064356024820152fd5b604051632e834cbf60e11b81526001600160a01b038681166004830152919091166024820152604490fd5b50604051630e587c8f60e41b81526001600160a01b03918216600482015291166024820152604490fd5b60f81c815260200138611d63565b92602060019160ff8560f01c168152019301611d5d565b92602060019160ff8560e81c168152019301611d55565b92602060019160ff8560e01c168152019301611d4d565b92602060019160ff8560d81c168152019301611d45565b92602060019160ff8560d01c168152019301611d3d565b92602060019160ff8560c81c168152019301611d35565b92602060019160ff8560c01c168152019301611d2d565b92602060019160ff8560b81c168152019301611d25565b92602060019160ff8560b01c168152019301611d1d565b92602060019160ff8560a81c168152019301611d15565b92602060019160ff8560a01c168152019301611d0d565b92602060019160ff8560981c168152019301611d05565b92602060019160ff8560901c168152019301611cfd565b92602060019160ff8560881c168152019301611cf5565b92602060019160ff8560801c168152019301611ced565b92602060019160ff8560781c168152019301611ce5565b92602060019160ff8560701c168152019301611cdd565b92602060019160ff8560681c168152019301611cd5565b92602060019160ff8560601c168152019301611ccd565b92602060019160ff8560581c168152019301611cc5565b92602060019160ff8560501c168152019301611cbd565b92602060019160ff8560481c168152019301611cb5565b92602060019160ff8560401c168152019301611cad565b92602060019160ff8560381c168152019301611ca5565b92602060019160ff8560301c168152019301611c9d565b92602060019160ff8560281c168152019301611c95565b92602060019160ff85831c168152019301611c8d565b92602060019160ff8560181c168152019301611c85565b92602060019160ff8560101c168152019301611c7d565b92602060019160ff8560081c168152019301611c75565b92602060019160ff85168152019301611c6d565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282891c166080860152828260a0828260281c1681890152828260c095828260301c16878c0152828260381c1660e08c0152828260401c166101008c0152828260481c166101208c0152828260501c166101408c0152828260581c166101608c01521c16610180890152828260681c166101a0890152828260701c166101c0890152828260781c166101e0890152828260801c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920184929391611c55565b82546001600160a01b0316845260209093019260019283019201611c19565b506020813d602011612aaa575b81612a9860209383613eec565b81010312610d6e57611baf9051611ba2565b3d9150612a8b565b6040513d87823e3d90fd5b9092506020813d602011612af1575b81612ad960209383613eec565b8101031261081957612aea90614250565b9138611b5c565b3d9150612acc565b6040513d86823e3d90fd5b50346101b557806003193601126101b55760e0604051612b2381613eb5565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201520152610100604051612b5b81613eb5565b60018060a01b0360fb54169081815260018060a01b0360fc5416602082015260018060a01b0360fd5416604082015260018060a01b0360fe5416606082015260018060a01b0360ff5416608082015260018060a01b0383541660a082015260018060a01b03610101541660c082015260018060a01b03610102541660e082015260405191825260018060a01b03602082015116602083015260018060a01b03604082015116604083015260018060a01b03606082015116606083015260018060a01b03608082015116608083015260018060a01b0360a08201511660a083015260018060a01b0360c08201511660c083015260e060018060a01b039101511660e0820152f35b50346101b557806003193601126101b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003612cba5760206040516000805160206153bb8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b5060403660031901126101b557612d3a613e14565b602435906001600160401b0382116119085736602383011215611908578160040135612d6581613f0d565b90612d736040519283613eec565b80825284602094858401923660248284010111611908578060248893018537840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612dce30831415613ff9565b612deb6000805160206153bb83398151915292828454161461405a565b612df3613f58565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e2b575050505061015e91506140bb565b84939416906040516352d1902d60e01b81528681600481865afa60009181612fc5575b50612eaf5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503612f6e57612ec0836140bb565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590612f66575b612efc575b5050505080f35b60008091612f5c957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405196612f3288613e7f565b60278852870152660819985a5b195960ca1b60408701525190845af4612f5661414b565b9161417b565b5038808080612ef5565b506001612ef0565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612fed575b612fdc8183613eec565b810103126101b55750519038612e4e565b503d612fd2565b50346101b55760403660031901126101b557606090613011613e14565b613019613e2a565b826040805161302781613e7f565b8281528260208201520152604060018060a01b03938480931681526101036020522091166000526020526040600020906040519061306482613e7f565b82541691828252604060026001830154926020850193845201549201918252604051928352516020830152516040820152f35b50346101b557602080600319360112610828576130b2613e14565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906130ea30831415613ff9565b6131076000805160206153bb83398151915292828454161461405a565b61310f613f58565b60405191848301918383106001600160401b038411176112a6578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143541660001461316a575050505061015e91506140bb565b84939416906040516352d1902d60e01b81528681600481865afa60009181613241575b506131ee5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503612f6e576131ff836140bb565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159061323957612efc575050505080f35b506000612ef0565b90918882813d8311613269575b6132588183613eec565b810103126101b5575051903861318d565b503d61324e565b50346101b55760203660031901126101b5578061328b613e14565b613293613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163dec30e3360e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760403660031901126101b557613307613e14565b61330f613e2a565b60608060405161331e81613e9a565b858152856020820152816040820152015260018060a01b03168252610104602052604082209060018060a01b03166000526020526040600020906040519161336583613e9a565b60018060a01b038154168352600181015460208401526002810160405190816020825491828152019185526020852090855b818110613a0257505050906133b181600394930382613eec565b60408501520191604051808460208296549384815201908552602085209285905b80601f83011061387a576134eb945491818110613866575b81811061384f575b818110613838575b818110613821575b81811061380b575b8181106137f4575b8181106137dd575b8181106137c6575b8181106137af575b818110613798575b818110613781575b81811061376a575b818110613753575b81811061373c575b818110613725575b81811061370e575b8181106136f7575b8181106136e0575b8181106136c9575b8181106136b2575b81811061369b575b818110613684575b81811061366d575b818110613656575b81811061363f575b818110613628575b818110613611575b8181106135fa575b8181106135e3575b8181106135cc575b8181106135b5575b106135a7575b509493940383613eec565b6060810191825260405192839260208452604060a085019360018060a01b038151166020870152602081015182870152015192608060608601528351809152602060c08601940190835b818110613585575050505191601f19848203016080850152602080845192838152019301915b818110613569575050500390f35b825160ff1684528594506020938401939092019160010161355b565b82516001600160a01b0316865287965060209586019590920191600101613535565b60f81c8152602001386134e0565b92602060019160ff8560f01c1681520193016134da565b92602060019160ff8560e81c1681520193016134d2565b92602060019160ff8560e01c1681520193016134ca565b92602060019160ff8560d81c1681520193016134c2565b92602060019160ff8560d01c1681520193016134ba565b92602060019160ff8560c81c1681520193016134b2565b92602060019160ff8560c01c1681520193016134aa565b92602060019160ff8560b81c1681520193016134a2565b92602060019160ff8560b01c16815201930161349a565b92602060019160ff8560a81c168152019301613492565b92602060019160ff8560a01c16815201930161348a565b92602060019160ff8560981c168152019301613482565b92602060019160ff8560901c16815201930161347a565b92602060019160ff8560881c168152019301613472565b92602060019160ff8560801c16815201930161346a565b92602060019160ff8560781c168152019301613462565b92602060019160ff8560701c16815201930161345a565b92602060019160ff8560681c168152019301613452565b92602060019160ff8560601c16815201930161344a565b92602060019160ff8560581c168152019301613442565b92602060019160ff8560501c16815201930161343a565b92602060019160ff8560481c168152019301613432565b92602060019160ff8560401c16815201930161342a565b92602060019160ff8560381c168152019301613422565b92602060019160ff8560301c16815201930161341a565b92602060019160ff8560281c168152019301613412565b92602060019160ff85831c16815201930161340a565b92602060019160ff8560181c168152019301613402565b92602060019160ff8560101c1681520193016133fa565b92602060019160ff8560081c1681520193016133f2565b92602060019160ff851681520193016133ea565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082608082828a1c1681870152828260a0828260281c16818a0152828260c095828260301c16878d0152828260381c1660e08d0152828260401c166101008d0152828260481c166101208d0152828260501c166101408d0152828260581c166101608d0152828260601c166101808d0152828260681c166101a08d0152828260701c166101c08d0152828260781c166101e08d01521c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e08201520194019201869293916133d2565b82546001600160a01b0316845260209093019260019283019201613397565b5060603660031901126101b557613a36613e14565b613a3e613e2a565b90604435613a4a614320565b60ff6101055416610efd57613a5e83614c01565b80156113215760fc546040516361fe24a960e11b8152600481018390526001600160a01b0394918516916020918281602481875afa8015613bea578890613ce3575b613aab9150856142c4565b92338852610103938484528760408a20971696876000528452604060002060405190613ad682613e7f565b8981541682526001810154908b8760028186019385855201549360408601948552613bf5575b5050505050613b169150613b108184614d7a565b82614e59565b6004828760fc541660405192838092638347592160e01b82525afa8015613bea577fa47b480b3eb82e8148b782528faf6afad69b7f3da51fc0160764a4f78723c90a946002928a92613bcb575b508860405194613b7286613e7f565b16988985528585019188835260ff6040870194168452338c52865260408b2089600052865260406000209451166001600160601b0360a01b855416178455516001840155519101556040519283523392a4600160655580f35b613be3919250853d8711610854576108468183613eec565b9038613b63565b6040513d8a823e3d90fd5b600492949660409694965193848092638347592160e01b82525afa958615613cd6578a9660ff938e9391613cb9575b5086519316831480613cab575b15613c94575050508151848111600014613c6e575050613c5f92613c559151614313565b3391519084615157565b613b16875b3880808b87613afc565b613b169450613c89919250606461072c613c8f955183614300565b90614313565b613c64565b613b169650613c8f94939550511633925190615157565b508181511682891614613c31565b613cd091508a3d8c11610854576108468183613eec565b38613c24565b50604051903d90823e3d90fd5b508281813d8311613d0b575b613cf98183613eec565b81010312610d6e57613aab9051613aa0565b503d613cef565b50346101b55760203660031901126101b55780613d2d613e14565b613d35613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163ebda042b60e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760203660031901126101b557613da9613e14565b613db1613f58565b8173__$7682c538d2a75d26dfca907f0e750789f4$__91823b1561082857604051632c55921b60e01b815260fb60048201526001600160a01b03909116602482015291829060449082905af4801561081d57613e0b575080f35b61015e90613e6c565b600435906001600160a01b0382168203610d6e57565b602435906001600160a01b0382168203610d6e57565b604435906001600160a01b0382168203610d6e57565b606435906001600160a01b0382168203610d6e57565b6001600160401b0381116112a657604052565b606081019081106001600160401b038211176112a657604052565b608081019081106001600160401b038211176112a657604052565b61010081019081106001600160401b038211176112a657604052565b604081019081106001600160401b038211176112a657604052565b90601f801991011681019081106001600160401b038211176112a657604052565b6001600160401b0381116112a657601f01601f191660200190565b9181601f84011215610d6e578235916001600160401b038311610d6e576020808501948460051b010111610d6e57565b6033546001600160a01b03163303613f6c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561400057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561406157565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156140f0576000805160206153bb83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15614176573d9061415c82613f0d565b9161416a6040519384613eec565b82523d6000602084013e565b606090565b919290156141dd575081511561418f575090565b3b156141985790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156141f05750805190602001fd5b60405162461bcd60e51b815260206004820181815283516024840181905292938493610ca0929160005b82811061423c57505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161421a565b51906001600160a01b0382168203610d6e57565b1561426b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116142d157565b634e487b7160e01b600052601160045260246000fd5b90816020910312610d6e575160ff81168103610d6e5790565b818102929181159184041417156142d157565b919082039182116142d157565b600260655414614331576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b6001600160401b0381116112a65760051b60200190565b929161439882614376565b916143a66040519384613eec565b829481845260208094019160051b8101928311610d6e57905b8282106143cc5750505050565b81356001600160a01b0381168103610d6e5781529083019083016143bf565b92916143f682614376565b916144046040519384613eec565b829481845260208094019160051b8101928311610d6e57905b82821061442a5750505050565b813560ff81168103610d6e57815290830190830161441d565b60003381526101038060205260408083209360018060a01b038091169485855260205281842090825161447581613e7f565b81835416815260018301549360026020830194868652015494818301958652156144f157600287916144ca973384526020528083208a8452602052822082815582600182015501555116905133925191615157565b7f7d0e940828cac20ee2f9b4bc116a5b9303f4de2f3e08c0731becff862d0aa1b0339180a3565b5050505050505050565b818110614506575050565b600081556001016144fb565b6000338152610104602090808252604083209360018060a01b03809116948585528352604084209060405161454681613e9a565b8183541681528460019384810154938284019485526002820160405191828583549182815201928c52858c20918c905b8a838310614bcf5750505050509061459381600394930382613eec565b60408501520191604051809384918482549182815201918b52848b20908b915b8982601f850110614a375750916146d89493916060979354918b85838310614a24575b838310614a0e575b8383106149f8575b8383106149e2575b8383106149cd575b8383106149b7575b8383106149a1575b83831061498b575b838310614975575b83831061495f575b838310614949575b838310614933575b83831061491e575b838310614908575b8383106148f2575b8383106148dc575b8383106148c6575b8383106148b0575b83831061489a575b838310614884575b83831061486e575b838310614858575b838310614842575b83831061482c575b838310614816575b838310614800575b8383106147ea575b8383106147d4575b8383106147be575b8383106147a8575b838310614792575b505010614784575b5090500384613eec565b0152511561477d57600391338552835260408420858552835283604081209181835582015560028101805485825580614764575b50500180549083815581614745575b5050507f2ee913c883151f0ab8f63c8bed5b91afe9c0ef1a2074398ff1c07c35c04cb55e339180a3565b835290822061475c91601f0160051c8101906144fb565b38808061471b565b614776918652848620908101906144fb565b388061470c565b5050505050565b60f81c8152018990386146ce565b90919460ff8560f01c1681520193018b856146c6565b90919460ff8560e81c1681520193018b856146be565b90919460ff8560e01c1681520193018b856146b6565b90919460ff8560d81c1681520193018b856146ae565b90919460ff8560d01c1681520193018b856146a6565b90919460ff8560c81c1681520193018b8561469e565b90919460ff8560c01c1681520193018b85614696565b90919460ff8560b81c1681520193018b8561468e565b90919460ff8560b01c1681520193018b85614686565b90919460ff8560a81c1681520193018b8561467e565b90919460ff8560a01c1681520193018b85614676565b90919460ff8560981c1681520193018b8561466e565b90919460ff8560901c1681520193018b85614666565b90919460ff8560881c1681520193018b8561465e565b90919460ff8560801c1681520193018b85614656565b90919460ff8560781c1681520193018b8561464e565b90919460ff8560701c1681520193018b85614646565b90919460ff8560681c1681520193018b8561463e565b90919460ff858c1c1681520193018b85614636565b90919460ff8560581c1681520193018b8561462e565b90919460ff8560501c1681520193018b85614626565b90919460ff8560481c1681520193018b8561461e565b90919460ff8560401c1681520193018b85614616565b90919460ff8560381c1681520193018b8561460e565b90919460ff8560301c1681520193018b85614606565b90919460ff8560281c1681520193018b856145fe565b90919460ff85831c1681520193018b856145f6565b90919460ff8560181c1681520193018b856145ee565b90919460ff8560101c1681520193018b856145e6565b90919460ff8560081c1681520193018b856145de565b90919460ff851681520193018b856145d6565b9193816104009297989496505460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018994939186936145b3565b8454821686528d9890950194938401939190910190614576565b90816020910312610d6e57518015158103610d6e5790565b6001600160a01b039081168015918215614c5c575b505015614c1f57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250610100541691602460405180948193632d5ad3d560e01b835260048301525afa90811561085b57600091614c98575b503880614c16565b614cb0915060203d81116108ec576108de8183613eec565b38614c90565b60405163e985e9c560e01b81526001600160a01b0391821660048201523060248201529160209183916044918391165afa90811561085b57600091614d4d575b5015614cfe57565b60405162461bcd60e51b815260206004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152608490fd5b614d65915060203d81116108ec576108de8183613eec565b38614cf6565b60001981146142d15760010190565b6001600160a01b03168015614e5557604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa90811561085b57600091614e24575b5010614dc657565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211614e4d575b81614e3d60209383613eec565b810103126101b557505138614dbe565b3d9150614e30565b5050565b6001600160a01b031690811561502a5734614fd45760409081516370a0823160e01b938482523060048301526020948583602481855afa928315614fc957908691600094614f97575b5085516323b872dd60e01b8382015233602482015230604482015260648101869052614ee590614edf81608481015b03601f198101835282613eec565b8461506f565b602486518094819382523060048301525afa908115614f8c57600091614f5d575b5090614f1191614313565b03614f1a575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614f85575b614f738183613eec565b810103126101b5575051614f11614f06565b503d614f69565b84513d6000823e3d90fd5b9182819592953d8311614fc2575b614faf8183613eec565b810103126101b557508590519238614ea2565b503d614fa5565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b9050340361503457565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b6040516150c7916001600160a01b031661508882613ed1565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1612f5661414b565b805190828215928315615137575b505050156150e05750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6151479350820181019101614be9565b3882816150d5565b156141f05750565b92919080156151ea57606461072c61516f9383614300565b6001600160a01b03929091908316801561518f5761518d93506151f0565b565b5060ff5460405163410085df60e01b602082019081526001600160a01b0390931660248201526044810184905261518d9460009485949390911692916151d88160648101614ed1565b51925af16151e461414b565b9061514f565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b0392909216602483015260448083019390935291815261518d9161522c606483613eec565b61506f565b80511561523e5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561523e5760400190565b805182101561523e5760209160051b010190565b9061528282614376565b61528f6040519182613eec565b82815280926152a0601f1991614376565b0190602036910137565b9293926001600160a01b03919082168061537257508160ff541692604051906020908183019463c176e63960e01b86526064840160406024860152825180915283608486019301916000905b828210615359575050505082810360231901604484015287518082529082019782019160005b82811061534557505050509160009391836151d8869561518d989903601f198101835282613eec565b83518a52988101989281019260010161531c565b83518116855293850193928501926001909101906152f6565b9492905060005b81518110156153b257806153a8846153946153ad9486615264565b51166153a08388615264565b5190896151f0565b614d6b565b615379565b50505050905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220793a03ea45038cfb1eb01da71b80f63844d0a12a60944027dd6058b1c59bd46464736f6c63430008120033","sourceMap":"733:12026:168:-:0;;;;;;;1332:4:49;1324:13;;733:12026:168;;;;;;1324:13:49;733:12026:168;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/utils/structs/MarketConfig.sol":{"MarketConfig":[{"start":3955,"length":20},{"start":5422,"length":20},{"start":5887,"length":20},{"start":6772,"length":20},{"start":13004,"length":20},{"start":15726,"length":20},{"start":15851,"length":20}]}}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c8063176ab44014613d8f57806321ede03214613d1257806322f193d014613a2157806325bc1330146132ed5780633492e5a8146132705780633659cfe614613097578063381eff7c14612ff45780634f1ef28614612d2557806352d1902d14612c61578063614bd94414612b045780636d374d8114611af3578063715018a614611a955780637f35823014611a1857806385b1eb27146119ea578063882796f1146119b05780638a29e2de146115b65780638da5cb5b1461158d5780639214be521461154f578063af231a58146114d2578063b187bd26146114ae578063d9ed209614610fa8578063e4e87e3b14610f17578063e5fc48ee146101b85763f2fde38b1461012557600080fd5b346101b55760203660031901126101b55761013e613e14565b610146613f58565b6001600160a01b038116156101615761015e90613fb0565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346101b55760e03660031901126101b5576101d2613e14565b6101da613e2a565b906101e3613e56565b9060a4356001600160401b038111610f1357610203903690600401613f28565b939060c4356001600160401b038111610f0f57610224903690600401613f28565b9561022d614320565b60ff6101055416610efd576040516331a9108f60e11b815260443560048201526020816024816001600160a01b0389165afa908115610ef2578991610eb8575b50336001600160a01b0390911603610e73576102898433614cb6565b8015610e1e5760058111610dcd57868103610d73576000805b888210610d42576064915003610ced5760018060a01b03851688526101036020526040882060018060a01b0385166000526020526040600020604051906102e882613e7f565b80546001600160a01b03168252600181015460208301818152600290920154604084015215610cc457518060843503610ca45750516001600160a01b039081169087168103610c7557506001600160a01b03858116895261010360209081526040808b20928716600081815293909252822082815560018101839055600201919091553b15610aea57604051632142170760e11b81523360048201526001600160a01b038616602482015260448035908201528890818180606481010381836001600160a01b038b165af1801561081d57610c61575b50506103d7926103cf91369161438d565b9536916143eb565b908451825103610c005760fc546040516361fe24a960e11b8152608435600482018190529491602090829060249082906001600160a01b03165afa90811561085b57600091610bce575b506040519061042f82613e7f565b60028252604036602084013760fb546001600160a01b03168061045184615231565b526101025460405163e286ef3360e01b815233600482015290602090829060249082906001600160a01b03165afa90811561085b57600091610b94575b506001600160a01b03166104a184615254565b526001600160a01b036104b384615254565b5116610b7b575b6104c383615254565b6001600160a01b0390911690526040516104dc81613e7f565b600281526040366020830137610101546040516303fdde1160e21b815260843560048201526001600160a01b0390911690602081602481855afa90811561085b57600091610b48575b5060249160209161053585615231565b5260405163470d6ed960e11b8152608435600482015292839182905afa92831561085b578491600094610b0d575b506105789361057184615254565b52896152aa565b60fc54604051631446f21360e21b81526001600160a01b0385811660048301526044803560248401529192602092849290918391165afa90811561085b57600091610aee575b506108f3576040516024916105d282613ed1565b6001825260203681840137604051906105ea82613ed1565b60018252602036818401376001600160a01b039061060790615231565b511661061282615231565b5260fd54604051635dc22eff60e01b81523360048201529360209185919082906001600160a01b03165afa801561085b576024936000916108c4575b50156108675760fd54604051632260494f60e01b81523360048201529360209185919082906001600160a01b03165afa801561085b576106bb6106b260ff6064936106d69760009161082c575b501699836106ab8c608435614300565b0490614313565b98608435614300565b046106c583615231565b526106cf82615231565b51886152aa565b6106e08651615278565b91600095865b885188101561073f5761073361073991606461070f60ff6107078d8c615264565b51168b614300565b0461071a8b89615264565b52606461072c60ff6107078d8c615264565b04906142c4565b97614d6b565b966106e6565b89948961074c92846152aa565b60fc5484906001600160a01b0316803b1561082857604051635a3c652d60e01b81526001600160a01b03851660048201526044803560248301526001908201529082908290606490829084905af1801561081d57610805575b5050604080516001600160a01b03928316815260843560208201526044359181019190915291811692169033907fd746eda767465ff5307bdf346d8f0e530205a4dc2c0b8e7241a9fefc7e6dec7b9080606081015b0390a4600160655580f35b61080e90613e6c565b6108195783856107a5565b8380fd5b6040513d84823e3d90fd5b5080fd5b61084e915060203d602011610854575b6108468183613eec565b8101906142e7565b3861069b565b503d61083c565b6040513d6000823e3d90fd5b60fc5460405163b28a7bad60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b576106bb6106b260ff6064936108bf9760009161082c57501699836106ab8c608435614300565b6106d6565b6108e6915060203d6020116108ec575b6108de8183613eec565b810190614be9565b3861064e565b503d6108d4565b5060fe54604051637a99dc0160e11b81526001600160a01b0384811660048301526044803560248401526084359083015293989097929690955091939192600091889160649183918591165af196871561085b57600096879861099e575b50600095865b895188101561097e57610733610978916109718a8d615264565b51906142c4565b96610957565b9598909294976108bf9294975061099787608435614313565b96886152aa565b9097503d908188823e6109b18282613eec565b6040818381010312610aea578051916001600160401b038311610ae657808201601f848401011215610ae657828201516109ea81614376565b936109f86040519586613eec565b81855260208086019260051b8286010101908385018211610ae2578401602001915b818310610abe575050506020820151916001600160401b038311610aba57818101601f848301011215610aba578281015192610a5584614376565b9a610a636040519c8d613eec565b848c5260208c0193830160208660051b8486010101116101b557509190602083820101925b60208560051b82840101018410610aa6575050505050959638610951565b602080809486518152019401939250610a88565b8980fd5b82516001600160a01b0381168103610ade57815260209283019201610a1a565b8c80fd5b8b80fd5b8880fd5b8780fd5b610b07915060203d6020116108ec576108de8183613eec565b386105be565b915091926020823d602011610b40575b81610b2a60209383613eec565b810103126101b557505191908390610578610563565b3d9150610b1d565b906020823d602011610b73575b81610b6260209383613eec565b810103126101b55750516024610525565b3d9150610b55565b506001600160a01b03610b8d83615254565b51166104ba565b906020823d602011610bc6575b81610bae60209383613eec565b810103126101b55750610bc090614250565b3861048e565b3d9150610ba1565b906020823d602011610bf8575b81610be860209383613eec565b810103126101b557505138610421565b3d9150610bdb565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b610c6a90613e6c565b610aea5787386103be565b604051632e834cbf60e11b81526001600160a01b038881166004830152919091166024820152604490fd5b0390fd5b60449060405190630f81919b60e21b825260048201526084356024820152fd5b604051633ef5628160e01b81526001600160a01b03878116600483015288166024820152604490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff8216809203610d6e57610d6891610d62916142c4565b91614d6b565b906102a2565b600080fd5b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b90506020813d602011610eea575b81610ed360209383613eec565b81010312610ae657610ee490614250565b3861026d565b3d9150610ec6565b6040513d8b823e3d90fd5b60405163ab35696f60e01b8152600490fd5b8680fd5b8480fd5b50346101b55760203660031901126101b55780610f32613e14565b610f3a613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa4576040516386e5800760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b610f9d90613e6c565b6101b55780f35b5050fd5b50346101b55760a03660031901126101b557610fc2613e14565b610fca613e2a565b606480356001600160401b038111610f1357610fea903690600401613f28565b916084356001600160401b038111610f0f5761100a903690600401613f28565b909160ff6101055416610efd5761102086614c01565b61102a8733614cb6565b841561145a576005851161140a578185036113b157806000805b84811061138757500361133357506044351561132157611089611095936040519561106e87613e9a565b6001600160a01b03881687526044356020880152369161438d565b604085015236916143eb565b60608201523384526101046020526040842060018060a01b038416600052602052604060002060018060a01b038251166001600160601b0360a01b8254161781556020820151600182015560408201518051906001600160401b03821161130d57600160401b82116112a65760209060028401548360028601558084106112ed575b500160028301875260208720875b8381106112d057505050506003606091019101518051906001600160401b0382116112bc57600160401b82116112a657602090835483855580841061125a575b5001918552602085208160051c91865b83811061121b5750601f1981169003806111d1575b505060405160443581526001600160a01b0393841694909316923392507f4c172f9d7dfc4fbab9c54966d9334e977ce1ae637bbc08489b2762715ae1f6a09150602090a480f35b928693875b8181106111eb5750505001553880808061118a565b90919460206112116001928460ff8a5116919060ff809160031b9316831b921b19161790565b96019291016111d6565b87885b60208110611233575083820155600101611175565b865190969160019160209160ff60038b901b81811b199092169216901b179201960161121e565b611286908560005283600020601f80870160051c8201928188168061128c575b500160051c01906144fb565b38611165565b60001990818601918254918a0360031b1c1690553861127a565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b86526041600452602486fd5b82516001600160a01b031681830155602090920191600101611125565b6113079060028601600052848460002091820191016144fb565b38611117565b634e487b7160e01b87526041600452602487fd5b6040516346f1397d60e01b8152600490fd5b60849066020746f203130360cc1b6040519162461bcd60e51b835260206004840152602760248401527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c6044840152820152fd5b80925060051b8501359060ff8216809203610d6e576113a991610d62916142c4565b908291611044565b6084906b1d5cdd08189948195c5d585b60a21b6040519162461bcd60e51b835260206004840152602c60248401527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d6044840152820152fd5b6084906373697a6560e01b6040519162461bcd60e51b8352602060048401526024808401527f636865636b53706c6974733a3a53706c6974206578636565646564206d6178206044840152820152fd5b608490660c481cdc1b1a5d60ca1b6040519162461bcd60e51b835260206004840152602760248401527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044840152820152fd5b50346101b557806003193601126101b557602060ff61010554166040519015158152f35b50346101b55760203660031901126101b557806114ed613e14565b6114f5613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163c70c56c760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760203660031901126101b557611569613e14565b611571614320565b60ff6101055416610efd5761158590614443565b600160655580f35b50346101b557806003193601126101b5576033546040516001600160a01b039091168152602090f35b50346101b5576101003660031901126101b5576115d1613e14565b6115d9613e2a565b906115e2613e40565b6115ea613e56565b6084356001600160a01b0381168103610d6e5760a435906001600160a01b0382168203610d6e5760c435926001600160a01b0384168403610d6e5760e435946001600160a01b0386168603610d6e5788549760ff8960081c16159889809a6119a3575b801561198c575b156119305760ff1981166001178b558961191f575b506040516323e95fa960e01b81526001600160a01b039889166004820152908816602482015290871660448201529086166064820152908516608482015290841660a482015290831660c4820152911660e4820152610100816101048173__$7682c538d2a75d26dfca907f0e750789f4$__5af490811561191457839161180b575b5060018060a01b03815116906001600160601b0360a01b918260fb54161760fb5560018060a01b036020820151168260fc54161760fc5560018060a01b036040820151168260fd54161760fd5560018060a01b036060820151168260fe54161760fe5560018060a01b036080820151168260ff54161760ff5560018060a01b0360a082015116826101005416176101005560018060a01b0360c082015116610101908382541617905560e060018060a01b0391015116610102918254161790556117c460ff835460081c166117bf81614264565b614264565b6117cd33613fb0565b6117d45780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610100813d6101001161190c575b816118296101009383613eec565b81010312611908576040519061183e82613eb5565b61184781614250565b825260208101516001600160a01b0381168103610f1357602083015260408101516001600160a01b0381168103610f1357604083015260608101516001600160a01b0381168103610f1357606083015260808101516001600160a01b0381168103610f1357608083015260a08101516001600160a01b0381168103610f135760a083015260c0810151906001600160a01b0382168203610f135760c083019190915260e001516001600160a01b03811681036108195760e0820152386116eb565b8280fd5b3d915061181b565b6040513d85823e3d90fd5b61ffff1916610101178a5538611669565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156116545750600160ff821614611654565b50600160ff82161061164d565b50346101b55760203660031901126101b557600435801515809103610828576119d7613f58565b6101059060ff8019835416911617905580f35b50346101b55760203660031901126101b557611a04613e14565b60ff6101055416610efd5761015e90614512565b50346101b55760203660031901126101b55780611a33613e14565b611a3b613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa457604051630cf1420760e21b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b557806003193601126101b557611aae613f58565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5060803660031901126101b557611b08613e14565b611b10613e40565b611b18614320565b60ff6101055416610efd576040516331a9108f60e11b81526024803560048301529092906020908490816001600160a01b0385165afa928315612af9578493612abd575b50611b678184614cb6565b60fc546040516361fe24a960e11b8152606435600482015290602090829060249082906001600160a01b03165afa8015612ab2578590612a7e575b611baf91506064356142c4565b9260018060a01b03811685526101046020526040852060018060a01b03831660005260205260406000209360405194611be786613e9a565b60018060a01b03815416865260018101546020870152600281016040519081602082549182815201918a5260208a20908a5b818110612a5f5750505090611c3381600394930382613eec565b6040880152604051908192839101602081549384815201908a5260208a20928a905b80601f8301106128ce57611d6b9454918181106128ba575b8181106128a3575b81811061288c575b818110612875575b81811061285f575b818110612848575b818110612831575b81811061281a575b818110612803575b8181106127ec575b8181106127d5575b8181106127be575b8181106127a7575b818110612790575b818110612779575b818110612762575b81811061274b575b818110612734575b81811061271d575b818110612706575b8181106126ef575b8181106126d8575b8181106126c1575b8181106126aa575b818110612693575b81811061267c575b818110612665575b81811061264e575b818110612637575b818110612620575b818110612609575b106125fb575b500382613eec565b60608601526020850151156125d15784516001600160a01b0390811690851681036125a65750602085015180606435036125865750611daa9084614e59565b6001600160a01b0382163b15610f1357604051632142170760e11b81526001600160a01b0382166004820152336024808301919091523560448201528590818180606481010381836001600160a01b0389165af1801561081d57612572575b505060606040850151940151908451825103610c005760fc546040516361fe24a960e11b8152606435600482018190529491602090829060249082906001600160a01b03165afa90811561085b57600091612540575b5060405190611e6d82613e7f565b60028252604036602084013760fb546001600160a01b031680611e8f84615231565b526101025460405163e286ef3360e01b81526001600160a01b038781166004830152909160209183916024918391165afa90811561085b57600091612506575b506001600160a01b0316611ee284615254565b526001600160a01b03611ef484615254565b51166124ed575b611f0483615254565b6001600160a01b039091169052604051611f1d81613e7f565b600281526040366020830137610101546040516303fdde1160e21b815260643560048201526001600160a01b0390911690602081602481855afa90811561085b576000916124ba575b50602491602091611f7685615231565b5260405163470d6ed960e11b8152606435600482015292839182905afa92831561085b57849160009461247f575b50611fb29361057184615254565b60fc54604051631446f21360e21b81526001600160a01b0384811660048301526024803590830152909160209183916044918391165afa90811561085b57600091612460575b506122965760405160249161200c82613ed1565b60018252602036818401376040519061202482613ed1565b60018252602036818401376001600160a01b039061204190615231565b511661204c82615231565b5260fd54604051635dc22eff60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b57602493600091612277575b501561221b5760fd54604051632260494f60e01b81526001600160a01b038781166004830152909460209286928391165afa801561085b576106bb6120e860ff6064936120f0976000916121fc575b501699836106ab8c8235614300565b988235614300565b6120fa8651615278565b91600095865b88518810156121275761073361212191606461070f60ff6107078d8c615264565b96612100565b89948961213492846152aa565b60fc5484906001600160a01b0316803b1561082857604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af1801561081d576121e8575b5050604080516001600160a01b039283168152606435602082015260243591810191909152928116923392909116907f6f9e7bc841408072f4a49e469f90e1a634b85251803662bc8e5c220b287824729080606081016107fa565b6121f190613e6c565b61081957838561218d565b612215915060203d602011610854576108468183613eec565b386120d9565b60fc5460405163b28a7bad60e01b81526001600160a01b038681166004830152909460209286928391165afa801561085b576106bb6120e860ff606493612272976000916121fc57501699836106ab8c8235614300565b6120f0565b612290915060203d6020116108ec576108de8183613eec565b3861208a565b5060fe54604051637a99dc0160e11b81526001600160a01b038381166004830152602480359083015260648035604484015294999198939791965092949093909260009289929183918591165af196871561085b576000968798612334575b50600095865b895188101561231b57610733612315916109718a8d615264565b966122fb565b9598909294976122729294975061099787606435614313565b9097503d8088833e6123468183613eec565b8101604082820312610aea578151906001600160401b0391828111610aba5783019281601f85011215610aba57835161237e81614376565b9461238c6040519687613eec565b81865260208087019260051b82010190848211610ade57602001915b81831061243c575050506020810151928311610aba5781601f848301011215610aba5782810151926123d984614376565b9a6123e76040519c8d613eec565b848c5260208c019360208660051b8486010101116101b557509190602083820101925b60208560051b828401010184106124285750505050509596386122f5565b60208080948651815201940193925061240a565b82516001600160a01b038116810361245c578152602092830192016123a8565b8d80fd5b612479915060203d6020116108ec576108de8183613eec565b38611ff8565b915091926020823d6020116124b2575b8161249c60209383613eec565b810103126101b557505191908390611fb2611fa4565b3d915061248f565b906020823d6020116124e5575b816124d460209383613eec565b810103126101b55750516024611f66565b3d91506124c7565b506001600160a01b036124ff83615254565b5116611efb565b906020823d602011612538575b8161252060209383613eec565b810103126101b5575061253290614250565b38611ecf565b3d9150612513565b906020823d60201161256a575b8161255a60209383613eec565b810103126101b557505138611e5f565b3d915061254d565b61257b90613e6c565b610f13578438611e09565b60449060405190630f81919b60e21b825260048201526064356024820152fd5b604051632e834cbf60e11b81526001600160a01b038681166004830152919091166024820152604490fd5b50604051630e587c8f60e41b81526001600160a01b03918216600482015291166024820152604490fd5b60f81c815260200138611d63565b92602060019160ff8560f01c168152019301611d5d565b92602060019160ff8560e81c168152019301611d55565b92602060019160ff8560e01c168152019301611d4d565b92602060019160ff8560d81c168152019301611d45565b92602060019160ff8560d01c168152019301611d3d565b92602060019160ff8560c81c168152019301611d35565b92602060019160ff8560c01c168152019301611d2d565b92602060019160ff8560b81c168152019301611d25565b92602060019160ff8560b01c168152019301611d1d565b92602060019160ff8560a81c168152019301611d15565b92602060019160ff8560a01c168152019301611d0d565b92602060019160ff8560981c168152019301611d05565b92602060019160ff8560901c168152019301611cfd565b92602060019160ff8560881c168152019301611cf5565b92602060019160ff8560801c168152019301611ced565b92602060019160ff8560781c168152019301611ce5565b92602060019160ff8560701c168152019301611cdd565b92602060019160ff8560681c168152019301611cd5565b92602060019160ff8560601c168152019301611ccd565b92602060019160ff8560581c168152019301611cc5565b92602060019160ff8560501c168152019301611cbd565b92602060019160ff8560481c168152019301611cb5565b92602060019160ff8560401c168152019301611cad565b92602060019160ff8560381c168152019301611ca5565b92602060019160ff8560301c168152019301611c9d565b92602060019160ff8560281c168152019301611c95565b92602060019160ff85831c168152019301611c8d565b92602060019160ff8560181c168152019301611c85565b92602060019160ff8560101c168152019301611c7d565b92602060019160ff8560081c168152019301611c75565b92602060019160ff85168152019301611c6d565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282891c166080860152828260a0828260281c1681890152828260c095828260301c16878c0152828260381c1660e08c0152828260401c166101008c0152828260481c166101208c0152828260501c166101408c0152828260581c166101608c01521c16610180890152828260681c166101a0890152828260701c166101c0890152828260781c166101e0890152828260801c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920184929391611c55565b82546001600160a01b0316845260209093019260019283019201611c19565b506020813d602011612aaa575b81612a9860209383613eec565b81010312610d6e57611baf9051611ba2565b3d9150612a8b565b6040513d87823e3d90fd5b9092506020813d602011612af1575b81612ad960209383613eec565b8101031261081957612aea90614250565b9138611b5c565b3d9150612acc565b6040513d86823e3d90fd5b50346101b557806003193601126101b55760e0604051612b2381613eb5565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201520152610100604051612b5b81613eb5565b60018060a01b0360fb54169081815260018060a01b0360fc5416602082015260018060a01b0360fd5416604082015260018060a01b0360fe5416606082015260018060a01b0360ff5416608082015260018060a01b0383541660a082015260018060a01b03610101541660c082015260018060a01b03610102541660e082015260405191825260018060a01b03602082015116602083015260018060a01b03604082015116604083015260018060a01b03606082015116606083015260018060a01b03608082015116608083015260018060a01b0360a08201511660a083015260018060a01b0360c08201511660c083015260e060018060a01b039101511660e0820152f35b50346101b557806003193601126101b5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003612cba5760206040516000805160206153bb8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b5060403660031901126101b557612d3a613e14565b602435906001600160401b0382116119085736602383011215611908578160040135612d6581613f0d565b90612d736040519283613eec565b80825284602094858401923660248284010111611908578060248893018537840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612dce30831415613ff9565b612deb6000805160206153bb83398151915292828454161461405a565b612df3613f58565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e2b575050505061015e91506140bb565b84939416906040516352d1902d60e01b81528681600481865afa60009181612fc5575b50612eaf5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503612f6e57612ec0836140bb565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590612f66575b612efc575b5050505080f35b60008091612f5c957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405196612f3288613e7f565b60278852870152660819985a5b195960ca1b60408701525190845af4612f5661414b565b9161417b565b5038808080612ef5565b506001612ef0565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311612fed575b612fdc8183613eec565b810103126101b55750519038612e4e565b503d612fd2565b50346101b55760403660031901126101b557606090613011613e14565b613019613e2a565b826040805161302781613e7f565b8281528260208201520152604060018060a01b03938480931681526101036020522091166000526020526040600020906040519061306482613e7f565b82541691828252604060026001830154926020850193845201549201918252604051928352516020830152516040820152f35b50346101b557602080600319360112610828576130b2613e14565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906130ea30831415613ff9565b6131076000805160206153bb83398151915292828454161461405a565b61310f613f58565b60405191848301918383106001600160401b038411176112a6578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143541660001461316a575050505061015e91506140bb565b84939416906040516352d1902d60e01b81528681600481865afa60009181613241575b506131ee5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b95949503612f6e576131ff836140bb565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159061323957612efc575050505080f35b506000612ef0565b90918882813d8311613269575b6132588183613eec565b810103126101b5575051903861318d565b503d61324e565b50346101b55760203660031901126101b5578061328b613e14565b613293613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163dec30e3360e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760403660031901126101b557613307613e14565b61330f613e2a565b60608060405161331e81613e9a565b858152856020820152816040820152015260018060a01b03168252610104602052604082209060018060a01b03166000526020526040600020906040519161336583613e9a565b60018060a01b038154168352600181015460208401526002810160405190816020825491828152019185526020852090855b818110613a0257505050906133b181600394930382613eec565b60408501520191604051808460208296549384815201908552602085209285905b80601f83011061387a576134eb945491818110613866575b81811061384f575b818110613838575b818110613821575b81811061380b575b8181106137f4575b8181106137dd575b8181106137c6575b8181106137af575b818110613798575b818110613781575b81811061376a575b818110613753575b81811061373c575b818110613725575b81811061370e575b8181106136f7575b8181106136e0575b8181106136c9575b8181106136b2575b81811061369b575b818110613684575b81811061366d575b818110613656575b81811061363f575b818110613628575b818110613611575b8181106135fa575b8181106135e3575b8181106135cc575b8181106135b5575b106135a7575b509493940383613eec565b6060810191825260405192839260208452604060a085019360018060a01b038151166020870152602081015182870152015192608060608601528351809152602060c08601940190835b818110613585575050505191601f19848203016080850152602080845192838152019301915b818110613569575050500390f35b825160ff1684528594506020938401939092019160010161355b565b82516001600160a01b0316865287965060209586019590920191600101613535565b60f81c8152602001386134e0565b92602060019160ff8560f01c1681520193016134da565b92602060019160ff8560e81c1681520193016134d2565b92602060019160ff8560e01c1681520193016134ca565b92602060019160ff8560d81c1681520193016134c2565b92602060019160ff8560d01c1681520193016134ba565b92602060019160ff8560c81c1681520193016134b2565b92602060019160ff8560c01c1681520193016134aa565b92602060019160ff8560b81c1681520193016134a2565b92602060019160ff8560b01c16815201930161349a565b92602060019160ff8560a81c168152019301613492565b92602060019160ff8560a01c16815201930161348a565b92602060019160ff8560981c168152019301613482565b92602060019160ff8560901c16815201930161347a565b92602060019160ff8560881c168152019301613472565b92602060019160ff8560801c16815201930161346a565b92602060019160ff8560781c168152019301613462565b92602060019160ff8560701c16815201930161345a565b92602060019160ff8560681c168152019301613452565b92602060019160ff8560601c16815201930161344a565b92602060019160ff8560581c168152019301613442565b92602060019160ff8560501c16815201930161343a565b92602060019160ff8560481c168152019301613432565b92602060019160ff8560401c16815201930161342a565b92602060019160ff8560381c168152019301613422565b92602060019160ff8560301c16815201930161341a565b92602060019160ff8560281c168152019301613412565b92602060019160ff85831c16815201930161340a565b92602060019160ff8560181c168152019301613402565b92602060019160ff8560101c1681520193016133fa565b92602060019160ff8560081c1681520193016133f2565b92602060019160ff851681520193016133ea565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082608082828a1c1681870152828260a0828260281c16818a0152828260c095828260301c16878d0152828260381c1660e08d0152828260401c166101008d0152828260481c166101208d0152828260501c166101408d0152828260581c166101608d0152828260601c166101808d0152828260681c166101a08d0152828260701c166101c08d0152828260781c166101e08d01521c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e08201520194019201869293916133d2565b82546001600160a01b0316845260209093019260019283019201613397565b5060603660031901126101b557613a36613e14565b613a3e613e2a565b90604435613a4a614320565b60ff6101055416610efd57613a5e83614c01565b80156113215760fc546040516361fe24a960e11b8152600481018390526001600160a01b0394918516916020918281602481875afa8015613bea578890613ce3575b613aab9150856142c4565b92338852610103938484528760408a20971696876000528452604060002060405190613ad682613e7f565b8981541682526001810154908b8760028186019385855201549360408601948552613bf5575b5050505050613b169150613b108184614d7a565b82614e59565b6004828760fc541660405192838092638347592160e01b82525afa8015613bea577fa47b480b3eb82e8148b782528faf6afad69b7f3da51fc0160764a4f78723c90a946002928a92613bcb575b508860405194613b7286613e7f565b16988985528585019188835260ff6040870194168452338c52865260408b2089600052865260406000209451166001600160601b0360a01b855416178455516001840155519101556040519283523392a4600160655580f35b613be3919250853d8711610854576108468183613eec565b9038613b63565b6040513d8a823e3d90fd5b600492949660409694965193848092638347592160e01b82525afa958615613cd6578a9660ff938e9391613cb9575b5086519316831480613cab575b15613c94575050508151848111600014613c6e575050613c5f92613c559151614313565b3391519084615157565b613b16875b3880808b87613afc565b613b169450613c89919250606461072c613c8f955183614300565b90614313565b613c64565b613b169650613c8f94939550511633925190615157565b508181511682891614613c31565b613cd091508a3d8c11610854576108468183613eec565b38613c24565b50604051903d90823e3d90fd5b508281813d8311613d0b575b613cf98183613eec565b81010312610d6e57613aab9051613aa0565b503d613cef565b50346101b55760203660031901126101b55780613d2d613e14565b613d35613f58565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b15610fa45760405163ebda042b60e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af4801561081d57610f945750f35b50346101b55760203660031901126101b557613da9613e14565b613db1613f58565b8173__$7682c538d2a75d26dfca907f0e750789f4$__91823b1561082857604051632c55921b60e01b815260fb60048201526001600160a01b03909116602482015291829060449082905af4801561081d57613e0b575080f35b61015e90613e6c565b600435906001600160a01b0382168203610d6e57565b602435906001600160a01b0382168203610d6e57565b604435906001600160a01b0382168203610d6e57565b606435906001600160a01b0382168203610d6e57565b6001600160401b0381116112a657604052565b606081019081106001600160401b038211176112a657604052565b608081019081106001600160401b038211176112a657604052565b61010081019081106001600160401b038211176112a657604052565b604081019081106001600160401b038211176112a657604052565b90601f801991011681019081106001600160401b038211176112a657604052565b6001600160401b0381116112a657601f01601f191660200190565b9181601f84011215610d6e578235916001600160401b038311610d6e576020808501948460051b010111610d6e57565b6033546001600160a01b03163303613f6c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561400057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561406157565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156140f0576000805160206153bb83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15614176573d9061415c82613f0d565b9161416a6040519384613eec565b82523d6000602084013e565b606090565b919290156141dd575081511561418f575090565b3b156141985790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156141f05750805190602001fd5b60405162461bcd60e51b815260206004820181815283516024840181905292938493610ca0929160005b82811061423c57505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161421a565b51906001600160a01b0382168203610d6e57565b1561426b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b919082018092116142d157565b634e487b7160e01b600052601160045260246000fd5b90816020910312610d6e575160ff81168103610d6e5790565b818102929181159184041417156142d157565b919082039182116142d157565b600260655414614331576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b6001600160401b0381116112a65760051b60200190565b929161439882614376565b916143a66040519384613eec565b829481845260208094019160051b8101928311610d6e57905b8282106143cc5750505050565b81356001600160a01b0381168103610d6e5781529083019083016143bf565b92916143f682614376565b916144046040519384613eec565b829481845260208094019160051b8101928311610d6e57905b82821061442a5750505050565b813560ff81168103610d6e57815290830190830161441d565b60003381526101038060205260408083209360018060a01b038091169485855260205281842090825161447581613e7f565b81835416815260018301549360026020830194868652015494818301958652156144f157600287916144ca973384526020528083208a8452602052822082815582600182015501555116905133925191615157565b7f7d0e940828cac20ee2f9b4bc116a5b9303f4de2f3e08c0731becff862d0aa1b0339180a3565b5050505050505050565b818110614506575050565b600081556001016144fb565b6000338152610104602090808252604083209360018060a01b03809116948585528352604084209060405161454681613e9a565b8183541681528460019384810154938284019485526002820160405191828583549182815201928c52858c20918c905b8a838310614bcf5750505050509061459381600394930382613eec565b60408501520191604051809384918482549182815201918b52848b20908b915b8982601f850110614a375750916146d89493916060979354918b85838310614a24575b838310614a0e575b8383106149f8575b8383106149e2575b8383106149cd575b8383106149b7575b8383106149a1575b83831061498b575b838310614975575b83831061495f575b838310614949575b838310614933575b83831061491e575b838310614908575b8383106148f2575b8383106148dc575b8383106148c6575b8383106148b0575b83831061489a575b838310614884575b83831061486e575b838310614858575b838310614842575b83831061482c575b838310614816575b838310614800575b8383106147ea575b8383106147d4575b8383106147be575b8383106147a8575b838310614792575b505010614784575b5090500384613eec565b0152511561477d57600391338552835260408420858552835283604081209181835582015560028101805485825580614764575b50500180549083815581614745575b5050507f2ee913c883151f0ab8f63c8bed5b91afe9c0ef1a2074398ff1c07c35c04cb55e339180a3565b835290822061475c91601f0160051c8101906144fb565b38808061471b565b614776918652848620908101906144fb565b388061470c565b5050505050565b60f81c8152018990386146ce565b90919460ff8560f01c1681520193018b856146c6565b90919460ff8560e81c1681520193018b856146be565b90919460ff8560e01c1681520193018b856146b6565b90919460ff8560d81c1681520193018b856146ae565b90919460ff8560d01c1681520193018b856146a6565b90919460ff8560c81c1681520193018b8561469e565b90919460ff8560c01c1681520193018b85614696565b90919460ff8560b81c1681520193018b8561468e565b90919460ff8560b01c1681520193018b85614686565b90919460ff8560a81c1681520193018b8561467e565b90919460ff8560a01c1681520193018b85614676565b90919460ff8560981c1681520193018b8561466e565b90919460ff8560901c1681520193018b85614666565b90919460ff8560881c1681520193018b8561465e565b90919460ff8560801c1681520193018b85614656565b90919460ff8560781c1681520193018b8561464e565b90919460ff8560701c1681520193018b85614646565b90919460ff8560681c1681520193018b8561463e565b90919460ff858c1c1681520193018b85614636565b90919460ff8560581c1681520193018b8561462e565b90919460ff8560501c1681520193018b85614626565b90919460ff8560481c1681520193018b8561461e565b90919460ff8560401c1681520193018b85614616565b90919460ff8560381c1681520193018b8561460e565b90919460ff8560301c1681520193018b85614606565b90919460ff8560281c1681520193018b856145fe565b90919460ff85831c1681520193018b856145f6565b90919460ff8560181c1681520193018b856145ee565b90919460ff8560101c1681520193018b856145e6565b90919460ff8560081c1681520193018b856145de565b90919460ff851681520193018b856145d6565b9193816104009297989496505460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018994939186936145b3565b8454821686528d9890950194938401939190910190614576565b90816020910312610d6e57518015158103610d6e5790565b6001600160a01b039081168015918215614c5c575b505015614c1f57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250610100541691602460405180948193632d5ad3d560e01b835260048301525afa90811561085b57600091614c98575b503880614c16565b614cb0915060203d81116108ec576108de8183613eec565b38614c90565b60405163e985e9c560e01b81526001600160a01b0391821660048201523060248201529160209183916044918391165afa90811561085b57600091614d4d575b5015614cfe57565b60405162461bcd60e51b815260206004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152608490fd5b614d65915060203d81116108ec576108de8183613eec565b38614cf6565b60001981146142d15760010190565b6001600160a01b03168015614e5557604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa90811561085b57600091614e24575b5010614dc657565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211614e4d575b81614e3d60209383613eec565b810103126101b557505138614dbe565b3d9150614e30565b5050565b6001600160a01b031690811561502a5734614fd45760409081516370a0823160e01b938482523060048301526020948583602481855afa928315614fc957908691600094614f97575b5085516323b872dd60e01b8382015233602482015230604482015260648101869052614ee590614edf81608481015b03601f198101835282613eec565b8461506f565b602486518094819382523060048301525afa908115614f8c57600091614f5d575b5090614f1191614313565b03614f1a575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614f85575b614f738183613eec565b810103126101b5575051614f11614f06565b503d614f69565b84513d6000823e3d90fd5b9182819592953d8311614fc2575b614faf8183613eec565b810103126101b557508590519238614ea2565b503d614fa5565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b9050340361503457565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b6040516150c7916001600160a01b031661508882613ed1565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1612f5661414b565b805190828215928315615137575b505050156150e05750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6151479350820181019101614be9565b3882816150d5565b156141f05750565b92919080156151ea57606461072c61516f9383614300565b6001600160a01b03929091908316801561518f5761518d93506151f0565b565b5060ff5460405163410085df60e01b602082019081526001600160a01b0390931660248201526044810184905261518d9460009485949390911692916151d88160648101614ed1565b51925af16151e461414b565b9061514f565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b0392909216602483015260448083019390935291815261518d9161522c606483613eec565b61506f565b80511561523e5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561523e5760400190565b805182101561523e5760209160051b010190565b9061528282614376565b61528f6040519182613eec565b82815280926152a0601f1991614376565b0190602036910137565b9293926001600160a01b03919082168061537257508160ff541692604051906020908183019463c176e63960e01b86526064840160406024860152825180915283608486019301916000905b828210615359575050505082810360231901604484015287518082529082019782019160005b82811061534557505050509160009391836151d8869561518d989903601f198101835282613eec565b83518a52988101989281019260010161531c565b83518116855293850193928501926001909101906152f6565b9492905060005b81518110156153b257806153a8846153946153ad9486615264565b51166153a08388615264565b5190896151f0565b614d6b565b615379565b50505050905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220793a03ea45038cfb1eb01da71b80f63844d0a12a60944027dd6058b1c59bd46464736f6c63430008120033","sourceMap":"733:12026:168:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;-1:-1:-1;;;;;733:12026:168;;2402:22:42;733:12026:168;;2496:8:42;;;:::i;:::-;733:12026:168;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;:::i;:::-;2471:103:51;;;:::i;:::-;733:12026:168;1921:6;971:66:46;733:12026:168;1917:57;;733:12026;;-1:-1:-1;;;1230:24:238;;733:12026:168;;;1230:24:238;;733:12026:168;;;;;-1:-1:-1;;;;;733:12026:168;;1230:24:238;;;;;;;;;;;733:12026:168;-1:-1:-1;1258:10:238;-1:-1:-1;;;;;733:12026:168;;;1230:38:238;733:12026:168;;7026:15;1258:10:238;;7026:15:168;:::i;:::-;2302:22:238;;733:12026:168;;2404:1:238;2382:23;;733:12026:168;;2460:41:238;;;733:12026:168;;;2590:13:238;2605:23;;;;;;2707:3;2693:17;;;733:12026:168;;;;;;;;;;;7158:16;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;7210:17;7206:98;;733:12026;;;;7314:23;7310:96;;-1:-1:-1;733:12026:168;-1:-1:-1;;;;;733:12026:168;;;;;;7417:41;;7413:139;;-1:-1:-1;;;;;;733:12026:168;;;;;7158:16;733:12026;;;;;;;;;;;-1:-1:-1;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;7661:53;;;;733:12026;;-1:-1:-1;;;7661:53:168;;1258:10:238;733:12026:168;7661:53;;733:12026;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;7661:53;733:12026;;-1:-1:-1;;;;;733:12026:168;;7661:53;;;;;;;;2585:94:238;733:12026:168;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;6804:41:238;733:12026:168;;7537:27:238;733:12026:168;;;-1:-1:-1;;;7537:60:238;;733:12026:168;;;7537:60:238;;733:12026:168;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;7537:60:238;;;;;;;733:12026:168;7537:60:238;;;2585:94;733:12026:168;;;;;;;:::i;:::-;;;;;;;;;;7721:12;733:12026;-1:-1:-1;;;;;733:12026:168;;7673:52:238;;;:::i;:::-;733:12026:168;7756:23:238;733:12026:168;;;-1:-1:-1;;;7756:67:238;;1258:10;733:12026:168;7756:67:238;;733:12026:168;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;7756:67:238;;;;;;;733:12026:168;7756:67:238;;;2585:94;-1:-1:-1;;;;;;733:12026:168;7731:93:238;;;:::i;:::-;733:12026:168;-1:-1:-1;;;;;7847:14:238;;;:::i;:::-;733:12026:168;;7847:83:238;;;7830:100;;;:::i;:::-;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;:::i;:::-;;;;;;;;;;7996:23:238;733:12026:168;;;-1:-1:-1;;;7996:62:238;;733:12026:168;;;7996:62:238;;733:12026:168;-1:-1:-1;;;;;733:12026:168;;;;;;;;;7996:62:238;;;;;;;733:12026:168;7996:62:238;;;7847:83;7984:74;733:12026:168;7984:74:238;733:12026:168;7984:74:238;;;;:::i;:::-;733:12026:168;;;-1:-1:-1;;;8076:52:238;;733:12026:168;;;8076:52:238;;733:12026:168;;;;;;8076:52:238;;;;;;;;;733:12026:168;8076:52:238;;;7847:83;8064:64;8206:6;8064:64;;;;:::i;:::-;733:12026:168;8206:6:238;;:::i;:::-;7537:27;733:12026:168;;;-1:-1:-1;;;8225:73:238;;-1:-1:-1;;;;;733:12026:168;;;;8225:73:238;;733:12026:168;;;;;;;;;;;;;;;;;;;8225:73:238;;;;;;;733:12026:168;8225:73:238;;;7847:83;-1:-1:-1;8224:74:238;;733:12026:168;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;8455:14:238;;;:::i;:::-;733:12026:168;;8436:33:238;;;:::i;:::-;733:12026:168;8482:29:238;733:12026:168;;;-1:-1:-1;;;8482:62:238;;1258:10;733:12026:168;8482:62:238;;733:12026:168;;;;;;971:66:46;733:12026:168;;-1:-1:-1;;;;;733:12026:168;8482:62:238;;;;;;733:12026:168;8482:62:238;733:12026:168;8482:62:238;;;8220:1546;-1:-1:-1;8478:826:238;;;8482:29;733:12026:168;;;-1:-1:-1;;;8585:60:238;;1258:10;733:12026:168;8585:60:238;;733:12026:168;;;;;;971:66:46;733:12026:168;;-1:-1:-1;;;;;733:12026:168;8585:60:238;;;;;;8759:28;8674:56;733:12026:168;2707:3:238;8585:60;8878:11;8585:60;733:12026:168;8585:60:238;;;8478:826;733:12026:168;;;;8694:28:238;733:12026:168;;;8694:28:238;:::i;:::-;733:12026:168;8674:56:238;;:::i;:::-;733:12026:168;;;8759:28:238;:::i;:::-;733:12026:168;8741:53:238;;;:::i;:::-;733:12026:168;8847:14:238;;;:::i;:::-;733:12026:168;8878:11:238;;:::i;:::-;9805:33;733:12026:168;;9805:33:238;:::i;:::-;9845:22;733:12026:168;9879:13:238;;9918:3;733:12026:168;;9894:22:238;;;;;9999:55;9918:3;9969:15;2707:3;9951:33;733:12026:168;9969:15:238;;;;:::i;:::-;733:12026:168;;9951:33:238;;:::i;:::-;733:12026:168;9931:60:238;;;;:::i;:::-;733:12026:168;2707:3:238;10014:33;733:12026:168;10032:15:238;;;;:::i;10014:33::-;733:12026:168;9999:55:238;;:::i;:::-;9918:3;;:::i;:::-;9879:13;;;9894:22;;;;10133:13;9894:22;10133:13;;:::i;:::-;7537:27;733:12026:168;;;-1:-1:-1;;;;;733:12026:168;7840:81;;;;;733:12026;;-1:-1:-1;;;7840:81:168;;-1:-1:-1;;;;;733:12026:168;;;7840:81;;733:12026;;;;;;;;;;;;;;;;;;2707:3:238;;733:12026:168;;;;7840:81;;;;;;;;9874:187:238;-1:-1:-1;;733:12026:168;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;1258:10:238;;7933:95:168;;733:12026;;;;7933:95;;;;733:12026;3053:22:51;733:12026:168;;;7840:81;;;;:::i;:::-;733:12026;;7840:81;;;;733:12026;;;;7840:81;733:12026;;971:66:46;733:12026:168;;971:66:46;;;;7840:81:168;733:12026;;;8585:60:238;;;;733:12026:168;8585:60:238;733:12026:168;8585:60:238;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;733:12026:168;;971:66:46;733:12026:168;971:66:46;;;;;8478:826:238;7537:27;733:12026:168;;;-1:-1:-1;;;8944:106:238;;-1:-1:-1;;;;;733:12026:168;;;;8944:106:238;;733:12026:168;;;;;;;;;;8944:106:238;;;;;;9164:28;9079:56;733:12026:168;2707:3:238;8944:106;9283:11;8944:106;733:12026:168;8944:106:238;;;733:12026:168;;;;9099:28:238;733:12026:168;;;9099:28:238;:::i;9283:11::-;8478:826;;8482:62;;;;733:12026:168;8482:62:238;733:12026:168;8482:62:238;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;8220:1546;-1:-1:-1;9391:21:238;733:12026:168;;;-1:-1:-1;;;9391:100:238;;-1:-1:-1;;;;;733:12026:168;;;;9391:100:238;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:168;;;;-1:-1:-1;;733:12026:168;;;;;;-1:-1:-1;;733:12026:168;9391:100:238;;;;;;;733:12026:168;;;9391:100:238;;;8220:1546;9500:26;733:12026:168;9540:13:238;;9577:3;733:12026:168;;9555:20:238;;;;;9592:30;9577:3;9610:12;;;;;:::i;:::-;733:12026:168;9592:30:238;;:::i;9577:3::-;9540:13;;;9555:20;;;;;;;9749:9;9555:20;;;;9639:33;733:12026:168;;;9639:33:238;:::i;:::-;9749:9;;;:::i;9391:100::-;;;;;;;;;;;;;;:::i;:::-;733:12026:168;9391:100:238;;;;733:12026:168;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;9391:100:238;;;733:12026:168;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;2404:1:238;733:12026:168;;;;;;9391:100:238;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;9391:100:238;;;733:12026:168;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9391:100:238;;;733:12026:168;;2404:1:238;733:12026:168;;;;;;;;;;;;;;;;;;;;;2404:1:238;733:12026:168;;;;;;;;;;9391:100:238;;;;;;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8225:73:238;;;;733:12026:168;8225:73:238;733:12026:168;8225:73:238;;;;;;;:::i;:::-;;;;8076:52;;;;;733:12026:168;8076:52:238;;733:12026:168;8076:52:238;;;;;;733:12026:168;8076:52:238;;;:::i;:::-;;;733:12026:168;;;;-1:-1:-1;733:12026:168;;;;;8206:6:238;8076:52;;;;;-1:-1:-1;8076:52:238;;7996:62;;733:12026:168;7996:62:238;;733:12026:168;7996:62:238;;;;;;733:12026:168;7996:62:238;;;:::i;:::-;;;733:12026:168;;;;-1:-1:-1;733:12026:168;;7996:62:238;;;;;-1:-1:-1;7996:62:238;;7847:83;-1:-1:-1;;;;;;7916:14:238;;;:::i;:::-;733:12026:168;;7847:83:238;;7756:67;;733:12026:168;7756:67:238;;733:12026:168;7756:67:238;;;;;;733:12026:168;7756:67:238;;;:::i;:::-;;;733:12026:168;;;;;;;;:::i;:::-;7756:67:238;;;;;;-1:-1:-1;7756:67:238;;7537:60;;733:12026:168;7537:60:238;;733:12026:168;7537:60:238;;;;;;733:12026:168;7537:60:238;;;:::i;:::-;;;733:12026:168;;;;;;7537:60:238;;;;;;-1:-1:-1;7537:60:238;;733:12026:168;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;2707:3:238;733:12026:168;;;;;;7661:53;;;;:::i;:::-;733:12026;;7661:53;;;;7413:139;733:12026;;-1:-1:-1;;;7473:79:168;;-1:-1:-1;;;;;733:12026:168;;;;7473:79;;733:12026;;;;;;;;;;;7473:79;;;;;7310:96;733:12026;;;;10875:64;;;;7346:60;;733:12026;7346:60;;733:12026;;;;;;;7346:60;7206:98;733:12026;;-1:-1:-1;;;7236:68:168;;-1:-1:-1;;;;;733:12026:168;;;;7236:68;;733:12026;;;;;;;;;7473:79;733:12026;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;2707:3:238;733:12026:168;;;;;;2630:3:238;733:12026:168;2404:1:238;733:12026:168;;;;;;;;;;;;;2630:3:238;2643:29;;;;:::i;:::-;2630:3;;:::i;:::-;2590:13;;;733:12026:168;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;;;;1230:24:238;;;733:12026:168;1230:24:238;;733:12026:168;1230:24:238;;;;;;733:12026:168;1230:24:238;;;:::i;:::-;;;733:12026:168;;;;;;;:::i;:::-;1230:24:238;;;;;;-1:-1:-1;1230:24:238;;;733:12026:168;;971:66:46;733:12026:168;;971:66:46;;;;1917:57:168;733:12026;;-1:-1:-1;;;1936:38:168;;733:12026;;1936:38;733:12026;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;4106:40:168;:64;;;;;;733:12026;;-1:-1:-1;;;4106:64:168;;:12;733:12026;4106:64;;733:12026;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;4106:64;;;;;;;;733:12026;;4106:64;;;;:::i;:::-;733:12026;;4106:64;733:12026;4106:64;733:12026;;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;:::i;:::-;971:66:46;;733:12026:168;1921:6;971:66:46;733:12026:168;1917:57;;8865:16;;;:::i;:::-;8953:15;8941:10;;8953:15;:::i;:::-;2302:22:238;;733:12026:168;;2404:1:238;2382:23;;733:12026:168;;2460:41:238;;;733:12026:168;;2556:22:238;733:12026:168;2590:13:238;2605:23;;;;;;2693:17;;733:12026:168;;;;;9036:12;9032:65;;733:12026;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;733:12026:168;;;;;;;9156:125;;733:12026;;;;:::i;:::-;;9156:125;;733:12026;;;;:::i;:::-;;9156:125;;733:12026;8941:10;733:12026;;9104:20;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;9156:125;;733:12026;;;;;;9156:125;;733:12026;;;;-1:-1:-1;;;;;733:12026:168;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;;;;2585:94:238;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;9156:125;;733:12026;;;;-1:-1:-1;;;;;733:12026:168;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;2404:1:238;733:12026:168;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;8941:10;;-1:-1:-1;9293:100:168;;-1:-1:-1;733:12026:168;;9293:100;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2404:1:238;733:12026:168;;;;;;;;;;;;;2404:1:238;733:12026:168;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;9032:65;733:12026;;-1:-1:-1;;;9057:40:168;;733:12026;;9057:40;733:12026;;;-1:-1:-1;;;733:12026:168;;971:66:46;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;2630:3:238;733:12026:168;;;2404:1:238;733:12026:168;;;;;;;;;;;;;2630:3:238;2643:29;;;;:::i;2630:3::-;2590:13;;;;;733:12026:168;;;-1:-1:-1;;;733:12026:168;;971:66:46;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;971:66:46;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;971:66:46;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12746:6;971:66:46;733:12026:168;;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;3968:27:168;:38;;;;;;733:12026;;-1:-1:-1;;;3968:38:168;;:12;733:12026;3968:38;;733:12026;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;3968:38;;;;;;;;733:12026;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;2471:103:51;;:::i;:::-;733:12026:168;1921:6;971:66:46;733:12026:168;1917:57;;1980:1;;;:::i;:::-;1787::51;3053:22;733:12026:168;;;;;;;;;;;;;;;;1513:6:42;733:12026:168;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;3301:14:48;3347:34;;;;;;733:12026:168;3346:108:48;;;;733:12026:168;;;;-1:-1:-1;;733:12026:168;;;;;;;3562:65:48;;733:12026:168;-1:-1:-1;733:12026:168;;-1:-1:-1;;;2507:241:168;;-1:-1:-1;;;;;733:12026:168;;;;2507:241;;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2507:12;:241;;;;;;;;;;;733:12026;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;2492:256;733:12026;;;2492:256;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5366:69:48;733:12026:168;;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;3647:99:48;;733:12026:168;;3647:99:48;733:12026:168;;;;;;;3721:14:48;733:12026:168;;;;;;3721:14:48;733:12026:168;;2507:241;;;733:12026;2507:241;;733:12026;2507:241;;;;;;733:12026;2507:241;;;:::i;:::-;;;733:12026;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;2507:241;;;733:12026;;;;2507:241;;;-1:-1:-1;2507:241:168;;;733:12026;;971:66:46;733:12026:168;;971:66:46;;;;3562:65:48;-1:-1:-1;;733:12026:168;;;;;3562:65:48;;;733:12026:168;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;733:12026:168;;;;;3436:17:48;3346:108;;3347:34;733:12026:168;;;;;3365:16:48;3347:34;;733:12026:168;;;;;;;-1:-1:-1;;733:12026:168;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;4247:18:168;733:12026;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;;1921:6;971:66:46;733:12026:168;1917:57;;1980:1;;;:::i;733:12026::-;;;;;;;-1:-1:-1;;733:12026:168;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;3698:40:168;:64;;;;;;733:12026;;-1:-1:-1;;;3698:64:168;;:12;733:12026;3698:64;;733:12026;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;3698:64;;;;;;;;733:12026;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;733:12026:168;;-1:-1:-1;;;;;;733:12026:168;;;;;;;-1:-1:-1;;;;;733:12026:168;2806:40:42;733:12026:168;;2806:40:42;733:12026:168;;;-1:-1:-1;733:12026:168;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;;;:::i;:::-;2471:103:51;;:::i;:::-;733:12026:168;1921:6;971:66:46;733:12026:168;1917:57;;733:12026;;-1:-1:-1;;;10219:24:168;;733:12026;;;;10219:24;;733:12026;;;971:66:46;733:12026:168;;;;;-1:-1:-1;;;;;733:12026:168;;10219:24;;;;;;;;;;;733:12026;10314:15;;;;;:::i;:::-;10372:32;733:12026;;;-1:-1:-1;;;10372:65:168;;733:12026;;;10372:65;;733:12026;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;10372:65;;;;;;;;;;733:12026;10362:75;733:12026;;;;10362:75;:::i;:::-;733:12026;;;;;;;;;;10505:20;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;10565:21;10561:105;;733:12026;;-1:-1:-1;;;;;733:12026:168;;;;;;10677:45;;10673:156;;733:12026;;;;;;;;10839:27;10835:104;;10999:14;;;;;:::i;:::-;-1:-1:-1;;;;;733:12026:168;;11021:57;;;;733:12026;;-1:-1:-1;;;11021:57:168;;-1:-1:-1;;;;;733:12026:168;;;11021:57;;733:12026;11057:10;733:12026;;;;;;;;;;;;;;;;;;;;;11021:57;733:12026;;-1:-1:-1;;;;;733:12026:168;;11021:57;;;;;;;;733:12026;;;;;;;11208:25;733:12026;;11241:21;733:12026;;;;;6804:41:238;733:12026:168;;10372:32;733:12026;;;-1:-1:-1;;;7537:60:238;;733:12026:168;;;7537:60:238;;733:12026:168;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;7537:60:238;;;;;;;733:12026:168;7537:60:238;;;733:12026:168;;;;;;;;:::i;:::-;;;;;;;;;;10372:12;733:12026;-1:-1:-1;;;;;733:12026:168;;7673:52:238;;;:::i;:::-;733:12026:168;7756:23:238;733:12026:168;;;-1:-1:-1;;;7756:67:238;;-1:-1:-1;;;;;733:12026:168;;;;7756:67:238;;733:12026:168;;;;;;;;;;;;7756:67:238;;;;;;;733:12026:168;7756:67:238;;;733:12026:168;-1:-1:-1;;;;;;733:12026:168;7731:93:238;;;:::i;:::-;733:12026:168;-1:-1:-1;;;;;7847:14:238;;;:::i;:::-;733:12026:168;;7847:83:238;;;7830:100;;;:::i;:::-;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;:::i;:::-;;;;;;;;;;7996:23:238;733:12026:168;;;-1:-1:-1;;;7996:62:238;;733:12026:168;;;7996:62:238;;733:12026:168;-1:-1:-1;;;;;733:12026:168;;;;;;;;;7996:62:238;;;;;;;733:12026:168;7996:62:238;;;7847:83;7984:74;733:12026:168;7984:74:238;733:12026:168;7984:74:238;;;;:::i;:::-;733:12026:168;;;-1:-1:-1;;;8076:52:238;;733:12026:168;;;8076:52:238;;733:12026:168;;;;;;8076:52:238;;;;;;;;;733:12026:168;8076:52:238;;;7847:83;8064:64;8206:6;8064:64;;;;:::i;8206:6::-;10372:32:168;733:12026;;;-1:-1:-1;;;8225:73:238;;-1:-1:-1;;;;;733:12026:168;;;;8225:73:238;;733:12026:168;;;;;;;;;;;;;;;;;;;8225:73:238;;;;;;;733:12026:168;8225:73:238;;;7847:83;-1:-1:-1;8224:74:238;;733:12026:168;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;8455:14:238;;;:::i;:::-;733:12026:168;;8436:33:238;;;:::i;:::-;733:12026:168;8482:29:238;733:12026:168;;;-1:-1:-1;;;8482:62:238;;-1:-1:-1;;;;;733:12026:168;;;;8482:62:238;;733:12026:168;;;;;;;;;;8482:62:238;;;;;;733:12026:168;8482:62:238;733:12026:168;8482:62:238;;;8220:1546;-1:-1:-1;8478:826:238;;;8482:29;733:12026:168;;;-1:-1:-1;;;8585:60:238;;-1:-1:-1;;;;;733:12026:168;;;;8585:60:238;;733:12026:168;;;;;;;;;;8585:60:238;;;;;;8759:28;8674:56;733:12026:168;;8585:60:238;8878:11;8585:60;733:12026:168;8585:60:238;;;8478:826;733:12026:168;;;;8694:28:238;733:12026:168;;;8694:28:238;:::i;8674:56::-;733:12026:168;;;8759:28:238;:::i;8878:11::-;9805:33;733:12026:168;;9805:33:238;:::i;:::-;9845:22;733:12026:168;9879:13:238;;9918:3;733:12026:168;;9894:22:238;;;;;9999:55;9918:3;9969:15;733:12026:168;9951:33:238;733:12026:168;9969:15:238;;;;:::i;9918:3::-;9879:13;;;9894:22;;;;10133:13;9894:22;10133:13;;:::i;:::-;10372:32:168;733:12026;;;-1:-1:-1;;;;;733:12026:168;11275:81;;;;;733:12026;;-1:-1:-1;;;11275:81:168;;-1:-1:-1;;;;;733:12026:168;;;11275:81;;733:12026;;;;;;;;;;;;;;;;;;;;;;;;11275:81;;;;;;;;9874:187:238;-1:-1:-1;;733:12026:168;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;11057:10;;733:12026;;;;11368:82;;733:12026;;;;11368:82;733:12026;11275:81;;;;:::i;:::-;733:12026;;11275:81;;;;8585:60:238;;;;733:12026:168;8585:60:238;733:12026:168;8585:60:238;;;;;;;:::i;:::-;;;;8478:826;10372:32:168;733:12026;;;-1:-1:-1;;;8944:106:238;;-1:-1:-1;;;;;733:12026:168;;;;8944:106:238;;733:12026:168;;;;;;;;;;8944:106:238;;;;;;9164:28;9079:56;733:12026:168;;8944:106:238;9283:11;8944:106;733:12026:168;8944:106:238;;;733:12026:168;;;;9099:28:238;733:12026:168;;;9099:28:238;:::i;9283:11::-;8478:826;;8482:62;;;;733:12026:168;8482:62:238;733:12026:168;8482:62:238;;;;;;;:::i;:::-;;;;8220:1546;-1:-1:-1;9391:21:238;733:12026:168;;;-1:-1:-1;;;9391:100:238;;-1:-1:-1;;;;;733:12026:168;;;;9391:100:238;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:168;;;;;;-1:-1:-1;;733:12026:168;;;;;-1:-1:-1;;733:12026:168;9391:100:238;;;;;;;733:12026:168;;;9391:100:238;;;8220:1546;9500:26;733:12026:168;9540:13:238;;9577:3;733:12026:168;;9555:20:238;;;;;9592:30;9577:3;9610:12;;;;;:::i;9577:3::-;9540:13;;;9555:20;;;;;;;9749:9;9555:20;;;;9639:33;733:12026:168;;;9639:33:238;:::i;9391:100::-;;;;;;;;;;;;;:::i;:::-;;;733:12026:168;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9391:100:238;;;;;;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;8225:73:238;;;;733:12026:168;8225:73:238;733:12026:168;8225:73:238;;;;;;;:::i;:::-;;;;8076:52;;;;;733:12026:168;8076:52:238;;733:12026:168;8076:52:238;;;;;;733:12026:168;8076:52:238;;;:::i;:::-;;;733:12026:168;;;;-1:-1:-1;733:12026:168;;;;;8206:6:238;8076:52;;;;;-1:-1:-1;8076:52:238;;7996:62;;733:12026:168;7996:62:238;;733:12026:168;7996:62:238;;;;;;733:12026:168;7996:62:238;;;:::i;:::-;;;733:12026:168;;;;-1:-1:-1;733:12026:168;;7996:62:238;;;;;-1:-1:-1;7996:62:238;;7847:83;-1:-1:-1;;;;;;7916:14:238;;;:::i;:::-;733:12026:168;;7847:83:238;;7756:67;;733:12026:168;7756:67:238;;733:12026:168;7756:67:238;;;;;;733:12026:168;7756:67:238;;;:::i;:::-;;;733:12026:168;;;;;;;;:::i;:::-;7756:67:238;;;;;;-1:-1:-1;7756:67:238;;7537:60;;733:12026:168;7537:60:238;;733:12026:168;7537:60:238;;;;;;733:12026:168;7537:60:238;;;:::i;:::-;;;733:12026:168;;;;;;7537:60:238;;;;;;-1:-1:-1;7537:60:238;;11021:57:168;;;;:::i;:::-;733:12026;;11021:57;;;;10835:104;733:12026;;;;10875:64;;;;;;733:12026;10875:64;;733:12026;;;;;;;10875:64;10673:156;733:12026;;-1:-1:-1;;;10739:83:168;;-1:-1:-1;;;;;733:12026:168;;;;10739:83;;733:12026;;;;;;;;;;;7473:79;10561:105;-1:-1:-1;733:12026:168;;-1:-1:-1;;;10595:71:168;;-1:-1:-1;;;;;733:12026:168;;;;10595:71;;733:12026;;;;;;;;;7473:79;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;10372:65;;733:12026;10372:65;;733:12026;10372:65;;;;;;733:12026;10372:65;;;:::i;:::-;;;733:12026;;;;10362:75;733:12026;;10372:65;;;;;-1:-1:-1;10372:65:168;;;733:12026;;971:66:46;733:12026:168;;971:66:46;;;;10219:24:168;;;;733:12026;10219:24;;733:12026;10219:24;;;;;;733:12026;10219:24;;;:::i;:::-;;;733:12026;;;;;;;:::i;:::-;10219:24;;;;;;;-1:-1:-1;10219:24:168;;;733:12026;;971:66:46;733:12026:168;;971:66:46;;;;733:12026:168;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;12531:12;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2333:6:49;-1:-1:-1;;;;;733:12026:168;2324:4:49;2316:23;733:12026:168;;;;;-1:-1:-1;;;;;;;;;;;733:12026:168;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:168;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:49;733:12026:168;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;733:12026:168;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;971:66:46;;733:12026:168;;;;;3330:17:46;;;;;;;;:::i;3232:526::-;733:12026:168;;;;;;;971:66:46;;;3383:63;;;;733:12026:168;3383:63:46;;;;733:12026:168;;3383:63:46;;;3232:526;-1:-1:-1;3379:302:46;;733:12026:168;;-1:-1:-1;;;3610:56:46;;733:12026:168;3610:56:46;;971:66;;;;733:12026:168;971:66:46;;733:12026:168;971:66:46;733:12026:168;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;971:66;;2171:17;;;:::i;:::-;2204:27;733:12026:168;2204:27:46;;733:12026:168;;2523:15:46;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;733:12026:168;;2519:123:46;733:12026:168;;;7318:69:66;733:12026:168;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;733:12026:168;;;;7276:25:66;;;;;;;:::i;:::-;7318:69;;:::i;:::-;;2519:123:46;;;;;;2523:28;;733:12026:168;2523:28:46;;971:66;733:12026:168;;-1:-1:-1;;;971:66:46;;733:12026:168;971:66:46;;;;;;733:12026:168;971:66:46;;733:12026:168;971:66:46;733:12026:168;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;733:12026:168;;;;;;;-1:-1:-1;;733:12026:168;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;11880:16;733:12026;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1898:6:49;733:12026:168;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;733:12026:168;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;733:12026:168;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;971:66:46;;733:12026:168;3232:526:46;733:12026:168;;;3330:17:46;;;;;;;;:::i;3232:526::-;733:12026:168;;;;;;;971:66:46;;;3383:63;;;;733:12026:168;3383:63:46;;;;733:12026:168;;3383:63:46;;;3232:526;-1:-1:-1;3379:302:46;;733:12026:168;;-1:-1:-1;;;3610:56:46;;733:12026:168;3610:56:46;;971:66;;;;;;;733:12026:168;971:66:46;733:12026:168;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;971:66;;2171:17;;;:::i;:::-;2204:27;733:12026:168;2204:27:46;;733:12026:168;;2523:15:46;;;:28;;;2519:123;;3232:526;;;;733:12026:168;;2523:28:46;;733:12026:168;2523:28:46;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;733:12026:168;;;;;;;-1:-1:-1;;733:12026:168;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;3384:37:168;:58;;;;;;733:12026;;-1:-1:-1;;;3384:58:168;;:12;733:12026;3384:58;;733:12026;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;3384:58;;;;;;;;733:12026;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;12151:20;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:168;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;-1:-1:-1;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;733:12026:168;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;;;:::i;:::-;;;;2471:103:51;;:::i;:::-;733:12026:168;1921:6;971:66:46;733:12026:168;1917:57;;4731:16;;;:::i;:::-;4759:12;;4755:65;;4862:32;733:12026;;;-1:-1:-1;;;4862:65:168;;733:12026;4862:65;;733:12026;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;4862:65;;;;;;;;;;733:12026;4852:75;;;;;:::i;:::-;5004:10;;733:12026;;4987:16;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5061:1023;;733:12026;6154:14;;;;;6229;6154;;;;;;:::i;:::-;6229;;:::i;:::-;733:12026;;;4862:32;733:12026;;;;971:66:46;;;;;;;6383:62:168;;;;;;;;6463:99;6383:62;733:12026;6383:62;;;;;733:12026;;;;;;;;;:::i;:::-;;;;;;6299:152;;;733:12026;;;;;;6299:152;;733:12026;;;;5004:10;733:12026;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;5004:10;6463:99;;733:12026;3053:22:51;733:12026:168;;;6383:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;733:12026;;971:66:46;733:12026:168;;971:66:46;;;;5061:1023:168;733:12026;;;;;;;;;971:66:46;;;;;;;5198:62:168;;;;;;;;;;;733:12026;5198:62;;;;;;5061:1023;-1:-1:-1;733:12026:168;;;;5198:86;;;:139;;5061:1023;5185:893;;;733:12026;;;;;5483:22;;;5479:398;5483:22;;;733:12026;;5603:10;733:12026;5557:22;733:12026;;5557:22;:::i;:::-;5004:10;733:12026;;5603:10;;;:::i;:::-;6229:14;5626:18;5479:398;5061:1023;;;;;;;5479:398;6229:14;733:12026;;5805:60;733:12026;;;5861:3;5822:35;5787:79;733:12026;;5822:35;;:::i;5805:60::-;5787:79;;:::i;:::-;5479:398;;5185:893;6229:14;733:12026;;6058:10;733:12026;;;;;;5004:10;733:12026;;6058:10;;:::i;5198:139::-;733:12026;;;;;;;;5296:41;5198:139;;:62;;;;;;;;;;;;;;:::i;:::-;;;;;733:12026;;;971:66:46;;;;;;;;4862:65:168;;;;;;;;;;;;;;;:::i;:::-;;;733:12026;;;;4852:75;733:12026;;4862:65;;;;;;;733:12026;;;;;;;-1:-1:-1;;733:12026:168;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;3846:32:168;:48;;;;;;733:12026;;-1:-1:-1;;;3846:48:168;;:12;733:12026;3846:48;;733:12026;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;3846:48;;;;;;;;733:12026;;;;;;;;;-1:-1:-1;;733:12026:168;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;3538:38:168;;:60;;;;;;733:12026;;-1:-1:-1;;;3538:60:168;;:12;733:12026;3538:60;;733:12026;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;3538:60;;;;;;;;733:12026;;;3538:60;;;;:::i;733:12026::-;;;;-1:-1:-1;;;;;733:12026:168;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;733:12026:168;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;733:12026:168;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;733:12026:168;;;;;;:::o;:::-;-1:-1:-1;;;;;733:12026:168;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;:::o;:::-;-1:-1:-1;;;;;733:12026:168;;;;;;-1:-1:-1;;733:12026:168;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;:::o;1599:130:42:-;1513:6;733:12026:168;-1:-1:-1;;;;;733:12026:168;929:10:68;1662:23:42;733:12026:168;;1599:130:42:o;733:12026:168:-;;;;971:66:46;;;733:12026:168;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;733:12026:168;;-1:-1:-1;;;;;733:12026:168;;;-1:-1:-1;;;;;;733:12026:168;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;733:12026:168:-;;;;:::o;:::-;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;1699:281:46;1713:19:66;;:23;733:12026:168;;-1:-1:-1;;;;;;;;;;;733:12026:168;;-1:-1:-1;;;;;;733:12026:168;-1:-1:-1;;;;;733:12026:168;;;;;;;;;1699:281:46:o;733:12026:168:-;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;733:12026:168;;;;:::o;:::-;;;:::o;7682:628:66:-;;;;7886:418;;;733:12026:168;;;7917:22:66;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;733:12026:168;;8212:17:66;:::o;733:12026:168:-;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;;;;7886:418:66;733:12026:168;;;;-1:-1:-1;8991:21:66;:17;;9163:142;;;;;;;8987:379;733:12026:168;;-1:-1:-1;;;9335:20:66;;733:12026:168;9335:20:66;;;733:12026:168;;;;;;;;;;;;;;;9335:20:66;;;-1:-1:-1;733:12026:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;733:12026:168;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;2580:287:51:-;1830:1;2712:7;733:12026:168;2712:19:51;1830:1;;;2712:7;733:12026:168;2580:287:51:o;1830:1::-;733:12026:168;;-1:-1:-1;;;1830:1:51;;;;;;;;;;;733:12026:168;1830:1:51;733:12026:168;;;1830:1:51;;;;733:12026:168;-1:-1:-1;;;;;733:12026:168;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;733:12026:168;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;8077:476;-1:-1:-1;8241:10:168;733:12026;;8224:16;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8280:17;8276:30;;733:12026;8241:10;;8450;8241;;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;8241:10;733:12026;;8450:10;;:::i;:::-;8473:75;8241:10;8473:75;;;8077:476::o;8276:30::-;8299:7;;;;;;;;:::o;733:12026::-;;;;;;;;:::o;:::-;;;;;;;;9442:394;-1:-1:-1;9609:10:168;733:12026;;9588:20;9648:16;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9648:21;9644:34;;733:12026;9609:10;;733:12026;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9609:10;;;9752:79;9609:10;9752:79;;;9442:394::o;733:12026::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;9644:34;9671:7;;;;;:::o;733:12026::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;623:272:238:-;-1:-1:-1;;;;;733:12026:168;;;756:30:238;;;:97;;;;623:272;733:12026:168;;;;;623:272:238:o;733:12026:168:-;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;756:97:238;790:63;733:12026:168;;;790:29:238;733:12026:168;;;;;;971:66:46;;;;;;;790:63:238;;;;;733:12026:168;790:63:238;;;;;;;784:1;790:63;;;756:97;;;;;;790:63;;;;;;;;;;;;;;:::i;:::-;;;;1531:253;733:12026:168;;-1:-1:-1;;;1696:45:238;;-1:-1:-1;;;;;733:12026:168;;;1696:45:238;;;733:12026:168;1735:4:238;733:12026:168;;;;;1696:45:238;;733:12026:168;;;;;;;1696:45:238;;;;;;;-1:-1:-1;1696:45:238;;;1531:253;733:12026:168;;;;1531:253:238:o;733:12026:168:-;;;-1:-1:-1;;;733:12026:168;;1696:45:238;;733:12026:168;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;1696:45:238;;;;;;;;;;;;;;:::i;:::-;;;;733:12026:168;-1:-1:-1;;733:12026:168;;;;;;;:::o;3119:313:238:-;-1:-1:-1;;;;;733:12026:168;3222:23:238;;3218:50;;733:12026:168;;-1:-1:-1;;;3321:42:238;;3337:10;3321:42;;;733:12026:168;3357:4:238;733:12026:168;;;;;3321:42:238;;733:12026:168;;;;;;3321:42:238;;;;;;;3243:1;3321:42;;;3119:313;3321:53;;733:12026:168;;3119:313:238:o;733:12026:168:-;;;-1:-1:-1;;;733:12026:168;;3321:42:238;;733:12026:168;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;3321:42:238;;;;;;;;;;;;;;;;:::i;:::-;;;733:12026:168;;;;;;3321:42:238;;;;;;-1:-1:-1;3321:42:238;;3218:50;3255:7;;:::o;3889:603::-;-1:-1:-1;;;;;733:12026:168;;3983:30:238;;3979:117;;4110:9;733:12026:168;;;;;;971:66:46;;;4245:30:238;;;;4269:4;4245:30;;;733:12026:168;4245:30:238;;;;733:12026:168;4245:30:238;;;;;;;;;;;;4011:1;4245:30;;;3889:603;-1:-1:-1;733:12026:168;;-1:-1:-1;;;1482:68:96;;;;4305:10:238;733:12026:168;1482:68:96;;733:12026:168;4269:4:238;733:12026:168;;;;;;;;;;1482:68:96;;;733:12026:168;;;;1482:68:96;;733:12026:168;;1482:68:96;;;;;;:::i;:::-;;;:::i;:::-;733:12026:168;;;4370:30:238;;;;;;4269:4;4245:30;4370;;733:12026:168;4370:30:238;;;;;;;4011:1;4370:30;;;3889:603;4415:28;;;;;:::i;:::-;:39;733:12026:168;;3889:603:238;;:::o;733:12026:168:-;;;;;971:66:46;;;;733:12026:168;;4245:30:238;733:12026:168;;;;;;;;;;;;;;4370:30:238;;;;;;;;;;;;;;;:::i;:::-;;;733:12026:168;;;;-1:-1:-1;733:12026:168;4415:28:238;4370:30;;;;;;;;733:12026:168;;971:66:46;4011:1:238;971:66:46;;;;;4245:30:238;;;;;;;;;;;;;;;;;:::i;:::-;;;733:12026:168;;;;;;;;4245:30:238;;;;;;;;;;733:12026:168;;971:66:46;4011:1:238;971:66:46;;;;;733:12026:168;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;3979:117:238;4031:9;;;:20;733:12026:168;;4083:7:238:o;733:12026:168:-;;;-1:-1:-1;;;733:12026:168;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;;;5173:642:96;733:12026:168;;5535:69:101;;-1:-1:-1;;;;;733:12026:168;;;;:::i;:::-;-1:-1:-1;733:12026:168;;;;;;;;;;;5487:31:101;;;;;;;;;;;:::i;5535:69::-;733:12026:168;;5705:22:96;;;;:56;;;;;5173:642;733:12026:168;;;;;;5173:642:96;:::o;733:12026:168:-;;;;;971:66:46;;;;733:12026:168;;;;;;;;;;;;;;;;-1:-1:-1;;;733:12026:168;;;;;5705:56:96;5731:30;;-1:-1:-1;5731:30:96;;;;;;;:::i;:::-;5705:56;;;;;733:12026:168;;;;;:::o;4919:693:238:-;;;;5103:12;;5099:39;;5210:3;5181:25;5169:45;5181:25;;;:::i;5169:45::-;-1:-1:-1;;;;;733:12026:168;;;;;;5225:30:238;;5221:289;;5592:14;;;;:::i;:::-;4919:693::o;5221:289::-;-1:-1:-1;5309:16:238;733:12026:168;;;-1:-1:-1;;;5364:78:238;;;;;;-1:-1:-1;;;;;733:12026:168;;;5364:78:238;;;733:12026:168;;;;;;;5459:30:238;;5114:1;;;;733:12026:168;;;;;5364:78:238;;733:12026:168;;;;5364:78:238;733:12026:168;5364:78:238;5301:149;;;;;;:::i;:::-;5459:30;;:::i;5099:39::-;5125:7;;;;:::o;941:175:96:-;733:12026:168;;-1:-1:-1;;;1050:58:96;;;;-1:-1:-1;;;;;733:12026:168;;;;1050:58:96;;;733:12026:168;;;;;;;;;1050:58:96;;;;;;733:12026:168;;1050:58:96;:::i;:::-;;:::i;733:12026:168:-;;;;;;;;;:::o;:::-;;;;-1:-1:-1;733:12026:168;;;;;-1:-1:-1;733:12026:168;;;;7537:27:238;733:12026:168;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;10156:657:238:-;;;;-1:-1:-1;;;;;733:12026:168;10156:657:238;733:12026:168;;10368:30:238;733:12026:168;;;;10452:16:238;733:12026:168;;;;;10500:72:238;;;;;;10523:25;;;;10500:72;;733:12026:168;;;;10500:72:238;;;733:12026:168;;;;;;;;;;;;;10396:1:238;733:12026:168;;;;;;;-1:-1:-1;;;;733:12026:168;;;-1:-1:-1;;733:12026:168;;;;;;;;;;;;;;;;;10396:1:238;733:12026:168;;;;;;10500:72:238;;;;;10396:1;10500:72;;;;;;10589:30;10500:72;;;733:12026:168;;10500:72:238;;;;;;:::i;733:12026:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10364:445:238;10693:13;;;;10396:1;10732:3;733:12026:168;;10708:22:238;;;;;10766:14;10747:47;10766:14;;10732:3;10766:14;;;:::i;:::-;733:12026:168;;10782:11:238;;;;:::i;:::-;733:12026:168;10747:47:238;;;:::i;:::-;10732:3;:::i;:::-;10693:13;;10708:22;;;;;;;10156:657::o","linkReferences":{"src/utils/structs/MarketConfig.sol":{"MarketConfig":[{"start":3900,"length":20},{"start":5367,"length":20},{"start":5832,"length":20},{"start":6717,"length":20},{"start":12949,"length":20},{"start":15671,"length":20},{"start":15796,"length":20}]}},"immutableReferences":{"32368":[{"start":11380,"length":32},{"start":11680,"length":32},{"start":12476,"length":32}]}},"methodIdentifiers":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":"e5fc48ee","buyFromCollection(address,uint256,address,uint256)":"6d374d81","cancelCollectionOffer(address)":"9214be52","cancelCollectionSalePrice(address)":"85b1eb27","getCollectionOffer(address,address)":"381eff7c","getCollectionSalePrice(address,address)":"25bc1330","getMarketConfig()":"614bd944","initialize(address,address,address,address,address,address,address,address)":"8a29e2de","isPaused()":"b187bd26","makeCollectionOffer(address,address,uint256)":"22f193d0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setApprovedTokenRegistry(address)":"e4e87e3b","setCollectionSalePrice(address,address,uint256,address[],uint8[])":"d9ed2096","setContractPaused(bool)":"882796f1","setMarketplaceSettings(address)":"176ab440","setNetworkBeneficiary(address)":"3492e5a8","setPayments(address)":"af231a58","setRoyaltyEngine(address)":"21ede032","setSpaceOperatorRegistry(address)":"7f358230","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AmountCantBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractPaused\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_suppliedCurrency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_configuredCurrency\",\"type\":\"address\"}],\"name\":\"CurrencyMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requiredAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_specifiedAmount\",\"type\":\"uint256\"}],\"name\":\"IncorrectAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTokenRange\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"}],\"name\":\"NoOfferExistsForBuyer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"SalePriceDoesntExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"TokenNotPartOfSalePrice\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"AcceptCollectionOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"CollectionOfferCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"CollectionOfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"CollectionSalePriceCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"CollectionSalePriceSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptCollectionOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buyFromCollection\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"cancelCollectionOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"}],\"name\":\"cancelCollectionSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"}],\"name\":\"getCollectionOffer\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marketplaceFee\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareCollectionMarket.CollectionOffer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"}],\"name\":\"getCollectionSalePrice\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareCollectionMarket.CollectionSalePrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMarketConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"contract IPayments\",\"name\":\"payments\",\"type\":\"address\"},{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"contract IStakingSettings\",\"name\":\"stakingSettings\",\"type\":\"address\"},{\"internalType\":\"contract IRareStakingRegistry\",\"name\":\"stakingRegistry\",\"type\":\"address\"}],\"internalType\":\"struct MarketConfig.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"makeCollectionOffer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"}],\"name\":\"setApprovedTokenRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setCollectionSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPaused\",\"type\":\"bool\"}],\"name\":\"setContractPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"}],\"name\":\"setNetworkBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"}],\"name\":\"setPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"}],\"name\":\"setRoyaltyEngine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"setSpaceOperatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_buyer\":\"Address of the user who submitted the collection offer.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddrs\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"buyFromCollection(address,uint256,address,uint256)\":{\"details\":\"Users will still need to cancel collection offers if previously placed.\",\"params\":{\"_amount\":\"Amount the piece if being bought for (excluding marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelCollectionOffer(address)\":{\"params\":{\"_originContract\":\"Contract address of collection.\"}},\"cancelCollectionSalePrice(address)\":{\"params\":{\"_originContract\":\"Contract address of the collection.\"}},\"getCollectionOffer(address,address)\":{\"params\":{\"_buyer\":\"The user who placed the collection offer.\",\"_originContract\":\"The nft contract the collection offer was made on.\"},\"returns\":{\"_0\":\"CollectionOffer struct containing the currencyAddress, amount, and marketplace fee.\"}},\"getCollectionSalePrice(address,address)\":{\"params\":{\"_originContract\":\"The nft contract the collection sales price was set on.\",\"_seller\":\"The user who set the collection sales price.\"},\"returns\":{\"_0\":\"CollectionSalePrice struct containing the currencyAddress, amount, token range, and split information.\"}},\"getMarketConfig()\":{\"returns\":{\"_0\":\"MarketConfig.Config struct with addresses for NetworkBeneficiary, MarketplaceSettings, SpaceOperatorRegistry, RoyaltyEngine, Payments, and ApprovedTokenRegistry.\"}},\"isPaused()\":{\"returns\":{\"_0\":\"bool flag on whether the contract is paused or not.\"}},\"makeCollectionOffer(address,address,uint256)\":{\"params\":{\"_amount\":\"Amount being offered.\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Address of the collection the offer is placed on.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setCollectionSalePrice(address,address,uint256,address[],uint8[])\":{\"params\":{\"_amount\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_currencyAddress\":\"Contract address of the currency the collection is being listed for.\",\"_originContract\":\"Contract address of the collection being listed.\",\"_splitAddrs\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"collectionOffers\":{\"details\":\"Mapping from UserAddr => CollectionAddr => CollectionOffer Struct\"},\"collectionSalePrices\":{\"details\":\"Mapping from UserAddr => CollectionAddr => CollectionSalePrice Struct\"},\"paused\":{\"details\":\"Flag to show if the contract is paused or not\"}},\"version\":1},\"userdoc\":{\"errors\":{\"AmountCantBeZero()\":[{\"notice\":\"Emitted when an offer or sale price with an amount of 0 is made via {makeCollectionOffer} and {setCollectionSalePrice}.\"}],\"ContractPaused()\":[{\"notice\":\"Emitted via functions if the contract has been paused.\"}],\"CurrencyMismatch(address,address)\":[{\"notice\":\"Emitted via {buyFromCollection} and {acceptCollectionOffer} when the currency address doesnt match the sale price/offer.\"}],\"IncorrectAmount(uint256,uint256)\":[{\"notice\":\"Emitted via {acceptCollectionOffer} and {buyFromCollection} when the required amount isnt sent.\"}],\"InvalidTokenRange()\":[{\"notice\":\"Emitted when a sale price has an invalid token range.\"}],\"NoOfferExistsForBuyer(address,address)\":[{\"notice\":\"Emitted via {acceptCollectionOffer} if no offer exists on {_originContract} for {_buyer}.\"}],\"SalePriceDoesntExist(address,address)\":[{\"notice\":\"Emitted via {buyFromCollection} if no sale price exists for {_originContract} and {_seller}.\"}],\"TokenNotPartOfSalePrice(address,address,uint256)\":[{\"notice\":\"Emitted via {buyFromCollection} if the token is not in the sale price range.\"}]},\"events\":{\"AcceptCollectionOffer(address,address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when a collection offer is accepted via {acceptCollectionOffer}.\"},\"CollectionOfferCancelled(address,address)\":{\"notice\":\"Emitted when a collection offer is cancelled via {cancelCollectionOffer}.\"},\"CollectionOfferPlaced(address,address,address,uint256)\":{\"notice\":\"Emitted when the a collection offer is placed via {makeCollectionOffer}.\"},\"CollectionSalePriceCancelled(address,address)\":{\"notice\":\"Emitted when a collection sale price has been cancelled via {cancelCollectionSalePrice}.\"},\"CollectionSalePriceSet(address,address,address,uint256)\":{\"notice\":\"Emitted when a collection sale price is set via {setCollectionSalePrice}.\"},\"Sold(address,address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when a token is bought from a sale price via {buyFromCollection}.\"}},\"kind\":\"user\",\"methods\":{\"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept a collection offer that as made.\"},\"buyFromCollection(address,uint256,address,uint256)\":{\"notice\":\"Purchase token under the current owners collection sale price.\"},\"cancelCollectionOffer(address)\":{\"notice\":\"Cancels an existing collection offer the sender has placed.\"},\"cancelCollectionSalePrice(address)\":{\"notice\":\"Cancels an existing collection sale price set by the sender.\"},\"getCollectionOffer(address,address)\":{\"notice\":\"Queries the collection offer made on {_originContract} by {_buyer}.\"},\"getCollectionSalePrice(address,address)\":{\"notice\":\"Queries the collection sales price set on {_originContract} by {_seller}.\"},\"getMarketConfig()\":{\"notice\":\"Query the current market config being used.\"},\"isPaused()\":{\"notice\":\"Query the contract to see the current pause status.\"},\"makeCollectionOffer(address,address,uint256)\":{\"notice\":\"Place an offer for a collection that can be accepted by any token owner.\"},\"setCollectionSalePrice(address,address,uint256,address[],uint8[])\":{\"notice\":\"Set a sale price for all pieces under {_originContract}.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/RareCollectionMarket.sol\":\"RareCollectionMarket\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/collection/IRareCollectionMarket.sol\":{\"keccak256\":\"0x7cd8c599bc8ca7423f0443c2226b8339ec8ca8c4317779f8f8f9d4b734ff7a5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d99b83c8768bb879e2c1b2e5b604eb7ed2a833ef59762c54588ba78d9e3effea\",\"dweb:/ipfs/QmdoA7GZ8A4pvcUE1bW2Zh3nb3FVCskNGVSRb3HTNDSXJC\"]},\"src/collection/RareCollectionMarket.sol\":{\"keccak256\":\"0x71d01cbb242b77caab282903f053bd416d1ff04e5b95f265d00d0c5ff94d5c20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://360340761ef62de41498cebf986c8113c7e32a4f022f9157df351ccd35bfb067\",\"dweb:/ipfs/Qmc9a9kw2wPa6rKV3htLB4wMUhLg89JAKFjerHiWpDCE1F\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/utils/MarketUtils.sol\":{\"keccak256\":\"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da\",\"dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY\"]},\"src/utils/structs/MarketConfig.sol\":{\"keccak256\":\"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369\",\"dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AmountCantBeZero"},{"inputs":[],"type":"error","name":"ContractPaused"},{"inputs":[{"internalType":"address","name":"_suppliedCurrency","type":"address"},{"internalType":"address","name":"_configuredCurrency","type":"address"}],"type":"error","name":"CurrencyMismatch"},{"inputs":[{"internalType":"uint256","name":"_requiredAmount","type":"uint256"},{"internalType":"uint256","name":"_specifiedAmount","type":"uint256"}],"type":"error","name":"IncorrectAmount"},{"inputs":[],"type":"error","name":"InvalidTokenRange"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_buyer","type":"address"}],"type":"error","name":"NoOfferExistsForBuyer"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"address","name":"_originContract","type":"address"}],"type":"error","name":"SalePriceDoesntExist"},{"inputs":[{"internalType":"address","name":"_seller","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"TokenNotPartOfSalePrice"},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"AcceptCollectionOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true}],"type":"event","name":"CollectionOfferCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"CollectionOfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true}],"type":"event","name":"CollectionSalePriceCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"CollectionSalePriceSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_buyer","type":"address"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buyFromCollection"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelCollectionOffer"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelCollectionSalePrice"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_buyer","type":"address"}],"stateMutability":"view","type":"function","name":"getCollectionOffer","outputs":[{"internalType":"struct IRareCollectionMarket.CollectionOffer","name":"","type":"tuple","components":[{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"marketplaceFee","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_seller","type":"address"}],"stateMutability":"view","type":"function","name":"getCollectionSalePrice","outputs":[{"internalType":"struct IRareCollectionMarket.CollectionSalePrice","name":"","type":"tuple","components":[{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMarketConfig","outputs":[{"internalType":"struct MarketConfig.Config","name":"","type":"tuple","components":[{"internalType":"address","name":"networkBeneficiary","type":"address"},{"internalType":"contract IMarketplaceSettings","name":"marketplaceSettings","type":"address"},{"internalType":"contract ISpaceOperatorRegistry","name":"spaceOperatorRegistry","type":"address"},{"internalType":"contract IRoyaltyEngineV1","name":"royaltyEngine","type":"address"},{"internalType":"contract IPayments","name":"payments","type":"address"},{"internalType":"contract IApprovedTokenRegistry","name":"approvedTokenRegistry","type":"address"},{"internalType":"contract IStakingSettings","name":"stakingSettings","type":"address"},{"internalType":"contract IRareStakingRegistry","name":"stakingRegistry","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"makeCollectionOffer"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_approvedTokenRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setApprovedTokenRegistry"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setCollectionSalePrice"},{"inputs":[{"internalType":"bool","name":"_isPaused","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setContractPaused"},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceSettings"},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkBeneficiary"},{"inputs":[{"internalType":"address","name":"_payments","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPayments"},{"inputs":[{"internalType":"address","name":"_royaltyEngine","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyEngine"},{"inputs":[{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorRegistry"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount the offer was for/and is being accepted.","_buyer":"Address of the user who submitted the collection offer.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddrs":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"buyFromCollection(address,uint256,address,uint256)":{"details":"Users will still need to cancel collection offers if previously placed.","params":{"_amount":"Amount the piece if being bought for (excluding marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelCollectionOffer(address)":{"params":{"_originContract":"Contract address of collection."}},"cancelCollectionSalePrice(address)":{"params":{"_originContract":"Contract address of the collection."}},"getCollectionOffer(address,address)":{"params":{"_buyer":"The user who placed the collection offer.","_originContract":"The nft contract the collection offer was made on."},"returns":{"_0":"CollectionOffer struct containing the currencyAddress, amount, and marketplace fee."}},"getCollectionSalePrice(address,address)":{"params":{"_originContract":"The nft contract the collection sales price was set on.","_seller":"The user who set the collection sales price."},"returns":{"_0":"CollectionSalePrice struct containing the currencyAddress, amount, token range, and split information."}},"getMarketConfig()":{"returns":{"_0":"MarketConfig.Config struct with addresses for NetworkBeneficiary, MarketplaceSettings, SpaceOperatorRegistry, RoyaltyEngine, Payments, and ApprovedTokenRegistry."}},"isPaused()":{"returns":{"_0":"bool flag on whether the contract is paused or not."}},"makeCollectionOffer(address,address,uint256)":{"params":{"_amount":"Amount being offered.","_currencyAddress":"Address of the token being offered.","_originContract":"Address of the collection the offer is placed on."}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setCollectionSalePrice(address,address,uint256,address[],uint8[])":{"params":{"_amount":"Amount of the currency the asset is being listed for (including all decimal points).","_currencyAddress":"Contract address of the currency the collection is being listed for.","_originContract":"Contract address of the collection being listed.","_splitAddrs":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"acceptCollectionOffer(address,address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept a collection offer that as made."},"buyFromCollection(address,uint256,address,uint256)":{"notice":"Purchase token under the current owners collection sale price."},"cancelCollectionOffer(address)":{"notice":"Cancels an existing collection offer the sender has placed."},"cancelCollectionSalePrice(address)":{"notice":"Cancels an existing collection sale price set by the sender."},"getCollectionOffer(address,address)":{"notice":"Queries the collection offer made on {_originContract} by {_buyer}."},"getCollectionSalePrice(address,address)":{"notice":"Queries the collection sales price set on {_originContract} by {_seller}."},"getMarketConfig()":{"notice":"Query the current market config being used."},"isPaused()":{"notice":"Query the contract to see the current pause status."},"makeCollectionOffer(address,address,uint256)":{"notice":"Place an offer for a collection that can be accepted by any token owner."},"setCollectionSalePrice(address,address,uint256,address[],uint8[])":{"notice":"Set a sale price for all pieces under {_originContract}."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/RareCollectionMarket.sol":"RareCollectionMarket"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/collection/IRareCollectionMarket.sol":{"keccak256":"0x7cd8c599bc8ca7423f0443c2226b8339ec8ca8c4317779f8f8f9d4b734ff7a5b","urls":["bzz-raw://d99b83c8768bb879e2c1b2e5b604eb7ed2a833ef59762c54588ba78d9e3effea","dweb:/ipfs/QmdoA7GZ8A4pvcUE1bW2Zh3nb3FVCskNGVSRb3HTNDSXJC"],"license":"MIT"},"src/collection/RareCollectionMarket.sol":{"keccak256":"0x71d01cbb242b77caab282903f053bd416d1ff04e5b95f265d00d0c5ff94d5c20","urls":["bzz-raw://360340761ef62de41498cebf986c8113c7e32a4f022f9157df351ccd35bfb067","dweb:/ipfs/Qmc9a9kw2wPa6rKV3htLB4wMUhLg89JAKFjerHiWpDCE1F"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/utils/MarketUtils.sol":{"keccak256":"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875","urls":["bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da","dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY"],"license":"MIT"},"src/utils/structs/MarketConfig.sol":{"keccak256":"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1","urls":["bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369","dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6"],"license":"MIT"}},"version":1},"id":168} \ No newline at end of file diff --git a/abis/RareMinter.json b/abis/RareMinter.json index 9d55c85..bc34137 100644 --- a/abis/RareMinter.json +++ b/abis/RareMinter.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getContractAllowListConfig","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.AllowListConfig","components":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getContractMintLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractMintsPerAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractSellerStakingMinimum","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.StakingMinimum","components":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getContractTxLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractTxsPerAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDirectSaleConfig","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.DirectSaleConfig","components":[{"name":"seller","type":"address","internalType":"address"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"startTime","type":"uint256","internalType":"uint256"},{"name":"maxMints","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintDirectSale","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"},{"name":"_numMints","type":"uint8","internalType":"uint8"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prepareMintDirectSale","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_maxMints","type":"uint256","internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovedTokenRegistry","inputs":[{"name":"_approvedTokenRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractAllowListConfig","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"},{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractMintLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractSellerStakingMinimum","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_minimum","type":"uint256","internalType":"uint256"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractTxLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceSettings","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkBeneficiary","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPayments","inputs":[{"name":"_payments","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyEngine","inputs":[{"name":"_royaltyEngine","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorRegistry","inputs":[{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractMintLimitSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractStakingMinimumSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"minimum","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractTxLimitSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MintDirectSale","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenIdStart","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenIdEnd","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_currency","type":"address","indexed":false,"internalType":"address"},{"name":"_price","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepareMintDirectSale","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_currency","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_price","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_maxMints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"SetContractAllowListConfig","inputs":[{"name":"_root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a08060405234610031573060805261463790816100378239608051818181612e0c01528181612f3801526132d90152f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816304c1ff07146137e8575080630fc635b314613696578063176ab4401461361157806321ede0321461359457806323946f1f1461355a5780632da45e8e1461350a5780633492e5a81461348d5780633659cfe6146132b45780634cf5f9101461318c5780634f1ef28614612ebd57806352d1902d14612df9578063677b198414612bed578063715018a614612b8f57806378c198981461260e5780637f358230146125915780638a29e2de146121695780638da5cb5b146121405780639890cddf146120d35780639dbef5d114611fa9578063a01fa6a914611b05578063af231a5814611a88578063ca774e6814611a38578063d647ed3c146102a8578063e4e87e3b1461020c578063f2fde38b1461017b5763fa5312c81461013f57600080fd5b34610178576020366003190112610178576020906040906001600160a01b03610166613837565b16815261010783522054604051908152f35b80fd5b503461017857602036600319011261017857610195613837565b61019d613957565b6001600160a01b038116156101b8576101b5906139af565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346101785760203660031901126101785780610227613837565b61022f613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a4576040516386e5800760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b61029290613894565b6101785780f35b6040513d84823e3d90fd5b5050fd5b5060a0366003190112610178576102bd613837565b6102c5613863565b6064359060ff82168203610e57576084356001600160401b038111610dd9576102f2903690600401613919565b91906002606554146119f35760026065556001600160a01b0385168652610103602052604080872090519390610327856138a7565b60018060a01b03815416855260018060a01b036001820154166020860152600281015460408601526003810154606086015260048101546080860152604051806005830190602082549182815201918b5260208b20908b5b8181106119d45750505090610399816006949303826138dd565b60a0870152604051910180548083529089526020808a209183918201908b905b80601f83011061183f576104cf94549181811061182b575b818110611814575b8181106117fd575b8181106117e6575b8181106117d0575b8181106117b9575b8181106117a2575b81811061178b575b818110611774575b81811061175d575b818110611746575b81811061172f575b818110611718575b818110611701575b8181106116ea575b8181106116d3575b8181106116bc575b8181106116a5575b81811061168e575b818110611677575b818110611660575b818110611649575b818110611632575b81811061161b575b818110611604575b8181106115ed575b8181106115d6575b8181106115bf575b8181106115a8575b818110611591575b81811061157a575b1061156c575b5003826138dd565b60c085015283516001600160a01b031615611509576104ed81613ccc565b916104fb60405193846138dd565b8183526020830190368360051b820111610dfd5780915b8360051b820183106114f9575050505061052d903386613f12565b8151610542906001600160a01b031685613d60565b60ff83161561149f576001600160a01b0384168552610105602052604085205415801561145d575b15611400576001600160a01b038416855261010760205260408520541580156113ba575b156113565760808201518015908115611348575b50156112dd576060820151421061128c5760408201516044350361122b576105c9816140b9565b60208201516001600160a01b03908116908216036111c0576105f060443560ff8516613cf7565b916040810151611138575b6001600160a01b0385168652610105602052604086205461110d575b6001600160a01b038516865261010760205260408620546110cd575b60405163755edd1760e01b8152336004820152926020846024818a6001600160a01b038b165af1938415610b61578794611099575b5060fc5487906001600160a01b0316803b1561109557604051635a3c652d60e01b81526001600160a01b038916600482015260248101879052600160448201529082908290606490829084905af1611081575b505060015b60ff86168110610f9f57506040820151610766575b50516001600160a01b0316926106ee9060ff1683613d37565b6000198101908111610752576040805193845260208401919091526001600160a01b03918216908301526044356060830152339316907f3bbd73fed0f94290f16db112f6b7113697c2502dd42aa0ddf8f971472523f10090608090a4600160655580f35b634e487b7160e01b86526011600452602486fd5b92909491939560018060a01b038651169260a08701519760c0880151948951865103610f3e5760fc546040516361fe24a960e11b815260048101899052908890602090839060249082906001600160a01b03165afa918215610f33578692610eff575b50604051916107d7836138c2565b60028352604036602085013760fb546001600160a01b0316806107f98561405a565b526101025460405163e286ef3360e01b81526004810187905290602090829060249082906001600160a01b03165afa908115610e64578991610ec5575b506001600160a01b03166108498561407d565b526001600160a01b0361085b8561407d565b5116610eac575b61086b8461407d565b6001600160a01b039091169052604051610884816138c2565b600281526040366020830137610101546040516303fdde1160e21b8152600481018d90526001600160a01b0390911690602081602481855afa908115610ea1578a91610e6f575b506108d58361405a565b5260208c60246040518094819363470d6ed960e11b835260048301525afa908115610e64579085918a91610e28575b509261091a936109138461407d565b528d61448a565b60fc54604051631446f21360e21b81526001600160a01b038781166004830152602482018a9052909160209183916044918391165afa908115610b61578791610e09575b50610c08576040519261097084613879565b60018452602036818601376040519261098884613879565b60018452602036818601376001600160a01b03906109a59061405a565b51166109b08461405a565b5260fd54604051635dc22eff60e01b81526004810183905290602090829060249082906001600160a01b03165afa908115610bfd578891610bce575b5015610b6c5760fd54604051632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610b61578a610a54610a759695946064610a4d60ff8297610a5a978f91610b32575b50168095613cf7565b0490613d53565b9b613cf7565b04610a648361405a565b52610a6e8261405a565b518a61448a565b885193610a8185613ccc565b94610a8f60405196876138dd565b808652610a9e601f1991613ccc565b01366020870137839784985b8b518a1015610b0e57610b02610b08916064610afb60ff610af38f8f8f908f908388610ae6610aed9389610ade858961408d565b511690613cf7565b049261408d565b5261408d565b51168d613cf7565b0490613d37565b99613d44565b98610aaa565b610b2b9399506106ee9692985060ff959b9197509993998761448a565b91506106d5565b610b54915060203d602011610b5a575b610b4c81836138dd565b810190614471565b38610a44565b503d610b42565b6040513d89823e3d90fd5b5060fc5460405163b28a7bad60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610b61578a610a54610bc99695946064610a4d60ff8297610a5a978f91610b325750168095613cf7565b610a75565b610bf0915060203d602011610bf6575b610be881836138dd565b8101906140a1565b386109ec565b503d610bde565b6040513d8a823e3d90fd5b5050509794969391809693918160018060a01b0360fe541660648b6040519b8c938492637a99dc0160e11b845260018060a01b038816600485015289602485015260448401525af1998a15610299578298839b610cb4575b50829883995b8c518b1015610c9457610c88610c8e91610c818f8e9061408d565b5190613d37565b9a613d44565b99610c66565b989b919395979a610bc99395979a5089610cad91613d53565b988a61448a565b985099503d978883823e610cc889826138dd565b6040818a81010312610e055780516001600160401b038111610e0157810190898101601f83011215610e0157815191610d0083613ccc565b92610d0e60405194856138dd565b80845260208401918c840160208360051b83010111610dd55760208101925b60208360051b8301018410610ddd57505050506020810151996001600160401b038b11610dd957808201601f8c8401011215610dd9578a82015191610d7183613ccc565b9b610d7f6040519d8e6138dd565b838d5260208d0192820160208560051b838501010111610dd5579190602083820101925b60208560051b82840101018410610dc1575050505050979938610c60565b602080809486518152019401939250610da3565b8680fd5b8480fd5b83516001600160a01b0381168103610dfd57815260209384019301610d2d565b8880fd5b8380fd5b8280fd5b610e22915060203d602011610bf657610be881836138dd565b3861095e565b9150506020813d602011610e5c575b81610e44602093836138dd565b81010312610e575751849061091a610904565b600080fd5b3d9150610e37565b6040513d8b823e3d90fd5b90506020813d602011610e99575b81610e8a602093836138dd565b81010312610e575751386108cb565b3d9150610e7d565b6040513d8c823e3d90fd5b506001600160a01b03610ebe8461407d565b5116610862565b90506020813d602011610ef7575b81610ee0602093836138dd565b81010312610dfd57610ef190613c58565b38610836565b3d9150610ed3565b9091506020813d602011610f2b575b81610f1b602093836138dd565b81010312610e57575190386107c9565b3d9150610f0e565b6040513d88823e3d90fd5b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b60405163755edd1760e01b81523360048201526020816024818c6001600160a01b038d165af18015610e6457611056575b5060fc5488906001600160a01b0316610fe98388613d37565b813b15610e0557604051635a3c652d60e01b81526001600160a01b038b1660048201526024810191909152600160448201529082908290606490829084905af161103e575b505061103990613d44565b6106c0565b61104790613894565b61105257873861102e565b8780fd5b602090813d831161107a575b61106c81836138dd565b81010312610e575738610fd0565b503d611062565b61108a90613894565b610dd55786386106bb565b5080fd5b9093506020813d6020116110c5575b816110b5602093836138dd565b81010312610e5757519238610668565b3d91506110a8565b6101086020526040862033600052602052604060002080546001810181116110f9576001019055610633565b634e487b7160e01b88526011600452602488fd5b6101066020526040862033600052602052604060002061113160ff86168254613d37565b9055610617565b60fc546040516361fe24a960e11b81526004810185905290602090829060249082906001600160a01b03165afa908115610b6157879161118c575b506111816111879185613d37565b8361417a565b6105fb565b90506020813d6020116111b8575b816111a7602093836138dd565b81010312610e575751611181611173565b3d915061119a565b60405162461bcd60e51b815260206004820152603960248201527f6d696e7444697265637453616c653a3a43757272656e637920646f6573206e6f60448201527f74206d617463682072657175697265642063757272656e6379000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f6d696e7444697265637453616c653a3a507269636520646f6573206e6f74206d6044820152726174636820726571756972656420707269636560681b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f6d696e7444697265637453616c653a3a53616c6520686173206e6f74207374616044820152631c9d195960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152603a60248201527f6d696e7444697265637453616c653a3a4d696e7473206d757374206265206c6560448201527f7373207468616e206d61784d696e7420696620656e61626c65640000000000006064820152608490fd5b905060ff84161115386105a2565b60405162461bcd60e51b815260206004820152603660248201527f6d696e7444697265637453616c653a3a4578636565646564207472616e73616360448201527574696f6e206c696d697420666f72206164647265737360501b6064820152608490fd5b506101086020526040852033600052602052604060002054600181018111610752576001600160a01b03851686526101076020526040862054600191909101111561058e565b60405162461bcd60e51b815260206004820152602f60248201527f6d696e7444697265637453616c653a3a4578636565646564206d696e74206c6960448201526e6d697420666f72206164647265737360881b6064820152608490fd5b50610106602052604085203360005260205261148160ff8416604060002054613d37565b6001600160a01b03851686526101056020526040862054101561056a565b60405162461bcd60e51b815260206004820152602c60248201527f6d696e7444697265637453616c653a3a4d696e7473206d75737420626520677260448201526b06561746572207468616e20360a41b6064820152608490fd5b8235815260209283019201610512565b60405162461bcd60e51b815260206004820152603560248201527f6d696e7444697265637453616c653a3a436f6e7472616374206e6f7420707265604482015274706172656420666f72206469726563742073616c6560581b6064820152608490fd5b60f81c8152602001386104c7565b92602060019160ff8560f01c1681520193016104c1565b92602060019160ff8560e81c1681520193016104b9565b92602060019160ff8560e01c1681520193016104b1565b92602060019160ff8560d81c1681520193016104a9565b92602060019160ff8560d01c1681520193016104a1565b92602060019160ff8560c81c168152019301610499565b92602060019160ff8560c01c168152019301610491565b92602060019160ff8560b81c168152019301610489565b92602060019160ff8560b01c168152019301610481565b92602060019160ff8560a81c168152019301610479565b92602060019160ff8560a01c168152019301610471565b92602060019160ff8560981c168152019301610469565b92602060019160ff8560901c168152019301610461565b92602060019160ff8560881c168152019301610459565b92602060019160ff8560801c168152019301610451565b92602060019160ff8560781c168152019301610449565b92602060019160ff8560701c168152019301610441565b92602060019160ff8560681c168152019301610439565b92602060019160ff8560601c168152019301610431565b92602060019160ff8560581c168152019301610429565b92602060019160ff8560501c168152019301610421565b92602060019160ff8560481c168152019301610419565b92602060019160ff8560401c168152019301610411565b92602060019160ff8560381c168152019301610409565b92602060019160ff8560301c168152019301610401565b92602060019160ff8560281c1681520193016103f9565b92602060019160ff85831c1681520193016103f1565b92602060019160ff8560181c1681520193016103e9565b92602060019160ff8560101c1681520193016103e1565b92602060019160ff8560081c1681520193016103d9565b92602060019160ff851681520193016103d1565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160c0828260301c1681860152828260381c1660e0860152828260401c16610100860152828260481c16610120860152828260501c16610140860152828260581c16610160860152828260601c16610180860152828260681c166101a0860152828260701c166101c0860152828260781c166101e0860152828260801c16610200860152828260881c16610220860152828260901c16610240860152828260981c16610260860152828260a01c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e08201520194019201849293916103b9565b82546001600160a01b031684526020909301926001928301920161037f565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503461017857604036600319011261017857611a52613837565b6040611a5c613863565b9260018060a01b0380931681526101066020522091166000526020526020604060002054604051908152f35b50346101785760203660031901126101785780611aa3613837565b611aab613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163c70c56c760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b503461017857602036600319011261017857611b1f613837565b606060c0604051611b2f816138a7565b84815284602082015284604082015284838201528460808201528260a0820152015260018060a01b03168152610103602052604081209060405191611b73836138a7565b60018060a01b03815416835260018060a01b0360018201541660208401526002810154604084015260038101546060840152600481015460808401526005810160405190816020825491828152019185526020852090855b818110611f8a5750505090611be5816006949303826138dd565b60a085015260405191018054808352908352602080842091839182019085905b80601f830110611de257611cfb94549181811061182b57818110611814578181106117fd578181106117e6578181106117d0578181106117b9578181106117a25781811061178b578181106117745781811061175d578181106117465781811061172f5781811061171857818110611701578181106116ea578181106116d3578181106116bc578181106116a55781811061168e578181106116775781811061166057818110611649578181106116325781811061161b57818110611604578181106115ed578181106115d6578181106115bf578181106115a8578181106115915781811061157a571061156c575003826138dd565b60c08301526040519182916020835261010083019160018060a01b03815116602085015260018060a01b0360208201511660408501526040810151606085015260608101516080850152608081015160a085015260a08101519260e060c0860152835180915260206101208601940190835b818110611dc05750505060c0015191601f198482030160e0850152602080845192838152019301915b818110611da4575050500390f35b825160ff16845285945060209384019390920191600101611d96565b82516001600160a01b0316865287965060209586019590920191600101611d6d565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920184929391611c05565b82546001600160a01b0316845260209093019260019283019201611bcb565b503461017857604036600319011261017857611fc3613837565b604051638da5cb5b60e01b81526001600160a01b039182169160209160243591908381600481885afa908115610f3357869161209a575b5016330361203d57907f5c8158ce792c8da34f9a8974acdb882c2c9cecc225c4ccf3c4a119aa2c726070918385526101078252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052602f60248201527f736574436f6e747261637454784c696d69743a3a4f6e6c7920636f6e7472616360448201526e1d081bdddb995c8818d85b881cd95d608a1b6064820152608490fd5b90508381813d83116120cc575b6120b181836138dd565b810103126120c8576120c290613c58565b38611ffa565b8580fd5b503d6120a7565b503461017857602036600319011261017857604080916120f1613837565b60006020845161210081613879565b82815201526001600160a01b0316815261010960205220815161212281613879565b60206001835493848452015491019081528251918252516020820152f35b50346101785780600319360112610178576033546040516001600160a01b039091168152602090f35b50346101785761010036600319011261017857612184613837565b61218c613863565b9061219561384d565b6064356001600160a01b0381168103610e57576084356001600160a01b0381168103610e575760a435906001600160a01b0382168203610e575760c435926001600160a01b0384168403610e575760e435946001600160a01b0386168603610e575788549760ff8960081c16159889809a612584575b801561256d575b156125115760ff1981166001178b5589612500575b506040516323e95fa960e01b81526001600160a01b039889166004820152908816602482015290871660448201529086166064820152908516608482015290841660a482015290831660c4820152911660e4820152610100816101048173__$7682c538d2a75d26dfca907f0e750789f4$__5af49081156124f55783916123c9575b5060018060a01b03815116906001600160601b0360a01b918260fb54161760fb5560018060a01b036020820151168260fc54161760fc5560018060a01b036040820151168260fd54161760fd5560018060a01b036060820151168260fe54161760fe5560018060a01b036080820151168260ff54161760ff5560018060a01b0360a082015116826101005416176101005560018060a01b0360c082015116610101908382541617905560e060018060a01b03910151166101029182541617905561238260ff835460081c1661237d81613c6c565b613c6c565b61238b336139af565b6123925780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610100813d610100116124ed575b816123e761010093836138dd565b81010312610e05576040519061010082018281106001600160401b038211176124d75760405261241681613c58565b825260208101516001600160a01b0381168103610dd957602083015260408101516001600160a01b0381168103610dd957604083015260608101516001600160a01b0381168103610dd957606083015260808101516001600160a01b0381168103610dd957608083015260a08101516001600160a01b0381168103610dd95760a083015260c0810151906001600160a01b0382168203610dd95760c083019190915260e001516001600160a01b0381168103610e015760e0820152386122a9565b634e487b7160e01b600052604160045260246000fd5b3d91506123d9565b6040513d85823e3d90fd5b61ffff1916610101178a5538612227565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156122125750600160ff821614612212565b50600160ff82161061220b565b503461017857602036600319011261017857806125ac613837565b6125b4613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a457604051630cf1420760e21b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760e036600319011261017857612628613837565b612630613863565b9060a4356001600160401b038111610e0157612650903690600401613919565b60c4356001600160401b0381116120c85761266f903690600401613919565b604051638da5cb5b60e01b8152919390916020816004816001600160a01b038a165afa908115610bfd578891612b55575b50336001600160a01b0390911603612ade576126bb866140b9565b6040516126c7816138a7565b3381526001600160a01b03871660208201526044356040820152606435606082015260843560808201526126fa84613ccc565b61270760405191826138dd565b84815260208101368660051b850111612ac25783905b8660051b85018210612ac657505060a082015261273983613ccc565b61274660405191826138dd565b83815260208101368560051b880111612ac25786905b8560051b88018210612aaa57505060c082015260018060a01b0386168852610103602052604088209060018060a01b038151166001600160601b0360a01b8354161782556001820160018060a01b036020830151166001600160601b0360a01b82541617905560408101516002830155606081015160038301556080810151600483015560a08101518051906001600160401b038211612a9657600160401b8211612a96576020908b600586015484600588015584818110612a78575b50505001600584018b5260208b208b5b838110612a5b575050505060c00151908151906001600160401b038211612a4757600160401b8211612a47576006602091019283548385558084106129fd575b50019189526020892090895b8160051c81106129be5750601f198116810380612971575b5050505091604051928160a0850160443586526064356020870152608435604087015260a060608701525260c084019091885b818110612945575050602091508381036080850152828152019290865b818110612923575033956001600160a01b039081169516937f36de0d2c8eec9296de665d70b6b6e55d8c29bfa7a36e0178e805ef54725d9f5c939081900392509050a480f35b90919360208060019260ff61293789613949565b1681520195019291016128dd565b909160019060209081906001600160a01b0361296088613ce3565b1681520194019101929190926128c0565b928a938b5b81811061298e5750505060051c01553880808061288d565b90919460206129b46001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101612976565b8a8b5b602081106129d6575083820155600101612875565b855190959160019160209160ff60038a901b81811b199092169216901b17920195016129c1565b612a2790858d52838d20601f80870160051c82019281881680612a2d575b500160051c0190613d20565b38612869565b60001990818601918254918a0360031b1c16905538612a1b565b634e487b7160e01b8a52604160045260248afd5b82516001600160a01b031681830155602090920191600101612829565b84612a8e9360058a018152209182019101613d20565b8b3884612819565b634e487b7160e01b8b52604160045260248bfd5b60208091612ab784613949565b81520191019061275c565b8980fd5b60208091612ad384613ce3565b81520191019061271d565b60a460405162461bcd60e51b815260206004820152604460248201527f707265706172654d696e7444697265637453616c653a3a4f6e6c79206d696e7460448201527f20636f6e7472616374206f776e65722063616e207072657061726520746865206064820152631b5a5b9d60e21b6084820152fd5b90506020813d602011612b87575b81612b70602093836138dd565b8101031261105257612b8190613c58565b386126a0565b3d9150612b63565b5034610178578060031936011261017857612ba8613957565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610178576060366003190112610178576001600160a01b0380612c10613837565b1660405191638da5cb5b60e01b83526020928381600481865afa8015612d4b5782918691612dc1575b50163303612d5657602483826101025416604051928380926381d0606b60e01b82523360048301525afa908115612d4b578591612d16575b501615612cab5760019061010960405193612c8b85613879565b602435855280850192604435845286525260408420925183555191015580f35b60405162461bcd60e51b815260048101839052603c60248201527f736574436f6e747261637453656c6c65725374616b696e674d696e696d756d3a60448201527f3a53656c6c657220646f6573206e6f742068617665206120706f6f6c000000006064820152608490fd5b90508381813d8311612d44575b612d2d81836138dd565b81010312610dd957612d3e90613c58565b38612c71565b503d612d23565b6040513d87823e3d90fd5b60405162461bcd60e51b815260048101849052603c60248201527f736574436f6e747261637453656c6c65725374616b696e674d696e696d756d3a60448201527f3a4f6e6c7920636f6e7472616374206f776e65722063616e20736574000000006064820152608490fd5b809250858092503d8311612df2575b612dda81836138dd565b81010312610dd957612dec8291613c58565b38612c39565b503d612dd0565b50346101785780600319360112610178577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003612e525760206040516000805160206145e28339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b50604036600319011261017857612ed2613837565b602435906001600160401b038211610e055736602383011215610e05578160040135612efd816138fe565b90612f0b60405192836138dd565b80825284602094858401923660248284010111610e05578060248893018537840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612f66308314156139f8565b612f836000805160206145e2833981519152928284541614613a59565b612f8b613957565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612fc357505050506101b59150613aba565b84939416906040516352d1902d60e01b81528681600481865afa6000918161315d575b506130475760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959495036131065761305883613aba565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351158015906130fe575b613094575b5050505080f35b600080916130f4957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c604051966130ca886138c2565b60278852870152660819985a5b195960ca1b60408701525190845af46130ee613b4a565b91613b7a565b503880808061308d565b506001613088565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311613185575b61317481836138dd565b810103126101785750519038612fe6565b503d61316a565b5034610178576040366003190112610178576131a6613837565b604051638da5cb5b60e01b81526001600160a01b039182169160209160243591908381600481885afa908115610f3357869161327f575b5016330361322057907fa9d9d6bd10e1caf4891001b6ccccdad5384a544c63cc903d40182c0a5a139cd9918385526101058252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052603160248201527f736574436f6e74726163744d696e744c696d69743a3a4f6e6c7920636f6e74726044820152701858dd081bdddb995c8818d85b881cd95d607a1b6064820152608490fd5b90508381813d83116132ad575b61329681836138dd565b810103126120c8576132a790613c58565b386131dd565b503d61328c565b503461017857602080600319360112611095576132cf613837565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690613307308314156139f8565b6133246000805160206145e2833981519152928284541614613a59565b61332c613957565b60405191848301918383106001600160401b038411176124d7578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143541660001461338757505050506101b59150613aba565b84939416906040516352d1902d60e01b81528681600481865afa6000918161345e575b5061340b5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959495036131065761341c83613aba565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159061345657613094575050505080f35b506000613088565b90918882813d8311613486575b61347581836138dd565b8101031261017857505190386133aa565b503d61346b565b503461017857602036600319011261017857806134a8613837565b6134b0613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163dec30e3360e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b503461017857604036600319011261017857613524613837565b604061352e613863565b9260018060a01b0380931681526101086020522091166000526020526020604060002054604051908152f35b5034610178576020366003190112610178576020906040906001600160a01b03613582613837565b16815261010583522054604051908152f35b503461017857602036600319011261017857806135af613837565b6135b7613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163ebda042b60e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760203660031901126101785761362b613837565b613633613957565b8173__$7682c538d2a75d26dfca907f0e750789f4$__91823b1561109557604051632c55921b60e01b815260fb60048201526001600160a01b03909116602482015291829060449082905af480156102995761368d575080f35b6101b590613894565b5034610178576060366003190112610178576024356004356001600160a01b03806136bf61384d565b169260405191638da5cb5b60e01b83526020928381600481895afa908115610b615787916137b3575b5016330361374857907fff2ce9a528a62cad638cc9f5bccd36a62ecfa9aa0b1ab82c98957cb3498b4b679160405161371f81613879565b84815260018382018381528789526101048552604089209251835551910155604051908152a380f35b60405162461bcd60e51b815260048101839052603760248201527f736574436f6e7472616374416c6c6f774c697374436f6e6669673a3a4f6e6c7960448201527f20636f6e7472616374206f776e65722063616e207365740000000000000000006064820152608490fd5b90508381813d83116137e1575b6137ca81836138dd565b81010312610dd5576137db90613c58565b386136e8565b503d6137c0565b90503461109557602036600319011261109557604082819281602061380b613837565b9261381581613879565b82815201526001600160a01b0316815261010460205220815161212281613879565b600435906001600160a01b0382168203610e5757565b604435906001600160a01b0382168203610e5757565b602435906001600160a01b0382168203610e5757565b604081019081106001600160401b038211176124d757604052565b6001600160401b0381116124d757604052565b60e081019081106001600160401b038211176124d757604052565b606081019081106001600160401b038211176124d757604052565b90601f801991011681019081106001600160401b038211176124d757604052565b6001600160401b0381116124d757601f01601f191660200190565b9181601f84011215610e57578235916001600160401b038311610e57576020808501948460051b010111610e5757565b359060ff82168203610e5757565b6033546001600160a01b0316330361396b57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156139ff57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15613a6057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15613aef576000805160206145e283398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15613b75573d90613b5b826138fe565b91613b6960405193846138dd565b82523d6000602084013e565b606090565b91929015613bdc5750815115613b8e575090565b3b15613b975790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015613bef5750805190602001fd5b60405162461bcd60e51b8152908190613c0b9060048301613c0f565b0390fd5b6020808252825181830181905290939260005b828110613c4457505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501613c22565b51906001600160a01b0382168203610e5757565b15613c7357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160401b0381116124d75760051b60200190565b35906001600160a01b0382168203610e5757565b81810292918115918404141715613d0a57565b634e487b7160e01b600052601160045260246000fd5b818110613d2b575050565b60008155600101613d20565b91908201809211613d0a57565b6000198114613d0a5760010190565b91908203918211613d0a57565b6001600160a01b03908116600081815261010960208181526040808420805492979196959215613f085760010154421015613eff576101025486516381d0606b60e01b8152918616600483015287908290602490829089165afa908115613ef5579087918591613ebf575b506024875180978193630e67667b60e21b8352336004840152165afa938415613eb55790839291869495613e7e575b5082528552205411613e0a575050565b60a49250519062461bcd60e51b82526004820152604260248201527f5f656e666f726365436f6e747261637453656c6c65725374616b696e674d696e60448201527f696d756d3a3a41646472657373206e6f74206f6e207374616b656420656e6f756064820152610ced60f31b6084820152fd5b878092965081939495503d8311613eae575b613e9a81836138dd565b81010312610e055790849291519338613dfa565b503d613e90565b85513d85823e3d90fd5b82819392503d8311613eee575b613ed681836138dd565b81010312610e0157613ee88791613c58565b38613dcb565b503d613ecc565b86513d86823e3d90fd5b50505050505050565b5050505050505050565b6001600160a01b03166000908152610104602090815260408083208054929591949293928415613eff57600180920154421015613eff57908092918651888101916001600160601b03199060601b16825260148152613f7081613879565b5190209380935b613fe3575b5050505003613f89575050565b60849250519062461bcd60e51b82526004820152602e60248201527f5f656e666f726365416c6c6f774c69737465643a3a41646472657373206e6f7460448201526d081bdb88185b1b1bddc81b1a5cdd60921b6064820152fd5b9091929383518510156140545761402990613ffe868661408d565b51808211614032578851908a82019283528982015288815261401f816138c2565b5190205b94613d44565b92919081613f77565b908851908a82019283528982015288815261404c816138c2565b519020614023565b93613f7c565b8051156140675760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156140675760400190565b80518210156140675760209160051b010190565b90816020910312610e5757518015158103610e575790565b6001600160a01b039081168015918215614114575b5050156140d757565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250610100541691602460405180948193632d5ad3d560e01b835260048301525afa90811561416e57600091614150575b5038806140ce565b614168915060203d8111610bf657610be881836138dd565b38614148565b6040513d6000823e3d90fd5b6001600160a01b031690811561434c57346142f65760409081516370a0823160e01b938482523060048301526020948583602481855afa9283156142eb576000936142bc575b5084516323b872dd60e01b87820152336024820152306044820152606480820186905281529060a082016001600160401b038111838210176124d757879261420a91885284614391565b602486518094819382523060048301525afa9081156142b157600091614282575b509061423691613d53565b0361423f575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d83116142aa575b61429881836138dd565b8101031261017857505161423661422b565b503d61428e565b84513d6000823e3d90fd5b90928682813d83116142e4575b6142d381836138dd565b8101031261017857505191386141c0565b503d6142c9565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b9050340361435657565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b6040516143e9916001600160a01b03166143aa82613879565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16130ee613b4a565b805190828215928315614459575b505050156144025750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b61446993508201810191016140a1565b3882816143f7565b90816020910312610e57575160ff81168103610e575790565b6001600160a01b03929083168061456157508260ff541693604051916020908184019563c176e63960e01b87526064850160406024870152825180915283608487019301916000905b828210614548575050505083810360231901604485015282518082529082019282019160005b8281106145345750505050918161451f600096949387969403601f1981018352826138dd565b51925af161452b613b4a565b9015613bef5750565b8351855293810193928101926001016144f9565b83518116855293850193928501926001909101906144d3565b92915060009493945b81518110156145d957806145cf846145856145d4948661408d565b51166145c9614594848b61408d565b5160405163a9059cbb60e01b60208201526001600160a01b0393909316602484015260448084019190915282526064826138dd565b86614391565b613d44565b61456a565b50505050905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220df9548197382537a2068aab2d4979bf80f5ca630a92c185077c630341e2b85d964736f6c63430008120033","sourceMap":"942:14091:66:-:0;;;;;;;1332:4:26;1324:13;;942:14091:66;;;;;;1324:13:26;942:14091:66;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/utils/structs/MarketConfig.sol":{"MarketConfig":[{"start":616,"length":20},{"start":6884,"length":20},{"start":8893,"length":20},{"start":9709,"length":20},{"start":13545,"length":20},{"start":13808,"length":20},{"start":13933,"length":20}]}}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c90816304c1ff07146137e8575080630fc635b314613696578063176ab4401461361157806321ede0321461359457806323946f1f1461355a5780632da45e8e1461350a5780633492e5a81461348d5780633659cfe6146132b45780634cf5f9101461318c5780634f1ef28614612ebd57806352d1902d14612df9578063677b198414612bed578063715018a614612b8f57806378c198981461260e5780637f358230146125915780638a29e2de146121695780638da5cb5b146121405780639890cddf146120d35780639dbef5d114611fa9578063a01fa6a914611b05578063af231a5814611a88578063ca774e6814611a38578063d647ed3c146102a8578063e4e87e3b1461020c578063f2fde38b1461017b5763fa5312c81461013f57600080fd5b34610178576020366003190112610178576020906040906001600160a01b03610166613837565b16815261010783522054604051908152f35b80fd5b503461017857602036600319011261017857610195613837565b61019d613957565b6001600160a01b038116156101b8576101b5906139af565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346101785760203660031901126101785780610227613837565b61022f613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a4576040516386e5800760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b61029290613894565b6101785780f35b6040513d84823e3d90fd5b5050fd5b5060a0366003190112610178576102bd613837565b6102c5613863565b6064359060ff82168203610e57576084356001600160401b038111610dd9576102f2903690600401613919565b91906002606554146119f35760026065556001600160a01b0385168652610103602052604080872090519390610327856138a7565b60018060a01b03815416855260018060a01b036001820154166020860152600281015460408601526003810154606086015260048101546080860152604051806005830190602082549182815201918b5260208b20908b5b8181106119d45750505090610399816006949303826138dd565b60a0870152604051910180548083529089526020808a209183918201908b905b80601f83011061183f576104cf94549181811061182b575b818110611814575b8181106117fd575b8181106117e6575b8181106117d0575b8181106117b9575b8181106117a2575b81811061178b575b818110611774575b81811061175d575b818110611746575b81811061172f575b818110611718575b818110611701575b8181106116ea575b8181106116d3575b8181106116bc575b8181106116a5575b81811061168e575b818110611677575b818110611660575b818110611649575b818110611632575b81811061161b575b818110611604575b8181106115ed575b8181106115d6575b8181106115bf575b8181106115a8575b818110611591575b81811061157a575b1061156c575b5003826138dd565b60c085015283516001600160a01b031615611509576104ed81613ccc565b916104fb60405193846138dd565b8183526020830190368360051b820111610dfd5780915b8360051b820183106114f9575050505061052d903386613f12565b8151610542906001600160a01b031685613d60565b60ff83161561149f576001600160a01b0384168552610105602052604085205415801561145d575b15611400576001600160a01b038416855261010760205260408520541580156113ba575b156113565760808201518015908115611348575b50156112dd576060820151421061128c5760408201516044350361122b576105c9816140b9565b60208201516001600160a01b03908116908216036111c0576105f060443560ff8516613cf7565b916040810151611138575b6001600160a01b0385168652610105602052604086205461110d575b6001600160a01b038516865261010760205260408620546110cd575b60405163755edd1760e01b8152336004820152926020846024818a6001600160a01b038b165af1938415610b61578794611099575b5060fc5487906001600160a01b0316803b1561109557604051635a3c652d60e01b81526001600160a01b038916600482015260248101879052600160448201529082908290606490829084905af1611081575b505060015b60ff86168110610f9f57506040820151610766575b50516001600160a01b0316926106ee9060ff1683613d37565b6000198101908111610752576040805193845260208401919091526001600160a01b03918216908301526044356060830152339316907f3bbd73fed0f94290f16db112f6b7113697c2502dd42aa0ddf8f971472523f10090608090a4600160655580f35b634e487b7160e01b86526011600452602486fd5b92909491939560018060a01b038651169260a08701519760c0880151948951865103610f3e5760fc546040516361fe24a960e11b815260048101899052908890602090839060249082906001600160a01b03165afa918215610f33578692610eff575b50604051916107d7836138c2565b60028352604036602085013760fb546001600160a01b0316806107f98561405a565b526101025460405163e286ef3360e01b81526004810187905290602090829060249082906001600160a01b03165afa908115610e64578991610ec5575b506001600160a01b03166108498561407d565b526001600160a01b0361085b8561407d565b5116610eac575b61086b8461407d565b6001600160a01b039091169052604051610884816138c2565b600281526040366020830137610101546040516303fdde1160e21b8152600481018d90526001600160a01b0390911690602081602481855afa908115610ea1578a91610e6f575b506108d58361405a565b5260208c60246040518094819363470d6ed960e11b835260048301525afa908115610e64579085918a91610e28575b509261091a936109138461407d565b528d61448a565b60fc54604051631446f21360e21b81526001600160a01b038781166004830152602482018a9052909160209183916044918391165afa908115610b61578791610e09575b50610c08576040519261097084613879565b60018452602036818601376040519261098884613879565b60018452602036818601376001600160a01b03906109a59061405a565b51166109b08461405a565b5260fd54604051635dc22eff60e01b81526004810183905290602090829060249082906001600160a01b03165afa908115610bfd578891610bce575b5015610b6c5760fd54604051632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610b61578a610a54610a759695946064610a4d60ff8297610a5a978f91610b32575b50168095613cf7565b0490613d53565b9b613cf7565b04610a648361405a565b52610a6e8261405a565b518a61448a565b885193610a8185613ccc565b94610a8f60405196876138dd565b808652610a9e601f1991613ccc565b01366020870137839784985b8b518a1015610b0e57610b02610b08916064610afb60ff610af38f8f8f908f908388610ae6610aed9389610ade858961408d565b511690613cf7565b049261408d565b5261408d565b51168d613cf7565b0490613d37565b99613d44565b98610aaa565b610b2b9399506106ee9692985060ff959b9197509993998761448a565b91506106d5565b610b54915060203d602011610b5a575b610b4c81836138dd565b810190614471565b38610a44565b503d610b42565b6040513d89823e3d90fd5b5060fc5460405163b28a7bad60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610b61578a610a54610bc99695946064610a4d60ff8297610a5a978f91610b325750168095613cf7565b610a75565b610bf0915060203d602011610bf6575b610be881836138dd565b8101906140a1565b386109ec565b503d610bde565b6040513d8a823e3d90fd5b5050509794969391809693918160018060a01b0360fe541660648b6040519b8c938492637a99dc0160e11b845260018060a01b038816600485015289602485015260448401525af1998a15610299578298839b610cb4575b50829883995b8c518b1015610c9457610c88610c8e91610c818f8e9061408d565b5190613d37565b9a613d44565b99610c66565b989b919395979a610bc99395979a5089610cad91613d53565b988a61448a565b985099503d978883823e610cc889826138dd565b6040818a81010312610e055780516001600160401b038111610e0157810190898101601f83011215610e0157815191610d0083613ccc565b92610d0e60405194856138dd565b80845260208401918c840160208360051b83010111610dd55760208101925b60208360051b8301018410610ddd57505050506020810151996001600160401b038b11610dd957808201601f8c8401011215610dd9578a82015191610d7183613ccc565b9b610d7f6040519d8e6138dd565b838d5260208d0192820160208560051b838501010111610dd5579190602083820101925b60208560051b82840101018410610dc1575050505050979938610c60565b602080809486518152019401939250610da3565b8680fd5b8480fd5b83516001600160a01b0381168103610dfd57815260209384019301610d2d565b8880fd5b8380fd5b8280fd5b610e22915060203d602011610bf657610be881836138dd565b3861095e565b9150506020813d602011610e5c575b81610e44602093836138dd565b81010312610e575751849061091a610904565b600080fd5b3d9150610e37565b6040513d8b823e3d90fd5b90506020813d602011610e99575b81610e8a602093836138dd565b81010312610e575751386108cb565b3d9150610e7d565b6040513d8c823e3d90fd5b506001600160a01b03610ebe8461407d565b5116610862565b90506020813d602011610ef7575b81610ee0602093836138dd565b81010312610dfd57610ef190613c58565b38610836565b3d9150610ed3565b9091506020813d602011610f2b575b81610f1b602093836138dd565b81010312610e57575190386107c9565b3d9150610f0e565b6040513d88823e3d90fd5b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b60405163755edd1760e01b81523360048201526020816024818c6001600160a01b038d165af18015610e6457611056575b5060fc5488906001600160a01b0316610fe98388613d37565b813b15610e0557604051635a3c652d60e01b81526001600160a01b038b1660048201526024810191909152600160448201529082908290606490829084905af161103e575b505061103990613d44565b6106c0565b61104790613894565b61105257873861102e565b8780fd5b602090813d831161107a575b61106c81836138dd565b81010312610e575738610fd0565b503d611062565b61108a90613894565b610dd55786386106bb565b5080fd5b9093506020813d6020116110c5575b816110b5602093836138dd565b81010312610e5757519238610668565b3d91506110a8565b6101086020526040862033600052602052604060002080546001810181116110f9576001019055610633565b634e487b7160e01b88526011600452602488fd5b6101066020526040862033600052602052604060002061113160ff86168254613d37565b9055610617565b60fc546040516361fe24a960e11b81526004810185905290602090829060249082906001600160a01b03165afa908115610b6157879161118c575b506111816111879185613d37565b8361417a565b6105fb565b90506020813d6020116111b8575b816111a7602093836138dd565b81010312610e575751611181611173565b3d915061119a565b60405162461bcd60e51b815260206004820152603960248201527f6d696e7444697265637453616c653a3a43757272656e637920646f6573206e6f60448201527f74206d617463682072657175697265642063757272656e6379000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f6d696e7444697265637453616c653a3a507269636520646f6573206e6f74206d6044820152726174636820726571756972656420707269636560681b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f6d696e7444697265637453616c653a3a53616c6520686173206e6f74207374616044820152631c9d195960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152603a60248201527f6d696e7444697265637453616c653a3a4d696e7473206d757374206265206c6560448201527f7373207468616e206d61784d696e7420696620656e61626c65640000000000006064820152608490fd5b905060ff84161115386105a2565b60405162461bcd60e51b815260206004820152603660248201527f6d696e7444697265637453616c653a3a4578636565646564207472616e73616360448201527574696f6e206c696d697420666f72206164647265737360501b6064820152608490fd5b506101086020526040852033600052602052604060002054600181018111610752576001600160a01b03851686526101076020526040862054600191909101111561058e565b60405162461bcd60e51b815260206004820152602f60248201527f6d696e7444697265637453616c653a3a4578636565646564206d696e74206c6960448201526e6d697420666f72206164647265737360881b6064820152608490fd5b50610106602052604085203360005260205261148160ff8416604060002054613d37565b6001600160a01b03851686526101056020526040862054101561056a565b60405162461bcd60e51b815260206004820152602c60248201527f6d696e7444697265637453616c653a3a4d696e7473206d75737420626520677260448201526b06561746572207468616e20360a41b6064820152608490fd5b8235815260209283019201610512565b60405162461bcd60e51b815260206004820152603560248201527f6d696e7444697265637453616c653a3a436f6e7472616374206e6f7420707265604482015274706172656420666f72206469726563742073616c6560581b6064820152608490fd5b60f81c8152602001386104c7565b92602060019160ff8560f01c1681520193016104c1565b92602060019160ff8560e81c1681520193016104b9565b92602060019160ff8560e01c1681520193016104b1565b92602060019160ff8560d81c1681520193016104a9565b92602060019160ff8560d01c1681520193016104a1565b92602060019160ff8560c81c168152019301610499565b92602060019160ff8560c01c168152019301610491565b92602060019160ff8560b81c168152019301610489565b92602060019160ff8560b01c168152019301610481565b92602060019160ff8560a81c168152019301610479565b92602060019160ff8560a01c168152019301610471565b92602060019160ff8560981c168152019301610469565b92602060019160ff8560901c168152019301610461565b92602060019160ff8560881c168152019301610459565b92602060019160ff8560801c168152019301610451565b92602060019160ff8560781c168152019301610449565b92602060019160ff8560701c168152019301610441565b92602060019160ff8560681c168152019301610439565b92602060019160ff8560601c168152019301610431565b92602060019160ff8560581c168152019301610429565b92602060019160ff8560501c168152019301610421565b92602060019160ff8560481c168152019301610419565b92602060019160ff8560401c168152019301610411565b92602060019160ff8560381c168152019301610409565b92602060019160ff8560301c168152019301610401565b92602060019160ff8560281c1681520193016103f9565b92602060019160ff85831c1681520193016103f1565b92602060019160ff8560181c1681520193016103e9565b92602060019160ff8560101c1681520193016103e1565b92602060019160ff8560081c1681520193016103d9565b92602060019160ff851681520193016103d1565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160c0828260301c1681860152828260381c1660e0860152828260401c16610100860152828260481c16610120860152828260501c16610140860152828260581c16610160860152828260601c16610180860152828260681c166101a0860152828260701c166101c0860152828260781c166101e0860152828260801c16610200860152828260881c16610220860152828260901c16610240860152828260981c16610260860152828260a01c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e08201520194019201849293916103b9565b82546001600160a01b031684526020909301926001928301920161037f565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503461017857604036600319011261017857611a52613837565b6040611a5c613863565b9260018060a01b0380931681526101066020522091166000526020526020604060002054604051908152f35b50346101785760203660031901126101785780611aa3613837565b611aab613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163c70c56c760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b503461017857602036600319011261017857611b1f613837565b606060c0604051611b2f816138a7565b84815284602082015284604082015284838201528460808201528260a0820152015260018060a01b03168152610103602052604081209060405191611b73836138a7565b60018060a01b03815416835260018060a01b0360018201541660208401526002810154604084015260038101546060840152600481015460808401526005810160405190816020825491828152019185526020852090855b818110611f8a5750505090611be5816006949303826138dd565b60a085015260405191018054808352908352602080842091839182019085905b80601f830110611de257611cfb94549181811061182b57818110611814578181106117fd578181106117e6578181106117d0578181106117b9578181106117a25781811061178b578181106117745781811061175d578181106117465781811061172f5781811061171857818110611701578181106116ea578181106116d3578181106116bc578181106116a55781811061168e578181106116775781811061166057818110611649578181106116325781811061161b57818110611604578181106115ed578181106115d6578181106115bf578181106115a8578181106115915781811061157a571061156c575003826138dd565b60c08301526040519182916020835261010083019160018060a01b03815116602085015260018060a01b0360208201511660408501526040810151606085015260608101516080850152608081015160a085015260a08101519260e060c0860152835180915260206101208601940190835b818110611dc05750505060c0015191601f198482030160e0850152602080845192838152019301915b818110611da4575050500390f35b825160ff16845285945060209384019390920191600101611d96565b82516001600160a01b0316865287965060209586019590920191600101611d6d565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920184929391611c05565b82546001600160a01b0316845260209093019260019283019201611bcb565b503461017857604036600319011261017857611fc3613837565b604051638da5cb5b60e01b81526001600160a01b039182169160209160243591908381600481885afa908115610f3357869161209a575b5016330361203d57907f5c8158ce792c8da34f9a8974acdb882c2c9cecc225c4ccf3c4a119aa2c726070918385526101078252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052602f60248201527f736574436f6e747261637454784c696d69743a3a4f6e6c7920636f6e7472616360448201526e1d081bdddb995c8818d85b881cd95d608a1b6064820152608490fd5b90508381813d83116120cc575b6120b181836138dd565b810103126120c8576120c290613c58565b38611ffa565b8580fd5b503d6120a7565b503461017857602036600319011261017857604080916120f1613837565b60006020845161210081613879565b82815201526001600160a01b0316815261010960205220815161212281613879565b60206001835493848452015491019081528251918252516020820152f35b50346101785780600319360112610178576033546040516001600160a01b039091168152602090f35b50346101785761010036600319011261017857612184613837565b61218c613863565b9061219561384d565b6064356001600160a01b0381168103610e57576084356001600160a01b0381168103610e575760a435906001600160a01b0382168203610e575760c435926001600160a01b0384168403610e575760e435946001600160a01b0386168603610e575788549760ff8960081c16159889809a612584575b801561256d575b156125115760ff1981166001178b5589612500575b506040516323e95fa960e01b81526001600160a01b039889166004820152908816602482015290871660448201529086166064820152908516608482015290841660a482015290831660c4820152911660e4820152610100816101048173__$7682c538d2a75d26dfca907f0e750789f4$__5af49081156124f55783916123c9575b5060018060a01b03815116906001600160601b0360a01b918260fb54161760fb5560018060a01b036020820151168260fc54161760fc5560018060a01b036040820151168260fd54161760fd5560018060a01b036060820151168260fe54161760fe5560018060a01b036080820151168260ff54161760ff5560018060a01b0360a082015116826101005416176101005560018060a01b0360c082015116610101908382541617905560e060018060a01b03910151166101029182541617905561238260ff835460081c1661237d81613c6c565b613c6c565b61238b336139af565b6123925780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610100813d610100116124ed575b816123e761010093836138dd565b81010312610e05576040519061010082018281106001600160401b038211176124d75760405261241681613c58565b825260208101516001600160a01b0381168103610dd957602083015260408101516001600160a01b0381168103610dd957604083015260608101516001600160a01b0381168103610dd957606083015260808101516001600160a01b0381168103610dd957608083015260a08101516001600160a01b0381168103610dd95760a083015260c0810151906001600160a01b0382168203610dd95760c083019190915260e001516001600160a01b0381168103610e015760e0820152386122a9565b634e487b7160e01b600052604160045260246000fd5b3d91506123d9565b6040513d85823e3d90fd5b61ffff1916610101178a5538612227565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156122125750600160ff821614612212565b50600160ff82161061220b565b503461017857602036600319011261017857806125ac613837565b6125b4613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a457604051630cf1420760e21b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760e036600319011261017857612628613837565b612630613863565b9060a4356001600160401b038111610e0157612650903690600401613919565b60c4356001600160401b0381116120c85761266f903690600401613919565b604051638da5cb5b60e01b8152919390916020816004816001600160a01b038a165afa908115610bfd578891612b55575b50336001600160a01b0390911603612ade576126bb866140b9565b6040516126c7816138a7565b3381526001600160a01b03871660208201526044356040820152606435606082015260843560808201526126fa84613ccc565b61270760405191826138dd565b84815260208101368660051b850111612ac25783905b8660051b85018210612ac657505060a082015261273983613ccc565b61274660405191826138dd565b83815260208101368560051b880111612ac25786905b8560051b88018210612aaa57505060c082015260018060a01b0386168852610103602052604088209060018060a01b038151166001600160601b0360a01b8354161782556001820160018060a01b036020830151166001600160601b0360a01b82541617905560408101516002830155606081015160038301556080810151600483015560a08101518051906001600160401b038211612a9657600160401b8211612a96576020908b600586015484600588015584818110612a78575b50505001600584018b5260208b208b5b838110612a5b575050505060c00151908151906001600160401b038211612a4757600160401b8211612a47576006602091019283548385558084106129fd575b50019189526020892090895b8160051c81106129be5750601f198116810380612971575b5050505091604051928160a0850160443586526064356020870152608435604087015260a060608701525260c084019091885b818110612945575050602091508381036080850152828152019290865b818110612923575033956001600160a01b039081169516937f36de0d2c8eec9296de665d70b6b6e55d8c29bfa7a36e0178e805ef54725d9f5c939081900392509050a480f35b90919360208060019260ff61293789613949565b1681520195019291016128dd565b909160019060209081906001600160a01b0361296088613ce3565b1681520194019101929190926128c0565b928a938b5b81811061298e5750505060051c01553880808061288d565b90919460206129b46001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101612976565b8a8b5b602081106129d6575083820155600101612875565b855190959160019160209160ff60038a901b81811b199092169216901b17920195016129c1565b612a2790858d52838d20601f80870160051c82019281881680612a2d575b500160051c0190613d20565b38612869565b60001990818601918254918a0360031b1c16905538612a1b565b634e487b7160e01b8a52604160045260248afd5b82516001600160a01b031681830155602090920191600101612829565b84612a8e9360058a018152209182019101613d20565b8b3884612819565b634e487b7160e01b8b52604160045260248bfd5b60208091612ab784613949565b81520191019061275c565b8980fd5b60208091612ad384613ce3565b81520191019061271d565b60a460405162461bcd60e51b815260206004820152604460248201527f707265706172654d696e7444697265637453616c653a3a4f6e6c79206d696e7460448201527f20636f6e7472616374206f776e65722063616e207072657061726520746865206064820152631b5a5b9d60e21b6084820152fd5b90506020813d602011612b87575b81612b70602093836138dd565b8101031261105257612b8190613c58565b386126a0565b3d9150612b63565b5034610178578060031936011261017857612ba8613957565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610178576060366003190112610178576001600160a01b0380612c10613837565b1660405191638da5cb5b60e01b83526020928381600481865afa8015612d4b5782918691612dc1575b50163303612d5657602483826101025416604051928380926381d0606b60e01b82523360048301525afa908115612d4b578591612d16575b501615612cab5760019061010960405193612c8b85613879565b602435855280850192604435845286525260408420925183555191015580f35b60405162461bcd60e51b815260048101839052603c60248201527f736574436f6e747261637453656c6c65725374616b696e674d696e696d756d3a60448201527f3a53656c6c657220646f6573206e6f742068617665206120706f6f6c000000006064820152608490fd5b90508381813d8311612d44575b612d2d81836138dd565b81010312610dd957612d3e90613c58565b38612c71565b503d612d23565b6040513d87823e3d90fd5b60405162461bcd60e51b815260048101849052603c60248201527f736574436f6e747261637453656c6c65725374616b696e674d696e696d756d3a60448201527f3a4f6e6c7920636f6e7472616374206f776e65722063616e20736574000000006064820152608490fd5b809250858092503d8311612df2575b612dda81836138dd565b81010312610dd957612dec8291613c58565b38612c39565b503d612dd0565b50346101785780600319360112610178577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003612e525760206040516000805160206145e28339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b50604036600319011261017857612ed2613837565b602435906001600160401b038211610e055736602383011215610e05578160040135612efd816138fe565b90612f0b60405192836138dd565b80825284602094858401923660248284010111610e05578060248893018537840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612f66308314156139f8565b612f836000805160206145e2833981519152928284541614613a59565b612f8b613957565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612fc357505050506101b59150613aba565b84939416906040516352d1902d60e01b81528681600481865afa6000918161315d575b506130475760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959495036131065761305883613aba565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351158015906130fe575b613094575b5050505080f35b600080916130f4957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c604051966130ca886138c2565b60278852870152660819985a5b195960ca1b60408701525190845af46130ee613b4a565b91613b7a565b503880808061308d565b506001613088565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d8311613185575b61317481836138dd565b810103126101785750519038612fe6565b503d61316a565b5034610178576040366003190112610178576131a6613837565b604051638da5cb5b60e01b81526001600160a01b039182169160209160243591908381600481885afa908115610f3357869161327f575b5016330361322057907fa9d9d6bd10e1caf4891001b6ccccdad5384a544c63cc903d40182c0a5a139cd9918385526101058252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052603160248201527f736574436f6e74726163744d696e744c696d69743a3a4f6e6c7920636f6e74726044820152701858dd081bdddb995c8818d85b881cd95d607a1b6064820152608490fd5b90508381813d83116132ad575b61329681836138dd565b810103126120c8576132a790613c58565b386131dd565b503d61328c565b503461017857602080600319360112611095576132cf613837565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690613307308314156139f8565b6133246000805160206145e2833981519152928284541614613a59565b61332c613957565b60405191848301918383106001600160401b038411176124d7578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143541660001461338757505050506101b59150613aba565b84939416906040516352d1902d60e01b81528681600481865afa6000918161345e575b5061340b5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b959495036131065761341c83613aba565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159061345657613094575050505080f35b506000613088565b90918882813d8311613486575b61347581836138dd565b8101031261017857505190386133aa565b503d61346b565b503461017857602036600319011261017857806134a8613837565b6134b0613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163dec30e3360e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b503461017857604036600319011261017857613524613837565b604061352e613863565b9260018060a01b0380931681526101086020522091166000526020526020604060002054604051908152f35b5034610178576020366003190112610178576020906040906001600160a01b03613582613837565b16815261010583522054604051908152f35b503461017857602036600319011261017857806135af613837565b6135b7613957565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163ebda042b60e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760203660031901126101785761362b613837565b613633613957565b8173__$7682c538d2a75d26dfca907f0e750789f4$__91823b1561109557604051632c55921b60e01b815260fb60048201526001600160a01b03909116602482015291829060449082905af480156102995761368d575080f35b6101b590613894565b5034610178576060366003190112610178576024356004356001600160a01b03806136bf61384d565b169260405191638da5cb5b60e01b83526020928381600481895afa908115610b615787916137b3575b5016330361374857907fff2ce9a528a62cad638cc9f5bccd36a62ecfa9aa0b1ab82c98957cb3498b4b679160405161371f81613879565b84815260018382018381528789526101048552604089209251835551910155604051908152a380f35b60405162461bcd60e51b815260048101839052603760248201527f736574436f6e7472616374416c6c6f774c697374436f6e6669673a3a4f6e6c7960448201527f20636f6e7472616374206f776e65722063616e207365740000000000000000006064820152608490fd5b90508381813d83116137e1575b6137ca81836138dd565b81010312610dd5576137db90613c58565b386136e8565b503d6137c0565b90503461109557602036600319011261109557604082819281602061380b613837565b9261381581613879565b82815201526001600160a01b0316815261010460205220815161212281613879565b600435906001600160a01b0382168203610e5757565b604435906001600160a01b0382168203610e5757565b602435906001600160a01b0382168203610e5757565b604081019081106001600160401b038211176124d757604052565b6001600160401b0381116124d757604052565b60e081019081106001600160401b038211176124d757604052565b606081019081106001600160401b038211176124d757604052565b90601f801991011681019081106001600160401b038211176124d757604052565b6001600160401b0381116124d757601f01601f191660200190565b9181601f84011215610e57578235916001600160401b038311610e57576020808501948460051b010111610e5757565b359060ff82168203610e5757565b6033546001600160a01b0316330361396b57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156139ff57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15613a6057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15613aef576000805160206145e283398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15613b75573d90613b5b826138fe565b91613b6960405193846138dd565b82523d6000602084013e565b606090565b91929015613bdc5750815115613b8e575090565b3b15613b975790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015613bef5750805190602001fd5b60405162461bcd60e51b8152908190613c0b9060048301613c0f565b0390fd5b6020808252825181830181905290939260005b828110613c4457505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501613c22565b51906001600160a01b0382168203610e5757565b15613c7357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160401b0381116124d75760051b60200190565b35906001600160a01b0382168203610e5757565b81810292918115918404141715613d0a57565b634e487b7160e01b600052601160045260246000fd5b818110613d2b575050565b60008155600101613d20565b91908201809211613d0a57565b6000198114613d0a5760010190565b91908203918211613d0a57565b6001600160a01b03908116600081815261010960208181526040808420805492979196959215613f085760010154421015613eff576101025486516381d0606b60e01b8152918616600483015287908290602490829089165afa908115613ef5579087918591613ebf575b506024875180978193630e67667b60e21b8352336004840152165afa938415613eb55790839291869495613e7e575b5082528552205411613e0a575050565b60a49250519062461bcd60e51b82526004820152604260248201527f5f656e666f726365436f6e747261637453656c6c65725374616b696e674d696e60448201527f696d756d3a3a41646472657373206e6f74206f6e207374616b656420656e6f756064820152610ced60f31b6084820152fd5b878092965081939495503d8311613eae575b613e9a81836138dd565b81010312610e055790849291519338613dfa565b503d613e90565b85513d85823e3d90fd5b82819392503d8311613eee575b613ed681836138dd565b81010312610e0157613ee88791613c58565b38613dcb565b503d613ecc565b86513d86823e3d90fd5b50505050505050565b5050505050505050565b6001600160a01b03166000908152610104602090815260408083208054929591949293928415613eff57600180920154421015613eff57908092918651888101916001600160601b03199060601b16825260148152613f7081613879565b5190209380935b613fe3575b5050505003613f89575050565b60849250519062461bcd60e51b82526004820152602e60248201527f5f656e666f726365416c6c6f774c69737465643a3a41646472657373206e6f7460448201526d081bdb88185b1b1bddc81b1a5cdd60921b6064820152fd5b9091929383518510156140545761402990613ffe868661408d565b51808211614032578851908a82019283528982015288815261401f816138c2565b5190205b94613d44565b92919081613f77565b908851908a82019283528982015288815261404c816138c2565b519020614023565b93613f7c565b8051156140675760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156140675760400190565b80518210156140675760209160051b010190565b90816020910312610e5757518015158103610e575790565b6001600160a01b039081168015918215614114575b5050156140d757565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250610100541691602460405180948193632d5ad3d560e01b835260048301525afa90811561416e57600091614150575b5038806140ce565b614168915060203d8111610bf657610be881836138dd565b38614148565b6040513d6000823e3d90fd5b6001600160a01b031690811561434c57346142f65760409081516370a0823160e01b938482523060048301526020948583602481855afa9283156142eb576000936142bc575b5084516323b872dd60e01b87820152336024820152306044820152606480820186905281529060a082016001600160401b038111838210176124d757879261420a91885284614391565b602486518094819382523060048301525afa9081156142b157600091614282575b509061423691613d53565b0361423f575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d83116142aa575b61429881836138dd565b8101031261017857505161423661422b565b503d61428e565b84513d6000823e3d90fd5b90928682813d83116142e4575b6142d381836138dd565b8101031261017857505191386141c0565b503d6142c9565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b9050340361435657565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b6040516143e9916001600160a01b03166143aa82613879565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16130ee613b4a565b805190828215928315614459575b505050156144025750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b61446993508201810191016140a1565b3882816143f7565b90816020910312610e57575160ff81168103610e575790565b6001600160a01b03929083168061456157508260ff541693604051916020908184019563c176e63960e01b87526064850160406024870152825180915283608487019301916000905b828210614548575050505083810360231901604485015282518082529082019282019160005b8281106145345750505050918161451f600096949387969403601f1981018352826138dd565b51925af161452b613b4a565b9015613bef5750565b8351855293810193928101926001016144f9565b83518116855293850193928501926001909101906144d3565b92915060009493945b81518110156145d957806145cf846145856145d4948661408d565b51166145c9614594848b61408d565b5160405163a9059cbb60e01b60208201526001600160a01b0393909316602484015260448084019190915282526064826138dd565b86614391565b613d44565b61456a565b50505050905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220df9548197382537a2068aab2d4979bf80f5ca630a92c185077c630341e2b85d964736f6c63430008120033","sourceMap":"942:14091:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;;-1:-1:-1;;;;;942:14091:66;;:::i;:::-;;;;4135:15;942:14091;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;942:14091:66;;2402:22:19;942:14091:66;;2496:8:19;;;:::i;:::-;942:14091:66;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;12314:40:66;:64;;;;;;942:14091;;-1:-1:-1;;;12314:64:66;;:12;942:14091;12314:64;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;12314:64;;;;;;;;942:14091;;12314:64;;;;:::i;:::-;942:14091;;12314:64;942:14091;12314:64;942:14091;;971:66:23;942:14091:66;;971:66:23;;;;12314:64:66;942:14091;;;;-1:-1:-1;942:14091:66;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;:::i;:::-;;;1830:1:27;2712:7;942:14091:66;2712:19:27;1830:1;;;2712:7;942:14091:66;-1:-1:-1;;;;;942:14091:66;;;;7570:17;942:14091;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1830:1:27;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;942:14091:66;7666:37;942:14091;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7849:10;;;;7805:63;7849:10;;7805:63;;:::i;:::-;942:14091;;7962:23;;-1:-1:-1;;;;;942:14091:66;7962:23;;:::i;:::-;942:14091;;;8023:13;942:14091;;-1:-1:-1;;;;;942:14091:66;;;;8140:17;942:14091;;;;;;8140:40;:156;;;;942:14091;;;;-1:-1:-1;;;;;942:14091:66;;;;8412:15;942:14091;;;;;;8412:38;:142;;;;942:14091;;;;;;;;8669:30;;:72;;;;;942:14091;;;;;;;;;8883:15;-1:-1:-1;942:14091:66;;;;;;;;8973:32;942:14091;;9138:16;;;:::i;:::-;942:14091;;;;-1:-1:-1;;;;;942:14091:66;;;;;;9205:52;942:14091;;9358:18;942:14091;;;;;9358:18;:::i;:::-;942:14091;;;;;9402:230;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;8140:17;942:14091;;;;;;9675:126;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;8412:15;942:14091;;;;;;9842:114;;942:14091;;;-1:-1:-1;;;10005:48:66;;7849:10;942:14091;10005:48;;942:14091;;;;;;;-1:-1:-1;;;;;942:14091:66;;10005:48;;;;;;;;;;;942:14091;-1:-1:-1;10102:32:66;942:14091;;;-1:-1:-1;;;;;942:14091:66;10102:86;;;;;942:14091;;-1:-1:-1;;;10102:86:66;;-1:-1:-1;;;;;942:14091:66;;;10102:86;;942:14091;;;;;;;;;;;;;;;;;;;;;;;10102:86;;;;942:14091;10210:13;;942:14091;10225:13;942:14091;;;10225:13;;;;942:14091;;;;;10508:282;;10205:275;-1:-1:-1;942:14091:66;-1:-1:-1;;;;;942:14091:66;;10916:24;;942:14091;;10916:24;;:::i;:::-;-1:-1:-1;;942:14091:66;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;7849:10;;942:14091;;10801:187;;942:14091;;10801:187;942:14091;2712:7:27;942:14091:66;;;;-1:-1:-1;;;942:14091:66;;;;;;;;10508:282;942:14091;;;;;;;;;;;;;;;;;;10705:32;942:14091;;;;10747:28;942:14091;;;;;6804:41:78;942:14091:66;;10102:32;942:14091;;;-1:-1:-1;;;7537:60:78;;942:14091:66;7537:60:78;;942:14091:66;;;;7449:33:78;;942:14091:66;;;;;;;;-1:-1:-1;;;;;942:14091:66;7537:60:78;;;;;;;;;;;10508:282:66;942:14091;;;;;;;:::i;:::-;1830:1:27;942:14091:66;;;;;;;;9099:12;942:14091;-1:-1:-1;;;;;942:14091:66;;7673:52:78;;;:::i;:::-;942:14091:66;7756:23:78;942:14091:66;;;-1:-1:-1;;;7756:67:78;;942:14091:66;7756:67:78;;942:14091:66;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;7756:67:78;;;;;;;;;;;10508:282:66;-1:-1:-1;;;;;;942:14091:66;7731:93:78;;;:::i;:::-;942:14091:66;-1:-1:-1;;;;;7847:14:78;;;:::i;:::-;942:14091:66;;7847:83:78;;;7830:100;;;:::i;:::-;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;:::i;:::-;1830:1:27;942:14091:66;;;;;;;;7996:23:78;942:14091:66;;;-1:-1:-1;;;7996:62:78;;942:14091:66;7996:62:78;;942:14091:66;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;7996:62:78;;;;;;;;;;;7847:83;7984:74;;;;:::i;:::-;942:14091:66;;;;;;971:66:23;;;;;;;8076:52:78;;942:14091:66;8076:52:78;;942:14091:66;8076:52:78;;;;;;;;;;;;;;7847:83;8064:64;;8206:6;8064:64;;;;:::i;:::-;942:14091:66;8206:6:78;;:::i;:::-;10102:32:66;942:14091;;;-1:-1:-1;;;8225:73:78;;-1:-1:-1;;;;;942:14091:66;;;;8225:73:78;;942:14091:66;;;;;;;;;;;;;;;;;;8225:73:78;;;;;;;;;;;7847:83;-1:-1:-1;8224:74:78;;942:14091:66;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;8455:14:78;;;:::i;:::-;942:14091:66;;8436:33:78;;;:::i;:::-;942:14091:66;8482:29:78;942:14091:66;;;-1:-1:-1;;;8482:62:78;;942:14091:66;8482:62:78;;942:14091:66;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;8482:62:78;;;;;;;;;;;8220:1546;-1:-1:-1;8478:826:78;;;8482:29;942:14091:66;;;-1:-1:-1;;;8585:60:78;;942:14091:66;8585:60:78;;942:14091:66;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;8585:60:78;;;;;;;;8674:56;8878:11;8585:60;;;942:14091:66;8694:28:78;942:14091:66;8585:60:78;;8759:28;8585:60;;;;;8478:826;942:14091:66;;8694:28:78;;;:::i;:::-;942:14091:66;8674:56:78;;:::i;:::-;8759:28;;:::i;:::-;942:14091:66;8741:53:78;;;:::i;:::-;942:14091:66;8847:14:78;;;:::i;:::-;942:14091:66;8878:11:78;;:::i;:::-;942:14091:66;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;9845:22:78;9879:13;;9874:187;9918:3;942:14091:66;;9894:22:78;;;;;9999:55;9918:3;9969:15;942:14091:66;10014:33:78;942:14091:66;10032:15:78;9969;;;;;;;;9951:33;9931:60;9969:15;;;;;;:::i;:::-;942:14091:66;;9951:33:78;;:::i;:::-;942:14091:66;9931:60:78;;:::i;:::-;942:14091:66;10032:15:78;:::i;:::-;942:14091:66;;10014:33:78;;:::i;:::-;942:14091:66;9999:55:78;;:::i;:::-;9918:3;;:::i;:::-;9879:13;;;9894:22;10133:13;9894:22;;;10916:24:66;9894:22:78;;;;942:14091:66;9894:22:78;;;;;;;;10133:13;;:::i;:::-;10508:282:66;;;;8585:60:78;;;;942:14091:66;8585:60:78;942:14091:66;8585:60:78;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;942:14091:66;;971:66:23;942:14091:66;;971:66:23;;;;8478:826:78;-1:-1:-1;10102:32:66;942:14091;;;-1:-1:-1;;;8944:106:78;;-1:-1:-1;;;;;942:14091:66;;;;8944:106:78;;942:14091:66;;;;;;;;;;;;8944:106:78;;;;;;;;9079:56;9283:11;8944:106;;;942:14091:66;9099:28:78;942:14091:66;8944:106:78;;9164:28;8944:106;;;;;942:14091:66;;9099:28:78;;;:::i;9283:11::-;8478:826;;8482:62;;;;942:14091:66;8482:62:78;942:14091:66;8482:62:78;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;942:14091:66;;971:66:23;942:14091:66;;971:66:23;;;;8220:1546:78;942:14091:66;;;;;;;;;;;;;;;;;;9391:21:78;942:14091:66;;;;;;971:66:23;;;;;;;;9391:100:78;;942:14091:66;;;;;;;;9391:100:78;;942:14091:66;;;;;;;;;;9391:100:78;;;;;;;;;;;;;8220:1546;9500:26;;9540:13;;9535:96;9577:3;942:14091:66;;9555:20:78;;;;;9592:30;9577:3;9610:12;;;;;;:::i;:::-;942:14091:66;9592:30:78;;:::i;:::-;9577:3;;:::i;:::-;9540:13;;;9555:20;;;;;;;;9749:9;9555:20;;;;;;9639:33;9555:20;9639:33;:::i;:::-;9749:9;;;:::i;9391:100::-;;;;;;;;;;;;;;;:::i;:::-;942:14091:66;9391:100:78;;;;942:14091:66;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;9391:100:78;;;;942:14091:66;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9391:100:78;;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;9391:100:78;;;942:14091:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9391:100:78;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9391:100:78;;;;;;;;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;8225:73:78;;;;942:14091:66;8225:73:78;942:14091:66;8225:73:78;;;;;;;:::i;:::-;;;;8076:52;;;;942:14091:66;8076:52:78;;942:14091:66;8076:52:78;;;;;;942:14091:66;8076:52:78;;;:::i;:::-;;;942:14091:66;;;;;;;8206:6:78;8076:52;;942:14091:66;;;;8076:52:78;;;-1:-1:-1;8076:52:78;;;942:14091:66;;971:66:23;942:14091:66;;971:66:23;;;;7996:62:78;;;942:14091:66;7996:62:78;;942:14091:66;7996:62:78;;;;;;942:14091:66;7996:62:78;;;:::i;:::-;;;942:14091:66;;;;;7996:62:78;;;;;;-1:-1:-1;7996:62:78;;;942:14091:66;;971:66:23;942:14091:66;;971:66:23;;;;7847:83:78;-1:-1:-1;;;;;;7916:14:78;;;:::i;:::-;942:14091:66;;7847:83:78;;7756:67;;;942:14091:66;7756:67:78;;942:14091:66;7756:67:78;;;;;;942:14091:66;7756:67:78;;;:::i;:::-;;;942:14091:66;;;;;;;:::i;:::-;7756:67:78;;;;;;-1:-1:-1;7756:67:78;;7537:60;;;;942:14091:66;7537:60:78;;942:14091:66;7537:60:78;;;;;;942:14091:66;7537:60:78;;;:::i;:::-;;;942:14091:66;;;;;7537:60:78;;;;;;;-1:-1:-1;7537:60:78;;;942:14091:66;;971:66:23;942:14091:66;;971:66:23;;;;942:14091:66;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;10240:3;942:14091;;-1:-1:-1;;;10312:48:66;;7849:10;942:14091;10312:48;;942:14091;;;;;;-1:-1:-1;;;;;942:14091:66;;10312:48;;;;;;;;10240:3;-1:-1:-1;10102:32:66;942:14091;;;-1:-1:-1;;;;;942:14091:66;10439:16;;;;:::i;:::-;10372:90;;;;;942:14091;;-1:-1:-1;;;10372:90:66;;-1:-1:-1;;;;;942:14091:66;;;10372:90;;942:14091;;;;;;;;;;;;;;;;;;;;;;;;10372:90;;;;10240:3;;;;;;:::i;:::-;10210:13;;10372:90;;;;:::i;:::-;942:14091;;10372:90;;;;942:14091;;;;10312:48;942:14091;10312:48;;;;;;;;;;;;:::i;:::-;;;942:14091;;;;10312:48;;;;;;;;10102:86;;;;:::i;:::-;942:14091;;10102:86;;;;;942:14091;;;10005:48;;;;942:14091;10005:48;;942:14091;10005:48;;;;;;942:14091;10005:48;;;:::i;:::-;;;942:14091;;;;;10005:48;;;;;;;-1:-1:-1;10005:48:66;;9842:114;9893:21;942:14091;;;;;7849:10;942:14091;;;;;;;;;;;;;;;;;;;;9842:114;;942:14091;-1:-1:-1;;;942:14091:66;;;;;;;;9675:126;9728:23;942:14091;;;;;7849:10;942:14091;;;;;;;9728:66;942:14091;;;;;9728:66;:::i;:::-;942:14091;;9675:126;;9402:230;9481:32;942:14091;;;-1:-1:-1;;;9481:68:66;;942:14091;9481:68;;942:14091;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;9481:68;;;;;;;;;;;9402:230;9468:81;;9610:14;9468:81;;;:::i;:::-;9610:14;;:::i;:::-;9402:230;;9481:68;;;942:14091;9481:68;;942:14091;9481:68;;;;;;942:14091;9481:68;;;:::i;:::-;;;942:14091;;;;;9468:81;9481:68;;;;;-1:-1:-1;9481:68:66;;942:14091;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;8669:72;942:14091;;;;;8703:38;;8669:72;;;942:14091;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;8412:142;942:14091;8462:21;942:14091;;;;;7849:10;942:14091;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;8412:15;942:14091;;;;;;;;;;;8462:92;;8412:142;;942:14091;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;8140:156;942:14091;8192:23;942:14091;;;;;7849:10;942:14091;;;;8192:65;942:14091;;;;;;;8192:65;:::i;:::-;-1:-1:-1;;;;;942:14091:66;;;;8140:17;942:14091;;;;;;-1:-1:-1;8192:104:66;8140:156;;942:14091;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;1830:1:27;942:14091:66;;-1:-1:-1;;;1830:1:27;;942:14091:66;;1830:1:27;;;;942:14091:66;1830:1:27;;942:14091:66;1830:1:27;942:14091:66;;;1830:1:27;942:14091:66;;1830:1:27;942:14091:66;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;3976:23;942:14091;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;12176:27:66;:38;;;;;;942:14091;;-1:-1:-1;;;12176:38:66;;:12;942:14091;12176:38;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;12176:38;;;;;;;;942:14091;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3491:17;942:14091;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;942:14091:66;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;-1:-1:-1;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;-1:-1:-1;;;6554:44:66;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;6554:44;;;;;;;;;;;942:14091;;;6540:10;:58;942:14091;;;6720:44;942:14091;;;;6667:15;942:14091;;;;;;;;;;;;6720:44;942:14091;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;6554:44;;;;;;;;;;;;;;;;:::i;:::-;;;942:14091;;;;;;;:::i;:::-;6554:44;;;942:14091;;;;6554:44;;;;;942:14091;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;942:14091:66;;;4484:28;942:14091;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:19;942:14091:66;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;3301:14:25;3347:34;;;;;;942:14091:66;3346:108:25;;;;942:14091:66;;;;-1:-1:-1;;942:14091:66;;;;;;;3562:65:25;;942:14091:66;-1:-1:-1;942:14091:66;;-1:-1:-1;;;2899:241:66;;-1:-1:-1;;;;;942:14091:66;;;;2899:241;;942:14091;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:12;:241;;;;;;;;;;;942:14091;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;2884:256;942:14091;;;2884:256;942:14091;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5366:69:25;942:14091:66;;;;;;5366:69:25;;;:::i;:::-;;:::i;:::-;1195:12:19;929:10:30;1195:12:19;:::i;:::-;3647:99:25;;942:14091:66;;3647:99:25;942:14091:66;;;;;;;3721:14:25;942:14091:66;;;;;;3721:14:25;942:14091:66;;2899:241;;;942:14091;2899:241;;942:14091;2899:241;;;;;;942:14091;2899:241;;;:::i;:::-;;;942:14091;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;2899:241;;;942:14091;;;;;;;;;;;;2899:241;;;-1:-1:-1;2899:241:66;;;942:14091;;971:66:23;942:14091:66;;971:66:23;;;;3562:65:25;-1:-1:-1;;942:14091:66;;;;;3562:65:25;;;942:14091:66;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;3346:108:25;3426:4;;1713:19:29;:23;3387:66:25;;3346:108;3387:66;942:14091:66;;;;;3436:17:25;3346:108;;3347:34;942:14091:66;;;;;3365:16:25;3347:34;;942:14091:66;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;11906:40:66;:64;;;;;;942:14091;;-1:-1:-1;;;11906:64:66;;:12;942:14091;11906:64;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;11906:64;;;;;;;;942:14091;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;5020:44:66;;942:14091;;;;;;;;-1:-1:-1;;;;;942:14091:66;;5020:44;;;;;;;;;;;942:14091;-1:-1:-1;5068:10:66;-1:-1:-1;;;;;942:14091:66;;;5020:58;942:14091;;5243:16;;;:::i;:::-;942:14091;;;;;:::i;:::-;5068:10;942:14091;;-1:-1:-1;;;;;942:14091:66;;;5305:157;;942:14091;;;;5305:157;;942:14091;;;;5305:157;;942:14091;;;;5305:157;;942:14091;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;5305:157;;942:14091;5305:157;;942:14091;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;5305:157;;942:14091;5305:157;;942:14091;;;;;;;;;;5267:17;942:14091;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;;5305:157;;942:14091;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;5305:157;;942:14091;;;;;;5305:157;;942:14091;;;;;;5305:157;;942:14091;;;;;;5305:157;;942:14091;;;;-1:-1:-1;;;;;942:14091:66;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5305:157;;;;942:14091;5305:157;942:14091;;;;;-1:-1:-1;;;;;942:14091:66;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5068:10:66;;-1:-1:-1;;;;;942:14091:66;;;;;;5473:186;;;;;;;-1:-1:-1;5068:10:66;-1:-1:-1;5473:186:66;942:14091;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;5020:44;;;942:14091;5020:44;;942:14091;5020:44;;;;;;942:14091;5020:44;;;:::i;:::-;;;942:14091;;;;;;;:::i;:::-;5020:44;;;;;;-1:-1:-1;5020:44:66;;942:14091;;;;;;;;;;;;;1303:62:19;;:::i;:::-;2758:6;942:14091:66;;-1:-1:-1;;;;;;942:14091:66;;;;;;;-1:-1:-1;;;;;942:14091:66;2806:40:19;942:14091:66;;2806:40:19;942:14091:66;;;;;;;;;-1:-1:-1;;942:14091:66;;;;-1:-1:-1;;;;;942:14091:66;;;:::i;:::-;;;;971:66:23;;;;6925:44:66;;942:14091;6925:44;;;942:14091;6925:44;;;;;;;;;;;;;;942:14091;;;6911:10;:58;942:14091;;;;;7066:28;942:14091;;;;971:66:23;;;;;;;7066:65:66;;6911:10;942:14091;7066:65;;942:14091;7066:65;;;;;;;;;;;942:14091;;;7145:18;942:14091;;;;7234:28;942:14091;;;;;;:::i;:::-;;;;;7283:39;;;942:14091;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;7066:65;;;;;;;;;;;;;;;;:::i;:::-;;;942:14091;;;;;;;:::i;:::-;7066:65;;;;;;;;;942:14091;;971:66:23;942:14091:66;;971:66:23;;;;942:14091:66;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;6925:44;;;;;;;;;;;;;;;;;;:::i;:::-;;;942:14091;;;;;;;;:::i;:::-;6925:44;;;;;;;;942:14091;;;;;;;;;;;;;2333:6:26;-1:-1:-1;;;;;942:14091:66;2324:4:26;2316:23;942:14091:66;;;;;-1:-1:-1;;;;;;;;;;;942:14091:66;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;942:14091:66;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:26;942:14091:66;;;1873:80:26;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;942:14091:66;;;;;1971:30:26;1963:87;:::i;:::-;1303:62:19;;:::i;:::-;971:66:23;;942:14091:66;;;;;3330:17:23;;;;;;;;:::i;3232:526::-;942:14091:66;;;;;;;971:66:23;;;3383:63;;;;942:14091:66;3383:63:23;;;;942:14091:66;;3383:63:23;;;3232:526;-1:-1:-1;3379:302:23;;942:14091:66;;-1:-1:-1;;;3610:56:23;;942:14091:66;3610:56:23;;971:66;;;;942:14091:66;971:66:23;;942:14091:66;971:66:23;942:14091:66;;;971:66:23;-1:-1:-1;;;971:66:23;;;;;;3610:56;3379:302;3496:28;;;;971:66;;2171:17;;;:::i;:::-;2204:27;942:14091:66;2204:27:23;;942:14091:66;;2523:15:23;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;942:14091:66;;2519:123:23;942:14091:66;;;7318:69:29;942:14091:66;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;942:14091:66;;;;7276:25:29;;;;;;;:::i;:::-;7318:69;;:::i;:::-;;2519:123:23;;;;;;2523:28;;942:14091:66;2523:28:23;;971:66;942:14091:66;;-1:-1:-1;;;971:66:23;;942:14091:66;971:66:23;;;;;;942:14091:66;971:66:23;;942:14091:66;971:66:23;942:14091:66;;;971:66:23;-1:-1:-1;;;971:66:23;;;;;;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;942:14091:66;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;-1:-1:-1;;;6215:44:66;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;6215:44;;;;;;;;;;;942:14091;;;6201:10;:58;942:14091;;;6385:46;942:14091;;;;6330:17;942:14091;;;;;;;;;;;;6385:46;942:14091;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;6215:44;;;;;;;;;;;;;;;;:::i;:::-;;;942:14091;;;;;;;:::i;:::-;6215:44;;;;;;;;942:14091;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1898:6:26;942:14091:66;;;1873:80:26;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;942:14091:66;;;;;1971:30:26;1963:87;:::i;:::-;1303:62:19;;:::i;:::-;942:14091:66;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;971:66:23;;942:14091:66;3232:526:23;942:14091:66;;;3330:17:23;;;;;;;;:::i;3232:526::-;942:14091:66;;;;;;;971:66:23;;;3383:63;;;;942:14091:66;3383:63:23;;;;942:14091:66;;3383:63:23;;;3232:526;-1:-1:-1;3379:302:23;;942:14091:66;;-1:-1:-1;;;3610:56:23;;942:14091:66;3610:56:23;;971:66;;;;;;;942:14091:66;971:66:23;942:14091:66;;;971:66:23;-1:-1:-1;;;971:66:23;;;;;;3610:56;3379:302;3496:28;;;;971:66;;2171:17;;;:::i;:::-;2204:27;942:14091:66;2204:27:23;;942:14091:66;;2523:15:23;;;:28;;;2519:123;;3232:526;;;;942:14091:66;;2523:28:23;;942:14091:66;2523:28:23;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;942:14091:66;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;11592:37:66;:58;;;;;;942:14091;;-1:-1:-1;;;11592:58:66;;:12;942:14091;11592:58;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;11592:58;;;;;;;;942:14091;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;4300:21;942:14091;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;;-1:-1:-1;;;;;942:14091:66;;:::i;:::-;;;;3807:17;942:14091;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;12054:32:66;:48;;;;;;942:14091;;-1:-1:-1;;;12054:48:66;;:12;942:14091;12054:48;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;12054:48;;;;;;;;942:14091;;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;11746:38:66;;:60;;;;;;942:14091;;-1:-1:-1;;;11746:60:66;;:12;942:14091;11746:60;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;11746:60;;;;;;;;942:14091;;;11746:60;;;;:::i;942:14091::-;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;:::i;:::-;;;;;971:66:23;;;;5812:44:66;;942:14091;5812:44;;;942:14091;5812:44;;;;;;;;;;;;;942:14091;;;5798:10;:58;942:14091;;;6024:66;942:14091;;;;;;:::i;:::-;;;;;5976:37;;;942:14091;;;;;;5933:22;942:14091;;;;;;;;;;;;;;;;;;6024:66;942:14091;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;5812:44;;;;;;;;;;;;;;;;:::i;:::-;;;942:14091;;;;;;;:::i;:::-;5812:44;;;;;;;;942:14091;;;;;;;;-1:-1:-1;;942:14091:66;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;942:14091:66;;;3657:22;942:14091;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;942:14091:66;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;942:14091:66;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;942:14091:66;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;:::o;:::-;-1:-1:-1;;;;;942:14091:66;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;:::o;:::-;-1:-1:-1;;;;;942:14091:66;;;;;;-1:-1:-1;;942:14091:66;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;1599:130:19:-;1513:6;942:14091:66;-1:-1:-1;;;;;942:14091:66;929:10:30;1662:23:19;942:14091:66;;1599:130:19:o;942:14091:66:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:19;2758:6;942:14091:66;;-1:-1:-1;;;;;942:14091:66;;;-1:-1:-1;;;;;;942:14091:66;;;;;;;;;;2806:40:19;-1:-1:-1;;2806:40:19;2666:187::o;942:14091:66:-;;;;:::o;:::-;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;1699:281:23;1713:19:29;;:23;942:14091:66;;-1:-1:-1;;;;;;;;;;;942:14091:66;;-1:-1:-1;;;;;;942:14091:66;-1:-1:-1;;;;;942:14091:66;;;;;;;;;1699:281:23:o;942:14091:66:-;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;942:14091:66;;;;:::o;:::-;;;:::o;7682:628:29:-;;;;7886:418;;;942:14091:66;;;7917:22:29;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;942:14091:66;;8212:17:29;:::o;942:14091:66:-;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;;;;7886:418:29;942:14091:66;;;;-1:-1:-1;8991:21:29;:17;;9163:142;;;;;;;8987:379;942:14091:66;;-1:-1:-1;;;9335:20:29;;942:14091:66;;;9335:20:29;;;;;;:::i;:::-;;;;942:14091:66;;;;;;;;;;;;;;;;-1:-1:-1;942:14091:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;942:14091:66;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;942:14091:66;;;;;;;:::o;:::-;;;;;;;;;;:::o;12794:671::-;-1:-1:-1;;;;;942:14091:66;;;-1:-1:-1;942:14091:66;;;12908:28;942:14091;;;;;;;;;;;;;;;;12908:58;12904:85;;942:14091;13061:59;942:14091;13042:15;:78;;13038:105;;13183:28;942:14091;;;-1:-1:-1;;;13183:63:66;;942:14091;;;13183:63;;;942:14091;;;;;;;;;;;13183:63;;;;;;;;;;;;;;12794:671;942:14091;;;;971:66:23;;;;;;;13171:117:66;;13277:10;13183:63;13171:117;;942:14091;;13171:117;;;;;;;;;;;;;;;;12794:671;942:14091;;;;;;;-1:-1:-1;942:14091:66;;12794:671;;:::o;942:14091::-;;;;;;;;;;;13183:63;942:14091;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;13171:117;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;942:14091;;;;;;;;;13171:117;;;;;;;;;;942:14091;;971:66:23;942:14091:66;;971:66:23;;;;13183:63:66;;;;;;;;;;;;;;;;:::i;:::-;;;942:14091;;;;;;;;:::i;:::-;13183:63;;;;;;;;;942:14091;;971:66:23;942:14091:66;;971:66:23;;;;13038:105:66;13130:7;;;;;;;:::o;12904:85::-;12976:7;;;;;;;;:::o;13697:595::-;-1:-1:-1;;;;;942:14091:66;-1:-1:-1;942:14091:66;;;13852:22;942:14091;;;;;;;;;;;;;;;;-1:-1:-1;13945:18:66;;13941:45;;942:14091;14064:53;;;942:14091;14045:15;:72;;14041:99;;942:14091;;;;;;14183:26;;;942:14091;-1:-1:-1;;;;;942:14091:66;;;;;;;14183:26;;;;;;:::i;:::-;942:14091;14173:37;;14585:13;;14580:108;942:14091;;;14580:108;14701:20;;;;;942:14091;;13697:595;;:::o;942:14091::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;14619:3;942:14091;;;;;;14600:17;;;;;14619:3;14671:9;;;;;:::i;:::-;942:14091;14948:6;;;;;942:14091;;14967:22;;;;942:14091;;;;;;;14967:22;;;;;;:::i;:::-;942:14091;14957:33;;14948:78;14619:3;;:::i;:::-;14585:13;;;;;;14948:78;942:14091;;;15003:22;;;;942:14091;;;;;;;15003:22;;;;;;:::i;:::-;942:14091;14993:33;;14948:78;;14600:17;;;;942:14091;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;623:272:78:-;-1:-1:-1;;;;;942:14091:66;;;756:30:78;;;:97;;;;623:272;942:14091:66;;;;;623:272:78:o;942:14091:66:-;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;756:97:78;790:63;942:14091:66;;;790:29:78;942:14091:66;;;;;;971:66:23;;;;;;;790:63:78;;;;;942:14091:66;790:63:78;;;;;;;784:1;790:63;;;756:97;;;;;;790:63;;;;;;;;;;;;;;:::i;:::-;;;;;942:14091:66;;971:66:23;784:1:78;971:66:23;;;;;3889:603:78;-1:-1:-1;;;;;942:14091:66;;3983:30:78;;3979:117;;4110:9;942:14091:66;;;;;;971:66:23;;;4245:30:78;;;;4269:4;4245:30;;;942:14091:66;4245:30:78;;;;942:14091:66;4245:30:78;;;;;;;;;4011:1;4245:30;;;3889:603;-1:-1:-1;942:14091:66;;-1:-1:-1;;;1482:68:44;;;;4305:10:78;942:14091:66;1482:68:44;;942:14091:66;4269:4:78;942:14091:66;;;;;;;;;;;1482:68:44;;942:14091:66;;;;-1:-1:-1;;;;;942:14091:66;;;;;;;;;;1482:68:44;942:14091:66;;;1482:68:44;;:::i;:::-;942:14091:66;;;4370:30:78;;;;;;4269:4;4245:30;4370;;942:14091:66;4370:30:78;;;;;;;4011:1;4370:30;;;3889:603;4415:28;;;;;:::i;:::-;:39;942:14091:66;;3889:603:78;;:::o;942:14091:66:-;;;;;;;;;;;4245:30:78;942:14091:66;;;;;;;;;;;;;;4370:30:78;;;;;;;;;;;;;;;:::i;:::-;;;942:14091:66;;;;-1:-1:-1;942:14091:66;4415:28:78;4370:30;;;;;;;;942:14091:66;;971:66:23;4011:1:78;971:66:23;;;;;4245:30:78;;;;;;;;;;;;;;;;:::i;:::-;;;942:14091:66;;;;;;4245:30:78;;;;;;;;;;942:14091:66;;971:66:23;4011:1:78;971:66:23;;;;;942:14091:66;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;3979:117:78;4031:9;;;:20;942:14091:66;;4083:7:78:o;942:14091:66:-;;;-1:-1:-1;;;942:14091:66;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;;;5173:642:44;942:14091:66;;5535:69:49;;-1:-1:-1;;;;;942:14091:66;;;;:::i;:::-;-1:-1:-1;942:14091:66;;;;;;;;;;;5487:31:49;;;;;;;;;;;:::i;5535:69::-;942:14091:66;;5705:22:44;;;;:56;;;;;5173:642;942:14091:66;;;;;;5173:642:44;:::o;942:14091:66:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14091:66;;;;;5705:56:44;5731:30;;-1:-1:-1;5731:30:44;;;;;;;:::i;:::-;5705:56;;;;;942:14091:66;;;;;;;;;;;;;;;;;;:::o;10156:657:78:-;-1:-1:-1;;;;;942:14091:66;10156:657:78;942:14091:66;;10368:30:78;942:14091:66;;;;10452:16:78;942:14091:66;;;;;10500:72:78;;;;;;10523:25;;;;10500:72;;942:14091:66;;;;10500:72:78;;;942:14091:66;;;;;;;;;;;;;10396:1:78;942:14091:66;;;;;;;-1:-1:-1;;;;942:14091:66;;;-1:-1:-1;;942:14091:66;;;;;;;;;;;;;;;;;10396:1:78;942:14091:66;;;;;;10500:72:78;;;;;;;10396:1;10500:72;;;;;;;942:14091:66;;10500:72:78;;;;;;:::i;:::-;10444:136;;;;;;:::i;:::-;942:14091:66;;;;10364:445:78;10156:657::o;942:14091:66:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10364:445:78;10693:13;;;10396:1;10693:13;;;10732:3;942:14091:66;;10708:22:78;;;;;10766:14;1050:58:44;10766:14:78;;10732:3;10766:14;;;:::i;:::-;942:14091:66;;1050:58:44;10782:11:78;;;;:::i;:::-;942:14091:66;;;-1:-1:-1;;;1050:58:44;;;;-1:-1:-1;;;;;942:14091:66;;;;1050:58:44;;;942:14091:66;;;;;;;;;1050:58:44;;942:14091:66;;1050:58:44;:::i;:::-;;;:::i;:::-;10732:3:78;:::i;:::-;10693:13;;10708:22;;;;;;;10156:657::o","linkReferences":{"src/utils/structs/MarketConfig.sol":{"MarketConfig":[{"start":561,"length":20},{"start":6829,"length":20},{"start":8838,"length":20},{"start":9654,"length":20},{"start":13490,"length":20},{"start":13753,"length":20},{"start":13878,"length":20}]}},"immutableReferences":{"30153":[{"start":11788,"length":32},{"start":12088,"length":32},{"start":13017,"length":32}]}},"methodIdentifiers":{"getContractAllowListConfig(address)":"04c1ff07","getContractMintLimit(address)":"23946f1f","getContractMintsPerAddress(address,address)":"ca774e68","getContractSellerStakingMinimum(address)":"9890cddf","getContractTxLimit(address)":"fa5312c8","getContractTxsPerAddress(address,address)":"2da45e8e","getDirectSaleConfig(address)":"a01fa6a9","initialize(address,address,address,address,address,address,address,address)":"8a29e2de","mintDirectSale(address,address,uint256,uint8,bytes32[])":"d647ed3c","owner()":"8da5cb5b","prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":"78c19898","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setApprovedTokenRegistry(address)":"e4e87e3b","setContractAllowListConfig(bytes32,uint256,address)":"0fc635b3","setContractMintLimit(address,uint256)":"4cf5f910","setContractSellerStakingMinimum(address,uint256,uint256)":"677b1984","setContractTxLimit(address,uint256)":"9dbef5d1","setMarketplaceSettings(address)":"176ab440","setNetworkBeneficiary(address)":"3492e5a8","setPayments(address)":"af231a58","setRoyaltyEngine(address)":"21ede032","setSpaceOperatorRegistry(address)":"7f358230","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"ContractMintLimitSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"name\":\"ContractStakingMinimumSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"ContractTxLimitSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenIdStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenIdEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"MintDirectSale\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_maxMints\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"PrepareMintDirectSale\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"SetContractAllowListConfig\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractAllowListConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareMinter.AllowListConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractMintLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getContractMintsPerAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractSellerStakingMinimum\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareMinter.StakingMinimum\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractTxLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getContractTxsPerAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getDirectSaleConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxMints\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareMinter.DirectSaleConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_numMints\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"mintDirectSale\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_maxMints\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"prepareMintDirectSale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"}],\"name\":\"setApprovedTokenRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"setContractAllowListConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"setContractMintLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"}],\"name\":\"setContractSellerStakingMinimum\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"setContractTxLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"}],\"name\":\"setNetworkBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"}],\"name\":\"setPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"}],\"name\":\"setRoyaltyEngine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"setSpaceOperatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRareLabs Inc.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getContractAllowListConfig(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"AllowListConfig The allow list config\"}},\"getContractMintLimit(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The mint limit\"}},\"getContractMintsPerAddress(address,address)\":{\"params\":{\"_address\":\"address The address of the account to get the mints for\",\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The number of mints\"}},\"getContractSellerStakingMinimum(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"StakingMinimum The staking minimum\"}},\"getContractTxLimit(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The tx limit\"}},\"getContractTxsPerAddress(address,address)\":{\"params\":{\"_address\":\"address The address of the account to get the txs for\",\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The number of txs\"}},\"getDirectSaleConfig(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"DirectSaleConfig The direct sale config\"}},\"mintDirectSale(address,address,uint256,uint8,bytes32[])\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_currencyAddress\":\"address The address of the currency\",\"_numMints\":\"uint8 The number of tokens to be minted\",\"_price\":\"uint256 The price to mint\",\"_proof\":\"bytes32[] The merkle proof for the allowlist if applicable, otherwise empty array\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_currencyAddress\":\"address The address of the currency to accept\",\"_maxMints\":\"uint256 The max number of tokens to mint per transaction\",\"_price\":\"uint256 The price to mint each token\",\"_splitRatios\":\"uint8[] The ratios to split the sale with\",\"_splitRecipients\":\"address payable[] The addresses to split the sale with\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setContractAllowListConfig(bytes32,uint256,address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_endTimestamp\":\"uint256 The timestamp when the allow list ends\",\"_root\":\"bytes32 The root of the merkle tree\"}},\"setContractMintLimit(address,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_limit\":\"uint256 The limit to set\"}},\"setContractSellerStakingMinimum(address,uint256,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_endTimestamp\":\"uint256 The timestamp when the minimum ends\",\"_minimum\":\"uint256 The minimum to set\"}},\"setContractTxLimit(address,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_limit\":\"uint256 The limit to set\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"RareMinter\",\"version\":1},\"userdoc\":{\"events\":{\"ContractMintLimitSet(address,uint256)\":{\"notice\":\"Event emitted when a contract is set to a mint limit\"},\"ContractStakingMinimumSet(address,uint256,uint256)\":{\"notice\":\"Event emitted when a contract staking minimum amount staked is set\"},\"ContractTxLimitSet(address,uint256)\":{\"notice\":\"Event emitted when a contract is set to a tx limit\"},\"MintDirectSale(address,address,address,uint256,uint256,address,uint256)\":{\"notice\":\"Event emitted when a contract is prepared for direct sale\"},\"PrepareMintDirectSale(address,address,address,uint256,uint256,uint256,address[],uint8[])\":{\"notice\":\"Event emitted when a contract is prepared for direct sale\"},\"SetContractAllowListConfig(bytes32,uint256,address)\":{\"notice\":\"Event emitted when a contract is set to an allow list config\"}},\"kind\":\"user\",\"methods\":{\"getContractAllowListConfig(address)\":{\"notice\":\"Gets the allow list config for a contract\"},\"getContractMintLimit(address)\":{\"notice\":\"Gets the mint limit for a contract\"},\"getContractMintsPerAddress(address,address)\":{\"notice\":\"Gets the number of mints per address for a contract\"},\"getContractSellerStakingMinimum(address)\":{\"notice\":\"Gets the staking minimum for the seller of a mint for a contract\"},\"getContractTxLimit(address)\":{\"notice\":\"Gets the tx limit for a contract\"},\"getContractTxsPerAddress(address,address)\":{\"notice\":\"Gets the number of txs per address for a contract\"},\"getDirectSaleConfig(address)\":{\"notice\":\"Gets the direct sale config for a contract\"},\"mintDirectSale(address,address,uint256,uint8,bytes32[])\":{\"notice\":\"Mints a token to the buyer\"},\"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])\":{\"notice\":\"Prepares a minting contract for direct sales\"},\"setContractAllowListConfig(bytes32,uint256,address)\":{\"notice\":\"Sets the allow list config for a contract\"},\"setContractMintLimit(address,uint256)\":{\"notice\":\"Sets the mint limit for a contract\"},\"setContractSellerStakingMinimum(address,uint256,uint256)\":{\"notice\":\"Sets the staking minimum for the seller of a mint for a contract\"},\"setContractTxLimit(address,uint256)\":{\"notice\":\"Sets the tx limit for a contract\"}},\"notice\":\"The logic for all functions related to the RareMinter.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/RareMinter.sol\":\"RareMinter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/collection/IERC721Mint.sol\":{\"keccak256\":\"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d\",\"dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH\"]},\"src/collection/IRareMinter.sol\":{\"keccak256\":\"0x1186ab0626e92fe41cc1e0473953137aa7d3066dc9862f10f86ecb3b79f56406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2b5587bc0c25a8aaca77ba7f3d7cf769d39e60342fb7de9ca0196f564abc69b\",\"dweb:/ipfs/QmSgHyabMp2WRTeCJjnZcMe8dBJAZGuN4NXWHLmDHEkPXm\"]},\"src/collection/RareMinter.sol\":{\"keccak256\":\"0x7956b7b47dda75f511e9f0d09d064c9384d521a1fcca3c660e67e248f060607d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a8a07c68e59592d4415d9bb8167053b6d7ea269a6b4da396e72e7d176e890d\",\"dweb:/ipfs/QmUMh9dM1GpqNr2D2M9nCytmDWUH8jFiWakVVH54KWT5XY\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]},\"src/utils/MarketUtils.sol\":{\"keccak256\":\"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da\",\"dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY\"]},\"src/utils/structs/MarketConfig.sol\":{\"keccak256\":\"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369\",\"dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"ContractMintLimitSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"minimum","type":"uint256","indexed":false},{"internalType":"uint256","name":"endTimestamp","type":"uint256","indexed":false}],"type":"event","name":"ContractStakingMinimumSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"ContractTxLimitSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenIdStart","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenIdEnd","type":"uint256","indexed":false},{"internalType":"address","name":"_currency","type":"address","indexed":false},{"internalType":"uint256","name":"_price","type":"uint256","indexed":false}],"type":"event","name":"MintDirectSale","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_currency","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"uint256","name":"_price","type":"uint256","indexed":false},{"internalType":"uint256","name":"_startTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_maxMints","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"PrepareMintDirectSale","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32","indexed":true},{"internalType":"uint256","name":"_endTimestamp","type":"uint256","indexed":false},{"internalType":"address","name":"_contractAddress","type":"address","indexed":true}],"type":"event","name":"SetContractAllowListConfig","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractAllowListConfig","outputs":[{"internalType":"struct IRareMinter.AllowListConfig","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractMintLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getContractMintsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractSellerStakingMinimum","outputs":[{"internalType":"struct IRareMinter.StakingMinimum","name":"","type":"tuple","components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getContractTxsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getDirectSaleConfig","outputs":[{"internalType":"struct IRareMinter.DirectSaleConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"maxMints","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint8","name":"_numMints","type":"uint8"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"mintDirectSale"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_maxMints","type":"uint256"},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintDirectSale"},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_approvedTokenRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setApprovedTokenRegistry"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"},{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setContractAllowListConfig"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractMintLimit"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_minimum","type":"uint256"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractSellerStakingMinimum"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractTxLimit"},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceSettings"},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkBeneficiary"},{"inputs":[{"internalType":"address","name":"_payments","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPayments"},{"inputs":[{"internalType":"address","name":"_royaltyEngine","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyEngine"},{"inputs":[{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorRegistry"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getContractAllowListConfig(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"AllowListConfig The allow list config"}},"getContractMintLimit(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The mint limit"}},"getContractMintsPerAddress(address,address)":{"params":{"_address":"address The address of the account to get the mints for","_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The number of mints"}},"getContractSellerStakingMinimum(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"StakingMinimum The staking minimum"}},"getContractTxLimit(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The tx limit"}},"getContractTxsPerAddress(address,address)":{"params":{"_address":"address The address of the account to get the txs for","_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The number of txs"}},"getDirectSaleConfig(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"DirectSaleConfig The direct sale config"}},"mintDirectSale(address,address,uint256,uint8,bytes32[])":{"params":{"_contractAddress":"address The address of the ERC721 contract","_currencyAddress":"address The address of the currency","_numMints":"uint8 The number of tokens to be minted","_price":"uint256 The price to mint","_proof":"bytes32[] The merkle proof for the allowlist if applicable, otherwise empty array"}},"owner()":{"details":"Returns the address of the current owner."},"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":{"params":{"_contractAddress":"address The address of the ERC721 contract","_currencyAddress":"address The address of the currency to accept","_maxMints":"uint256 The max number of tokens to mint per transaction","_price":"uint256 The price to mint each token","_splitRatios":"uint8[] The ratios to split the sale with","_splitRecipients":"address payable[] The addresses to split the sale with"}},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setContractAllowListConfig(bytes32,uint256,address)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_endTimestamp":"uint256 The timestamp when the allow list ends","_root":"bytes32 The root of the merkle tree"}},"setContractMintLimit(address,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_limit":"uint256 The limit to set"}},"setContractSellerStakingMinimum(address,uint256,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_endTimestamp":"uint256 The timestamp when the minimum ends","_minimum":"uint256 The minimum to set"}},"setContractTxLimit(address,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_limit":"uint256 The limit to set"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"getContractAllowListConfig(address)":{"notice":"Gets the allow list config for a contract"},"getContractMintLimit(address)":{"notice":"Gets the mint limit for a contract"},"getContractMintsPerAddress(address,address)":{"notice":"Gets the number of mints per address for a contract"},"getContractSellerStakingMinimum(address)":{"notice":"Gets the staking minimum for the seller of a mint for a contract"},"getContractTxLimit(address)":{"notice":"Gets the tx limit for a contract"},"getContractTxsPerAddress(address,address)":{"notice":"Gets the number of txs per address for a contract"},"getDirectSaleConfig(address)":{"notice":"Gets the direct sale config for a contract"},"mintDirectSale(address,address,uint256,uint8,bytes32[])":{"notice":"Mints a token to the buyer"},"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":{"notice":"Prepares a minting contract for direct sales"},"setContractAllowListConfig(bytes32,uint256,address)":{"notice":"Sets the allow list config for a contract"},"setContractMintLimit(address,uint256)":{"notice":"Sets the mint limit for a contract"},"setContractSellerStakingMinimum(address,uint256,uint256)":{"notice":"Sets the staking minimum for the seller of a mint for a contract"},"setContractTxLimit(address,uint256)":{"notice":"Sets the tx limit for a contract"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/RareMinter.sol":"RareMinter"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/collection/IERC721Mint.sol":{"keccak256":"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370","urls":["bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d","dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH"],"license":"MIT"},"src/collection/IRareMinter.sol":{"keccak256":"0x1186ab0626e92fe41cc1e0473953137aa7d3066dc9862f10f86ecb3b79f56406","urls":["bzz-raw://f2b5587bc0c25a8aaca77ba7f3d7cf769d39e60342fb7de9ca0196f564abc69b","dweb:/ipfs/QmSgHyabMp2WRTeCJjnZcMe8dBJAZGuN4NXWHLmDHEkPXm"],"license":"MIT"},"src/collection/RareMinter.sol":{"keccak256":"0x7956b7b47dda75f511e9f0d09d064c9384d521a1fcca3c660e67e248f060607d","urls":["bzz-raw://89a8a07c68e59592d4415d9bb8167053b6d7ea269a6b4da396e72e7d176e890d","dweb:/ipfs/QmUMh9dM1GpqNr2D2M9nCytmDWUH8jFiWakVVH54KWT5XY"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"},"src/utils/MarketUtils.sol":{"keccak256":"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875","urls":["bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da","dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY"],"license":"MIT"},"src/utils/structs/MarketConfig.sol":{"keccak256":"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1","urls":["bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369","dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6"],"license":"MIT"}},"version":1},"id":66} \ No newline at end of file +{"abi":[{"type":"function","name":"getContractAllowListConfig","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.AllowListConfig","components":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getContractMintLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractMintsPerAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractSellerStakingMinimum","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.StakingMinimum","components":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"endTimestamp","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getContractTxLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getContractTxsPerAddress","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDirectSaleConfig","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareMinter.DirectSaleConfig","components":[{"name":"seller","type":"address","internalType":"address"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"startTime","type":"uint256","internalType":"uint256"},{"name":"maxMints","type":"uint256","internalType":"uint256"},{"name":"splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintDirectSale","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"},{"name":"_numMints","type":"uint8","internalType":"uint8"},{"name":"_proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"prepareMintDirectSale","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_price","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_maxMints","type":"uint256","internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovedTokenRegistry","inputs":[{"name":"_approvedTokenRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractAllowListConfig","inputs":[{"name":"_root","type":"bytes32","internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"},{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractMintLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractSellerStakingMinimum","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_minimum","type":"uint256","internalType":"uint256"},{"name":"_endTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setContractTxLimit","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceSettings","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkBeneficiary","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPayments","inputs":[{"name":"_payments","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyEngine","inputs":[{"name":"_royaltyEngine","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorRegistry","inputs":[{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractMintLimitSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractStakingMinimumSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"minimum","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ContractTxLimitSet","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MintDirectSale","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenIdStart","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenIdEnd","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_currency","type":"address","indexed":false,"internalType":"address"},{"name":"_price","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepareMintDirectSale","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_currency","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_price","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_maxMints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"SetContractAllowListConfig","inputs":[{"name":"_root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"_endTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a08060405234610031573060805261469e90816100378239608051818181612e7301528181612f9f01526133400152f35b600080fdfe60a080604052600436101561001357600080fd5b600090813560e01c90816304c1ff071461384f575080630fc635b3146136fd578063176ab4401461367857806321ede032146135fb57806323946f1f146135c15780632da45e8e146135715780633492e5a8146134f45780633659cfe61461331b5780634cf5f910146131f35780634f1ef28614612f2457806352d1902d14612e60578063677b198414612c54578063715018a614612bf657806378c19898146126715780637f358230146125f45780638a29e2de146121cc5780638da5cb5b146121a35780639890cddf146121365780639dbef5d114612010578063a01fa6a914611b6c578063af231a5814611aef578063ca774e6814611a9f578063d647ed3c146102a8578063e4e87e3b1461020c578063f2fde38b1461017b5763fa5312c81461013f57600080fd5b34610178576020366003190112610178576020906040906001600160a01b0361016661389e565b16815261010783522054604051908152f35b80fd5b50346101785760203660031901126101785761019561389e565b61019d6139be565b6001600160a01b038116156101b8576101b590613a16565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610178576020366003190112610178578061022761389e565b61022f6139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a4576040516386e5800760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b610292906138fb565b6101785780f35b6040513d84823e3d90fd5b5050fd5b5060a0366003190112610178576102bd61389e565b6102c56138ca565b6064359060ff82168203610846576084356001600160401b038111610f3f576102f2903690600401613980565b9190600260655414611a5a5760026065556001600160a01b03851686526101036020526040808720905193906103278561390e565b60018060a01b03815416855260018060a01b036001820154166020860152600281015460408601526003810154606086015260048101546080860152604051806005830190602082549182815201918b5260208b20908b5b818110611a3b575050509061039981600694930382613944565b60a0870152604051910180548083529089526020808a209183918201908b905b80601f8301106118a6576104cf945491818110611892575b81811061187b575b818110611864575b81811061184d575b818110611837575b818110611820575b818110611809575b8181106117f2575b8181106117db575b8181106117c4575b8181106117ad575b818110611796575b81811061177f575b818110611768575b818110611751575b81811061173a575b818110611723575b81811061170c575b8181106116f5575b8181106116de575b8181106116c7575b8181106116b0575b818110611699575b818110611682575b81811061166b575b818110611654575b81811061163d575b818110611626575b81811061160f575b8181106115f8575b8181106115e1575b106115d3575b500382613944565b60c085015283516001600160a01b031615611570576104ed81613d33565b916104fb6040519384613944565b8183526020830190368360051b820111610f635780915b8360051b82018310611560575050505061052d903386613f79565b8151610542906001600160a01b031685613dc7565b60ff831615611506576001600160a01b038416855261010560205260408520541580156114c4575b15611467576001600160a01b03841685526101076020526040852054158015611421575b156113bd57608082015180159081156113af575b501561134457606082015142106112f357604082015160443503611292576105c981614120565b60208201516001600160a01b0390811690821603611227576105f060443560ff8516613d5e565b608052604082015161119c575b6001600160a01b03841685526101056020526040852054611171575b6001600160a01b03841685526101076020526040852054611131575b60405163755edd1760e01b815233600482015291602083602481896001600160a01b038a165af19283156110915786936110fd575b506040810151610879575b60fc5486906001600160a01b0316803b1561087557604051635a3c652d60e01b81526001600160a01b038816600482015260248101869052600160448201529082908290606490829084905af161085d575b505060015b60ff851681106107675750516001600160a01b0316926106ef9060ff1683613d9e565b6000198101908111610753576040805193845260208401919091526001600160a01b03918216908301526044356060830152339316907f3bbd73fed0f94290f16db112f6b7113697c2502dd42aa0ddf8f971472523f10090608090a4600160655580f35b634e487b7160e01b86526011600452602486fd5b60405163755edd1760e01b81523360048201526020816024818b6001600160a01b038c165af1801561085257610822575b5060fc5487906001600160a01b03166107b18387613d9e565b813b1561081e57604051635a3c652d60e01b81526001600160a01b038a1660048201526024810191909152600160448201529082908290606490829084905af1610806575b505061080190613dab565b6106cc565b61080f906138fb565b61081a5786386107f6565b8680fd5b8280fd5b602090813d831161084b575b6108388183613944565b810103126108465738610798565b600080fd5b503d61082e565b6040513d8a823e3d90fd5b610866906138fb565b6108715785386106c7565b8580fd5b5080fd5b92939460018060a01b038451169560a08501519560c086015194875186510361109c576080805160fc546040516361fe24a960e11b815292516004840152909a90602090839060249082906001600160a01b03165afa91821561109157869261105d575b50604051916108eb83613929565b60028352604036602085013760fb546001600160a01b03168061090d856140c1565b526101025460405163e286ef3360e01b81526004810185905290602090829060249082906001600160a01b03165afa908115610fc1578991611023575b506001600160a01b031661095d856140e4565b526001600160a01b0361096f856140e4565b511661100a575b61097f846140e4565b6001600160a01b03909116905260405161099881613929565b600281526040366020830137610101546040516303fdde1160e21b815260805160048201526001600160a01b0390911690602081602481855afa908115610fff578a91610fcc575b506024916020916109f0856140c1565b5260405163470d6ed960e11b8152608051600482015292839182905afa908115610fc1579085918a91610f8a575b5092610a3493610a2d846140e4565b528a6144f1565b60fc54604051631446f21360e21b81526001600160a01b03878116600483015260248201869052909160209183916044918391165afa908115610c7d578791610f6b575b50610d6c5760405190610a8a826138e0565b600182526020368184013760405192610aa2846138e0565b60018452602036818601376001600160a01b0390610abf906140c1565b5116610aca846140c1565b5260fd54604051635dc22eff60e01b81526004810183905290602090829060249082906001600160a01b03165afa908115610852578891610d3d575b5015610c885760fd54604051632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610c7d579060ff918891610c4e575b50169a8b60805190610b5c91613d5e565b60649004610b6991613dba565b9a60805190610b7791613d5e565b60649004610b84826140c1565b52610b8e816140c1565b5191610b9a92886144f1565b875194610ba686613d33565b95610bb46040519788613944565b808752610bc3601f1991613d33565b01366020880137849785985b8a518a1015610c3357610c27610c2d916064610c208f60ff8f8f908f91610c1892610c128389610c0b88610c0384886140f4565b51168a613d5e565b04926140f4565b526140f4565b511690613d5e565b0490613d9e565b99613dab565b98610bcf565b9196939850949950610c499398919650856144f1565b610675565b610c70915060203d602011610c76575b610c688183613944565b8101906144d8565b38610b4b565b503d610c5e565b6040513d89823e3d90fd5b5060fc5460405163b28a7bad60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610c7d579060ff918891610d1e575b50169a8b60805190610cdb91613d5e565b60649004610ce891613dba565b9a60805190610cf691613d5e565b60649004610d03826140c1565b52610d0d816140c1565b5191610d1992886144f1565b610b9a565b610d37915060203d602011610c7657610c688183613944565b38610cca565b610d5f915060203d602011610d65575b610d578183613944565b810190614108565b38610b06565b503d610d4d565b505060fe54604051637a99dc0160e11b81526001600160a01b038086166004830152602482018490526080516044830152929a5098929792969295929492939183918a9160649183918591165af19687156102995782988398610e1e575b508299839a5b89518c1015610dfd57610df1610df791610dea8e8d6140f4565b5190613d9e565b9b613dab565b9a610dd0565b9a5091939597610d199193959799610e178c608051613dba565b9b886144f1565b985096503d978883823e610e328982613944565b6040818a8101031261081e5780516001600160401b038111610f6757810190898101601f83011215610f6757815191610e6a83613d33565b92610e786040519485613944565b80845260208401918c840160208360051b8301011161081a5760208101925b60208360051b8301018410610f4357505050506020810151996001600160401b038b11610f3f57808201601f8c8401011215610f3f578a82015191610edb83613d33565b9b610ee96040519d8e613944565b838d5260208d0192820160208560051b83850101011161081a579190602083820101925b60208560051b82840101018410610f2b575050505050979638610dca565b602080809486518152019401939250610f0d565b8480fd5b83516001600160a01b0381168103610f6357815260209384019301610e97565b8880fd5b8380fd5b610f84915060203d602011610d6557610d578183613944565b38610a78565b9150506020813d602011610fb9575b81610fa660209383613944565b8101031261084657518490610a34610a1e565b3d9150610f99565b6040513d8b823e3d90fd5b90506020813d602011610ff7575b81610fe760209383613944565b81010312610846575160246109e0565b3d9150610fda565b6040513d8c823e3d90fd5b506001600160a01b0361101c846140e4565b5116610976565b90506020813d602011611055575b8161103e60209383613944565b81010312610f635761104f90613cbf565b3861094a565b3d9150611031565b9091506020813d602011611089575b8161107960209383613944565b81010312610846575190386108dd565b3d915061106c565b6040513d88823e3d90fd5b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b9092506020813d602011611129575b8161111960209383613944565b810103126108465751913861066a565b3d915061110c565b61010860205260408520336000526020526040600020805460018101811161115d576001019055610635565b634e487b7160e01b87526011600452602487fd5b6101066020526040852033600052602052604060002061119560ff85168254613d9e565b9055610619565b60fc546040516361fe24a960e11b8152608051600482015290602090829060249082906001600160a01b03165afa9081156110915786916111f3575b506111e86111ee91608051613d9e565b826141e1565b6105fd565b90506020813d60201161121f575b8161120e60209383613944565b8101031261084657516111e86111d8565b3d9150611201565b60405162461bcd60e51b815260206004820152603960248201527f6d696e7444697265637453616c653a3a43757272656e637920646f6573206e6f60448201527f74206d617463682072657175697265642063757272656e6379000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f6d696e7444697265637453616c653a3a507269636520646f6573206e6f74206d6044820152726174636820726571756972656420707269636560681b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f6d696e7444697265637453616c653a3a53616c6520686173206e6f74207374616044820152631c9d195960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152603a60248201527f6d696e7444697265637453616c653a3a4d696e7473206d757374206265206c6560448201527f7373207468616e206d61784d696e7420696620656e61626c65640000000000006064820152608490fd5b905060ff84161115386105a2565b60405162461bcd60e51b815260206004820152603660248201527f6d696e7444697265637453616c653a3a4578636565646564207472616e73616360448201527574696f6e206c696d697420666f72206164647265737360501b6064820152608490fd5b506101086020526040852033600052602052604060002054600181018111610753576001600160a01b03851686526101076020526040862054600191909101111561058e565b60405162461bcd60e51b815260206004820152602f60248201527f6d696e7444697265637453616c653a3a4578636565646564206d696e74206c6960448201526e6d697420666f72206164647265737360881b6064820152608490fd5b5061010660205260408520336000526020526114e860ff8416604060002054613d9e565b6001600160a01b03851686526101056020526040862054101561056a565b60405162461bcd60e51b815260206004820152602c60248201527f6d696e7444697265637453616c653a3a4d696e7473206d75737420626520677260448201526b06561746572207468616e20360a41b6064820152608490fd5b8235815260209283019201610512565b60405162461bcd60e51b815260206004820152603560248201527f6d696e7444697265637453616c653a3a436f6e7472616374206e6f7420707265604482015274706172656420666f72206469726563742073616c6560581b6064820152608490fd5b60f81c8152602001386104c7565b92602060019160ff8560f01c1681520193016104c1565b92602060019160ff8560e81c1681520193016104b9565b92602060019160ff8560e01c1681520193016104b1565b92602060019160ff8560d81c1681520193016104a9565b92602060019160ff8560d01c1681520193016104a1565b92602060019160ff8560c81c168152019301610499565b92602060019160ff8560c01c168152019301610491565b92602060019160ff8560b81c168152019301610489565b92602060019160ff8560b01c168152019301610481565b92602060019160ff8560a81c168152019301610479565b92602060019160ff8560a01c168152019301610471565b92602060019160ff8560981c168152019301610469565b92602060019160ff8560901c168152019301610461565b92602060019160ff8560881c168152019301610459565b92602060019160ff8560801c168152019301610451565b92602060019160ff8560781c168152019301610449565b92602060019160ff8560701c168152019301610441565b92602060019160ff8560681c168152019301610439565b92602060019160ff8560601c168152019301610431565b92602060019160ff8560581c168152019301610429565b92602060019160ff8560501c168152019301610421565b92602060019160ff8560481c168152019301610419565b92602060019160ff8560401c168152019301610411565b92602060019160ff8560381c168152019301610409565b92602060019160ff8560301c168152019301610401565b92602060019160ff8560281c1681520193016103f9565b92602060019160ff85831c1681520193016103f1565b92602060019160ff8560181c1681520193016103e9565b92602060019160ff8560101c1681520193016103e1565b92602060019160ff8560081c1681520193016103d9565b92602060019160ff851681520193016103d1565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160c0828260301c1681860152828260381c1660e0860152828260401c16610100860152828260481c16610120860152828260501c16610140860152828260581c16610160860152828260601c16610180860152828260681c166101a0860152828260701c166101c0860152828260781c166101e0860152828260801c16610200860152828260881c16610220860152828260901c16610240860152828260981c16610260860152828260a01c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e08201520194019201849293916103b9565b82546001600160a01b031684526020909301926001928301920161037f565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503461017857604036600319011261017857611ab961389e565b6040611ac36138ca565b9260018060a01b0380931681526101066020522091166000526020526020604060002054604051908152f35b50346101785760203660031901126101785780611b0a61389e565b611b126139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163c70c56c760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b503461017857602036600319011261017857611b8661389e565b606060c0604051611b968161390e565b84815284602082015284604082015284838201528460808201528260a0820152015260018060a01b03168152610103602052604081209060405191611bda8361390e565b60018060a01b03815416835260018060a01b0360018201541660208401526002810154604084015260038101546060840152600481015460808401526005810160405190816020825491828152019185526020852090855b818110611ff15750505090611c4c81600694930382613944565b60a085015260405191018054808352908352602080842091839182019085905b80601f830110611e4957611d629454918181106118925781811061187b578181106118645781811061184d578181106118375781811061182057818110611809578181106117f2578181106117db578181106117c4578181106117ad578181106117965781811061177f57818110611768578181106117515781811061173a578181106117235781811061170c578181106116f5578181106116de578181106116c7578181106116b057818110611699578181106116825781811061166b578181106116545781811061163d578181106116265781811061160f578181106115f8578181106115e157106115d357500382613944565b60c08301526040519182916020835261010083019160018060a01b03815116602085015260018060a01b0360208201511660408501526040810151606085015260608101516080850152608081015160a085015260a08101519260e060c0860152835180915260206101208601940190835b818110611e275750505060c0015191601f198482030160e0850152602080845192838152019301915b818110611e0b575050500390f35b825160ff16845285945060209384019390920191600101611dfd565b82516001600160a01b0316865287965060209586019590920191600101611dd4565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920184929391611c6c565b82546001600160a01b0316845260209093019260019283019201611c32565b50346101785760403660031901126101785761202a61389e565b604051638da5cb5b60e01b81526001600160a01b039182169160209160243591908381600481885afa908115611091578691612101575b501633036120a457907f5c8158ce792c8da34f9a8974acdb882c2c9cecc225c4ccf3c4a119aa2c726070918385526101078252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052602f60248201527f736574436f6e747261637454784c696d69743a3a4f6e6c7920636f6e7472616360448201526e1d081bdddb995c8818d85b881cd95d608a1b6064820152608490fd5b90508381813d831161212f575b6121188183613944565b810103126108715761212990613cbf565b38612061565b503d61210e565b5034610178576020366003190112610178576040809161215461389e565b600060208451612163816138e0565b82815201526001600160a01b03168152610109602052208151612185816138e0565b60206001835493848452015491019081528251918252516020820152f35b50346101785780600319360112610178576033546040516001600160a01b039091168152602090f35b503461017857610100366003190112610178576121e761389e565b6121ef6138ca565b906121f86138b4565b6064356001600160a01b0381168103610846576084356001600160a01b03811681036108465760a435906001600160a01b03821682036108465760c435926001600160a01b03841684036108465760e435946001600160a01b03861686036108465788549760ff8960081c16159889809a6125e7575b80156125d0575b156125745760ff1981166001178b5589612563575b506040516323e95fa960e01b81526001600160a01b039889166004820152908816602482015290871660448201529086166064820152908516608482015290841660a482015290831660c4820152911660e4820152610100816101048173__$7682c538d2a75d26dfca907f0e750789f4$__5af490811561255857839161242c575b5060018060a01b03815116906001600160601b0360a01b918260fb54161760fb5560018060a01b036020820151168260fc54161760fc5560018060a01b036040820151168260fd54161760fd5560018060a01b036060820151168260fe54161760fe5560018060a01b036080820151168260ff54161760ff5560018060a01b0360a082015116826101005416176101005560018060a01b0360c082015116610101908382541617905560e060018060a01b0391015116610102918254161790556123e560ff835460081c166123e081613cd3565b613cd3565b6123ee33613a16565b6123f55780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610100813d61010011612550575b8161244a6101009383613944565b8101031261081e576040519061010082018281106001600160401b0382111761253a5760405261247981613cbf565b825260208101516001600160a01b0381168103610f3f57602083015260408101516001600160a01b0381168103610f3f57604083015260608101516001600160a01b0381168103610f3f57606083015260808101516001600160a01b0381168103610f3f57608083015260a08101516001600160a01b0381168103610f3f5760a083015260c0810151906001600160a01b0382168203610f3f5760c083019190915260e001516001600160a01b0381168103610f675760e08201523861230c565b634e487b7160e01b600052604160045260246000fd5b3d915061243c565b6040513d85823e3d90fd5b61ffff1916610101178a553861228a565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156122755750600160ff821614612275565b50600160ff82161061226e565b5034610178576020366003190112610178578061260f61389e565b6126176139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a457604051630cf1420760e21b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760e03660031901126101785761268b61389e565b6126936138ca565b9060a4356001600160401b038111610f67576126b3903690600401613980565b60c4356001600160401b038111610871576126d2903690600401613980565b604051638da5cb5b60e01b8152919390916020816004816001600160a01b038a165afa908115610852578891612bb8575b50336001600160a01b0390911603612b415761271e86614120565b60405161272a8161390e565b3381526001600160a01b038716602082015260443560408201526064356060820152608435608082015261275d84613d33565b61276a6040519182613944565b84815260208101368660051b850111612b255783905b8660051b85018210612b2957505060a082015261279c83613d33565b6127a96040519182613944565b83815260208101368560051b880111612b255786905b8560051b88018210612b0d57505060c082015260018060a01b0386168852610103602052604088209060018060a01b038151166001600160601b0360a01b8354161782556001820160018060a01b036020830151166001600160601b0360a01b82541617905560408101516002830155606081015160038301556080810151600483015560a08101518051906001600160401b038211612af957600160401b8211612af9576020908b600586015484600588015584818110612adb575b50505001600584018b5260208b208b5b838110612abe575050505060c00151908151906001600160401b038211612aaa57600160401b8211612aaa57600660209101928354838555808410612a60575b50019189526020892090895b8160051c8110612a215750601f1981168103806129d4575b5050505091604051928160a0850160443586526064356020870152608435604087015260a060608701525260c084019091885b8181106129a8575050602091508381036080850152828152019290865b818110612986575033956001600160a01b039081169516937f36de0d2c8eec9296de665d70b6b6e55d8c29bfa7a36e0178e805ef54725d9f5c939081900392509050a480f35b90919360208060019260ff61299a896139b0565b168152019501929101612940565b909160019060209081906001600160a01b036129c388613d4a565b168152019401910192919092612923565b928a938b5b8181106129f15750505060051c0155388080806128f0565b9091946020612a176001928460ff8a5116919060ff809160031b9316831b921b19161790565b96019291016129d9565b8a8b5b60208110612a395750838201556001016128d8565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501612a24565b612a8a90858d52838d20601f80870160051c82019281881680612a90575b500160051c0190613d87565b386128cc565b60001990818601918254918a0360031b1c16905538612a7e565b634e487b7160e01b8a52604160045260248afd5b82516001600160a01b03168183015560209092019160010161288c565b84612af19360058a018152209182019101613d87565b8b388461287c565b634e487b7160e01b8b52604160045260248bfd5b60208091612b1a846139b0565b8152019101906127bf565b8980fd5b60208091612b3684613d4a565b815201910190612780565b60a460405162461bcd60e51b815260206004820152604460248201527f707265706172654d696e7444697265637453616c653a3a4f6e6c79206d696e7460448201527f20636f6e7472616374206f776e65722063616e207072657061726520746865206064820152631b5a5b9d60e21b6084820152fd5b90506020813d602011612bee575b81612bd360209383613944565b81010312612bea57612be490613cbf565b38612703565b8780fd5b3d9150612bc6565b5034610178578060031936011261017857612c0f6139be565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610178576060366003190112610178576001600160a01b0380612c7761389e565b1660405191638da5cb5b60e01b83526020928381600481865afa8015612db25782918691612e28575b50163303612dbd57602483826101025416604051928380926381d0606b60e01b82523360048301525afa908115612db2578591612d7d575b501615612d125760019061010960405193612cf2856138e0565b602435855280850192604435845286525260408420925183555191015580f35b60405162461bcd60e51b815260048101839052603c60248201527f736574436f6e747261637453656c6c65725374616b696e674d696e696d756d3a60448201527f3a53656c6c657220646f6573206e6f742068617665206120706f6f6c000000006064820152608490fd5b90508381813d8311612dab575b612d948183613944565b81010312610f3f57612da590613cbf565b38612cd8565b503d612d8a565b6040513d87823e3d90fd5b60405162461bcd60e51b815260048101849052603c60248201527f736574436f6e747261637453656c6c65725374616b696e674d696e696d756d3a60448201527f3a4f6e6c7920636f6e7472616374206f776e65722063616e20736574000000006064820152608490fd5b809250858092503d8311612e59575b612e418183613944565b81010312610f3f57612e538291613cbf565b38612ca0565b503d612e37565b50346101785780600319360112610178577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003612eb95760206040516000805160206146498339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b50604036600319011261017857612f3961389e565b602435906001600160401b03821161081e573660238301121561081e578160040135612f6481613965565b90612f726040519283613944565b8082528460209485840192366024828401011161081e578060248893018537840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612fcd30831415613a5f565b612fea600080516020614649833981519152928284541614613ac0565b612ff26139be565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561302a57505050506101b59150613b21565b84939416906040516352d1902d60e01b81528681600481865afa600091816131c4575b506130ae5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9594950361316d576130bf83613b21565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590613165575b6130fb575b5050505080f35b6000809161315b957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6040519661313188613929565b60278852870152660819985a5b195960ca1b60408701525190845af4613155613bb1565b91613be1565b50388080806130f4565b5060016130ef565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d83116131ec575b6131db8183613944565b81010312610178575051903861304d565b503d6131d1565b50346101785760403660031901126101785761320d61389e565b604051638da5cb5b60e01b81526001600160a01b039182169160209160243591908381600481885afa9081156110915786916132e6575b5016330361328757907fa9d9d6bd10e1caf4891001b6ccccdad5384a544c63cc903d40182c0a5a139cd9918385526101058252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052603160248201527f736574436f6e74726163744d696e744c696d69743a3a4f6e6c7920636f6e74726044820152701858dd081bdddb995c8818d85b881cd95d607a1b6064820152608490fd5b90508381813d8311613314575b6132fd8183613944565b810103126108715761330e90613cbf565b38613244565b503d6132f3565b5034610178576020806003193601126108755761333661389e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169061336e30831415613a5f565b61338b600080516020614649833981519152928284541614613ac0565b6133936139be565b60405191848301918383106001600160401b0384111761253a578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914354166000146133ee57505050506101b59150613b21565b84939416906040516352d1902d60e01b81528681600481865afa600091816134c5575b506134725760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9594950361316d5761348383613b21565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351158015906134bd576130fb575050505080f35b5060006130ef565b90918882813d83116134ed575b6134dc8183613944565b810103126101785750519038613411565b503d6134d2565b5034610178576020366003190112610178578061350f61389e565b6135176139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163dec30e3360e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760403660031901126101785761358b61389e565b60406135956138ca565b9260018060a01b0380931681526101086020522091166000526020526020604060002054604051908152f35b5034610178576020366003190112610178576020906040906001600160a01b036135e961389e565b16815261010583522054604051908152f35b5034610178576020366003190112610178578061361661389e565b61361e6139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163ebda042b60e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760203660031901126101785761369261389e565b61369a6139be565b8173__$7682c538d2a75d26dfca907f0e750789f4$__91823b1561087557604051632c55921b60e01b815260fb60048201526001600160a01b03909116602482015291829060449082905af48015610299576136f4575080f35b6101b5906138fb565b5034610178576060366003190112610178576024356004356001600160a01b03806137266138b4565b169260405191638da5cb5b60e01b83526020928381600481895afa908115610c7d57879161381a575b501633036137af57907fff2ce9a528a62cad638cc9f5bccd36a62ecfa9aa0b1ab82c98957cb3498b4b6791604051613786816138e0565b84815260018382018381528789526101048552604089209251835551910155604051908152a380f35b60405162461bcd60e51b815260048101839052603760248201527f736574436f6e7472616374416c6c6f774c697374436f6e6669673a3a4f6e6c7960448201527f20636f6e7472616374206f776e65722063616e207365740000000000000000006064820152608490fd5b90508381813d8311613848575b6138318183613944565b8101031261081a5761384290613cbf565b3861374f565b503d613827565b90503461087557602036600319011261087557604082819281602061387261389e565b9261387c816138e0565b82815201526001600160a01b03168152610104602052208151612185816138e0565b600435906001600160a01b038216820361084657565b604435906001600160a01b038216820361084657565b602435906001600160a01b038216820361084657565b604081019081106001600160401b0382111761253a57604052565b6001600160401b03811161253a57604052565b60e081019081106001600160401b0382111761253a57604052565b606081019081106001600160401b0382111761253a57604052565b90601f801991011681019081106001600160401b0382111761253a57604052565b6001600160401b03811161253a57601f01601f191660200190565b9181601f84011215610846578235916001600160401b038311610846576020808501948460051b01011161084657565b359060ff8216820361084657565b6033546001600160a01b031633036139d257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15613a6657565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15613ac757565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15613b565760008051602061464983398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15613bdc573d90613bc282613965565b91613bd06040519384613944565b82523d6000602084013e565b606090565b91929015613c435750815115613bf5575090565b3b15613bfe5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015613c565750805190602001fd5b60405162461bcd60e51b8152908190613c729060048301613c76565b0390fd5b6020808252825181830181905290939260005b828110613cab57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501613c89565b51906001600160a01b038216820361084657565b15613cda57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160401b03811161253a5760051b60200190565b35906001600160a01b038216820361084657565b81810292918115918404141715613d7157565b634e487b7160e01b600052601160045260246000fd5b818110613d92575050565b60008155600101613d87565b91908201809211613d7157565b6000198114613d715760010190565b91908203918211613d7157565b6001600160a01b03908116600081815261010960208181526040808420805492979196959215613f6f5760010154421015613f66576101025486516381d0606b60e01b8152918616600483015287908290602490829089165afa908115613f5c579087918591613f26575b506024875180978193630e67667b60e21b8352336004840152165afa938415613f1c5790839291869495613ee5575b5082528552205411613e71575050565b60a49250519062461bcd60e51b82526004820152604260248201527f5f656e666f726365436f6e747261637453656c6c65725374616b696e674d696e60448201527f696d756d3a3a41646472657373206e6f74206f6e207374616b656420656e6f756064820152610ced60f31b6084820152fd5b878092965081939495503d8311613f15575b613f018183613944565b8101031261081e5790849291519338613e61565b503d613ef7565b85513d85823e3d90fd5b82819392503d8311613f55575b613f3d8183613944565b81010312610f6757613f4f8791613cbf565b38613e32565b503d613f33565b86513d86823e3d90fd5b50505050505050565b5050505050505050565b6001600160a01b03166000908152610104602090815260408083208054929591949293928415613f6657600180920154421015613f6657908092918651888101916001600160601b03199060601b16825260148152613fd7816138e0565b5190209380935b61404a575b5050505003613ff0575050565b60849250519062461bcd60e51b82526004820152602e60248201527f5f656e666f726365416c6c6f774c69737465643a3a41646472657373206e6f7460448201526d081bdb88185b1b1bddc81b1a5cdd60921b6064820152fd5b9091929383518510156140bb576140909061406586866140f4565b51808211614099578851908a82019283528982015288815261408681613929565b5190205b94613dab565b92919081613fde565b908851908a8201928352898201528881526140b381613929565b51902061408a565b93613fe3565b8051156140ce5760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156140ce5760400190565b80518210156140ce5760209160051b010190565b90816020910312610846575180151581036108465790565b6001600160a01b03908116801591821561417b575b50501561413e57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250610100541691602460405180948193632d5ad3d560e01b835260048301525afa9081156141d5576000916141b7575b503880614135565b6141cf915060203d8111610d6557610d578183613944565b386141af565b6040513d6000823e3d90fd5b6001600160a01b03169081156143b3573461435d5760409081516370a0823160e01b938482523060048301526020948583602481855afa92831561435257600093614323575b5084516323b872dd60e01b87820152336024820152306044820152606480820186905281529060a082016001600160401b0381118382101761253a578792614271918852846143f8565b602486518094819382523060048301525afa908115614318576000916142e9575b509061429d91613dba565b036142a6575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614311575b6142ff8183613944565b8101031261017857505161429d614292565b503d6142f5565b84513d6000823e3d90fd5b90928682813d831161434b575b61433a8183613944565b810103126101785750519138614227565b503d614330565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b905034036143bd57565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b604051614450916001600160a01b0316614411826138e0565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1613155613bb1565b8051908282159283156144c0575b505050156144695750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6144d09350820181019101614108565b38828161445e565b90816020910312610846575160ff811681036108465790565b6001600160a01b0392908316806145c857508260ff541693604051916020908184019563c176e63960e01b87526064850160406024870152825180915283608487019301916000905b8282106145af575050505083810360231901604485015282518082529082019282019160005b82811061459b57505050509181614586600096949387969403601f198101835282613944565b51925af1614592613bb1565b9015613c565750565b835185529381019392810192600101614560565b835181168552938501939285019260019091019061453a565b92915060009493945b81518110156146405780614636846145ec61463b94866140f4565b51166146306145fb848b6140f4565b5160405163a9059cbb60e01b60208201526001600160a01b039390931660248401526044808401919091528252606482613944565b866143f8565b613dab565b6145d1565b50505050905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212203910265fe71e7df1d861f7a5c2155ce23f071116fafed6231a2c8fed115e2b4a64736f6c63430008120033","sourceMap":"942:14096:169:-:0;;;;;;;1332:4:49;1324:13;;942:14096:169;;;;;;1324:13:49;942:14096:169;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/utils/structs/MarketConfig.sol":{"MarketConfig":[{"start":616,"length":20},{"start":6987,"length":20},{"start":8992,"length":20},{"start":9808,"length":20},{"start":13648,"length":20},{"start":13911,"length":20},{"start":14036,"length":20}]}}},"deployedBytecode":{"object":"0x60a080604052600436101561001357600080fd5b600090813560e01c90816304c1ff071461384f575080630fc635b3146136fd578063176ab4401461367857806321ede032146135fb57806323946f1f146135c15780632da45e8e146135715780633492e5a8146134f45780633659cfe61461331b5780634cf5f910146131f35780634f1ef28614612f2457806352d1902d14612e60578063677b198414612c54578063715018a614612bf657806378c19898146126715780637f358230146125f45780638a29e2de146121cc5780638da5cb5b146121a35780639890cddf146121365780639dbef5d114612010578063a01fa6a914611b6c578063af231a5814611aef578063ca774e6814611a9f578063d647ed3c146102a8578063e4e87e3b1461020c578063f2fde38b1461017b5763fa5312c81461013f57600080fd5b34610178576020366003190112610178576020906040906001600160a01b0361016661389e565b16815261010783522054604051908152f35b80fd5b50346101785760203660031901126101785761019561389e565b61019d6139be565b6001600160a01b038116156101b8576101b590613a16565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610178576020366003190112610178578061022761389e565b61022f6139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a4576040516386e5800760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b610292906138fb565b6101785780f35b6040513d84823e3d90fd5b5050fd5b5060a0366003190112610178576102bd61389e565b6102c56138ca565b6064359060ff82168203610846576084356001600160401b038111610f3f576102f2903690600401613980565b9190600260655414611a5a5760026065556001600160a01b03851686526101036020526040808720905193906103278561390e565b60018060a01b03815416855260018060a01b036001820154166020860152600281015460408601526003810154606086015260048101546080860152604051806005830190602082549182815201918b5260208b20908b5b818110611a3b575050509061039981600694930382613944565b60a0870152604051910180548083529089526020808a209183918201908b905b80601f8301106118a6576104cf945491818110611892575b81811061187b575b818110611864575b81811061184d575b818110611837575b818110611820575b818110611809575b8181106117f2575b8181106117db575b8181106117c4575b8181106117ad575b818110611796575b81811061177f575b818110611768575b818110611751575b81811061173a575b818110611723575b81811061170c575b8181106116f5575b8181106116de575b8181106116c7575b8181106116b0575b818110611699575b818110611682575b81811061166b575b818110611654575b81811061163d575b818110611626575b81811061160f575b8181106115f8575b8181106115e1575b106115d3575b500382613944565b60c085015283516001600160a01b031615611570576104ed81613d33565b916104fb6040519384613944565b8183526020830190368360051b820111610f635780915b8360051b82018310611560575050505061052d903386613f79565b8151610542906001600160a01b031685613dc7565b60ff831615611506576001600160a01b038416855261010560205260408520541580156114c4575b15611467576001600160a01b03841685526101076020526040852054158015611421575b156113bd57608082015180159081156113af575b501561134457606082015142106112f357604082015160443503611292576105c981614120565b60208201516001600160a01b0390811690821603611227576105f060443560ff8516613d5e565b608052604082015161119c575b6001600160a01b03841685526101056020526040852054611171575b6001600160a01b03841685526101076020526040852054611131575b60405163755edd1760e01b815233600482015291602083602481896001600160a01b038a165af19283156110915786936110fd575b506040810151610879575b60fc5486906001600160a01b0316803b1561087557604051635a3c652d60e01b81526001600160a01b038816600482015260248101869052600160448201529082908290606490829084905af161085d575b505060015b60ff851681106107675750516001600160a01b0316926106ef9060ff1683613d9e565b6000198101908111610753576040805193845260208401919091526001600160a01b03918216908301526044356060830152339316907f3bbd73fed0f94290f16db112f6b7113697c2502dd42aa0ddf8f971472523f10090608090a4600160655580f35b634e487b7160e01b86526011600452602486fd5b60405163755edd1760e01b81523360048201526020816024818b6001600160a01b038c165af1801561085257610822575b5060fc5487906001600160a01b03166107b18387613d9e565b813b1561081e57604051635a3c652d60e01b81526001600160a01b038a1660048201526024810191909152600160448201529082908290606490829084905af1610806575b505061080190613dab565b6106cc565b61080f906138fb565b61081a5786386107f6565b8680fd5b8280fd5b602090813d831161084b575b6108388183613944565b810103126108465738610798565b600080fd5b503d61082e565b6040513d8a823e3d90fd5b610866906138fb565b6108715785386106c7565b8580fd5b5080fd5b92939460018060a01b038451169560a08501519560c086015194875186510361109c576080805160fc546040516361fe24a960e11b815292516004840152909a90602090839060249082906001600160a01b03165afa91821561109157869261105d575b50604051916108eb83613929565b60028352604036602085013760fb546001600160a01b03168061090d856140c1565b526101025460405163e286ef3360e01b81526004810185905290602090829060249082906001600160a01b03165afa908115610fc1578991611023575b506001600160a01b031661095d856140e4565b526001600160a01b0361096f856140e4565b511661100a575b61097f846140e4565b6001600160a01b03909116905260405161099881613929565b600281526040366020830137610101546040516303fdde1160e21b815260805160048201526001600160a01b0390911690602081602481855afa908115610fff578a91610fcc575b506024916020916109f0856140c1565b5260405163470d6ed960e11b8152608051600482015292839182905afa908115610fc1579085918a91610f8a575b5092610a3493610a2d846140e4565b528a6144f1565b60fc54604051631446f21360e21b81526001600160a01b03878116600483015260248201869052909160209183916044918391165afa908115610c7d578791610f6b575b50610d6c5760405190610a8a826138e0565b600182526020368184013760405192610aa2846138e0565b60018452602036818601376001600160a01b0390610abf906140c1565b5116610aca846140c1565b5260fd54604051635dc22eff60e01b81526004810183905290602090829060249082906001600160a01b03165afa908115610852578891610d3d575b5015610c885760fd54604051632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610c7d579060ff918891610c4e575b50169a8b60805190610b5c91613d5e565b60649004610b6991613dba565b9a60805190610b7791613d5e565b60649004610b84826140c1565b52610b8e816140c1565b5191610b9a92886144f1565b875194610ba686613d33565b95610bb46040519788613944565b808752610bc3601f1991613d33565b01366020880137849785985b8a518a1015610c3357610c27610c2d916064610c208f60ff8f8f908f91610c1892610c128389610c0b88610c0384886140f4565b51168a613d5e565b04926140f4565b526140f4565b511690613d5e565b0490613d9e565b99613dab565b98610bcf565b9196939850949950610c499398919650856144f1565b610675565b610c70915060203d602011610c76575b610c688183613944565b8101906144d8565b38610b4b565b503d610c5e565b6040513d89823e3d90fd5b5060fc5460405163b28a7bad60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610c7d579060ff918891610d1e575b50169a8b60805190610cdb91613d5e565b60649004610ce891613dba565b9a60805190610cf691613d5e565b60649004610d03826140c1565b52610d0d816140c1565b5191610d1992886144f1565b610b9a565b610d37915060203d602011610c7657610c688183613944565b38610cca565b610d5f915060203d602011610d65575b610d578183613944565b810190614108565b38610b06565b503d610d4d565b505060fe54604051637a99dc0160e11b81526001600160a01b038086166004830152602482018490526080516044830152929a5098929792969295929492939183918a9160649183918591165af19687156102995782988398610e1e575b508299839a5b89518c1015610dfd57610df1610df791610dea8e8d6140f4565b5190613d9e565b9b613dab565b9a610dd0565b9a5091939597610d199193959799610e178c608051613dba565b9b886144f1565b985096503d978883823e610e328982613944565b6040818a8101031261081e5780516001600160401b038111610f6757810190898101601f83011215610f6757815191610e6a83613d33565b92610e786040519485613944565b80845260208401918c840160208360051b8301011161081a5760208101925b60208360051b8301018410610f4357505050506020810151996001600160401b038b11610f3f57808201601f8c8401011215610f3f578a82015191610edb83613d33565b9b610ee96040519d8e613944565b838d5260208d0192820160208560051b83850101011161081a579190602083820101925b60208560051b82840101018410610f2b575050505050979638610dca565b602080809486518152019401939250610f0d565b8480fd5b83516001600160a01b0381168103610f6357815260209384019301610e97565b8880fd5b8380fd5b610f84915060203d602011610d6557610d578183613944565b38610a78565b9150506020813d602011610fb9575b81610fa660209383613944565b8101031261084657518490610a34610a1e565b3d9150610f99565b6040513d8b823e3d90fd5b90506020813d602011610ff7575b81610fe760209383613944565b81010312610846575160246109e0565b3d9150610fda565b6040513d8c823e3d90fd5b506001600160a01b0361101c846140e4565b5116610976565b90506020813d602011611055575b8161103e60209383613944565b81010312610f635761104f90613cbf565b3861094a565b3d9150611031565b9091506020813d602011611089575b8161107960209383613944565b81010312610846575190386108dd565b3d915061106c565b6040513d88823e3d90fd5b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b9092506020813d602011611129575b8161111960209383613944565b810103126108465751913861066a565b3d915061110c565b61010860205260408520336000526020526040600020805460018101811161115d576001019055610635565b634e487b7160e01b87526011600452602487fd5b6101066020526040852033600052602052604060002061119560ff85168254613d9e565b9055610619565b60fc546040516361fe24a960e11b8152608051600482015290602090829060249082906001600160a01b03165afa9081156110915786916111f3575b506111e86111ee91608051613d9e565b826141e1565b6105fd565b90506020813d60201161121f575b8161120e60209383613944565b8101031261084657516111e86111d8565b3d9150611201565b60405162461bcd60e51b815260206004820152603960248201527f6d696e7444697265637453616c653a3a43757272656e637920646f6573206e6f60448201527f74206d617463682072657175697265642063757272656e6379000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f6d696e7444697265637453616c653a3a507269636520646f6573206e6f74206d6044820152726174636820726571756972656420707269636560681b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f6d696e7444697265637453616c653a3a53616c6520686173206e6f74207374616044820152631c9d195960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152603a60248201527f6d696e7444697265637453616c653a3a4d696e7473206d757374206265206c6560448201527f7373207468616e206d61784d696e7420696620656e61626c65640000000000006064820152608490fd5b905060ff84161115386105a2565b60405162461bcd60e51b815260206004820152603660248201527f6d696e7444697265637453616c653a3a4578636565646564207472616e73616360448201527574696f6e206c696d697420666f72206164647265737360501b6064820152608490fd5b506101086020526040852033600052602052604060002054600181018111610753576001600160a01b03851686526101076020526040862054600191909101111561058e565b60405162461bcd60e51b815260206004820152602f60248201527f6d696e7444697265637453616c653a3a4578636565646564206d696e74206c6960448201526e6d697420666f72206164647265737360881b6064820152608490fd5b5061010660205260408520336000526020526114e860ff8416604060002054613d9e565b6001600160a01b03851686526101056020526040862054101561056a565b60405162461bcd60e51b815260206004820152602c60248201527f6d696e7444697265637453616c653a3a4d696e7473206d75737420626520677260448201526b06561746572207468616e20360a41b6064820152608490fd5b8235815260209283019201610512565b60405162461bcd60e51b815260206004820152603560248201527f6d696e7444697265637453616c653a3a436f6e7472616374206e6f7420707265604482015274706172656420666f72206469726563742073616c6560581b6064820152608490fd5b60f81c8152602001386104c7565b92602060019160ff8560f01c1681520193016104c1565b92602060019160ff8560e81c1681520193016104b9565b92602060019160ff8560e01c1681520193016104b1565b92602060019160ff8560d81c1681520193016104a9565b92602060019160ff8560d01c1681520193016104a1565b92602060019160ff8560c81c168152019301610499565b92602060019160ff8560c01c168152019301610491565b92602060019160ff8560b81c168152019301610489565b92602060019160ff8560b01c168152019301610481565b92602060019160ff8560a81c168152019301610479565b92602060019160ff8560a01c168152019301610471565b92602060019160ff8560981c168152019301610469565b92602060019160ff8560901c168152019301610461565b92602060019160ff8560881c168152019301610459565b92602060019160ff8560801c168152019301610451565b92602060019160ff8560781c168152019301610449565b92602060019160ff8560701c168152019301610441565b92602060019160ff8560681c168152019301610439565b92602060019160ff8560601c168152019301610431565b92602060019160ff8560581c168152019301610429565b92602060019160ff8560501c168152019301610421565b92602060019160ff8560481c168152019301610419565b92602060019160ff8560401c168152019301610411565b92602060019160ff8560381c168152019301610409565b92602060019160ff8560301c168152019301610401565b92602060019160ff8560281c1681520193016103f9565b92602060019160ff85831c1681520193016103f1565b92602060019160ff8560181c1681520193016103e9565b92602060019160ff8560101c1681520193016103e1565b92602060019160ff8560081c1681520193016103d9565b92602060019160ff851681520193016103d1565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160c0828260301c1681860152828260381c1660e0860152828260401c16610100860152828260481c16610120860152828260501c16610140860152828260581c16610160860152828260601c16610180860152828260681c166101a0860152828260701c166101c0860152828260781c166101e0860152828260801c16610200860152828260881c16610220860152828260901c16610240860152828260981c16610260860152828260a01c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e08201520194019201849293916103b9565b82546001600160a01b031684526020909301926001928301920161037f565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503461017857604036600319011261017857611ab961389e565b6040611ac36138ca565b9260018060a01b0380931681526101066020522091166000526020526020604060002054604051908152f35b50346101785760203660031901126101785780611b0a61389e565b611b126139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163c70c56c760e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b503461017857602036600319011261017857611b8661389e565b606060c0604051611b968161390e565b84815284602082015284604082015284838201528460808201528260a0820152015260018060a01b03168152610103602052604081209060405191611bda8361390e565b60018060a01b03815416835260018060a01b0360018201541660208401526002810154604084015260038101546060840152600481015460808401526005810160405190816020825491828152019185526020852090855b818110611ff15750505090611c4c81600694930382613944565b60a085015260405191018054808352908352602080842091839182019085905b80601f830110611e4957611d629454918181106118925781811061187b578181106118645781811061184d578181106118375781811061182057818110611809578181106117f2578181106117db578181106117c4578181106117ad578181106117965781811061177f57818110611768578181106117515781811061173a578181106117235781811061170c578181106116f5578181106116de578181106116c7578181106116b057818110611699578181106116825781811061166b578181106116545781811061163d578181106116265781811061160f578181106115f8578181106115e157106115d357500382613944565b60c08301526040519182916020835261010083019160018060a01b03815116602085015260018060a01b0360208201511660408501526040810151606085015260608101516080850152608081015160a085015260a08101519260e060c0860152835180915260206101208601940190835b818110611e275750505060c0015191601f198482030160e0850152602080845192838152019301915b818110611e0b575050500390f35b825160ff16845285945060209384019390920191600101611dfd565b82516001600160a01b0316865287965060209586019590920191600101611dd4565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920184929391611c6c565b82546001600160a01b0316845260209093019260019283019201611c32565b50346101785760403660031901126101785761202a61389e565b604051638da5cb5b60e01b81526001600160a01b039182169160209160243591908381600481885afa908115611091578691612101575b501633036120a457907f5c8158ce792c8da34f9a8974acdb882c2c9cecc225c4ccf3c4a119aa2c726070918385526101078252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052602f60248201527f736574436f6e747261637454784c696d69743a3a4f6e6c7920636f6e7472616360448201526e1d081bdddb995c8818d85b881cd95d608a1b6064820152608490fd5b90508381813d831161212f575b6121188183613944565b810103126108715761212990613cbf565b38612061565b503d61210e565b5034610178576020366003190112610178576040809161215461389e565b600060208451612163816138e0565b82815201526001600160a01b03168152610109602052208151612185816138e0565b60206001835493848452015491019081528251918252516020820152f35b50346101785780600319360112610178576033546040516001600160a01b039091168152602090f35b503461017857610100366003190112610178576121e761389e565b6121ef6138ca565b906121f86138b4565b6064356001600160a01b0381168103610846576084356001600160a01b03811681036108465760a435906001600160a01b03821682036108465760c435926001600160a01b03841684036108465760e435946001600160a01b03861686036108465788549760ff8960081c16159889809a6125e7575b80156125d0575b156125745760ff1981166001178b5589612563575b506040516323e95fa960e01b81526001600160a01b039889166004820152908816602482015290871660448201529086166064820152908516608482015290841660a482015290831660c4820152911660e4820152610100816101048173__$7682c538d2a75d26dfca907f0e750789f4$__5af490811561255857839161242c575b5060018060a01b03815116906001600160601b0360a01b918260fb54161760fb5560018060a01b036020820151168260fc54161760fc5560018060a01b036040820151168260fd54161760fd5560018060a01b036060820151168260fe54161760fe5560018060a01b036080820151168260ff54161760ff5560018060a01b0360a082015116826101005416176101005560018060a01b0360c082015116610101908382541617905560e060018060a01b0391015116610102918254161790556123e560ff835460081c166123e081613cd3565b613cd3565b6123ee33613a16565b6123f55780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610100813d61010011612550575b8161244a6101009383613944565b8101031261081e576040519061010082018281106001600160401b0382111761253a5760405261247981613cbf565b825260208101516001600160a01b0381168103610f3f57602083015260408101516001600160a01b0381168103610f3f57604083015260608101516001600160a01b0381168103610f3f57606083015260808101516001600160a01b0381168103610f3f57608083015260a08101516001600160a01b0381168103610f3f5760a083015260c0810151906001600160a01b0382168203610f3f5760c083019190915260e001516001600160a01b0381168103610f675760e08201523861230c565b634e487b7160e01b600052604160045260246000fd5b3d915061243c565b6040513d85823e3d90fd5b61ffff1916610101178a553861228a565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156122755750600160ff821614612275565b50600160ff82161061226e565b5034610178576020366003190112610178578061260f61389e565b6126176139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a457604051630cf1420760e21b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760e03660031901126101785761268b61389e565b6126936138ca565b9060a4356001600160401b038111610f67576126b3903690600401613980565b60c4356001600160401b038111610871576126d2903690600401613980565b604051638da5cb5b60e01b8152919390916020816004816001600160a01b038a165afa908115610852578891612bb8575b50336001600160a01b0390911603612b415761271e86614120565b60405161272a8161390e565b3381526001600160a01b038716602082015260443560408201526064356060820152608435608082015261275d84613d33565b61276a6040519182613944565b84815260208101368660051b850111612b255783905b8660051b85018210612b2957505060a082015261279c83613d33565b6127a96040519182613944565b83815260208101368560051b880111612b255786905b8560051b88018210612b0d57505060c082015260018060a01b0386168852610103602052604088209060018060a01b038151166001600160601b0360a01b8354161782556001820160018060a01b036020830151166001600160601b0360a01b82541617905560408101516002830155606081015160038301556080810151600483015560a08101518051906001600160401b038211612af957600160401b8211612af9576020908b600586015484600588015584818110612adb575b50505001600584018b5260208b208b5b838110612abe575050505060c00151908151906001600160401b038211612aaa57600160401b8211612aaa57600660209101928354838555808410612a60575b50019189526020892090895b8160051c8110612a215750601f1981168103806129d4575b5050505091604051928160a0850160443586526064356020870152608435604087015260a060608701525260c084019091885b8181106129a8575050602091508381036080850152828152019290865b818110612986575033956001600160a01b039081169516937f36de0d2c8eec9296de665d70b6b6e55d8c29bfa7a36e0178e805ef54725d9f5c939081900392509050a480f35b90919360208060019260ff61299a896139b0565b168152019501929101612940565b909160019060209081906001600160a01b036129c388613d4a565b168152019401910192919092612923565b928a938b5b8181106129f15750505060051c0155388080806128f0565b9091946020612a176001928460ff8a5116919060ff809160031b9316831b921b19161790565b96019291016129d9565b8a8b5b60208110612a395750838201556001016128d8565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501612a24565b612a8a90858d52838d20601f80870160051c82019281881680612a90575b500160051c0190613d87565b386128cc565b60001990818601918254918a0360031b1c16905538612a7e565b634e487b7160e01b8a52604160045260248afd5b82516001600160a01b03168183015560209092019160010161288c565b84612af19360058a018152209182019101613d87565b8b388461287c565b634e487b7160e01b8b52604160045260248bfd5b60208091612b1a846139b0565b8152019101906127bf565b8980fd5b60208091612b3684613d4a565b815201910190612780565b60a460405162461bcd60e51b815260206004820152604460248201527f707265706172654d696e7444697265637453616c653a3a4f6e6c79206d696e7460448201527f20636f6e7472616374206f776e65722063616e207072657061726520746865206064820152631b5a5b9d60e21b6084820152fd5b90506020813d602011612bee575b81612bd360209383613944565b81010312612bea57612be490613cbf565b38612703565b8780fd5b3d9150612bc6565b5034610178578060031936011261017857612c0f6139be565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610178576060366003190112610178576001600160a01b0380612c7761389e565b1660405191638da5cb5b60e01b83526020928381600481865afa8015612db25782918691612e28575b50163303612dbd57602483826101025416604051928380926381d0606b60e01b82523360048301525afa908115612db2578591612d7d575b501615612d125760019061010960405193612cf2856138e0565b602435855280850192604435845286525260408420925183555191015580f35b60405162461bcd60e51b815260048101839052603c60248201527f736574436f6e747261637453656c6c65725374616b696e674d696e696d756d3a60448201527f3a53656c6c657220646f6573206e6f742068617665206120706f6f6c000000006064820152608490fd5b90508381813d8311612dab575b612d948183613944565b81010312610f3f57612da590613cbf565b38612cd8565b503d612d8a565b6040513d87823e3d90fd5b60405162461bcd60e51b815260048101849052603c60248201527f736574436f6e747261637453656c6c65725374616b696e674d696e696d756d3a60448201527f3a4f6e6c7920636f6e7472616374206f776e65722063616e20736574000000006064820152608490fd5b809250858092503d8311612e59575b612e418183613944565b81010312610f3f57612e538291613cbf565b38612ca0565b503d612e37565b50346101785780600319360112610178577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003612eb95760206040516000805160206146498339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b50604036600319011261017857612f3961389e565b602435906001600160401b03821161081e573660238301121561081e578160040135612f6481613965565b90612f726040519283613944565b8082528460209485840192366024828401011161081e578060248893018537840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690612fcd30831415613a5f565b612fea600080516020614649833981519152928284541614613ac0565b612ff26139be565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561302a57505050506101b59150613b21565b84939416906040516352d1902d60e01b81528681600481865afa600091816131c4575b506130ae5760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9594950361316d576130bf83613b21565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590613165575b6130fb575b5050505080f35b6000809161315b957f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6040519661313188613929565b60278852870152660819985a5b195960ca1b60408701525190845af4613155613bb1565b91613be1565b50388080806130f4565b5060016130ef565b60405162461bcd60e51b815260048101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918882813d83116131ec575b6131db8183613944565b81010312610178575051903861304d565b503d6131d1565b50346101785760403660031901126101785761320d61389e565b604051638da5cb5b60e01b81526001600160a01b039182169160209160243591908381600481885afa9081156110915786916132e6575b5016330361328757907fa9d9d6bd10e1caf4891001b6ccccdad5384a544c63cc903d40182c0a5a139cd9918385526101058252806040862055604051908152a280f35b60405162461bcd60e51b815260048101839052603160248201527f736574436f6e74726163744d696e744c696d69743a3a4f6e6c7920636f6e74726044820152701858dd081bdddb995c8818d85b881cd95d607a1b6064820152608490fd5b90508381813d8311613314575b6132fd8183613944565b810103126108715761330e90613cbf565b38613244565b503d6132f3565b5034610178576020806003193601126108755761333661389e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169061336e30831415613a5f565b61338b600080516020614649833981519152928284541614613ac0565b6133936139be565b60405191848301918383106001600160401b0384111761253a578260405286845260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914354166000146133ee57505050506101b59150613b21565b84939416906040516352d1902d60e01b81528681600481865afa600091816134c5575b506134725760405162461bcd60e51b815260048101889052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9594950361316d5761348383613b21565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351158015906134bd576130fb575050505080f35b5060006130ef565b90918882813d83116134ed575b6134dc8183613944565b810103126101785750519038613411565b503d6134d2565b5034610178576020366003190112610178578061350f61389e565b6135176139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163dec30e3360e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760403660031901126101785761358b61389e565b60406135956138ca565b9260018060a01b0380931681526101086020522091166000526020526020604060002054604051908152f35b5034610178576020366003190112610178576020906040906001600160a01b036135e961389e565b16815261010583522054604051908152f35b5034610178576020366003190112610178578061361661389e565b61361e6139be565b73__$7682c538d2a75d26dfca907f0e750789f4$__90813b156102a45760405163ebda042b60e01b815260fb60048201526001600160a01b039091166024820152908290829060449082905af48015610299576102895750f35b50346101785760203660031901126101785761369261389e565b61369a6139be565b8173__$7682c538d2a75d26dfca907f0e750789f4$__91823b1561087557604051632c55921b60e01b815260fb60048201526001600160a01b03909116602482015291829060449082905af48015610299576136f4575080f35b6101b5906138fb565b5034610178576060366003190112610178576024356004356001600160a01b03806137266138b4565b169260405191638da5cb5b60e01b83526020928381600481895afa908115610c7d57879161381a575b501633036137af57907fff2ce9a528a62cad638cc9f5bccd36a62ecfa9aa0b1ab82c98957cb3498b4b6791604051613786816138e0565b84815260018382018381528789526101048552604089209251835551910155604051908152a380f35b60405162461bcd60e51b815260048101839052603760248201527f736574436f6e7472616374416c6c6f774c697374436f6e6669673a3a4f6e6c7960448201527f20636f6e7472616374206f776e65722063616e207365740000000000000000006064820152608490fd5b90508381813d8311613848575b6138318183613944565b8101031261081a5761384290613cbf565b3861374f565b503d613827565b90503461087557602036600319011261087557604082819281602061387261389e565b9261387c816138e0565b82815201526001600160a01b03168152610104602052208151612185816138e0565b600435906001600160a01b038216820361084657565b604435906001600160a01b038216820361084657565b602435906001600160a01b038216820361084657565b604081019081106001600160401b0382111761253a57604052565b6001600160401b03811161253a57604052565b60e081019081106001600160401b0382111761253a57604052565b606081019081106001600160401b0382111761253a57604052565b90601f801991011681019081106001600160401b0382111761253a57604052565b6001600160401b03811161253a57601f01601f191660200190565b9181601f84011215610846578235916001600160401b038311610846576020808501948460051b01011161084657565b359060ff8216820361084657565b6033546001600160a01b031633036139d257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15613a6657565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15613ac757565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15613b565760008051602061464983398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15613bdc573d90613bc282613965565b91613bd06040519384613944565b82523d6000602084013e565b606090565b91929015613c435750815115613bf5575090565b3b15613bfe5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015613c565750805190602001fd5b60405162461bcd60e51b8152908190613c729060048301613c76565b0390fd5b6020808252825181830181905290939260005b828110613cab57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501613c89565b51906001600160a01b038216820361084657565b15613cda57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160401b03811161253a5760051b60200190565b35906001600160a01b038216820361084657565b81810292918115918404141715613d7157565b634e487b7160e01b600052601160045260246000fd5b818110613d92575050565b60008155600101613d87565b91908201809211613d7157565b6000198114613d715760010190565b91908203918211613d7157565b6001600160a01b03908116600081815261010960208181526040808420805492979196959215613f6f5760010154421015613f66576101025486516381d0606b60e01b8152918616600483015287908290602490829089165afa908115613f5c579087918591613f26575b506024875180978193630e67667b60e21b8352336004840152165afa938415613f1c5790839291869495613ee5575b5082528552205411613e71575050565b60a49250519062461bcd60e51b82526004820152604260248201527f5f656e666f726365436f6e747261637453656c6c65725374616b696e674d696e60448201527f696d756d3a3a41646472657373206e6f74206f6e207374616b656420656e6f756064820152610ced60f31b6084820152fd5b878092965081939495503d8311613f15575b613f018183613944565b8101031261081e5790849291519338613e61565b503d613ef7565b85513d85823e3d90fd5b82819392503d8311613f55575b613f3d8183613944565b81010312610f6757613f4f8791613cbf565b38613e32565b503d613f33565b86513d86823e3d90fd5b50505050505050565b5050505050505050565b6001600160a01b03166000908152610104602090815260408083208054929591949293928415613f6657600180920154421015613f6657908092918651888101916001600160601b03199060601b16825260148152613fd7816138e0565b5190209380935b61404a575b5050505003613ff0575050565b60849250519062461bcd60e51b82526004820152602e60248201527f5f656e666f726365416c6c6f774c69737465643a3a41646472657373206e6f7460448201526d081bdb88185b1b1bddc81b1a5cdd60921b6064820152fd5b9091929383518510156140bb576140909061406586866140f4565b51808211614099578851908a82019283528982015288815261408681613929565b5190205b94613dab565b92919081613fde565b908851908a8201928352898201528881526140b381613929565b51902061408a565b93613fe3565b8051156140ce5760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156140ce5760400190565b80518210156140ce5760209160051b010190565b90816020910312610846575180151581036108465790565b6001600160a01b03908116801591821561417b575b50501561413e57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250610100541691602460405180948193632d5ad3d560e01b835260048301525afa9081156141d5576000916141b7575b503880614135565b6141cf915060203d8111610d6557610d578183613944565b386141af565b6040513d6000823e3d90fd5b6001600160a01b03169081156143b3573461435d5760409081516370a0823160e01b938482523060048301526020948583602481855afa92831561435257600093614323575b5084516323b872dd60e01b87820152336024820152306044820152606480820186905281529060a082016001600160401b0381118382101761253a578792614271918852846143f8565b602486518094819382523060048301525afa908115614318576000916142e9575b509061429d91613dba565b036142a6575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614311575b6142ff8183613944565b8101031261017857505161429d614292565b503d6142f5565b84513d6000823e3d90fd5b90928682813d831161434b575b61433a8183613944565b810103126101785750519138614227565b503d614330565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b905034036143bd57565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b604051614450916001600160a01b0316614411826138e0565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1613155613bb1565b8051908282159283156144c0575b505050156144695750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6144d09350820181019101614108565b38828161445e565b90816020910312610846575160ff811681036108465790565b6001600160a01b0392908316806145c857508260ff541693604051916020908184019563c176e63960e01b87526064850160406024870152825180915283608487019301916000905b8282106145af575050505083810360231901604485015282518082529082019282019160005b82811061459b57505050509181614586600096949387969403601f198101835282613944565b51925af1614592613bb1565b9015613c565750565b835185529381019392810192600101614560565b835181168552938501939285019260019091019061453a565b92915060009493945b81518110156146405780614636846145ec61463b94866140f4565b51166146306145fb848b6140f4565b5160405163a9059cbb60e01b60208201526001600160a01b039390931660248401526044808401919091528252606482613944565b866143f8565b613dab565b6145d1565b50505050905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212203910265fe71e7df1d861f7a5c2155ce23f071116fafed6231a2c8fed115e2b4a64736f6c63430008120033","sourceMap":"942:14096:169:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;;-1:-1:-1;;;;;942:14096:169;;:::i;:::-;;;;4135:15;942:14096;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;-1:-1:-1;;;;;942:14096:169;;2402:22:42;942:14096:169;;2496:8:42;;;:::i;:::-;942:14096:169;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;12319:40:169;:64;;;;;;942:14096;;-1:-1:-1;;;12319:64:169;;:12;942:14096;12319:64;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;12319:64;;;;;;;;942:14096;;12319:64;;;;:::i;:::-;942:14096;;12319:64;942:14096;12319:64;942:14096;;971:66:46;942:14096:169;;971:66:46;;;;12319:64:169;942:14096;;;;-1:-1:-1;942:14096:169;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;:::i;:::-;;;1830:1:51;2712:7;942:14096:169;2712:19:51;1830:1;;;2712:7;942:14096:169;-1:-1:-1;;;;;942:14096:169;;;;7570:17;942:14096;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1830:1:51;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;942:14096:169;7666:37;942:14096;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7849:10;;;;7805:63;7849:10;;7805:63;;:::i;:::-;942:14096;;7962:23;;-1:-1:-1;;;;;942:14096:169;7962:23;;:::i;:::-;942:14096;;;8023:13;942:14096;;-1:-1:-1;;;;;942:14096:169;;;;8140:17;942:14096;;;;;;8140:40;:156;;;;942:14096;;;;-1:-1:-1;;;;;942:14096:169;;;;8412:15;942:14096;;;;;;8412:38;:142;;;;942:14096;;;;;;;;8669:30;;:72;;;;;942:14096;;;;;;;;;8883:15;-1:-1:-1;942:14096:169;;;;;;;;8973:32;942:14096;;9138:16;;;:::i;:::-;942:14096;;;;-1:-1:-1;;;;;942:14096:169;;;;;;9205:52;942:14096;;9358:18;942:14096;;;;;9358:18;:::i;:::-;942:14096;9358:18;942:14096;;;;9402:230;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;8140:17;942:14096;;;;;;9675:126;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;8412:15;942:14096;;;;;;9842:114;;942:14096;;;-1:-1:-1;;;9985:48:169;;7849:10;942:14096;9985:48;;942:14096;;;;;;;-1:-1:-1;;;;;942:14096:169;;9985:48;;;;;;;;;;;942:14096;;;;;;10101:282;;942:14096;10417:32;942:14096;;;-1:-1:-1;;;;;942:14096:169;10417:86;;;;;942:14096;;-1:-1:-1;;;10417:86:169;;-1:-1:-1;;;;;942:14096:169;;;10417:86;;942:14096;;;;;;;;;;;;;;;;;;;;;;;10417:86;;;;942:14096;10525:13;;942:14096;10540:13;942:14096;;;10540:13;;;;-1:-1:-1;942:14096:169;-1:-1:-1;;;;;942:14096:169;;10921:24;;942:14096;;10921:24;;:::i;:::-;-1:-1:-1;;942:14096:169;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;7849:10;;942:14096;;10806:187;;942:14096;;10806:187;942:14096;2712:7:51;942:14096:169;;;;-1:-1:-1;;;942:14096:169;;;;;;;;10555:3;942:14096;;-1:-1:-1;;;10627:48:169;;7849:10;942:14096;10627:48;;942:14096;;;;;;-1:-1:-1;;;;;942:14096:169;;10627:48;;;;;;;;10555:3;-1:-1:-1;10417:32:169;942:14096;;;-1:-1:-1;;;;;942:14096:169;10754:16;;;;:::i;:::-;10687:90;;;;;942:14096;;-1:-1:-1;;;10687:90:169;;-1:-1:-1;;;;;942:14096:169;;;10687:90;;942:14096;;;;;;;;;;;;;;;;;;;;;;;;10687:90;;;;10555:3;;;;;;:::i;:::-;10525:13;;10687:90;;;;:::i;:::-;942:14096;;10687:90;;;;942:14096;;;;10687:90;942:14096;;;10627:48;942:14096;10627:48;;;;;;;;;;;;:::i;:::-;;;942:14096;;;;10627:48;;;942:14096;;;;10627:48;;;;;;942:14096;;971:66:46;942:14096:169;;971:66:46;;;;10417:86:169;;;;:::i;:::-;942:14096;;10417:86;;;;942:14096;;;;10417:86;942:14096;;;10101:282;942:14096;;;;;;;;;;;;;;;10298:32;942:14096;;;;10340:28;942:14096;;;;;6804:41:238;942:14096:169;;;7449:33:238;;7537:27;942:14096:169;;;-1:-1:-1;;;7537:60:238;;942:14096:169;;;7537:60:238;;942:14096:169;7449:33:238;;942:14096:169;;;;;;;;;-1:-1:-1;;;;;942:14096:169;7537:60:238;;;;;;;;;;;10101:282:169;942:14096;;;;;;;:::i;:::-;1830:1:51;942:14096:169;;;;;;;;9099:12;942:14096;-1:-1:-1;;;;;942:14096:169;;7673:52:238;;;:::i;:::-;942:14096:169;7756:23:238;942:14096:169;;;-1:-1:-1;;;7756:67:238;;942:14096:169;7756:67:238;;942:14096:169;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;7756:67:238;;;;;;;;;;;10101:282:169;-1:-1:-1;;;;;;942:14096:169;7731:93:238;;;:::i;:::-;942:14096:169;-1:-1:-1;;;;;7847:14:238;;;:::i;:::-;942:14096:169;;7847:83:238;;;7830:100;;;:::i;:::-;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;:::i;:::-;1830:1:51;942:14096:169;;;;;;;;7996:23:238;942:14096:169;;;-1:-1:-1;;;7996:62:238;;942:14096:169;;;7996:62:238;;942:14096:169;-1:-1:-1;;;;;942:14096:169;;;;;;;;;7996:62:238;;;;;;;;;;;7847:83;7984:74;942:14096:169;7984:74:238;942:14096:169;7984:74:238;;;;:::i;:::-;942:14096:169;;;-1:-1:-1;;;8076:52:238;;942:14096:169;;;8076:52:238;;942:14096:169;;;;;;8076:52:238;;;;;;;;;;;;;;7847:83;8064:64;;8206:6;8064:64;;;;:::i;:::-;942:14096:169;8206:6:238;;:::i;:::-;7537:27;942:14096:169;;;-1:-1:-1;;;8225:73:238;;-1:-1:-1;;;;;942:14096:169;;;;8225:73:238;;942:14096:169;;;;;;;;;;;;;;;;;;8225:73:238;;;;;;;;;;;7847:83;-1:-1:-1;8224:74:238;;942:14096:169;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;8455:14:238;;;:::i;:::-;942:14096:169;;8436:33:238;;;:::i;:::-;942:14096:169;8482:29:238;942:14096:169;;;-1:-1:-1;;;8482:62:238;;942:14096:169;8482:62:238;;942:14096:169;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;8482:62:238;;;;;;;;;;;8220:1546;-1:-1:-1;8478:826:238;;;8482:29;942:14096:169;;;-1:-1:-1;;;8585:60:238;;942:14096:169;8585:60:238;;942:14096:169;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;8585:60:238;;;;;;;;942:14096:169;8585:60:238;;;;;8478:826;942:14096:169;;8694:28:238;;942:14096:169;8694:28:238;;;;;:::i;:::-;942:14096:169;;;8674:56:238;;;:::i;:::-;8759:28;942:14096:169;8759:28:238;;;;;:::i;:::-;942:14096:169;;;8741:53:238;;;:::i;:::-;942:14096:169;8847:14:238;;;:::i;:::-;942:14096:169;8878:11:238;;;;;:::i;:::-;942:14096:169;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;9845:22:238;9879:13;;9874:187;9918:3;942:14096:169;;9894:22:238;;;;;9999:55;9918:3;9969:15;942:14096:169;10014:33:238;9969:15;942:14096:169;9969:15:238;;;;;10032;9969;9931:60;9969:15;;9951:33;9969:15;;;;;:::i;:::-;942:14096:169;;9951:33:238;;:::i;:::-;942:14096:169;9931:60:238;;:::i;:::-;942:14096:169;10032:15:238;:::i;:::-;942:14096:169;;10014:33:238;;:::i;:::-;942:14096:169;9999:55:238;;:::i;:::-;9918:3;;:::i;:::-;9879:13;;;9894:22;;;;;;;;;10133:13;9894:22;;;;;10133:13;;:::i;:::-;10101:282:169;;8585:60:238;;;;942:14096:169;8585:60:238;942:14096:169;8585:60:238;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;942:14096:169;;971:66:46;942:14096:169;;971:66:46;;;;8478:826:238;-1:-1:-1;7537:27:238;942:14096:169;;;-1:-1:-1;;;8944:106:238;;-1:-1:-1;;;;;942:14096:169;;;;8944:106:238;;942:14096:169;;;;;;;;;;;;8944:106:238;;;;;;;;942:14096:169;8944:106:238;;;;;8478:826;942:14096:169;;9099:28:238;;942:14096:169;9099:28:238;;;;;:::i;:::-;942:14096:169;;;9079:56:238;;;:::i;:::-;9164:28;942:14096:169;9164:28:238;;;;;:::i;:::-;942:14096:169;;;9146:53:238;;;:::i;:::-;942:14096:169;9252:14:238;;;:::i;:::-;942:14096:169;9283:11:238;;;;;:::i;:::-;8478:826;;8944:106;;;;942:14096:169;8944:106:238;942:14096:169;8944:106:238;;;;;;;:::i;:::-;;;;8482:62;;;;942:14096:169;8482:62:238;942:14096:169;8482:62:238;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;8220:1546;-1:-1:-1;;9391:21:238;942:14096:169;;;-1:-1:-1;;;9391:100:238;;-1:-1:-1;;;;;942:14096:169;;;;9391:100:238;;942:14096:169;;;;;;;;;;;;;;;-1:-1:-1;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;9391:100:238;;;;;;;;;;;;;8220:1546;9500:26;;9540:13;;9535:96;9577:3;942:14096:169;;9555:20:238;;;;;9592:30;9577:3;9610:12;;;;;:::i;:::-;942:14096:169;9592:30:238;;:::i;:::-;9577:3;;:::i;:::-;9540:13;;;9555:20;;;;;;;9749:9;9555:20;;;;;9639:33;;942:14096:169;9639:33:238;;:::i;:::-;9749:9;;;:::i;9391:100::-;;;;;;;;;;;;;;;:::i;:::-;942:14096:169;9391:100:238;;;;942:14096:169;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;9391:100:238;;;;942:14096:169;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9391:100:238;;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;9391:100:238;;;942:14096:169;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9391:100:238;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9391:100:238;;;;;;;;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;8225:73:238;;;;942:14096:169;8225:73:238;942:14096:169;8225:73:238;;;;;;;:::i;:::-;;;;8076:52;;;;942:14096:169;8076:52:238;;942:14096:169;8076:52:238;;;;;;942:14096:169;8076:52:238;;;:::i;:::-;;;942:14096:169;;;;;;;8206:6:238;8076:52;;;;;-1:-1:-1;8076:52:238;;;942:14096:169;;971:66:46;942:14096:169;;971:66:46;;;;7996:62:238;;;942:14096:169;7996:62:238;;942:14096:169;7996:62:238;;;;;;942:14096:169;7996:62:238;;;:::i;:::-;;;942:14096:169;;;;;;7996:62:238;;;;;-1:-1:-1;7996:62:238;;;942:14096:169;;971:66:46;942:14096:169;;971:66:46;;;;7847:83:238;-1:-1:-1;;;;;;7916:14:238;;;:::i;:::-;942:14096:169;;7847:83:238;;7756:67;;;942:14096:169;7756:67:238;;942:14096:169;7756:67:238;;;;;;942:14096:169;7756:67:238;;;:::i;:::-;;;942:14096:169;;;;;;;:::i;:::-;7756:67:238;;;;;;-1:-1:-1;7756:67:238;;7537:60;;;;942:14096:169;7537:60:238;;942:14096:169;7537:60:238;;;;;;942:14096:169;7537:60:238;;;:::i;:::-;;;942:14096:169;;;;;7537:60:238;;;;;;;-1:-1:-1;7537:60:238;;;942:14096:169;;971:66:46;942:14096:169;;971:66:46;;;;942:14096:169;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;9985:48;;;;942:14096;9985:48;;942:14096;9985:48;;;;;;942:14096;9985:48;;;:::i;:::-;;;942:14096;;;;;9985:48;;;;;;;-1:-1:-1;9985:48:169;;9842:114;9893:21;942:14096;;;;;7849:10;942:14096;;;;;;;;;;;;;;;;;;;;9842:114;;942:14096;-1:-1:-1;;;942:14096:169;;;;;;;;9675:126;9728:23;942:14096;;;;;7849:10;942:14096;;;;;;;9728:66;942:14096;;;;;9728:66;:::i;:::-;942:14096;;9675:126;;9402:230;9481:32;942:14096;;;-1:-1:-1;;;9481:68:169;;942:14096;;;9481:68;;942:14096;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;9481:68;;;;;;;;;;;9402:230;9468:81;;9610:14;9468:81;942:14096;9468:81;;:::i;:::-;9610:14;;:::i;:::-;9402:230;;9481:68;;;942:14096;9481:68;;942:14096;9481:68;;;;;;942:14096;9481:68;;;:::i;:::-;;;942:14096;;;;;9468:81;9481:68;;;;;-1:-1:-1;9481:68:169;;942:14096;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;8669:72;942:14096;;;;;8703:38;;8669:72;;;942:14096;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;8412:142;942:14096;8462:21;942:14096;;;;;7849:10;942:14096;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;8412:15;942:14096;;;;;;;;;;;8462:92;;8412:142;;942:14096;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;8140:156;942:14096;8192:23;942:14096;;;;;7849:10;942:14096;;;;8192:65;942:14096;;;;;;;8192:65;:::i;:::-;-1:-1:-1;;;;;942:14096:169;;;;8140:17;942:14096;;;;;;-1:-1:-1;8192:104:169;8140:156;;942:14096;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;1830:1:51;942:14096:169;;-1:-1:-1;;;1830:1:51;;942:14096:169;;1830:1:51;;;;942:14096:169;1830:1:51;;942:14096:169;1830:1:51;942:14096:169;;;1830:1:51;942:14096:169;;1830:1:51;942:14096:169;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;3976:23;942:14096;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;12181:27:169;:38;;;;;;942:14096;;-1:-1:-1;;;12181:38:169;;:12;942:14096;12181:38;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;12181:38;;;;;;;;942:14096;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3491:17;942:14096;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;942:14096:169;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;-1:-1:-1;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;-1:-1:-1;;;6554:44:169;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;6554:44;;;;;;;;;;;942:14096;;;6540:10;:58;942:14096;;;6720:44;942:14096;;;;6667:15;942:14096;;;;;;;;;;;;6720:44;942:14096;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;6554:44;;;;;;;;;;;;;;;;:::i;:::-;;;942:14096;;;;;;;:::i;:::-;6554:44;;;;;;;;942:14096;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;942:14096:169;;;4484:28;942:14096;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;942:14096:169;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;3301:14:48;3347:34;;;;;;942:14096:169;3346:108:48;;;;942:14096:169;;;;-1:-1:-1;;942:14096:169;;;;;;;3562:65:48;;942:14096:169;-1:-1:-1;942:14096:169;;-1:-1:-1;;;2899:241:169;;-1:-1:-1;;;;;942:14096:169;;;;2899:241;;942:14096;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:12;:241;;;;;;;;;;;942:14096;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;2884:256;942:14096;;;2884:256;942:14096;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5366:69:48;942:14096:169;;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;3647:99:48;;942:14096:169;;3647:99:48;942:14096:169;;;;;;;3721:14:48;942:14096:169;;;;;;3721:14:48;942:14096:169;;2899:241;;;942:14096;2899:241;;942:14096;2899:241;;;;;;942:14096;2899:241;;;:::i;:::-;;;942:14096;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;2899:241;;;942:14096;;;;;;;;;;;;2899:241;;;-1:-1:-1;2899:241:169;;;942:14096;;971:66:46;942:14096:169;;971:66:46;;;;3562:65:48;-1:-1:-1;;942:14096:169;;;;;3562:65:48;;;942:14096:169;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;942:14096:169;;;;;3436:17:48;3346:108;;3347:34;942:14096:169;;;;;3365:16:48;3347:34;;942:14096:169;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;11911:40:169;:64;;;;;;942:14096;;-1:-1:-1;;;11911:64:169;;:12;942:14096;11911:64;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;11911:64;;;;;;;;942:14096;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;5020:44:169;;942:14096;;;;;;;;-1:-1:-1;;;;;942:14096:169;;5020:44;;;;;;;;;;;942:14096;-1:-1:-1;5068:10:169;-1:-1:-1;;;;;942:14096:169;;;5020:58;942:14096;;5243:16;;;:::i;:::-;942:14096;;;;;:::i;:::-;5068:10;942:14096;;-1:-1:-1;;;;;942:14096:169;;;5305:157;;942:14096;;;;5305:157;;942:14096;;;;5305:157;;942:14096;;;;5305:157;;942:14096;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;5305:157;;942:14096;5305:157;;942:14096;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;5305:157;;942:14096;5305:157;;942:14096;;;;;;;;;;5267:17;942:14096;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;;5305:157;;942:14096;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;5305:157;;942:14096;;;;;;5305:157;;942:14096;;;;;;5305:157;;942:14096;;;;;;5305:157;;942:14096;;;;-1:-1:-1;;;;;942:14096:169;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5305:157;;;;942:14096;5305:157;942:14096;;;;;-1:-1:-1;;;;;942:14096:169;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5068:10:169;;-1:-1:-1;;;;;942:14096:169;;;;;;5473:186;;;;;;;-1:-1:-1;5068:10:169;-1:-1:-1;5473:186:169;942:14096;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;5020:44;;;942:14096;5020:44;;942:14096;5020:44;;;;;;942:14096;5020:44;;;:::i;:::-;;;942:14096;;;;;;;:::i;:::-;5020:44;;;942:14096;;;;5020:44;;;-1:-1:-1;5020:44:169;;942:14096;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;942:14096:169;;-1:-1:-1;;;;;;942:14096:169;;;;;;;-1:-1:-1;;;;;942:14096:169;2806:40:42;942:14096:169;;2806:40:42;942:14096:169;;;;;;;;;-1:-1:-1;;942:14096:169;;;;-1:-1:-1;;;;;942:14096:169;;;:::i;:::-;;;;971:66:46;;;;6925:44:169;;942:14096;6925:44;;;942:14096;6925:44;;;;;;;;;;;;;;942:14096;;;6911:10;:58;942:14096;;;;;7066:28;942:14096;;;;971:66:46;;;;;;;7066:65:169;;6911:10;942:14096;7066:65;;942:14096;7066:65;;;;;;;;;;;942:14096;;;7145:18;942:14096;;;;7234:28;942:14096;;;;;;:::i;:::-;;;;;7283:39;;;942:14096;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;7066:65;;;;;;;;;;;;;;;;:::i;:::-;;;942:14096;;;;;;;:::i;:::-;7066:65;;;;;;;;;942:14096;;971:66:46;942:14096:169;;971:66:46;;;;942:14096:169;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;6925:44;;;;;;;;;;;;;;;;;;:::i;:::-;;;942:14096;;;;;;;;:::i;:::-;6925:44;;;;;;;;942:14096;;;;;;;;;;;;;2333:6:49;-1:-1:-1;;;;;942:14096:169;2324:4:49;2316:23;942:14096:169;;;;;-1:-1:-1;;;;;;;;;;;942:14096:169;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;942:14096:169;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:49;942:14096:169;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;942:14096:169;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;971:66:46;;942:14096:169;;;;;3330:17:46;;;;;;;;:::i;3232:526::-;942:14096:169;;;;;;;971:66:46;;;3383:63;;;;942:14096:169;3383:63:46;;;;942:14096:169;;3383:63:46;;;3232:526;-1:-1:-1;3379:302:46;;942:14096:169;;-1:-1:-1;;;3610:56:46;;942:14096:169;3610:56:46;;971:66;;;;942:14096:169;971:66:46;;942:14096:169;971:66:46;942:14096:169;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;971:66;;2171:17;;;:::i;:::-;2204:27;942:14096:169;2204:27:46;;942:14096:169;;2523:15:46;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;942:14096:169;;2519:123:46;942:14096:169;;;7318:69:66;942:14096:169;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;942:14096:169;;;;7276:25:66;;;;;;;:::i;:::-;7318:69;;:::i;:::-;;2519:123:46;;;;;;2523:28;;942:14096:169;2523:28:46;;971:66;942:14096:169;;-1:-1:-1;;;971:66:46;;942:14096:169;971:66:46;;;;;;942:14096:169;971:66:46;;942:14096:169;971:66:46;942:14096:169;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;942:14096:169;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;-1:-1:-1;;;6215:44:169;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;6215:44;;;;;;;;;;;942:14096;;;6201:10;:58;942:14096;;;6385:46;942:14096;;;;6330:17;942:14096;;;;;;;;;;;;6385:46;942:14096;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;6215:44;;;;;;;;;;;;;;;;:::i;:::-;;;942:14096;;;;;;;:::i;:::-;6215:44;;;;;;;;942:14096;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1898:6:49;942:14096:169;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;942:14096:169;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;942:14096:169;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;971:66:46;;942:14096:169;3232:526:46;942:14096:169;;;3330:17:46;;;;;;;;:::i;3232:526::-;942:14096:169;;;;;;;971:66:46;;;3383:63;;;;942:14096:169;3383:63:46;;;;942:14096:169;;3383:63:46;;;3232:526;-1:-1:-1;3379:302:46;;942:14096:169;;-1:-1:-1;;;3610:56:46;;942:14096:169;3610:56:46;;971:66;;;;;;;942:14096:169;971:66:46;942:14096:169;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;971:66;;2171:17;;;:::i;:::-;2204:27;942:14096:169;2204:27:46;;942:14096:169;;2523:15:46;;;:28;;;2519:123;;3232:526;;;;942:14096:169;;2523:28:46;;942:14096:169;2523:28:46;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;942:14096:169;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;11597:37:169;:58;;;;;;942:14096;;-1:-1:-1;;;11597:58:169;;:12;942:14096;11597:58;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;11597:58;;;;;;;;942:14096;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;4300:21;942:14096;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;;-1:-1:-1;;;;;942:14096:169;;:::i;:::-;;;;3807:17;942:14096;;;;;;;;;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;12059:32:169;:48;;;;;;942:14096;;-1:-1:-1;;;12059:48:169;;:12;942:14096;12059:48;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;12059:48;;;;;;;;942:14096;;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;11751:38:169;;:60;;;;;;942:14096;;-1:-1:-1;;;11751:60:169;;:12;942:14096;11751:60;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;11751:60;;;;;;;;942:14096;;;11751:60;;;;:::i;942:14096::-;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;:::i;:::-;;;;;971:66:46;;;;5812:44:169;;942:14096;5812:44;;;942:14096;5812:44;;;;;;;;;;;;;942:14096;;;5798:10;:58;942:14096;;;6024:66;942:14096;;;;;;:::i;:::-;;;;;5976:37;;;942:14096;;;;;;5933:22;942:14096;;;;;;;;;;;;;;;;;;6024:66;942:14096;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;5812:44;;;;;;;;;;;;;;;;:::i;:::-;;;942:14096;;;;;;;:::i;:::-;5812:44;;;;;;;;942:14096;;;;;;;;-1:-1:-1;;942:14096:169;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;942:14096:169;;;3657:22;942:14096;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;942:14096:169;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;942:14096:169;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;942:14096:169;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;:::o;:::-;-1:-1:-1;;;;;942:14096:169;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;:::o;:::-;-1:-1:-1;;;;;942:14096:169;;;;;;-1:-1:-1;;942:14096:169;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;1599:130:42:-;1513:6;942:14096:169;-1:-1:-1;;;;;942:14096:169;929:10:68;1662:23:42;942:14096:169;;1599:130:42:o;942:14096:169:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;942:14096:169;;-1:-1:-1;;;;;942:14096:169;;;-1:-1:-1;;;;;;942:14096:169;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;942:14096:169:-;;;;:::o;:::-;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;1699:281:46;1713:19:66;;:23;942:14096:169;;-1:-1:-1;;;;;;;;;;;942:14096:169;;-1:-1:-1;;;;;;942:14096:169;-1:-1:-1;;;;;942:14096:169;;;;;;;;;1699:281:46:o;942:14096:169:-;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;942:14096:169;;;;:::o;:::-;;;:::o;7682:628:66:-;;;;7886:418;;;942:14096:169;;;7917:22:66;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;942:14096:169;;8212:17:66;:::o;942:14096:169:-;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;;;;7886:418:66;942:14096:169;;;;-1:-1:-1;8991:21:66;:17;;9163:142;;;;;;;8987:379;942:14096:169;;-1:-1:-1;;;9335:20:66;;942:14096:169;;;9335:20:66;;;;;;:::i;:::-;;;;942:14096:169;;;;;;;;;;;;;;;;-1:-1:-1;942:14096:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;942:14096:169;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;942:14096:169;;;;;;;:::o;:::-;;;;;;;;;;:::o;12799:671::-;-1:-1:-1;;;;;942:14096:169;;;-1:-1:-1;942:14096:169;;;12913:28;942:14096;;;;;;;;;;;;;;;;12913:58;12909:85;;942:14096;13066:59;942:14096;13047:15;:78;;13043:105;;13188:28;942:14096;;;-1:-1:-1;;;13188:63:169;;942:14096;;;13188:63;;;942:14096;;;;;;;;;;;13188:63;;;;;;;;;;;;;;12799:671;942:14096;;;;971:66:46;;;;;;;13176:117:169;;13282:10;13188:63;13176:117;;942:14096;;13176:117;;;;;;;;;;;;;;;;12799:671;942:14096;;;;;;;-1:-1:-1;942:14096:169;;12799:671;;:::o;942:14096::-;;;;;;;;;;;13188:63;942:14096;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;13176:117;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;942:14096;;;;;;;;;13176:117;;;;;;;;;;942:14096;;971:66:46;942:14096:169;;971:66:46;;;;13188:63:169;;;;;;;;;;;;;;;;:::i;:::-;;;942:14096;;;;;;;;:::i;:::-;13188:63;;;;;;;;;942:14096;;971:66:46;942:14096:169;;971:66:46;;;;13043:105:169;13135:7;;;;;;;:::o;12909:85::-;12981:7;;;;;;;;:::o;13702:595::-;-1:-1:-1;;;;;942:14096:169;-1:-1:-1;942:14096:169;;;13857:22;942:14096;;;;;;;;;;;;;;;;-1:-1:-1;13950:18:169;;13946:45;;942:14096;14069:53;;;942:14096;14050:15;:72;;14046:99;;942:14096;;;;;;14188:26;;;942:14096;-1:-1:-1;;;;;942:14096:169;;;;;;;14188:26;;;;;;:::i;:::-;942:14096;14178:37;;14590:13;;14585:108;942:14096;;;14585:108;14706:20;;;;;942:14096;;13702:595;;:::o;942:14096::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;14624:3;942:14096;;;;;;14605:17;;;;;14624:3;14676:9;;;;;:::i;:::-;942:14096;14953:6;;;;;942:14096;;14972:22;;;;942:14096;;;;;;;14972:22;;;;;;:::i;:::-;942:14096;14962:33;;14953:78;14624:3;;:::i;:::-;14590:13;;;;;;14953:78;942:14096;;;15008:22;;;;942:14096;;;;;;;15008:22;;;;;;:::i;:::-;942:14096;14998:33;;14953:78;;14605:17;;;;942:14096;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;623:272:238:-;-1:-1:-1;;;;;942:14096:169;;;756:30:238;;;:97;;;;623:272;942:14096:169;;;;;623:272:238:o;942:14096:169:-;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;756:97:238;790:63;942:14096:169;;;790:29:238;942:14096:169;;;;;;971:66:46;;;;;;;790:63:238;;;;;942:14096:169;790:63:238;;;;;;;784:1;790:63;;;756:97;;;;;;790:63;;;;;;;;;;;;;;:::i;:::-;;;;;942:14096:169;;971:66:46;784:1:238;971:66:46;;;;;3889:603:238;-1:-1:-1;;;;;942:14096:169;;3983:30:238;;3979:117;;4110:9;942:14096:169;;;;;;971:66:46;;;4245:30:238;;;;4269:4;4245:30;;;942:14096:169;4245:30:238;;;;942:14096:169;4245:30:238;;;;;;;;;4011:1;4245:30;;;3889:603;-1:-1:-1;942:14096:169;;-1:-1:-1;;;1482:68:96;;;;4305:10:238;942:14096:169;1482:68:96;;942:14096:169;4269:4:238;942:14096:169;;;;;;;;;;;1482:68:96;;942:14096:169;;;;-1:-1:-1;;;;;942:14096:169;;;;;;;;;;1482:68:96;942:14096:169;;;1482:68:96;;:::i;:::-;942:14096:169;;;4370:30:238;;;;;;4269:4;4245:30;4370;;942:14096:169;4370:30:238;;;;;;;4011:1;4370:30;;;3889:603;4415:28;;;;;:::i;:::-;:39;942:14096:169;;3889:603:238;;:::o;942:14096:169:-;;;;;;;;;;;4245:30:238;942:14096:169;;;;;;;;;;;;;;4370:30:238;;;;;;;;;;;;;;;:::i;:::-;;;942:14096:169;;;;-1:-1:-1;942:14096:169;4415:28:238;4370:30;;;;;;;;942:14096:169;;971:66:46;4011:1:238;971:66:46;;;;;4245:30:238;;;;;;;;;;;;;;;;:::i;:::-;;;942:14096:169;;;;;;4245:30:238;;;;;;;;;;942:14096:169;;971:66:46;4011:1:238;971:66:46;;;;;942:14096:169;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;3979:117:238;4031:9;;;:20;942:14096:169;;4083:7:238:o;942:14096:169:-;;;-1:-1:-1;;;942:14096:169;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;;;5173:642:96;942:14096:169;;5535:69:101;;-1:-1:-1;;;;;942:14096:169;;;;:::i;:::-;-1:-1:-1;942:14096:169;;;;;;;;;;;5487:31:101;;;;;;;;;;;:::i;5535:69::-;942:14096:169;;5705:22:96;;;;:56;;;;;5173:642;942:14096:169;;;;;;5173:642:96;:::o;942:14096:169:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;942:14096:169;;;;;5705:56:96;5731:30;;-1:-1:-1;5731:30:96;;;;;;;:::i;:::-;5705:56;;;;;942:14096:169;;;;;;;;;;;;;;;;;;:::o;10156:657:238:-;-1:-1:-1;;;;;942:14096:169;10156:657:238;942:14096:169;;10368:30:238;942:14096:169;;;;10452:16:238;942:14096:169;;;;;10500:72:238;;;;;;10523:25;;;;10500:72;;942:14096:169;;;;10500:72:238;;;942:14096:169;;;;;;;;;;;;;10396:1:238;942:14096:169;;;;;;;-1:-1:-1;;;;942:14096:169;;;-1:-1:-1;;942:14096:169;;;;;;;;;;;;;;;;;10396:1:238;942:14096:169;;;;;;10500:72:238;;;;;;;10396:1;10500:72;;;;;;;942:14096:169;;10500:72:238;;;;;;:::i;:::-;10444:136;;;;;;:::i;:::-;942:14096:169;;;;10364:445:238;10156:657::o;942:14096:169:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10364:445:238;10693:13;;;10396:1;10693:13;;;10732:3;942:14096:169;;10708:22:238;;;;;10766:14;1050:58:96;10766:14:238;;10732:3;10766:14;;;:::i;:::-;942:14096:169;;1050:58:96;10782:11:238;;;;:::i;:::-;942:14096:169;;;-1:-1:-1;;;1050:58:96;;;;-1:-1:-1;;;;;942:14096:169;;;;1050:58:96;;;942:14096:169;;;;;;;;;1050:58:96;;942:14096:169;;1050:58:96;:::i;:::-;;;:::i;:::-;10732:3:238;:::i;:::-;10693:13;;10708:22;;;;;;;10156:657::o","linkReferences":{"src/utils/structs/MarketConfig.sol":{"MarketConfig":[{"start":561,"length":20},{"start":6932,"length":20},{"start":8937,"length":20},{"start":9753,"length":20},{"start":13593,"length":20},{"start":13856,"length":20},{"start":13981,"length":20}]}},"immutableReferences":{"32368":[{"start":11891,"length":32},{"start":12191,"length":32},{"start":13120,"length":32}]}},"methodIdentifiers":{"getContractAllowListConfig(address)":"04c1ff07","getContractMintLimit(address)":"23946f1f","getContractMintsPerAddress(address,address)":"ca774e68","getContractSellerStakingMinimum(address)":"9890cddf","getContractTxLimit(address)":"fa5312c8","getContractTxsPerAddress(address,address)":"2da45e8e","getDirectSaleConfig(address)":"a01fa6a9","initialize(address,address,address,address,address,address,address,address)":"8a29e2de","mintDirectSale(address,address,uint256,uint8,bytes32[])":"d647ed3c","owner()":"8da5cb5b","prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":"78c19898","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setApprovedTokenRegistry(address)":"e4e87e3b","setContractAllowListConfig(bytes32,uint256,address)":"0fc635b3","setContractMintLimit(address,uint256)":"4cf5f910","setContractSellerStakingMinimum(address,uint256,uint256)":"677b1984","setContractTxLimit(address,uint256)":"9dbef5d1","setMarketplaceSettings(address)":"176ab440","setNetworkBeneficiary(address)":"3492e5a8","setPayments(address)":"af231a58","setRoyaltyEngine(address)":"21ede032","setSpaceOperatorRegistry(address)":"7f358230","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"ContractMintLimitSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"name\":\"ContractStakingMinimumSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"ContractTxLimitSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenIdStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenIdEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"MintDirectSale\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_maxMints\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"PrepareMintDirectSale\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"SetContractAllowListConfig\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractAllowListConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareMinter.AllowListConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractMintLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getContractMintsPerAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractSellerStakingMinimum\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IRareMinter.StakingMinimum\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getContractTxLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getContractTxsPerAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getDirectSaleConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxMints\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"internalType\":\"struct IRareMinter.DirectSaleConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_numMints\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"_proof\",\"type\":\"bytes32[]\"}],\"name\":\"mintDirectSale\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_maxMints\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"prepareMintDirectSale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"}],\"name\":\"setApprovedTokenRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"setContractAllowListConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"setContractMintLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endTimestamp\",\"type\":\"uint256\"}],\"name\":\"setContractSellerStakingMinimum\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"setContractTxLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"}],\"name\":\"setNetworkBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"}],\"name\":\"setPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"}],\"name\":\"setRoyaltyEngine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"setSpaceOperatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"SuperRareLabs Inc.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getContractAllowListConfig(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"AllowListConfig The allow list config\"}},\"getContractMintLimit(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The mint limit\"}},\"getContractMintsPerAddress(address,address)\":{\"params\":{\"_address\":\"address The address of the account to get the mints for\",\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The number of mints\"}},\"getContractSellerStakingMinimum(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"StakingMinimum The staking minimum\"}},\"getContractTxLimit(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The tx limit\"}},\"getContractTxsPerAddress(address,address)\":{\"params\":{\"_address\":\"address The address of the account to get the txs for\",\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"uint256 The number of txs\"}},\"getDirectSaleConfig(address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\"},\"returns\":{\"_0\":\"DirectSaleConfig The direct sale config\"}},\"mintDirectSale(address,address,uint256,uint8,bytes32[])\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_currencyAddress\":\"address The address of the currency\",\"_numMints\":\"uint8 The number of tokens to be minted\",\"_price\":\"uint256 The price to mint\",\"_proof\":\"bytes32[] The merkle proof for the allowlist if applicable, otherwise empty array\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_currencyAddress\":\"address The address of the currency to accept\",\"_maxMints\":\"uint256 The max number of tokens to mint per transaction\",\"_price\":\"uint256 The price to mint each token\",\"_splitRatios\":\"uint8[] The ratios to split the sale with\",\"_splitRecipients\":\"address payable[] The addresses to split the sale with\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setContractAllowListConfig(bytes32,uint256,address)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_endTimestamp\":\"uint256 The timestamp when the allow list ends\",\"_root\":\"bytes32 The root of the merkle tree\"}},\"setContractMintLimit(address,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_limit\":\"uint256 The limit to set\"}},\"setContractSellerStakingMinimum(address,uint256,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_endTimestamp\":\"uint256 The timestamp when the minimum ends\",\"_minimum\":\"uint256 The minimum to set\"}},\"setContractTxLimit(address,uint256)\":{\"params\":{\"_contractAddress\":\"address The address of the ERC721 contract\",\"_limit\":\"uint256 The limit to set\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"RareMinter\",\"version\":1},\"userdoc\":{\"events\":{\"ContractMintLimitSet(address,uint256)\":{\"notice\":\"Event emitted when a contract is set to a mint limit\"},\"ContractStakingMinimumSet(address,uint256,uint256)\":{\"notice\":\"Event emitted when a contract staking minimum amount staked is set\"},\"ContractTxLimitSet(address,uint256)\":{\"notice\":\"Event emitted when a contract is set to a tx limit\"},\"MintDirectSale(address,address,address,uint256,uint256,address,uint256)\":{\"notice\":\"Event emitted when a contract is prepared for direct sale\"},\"PrepareMintDirectSale(address,address,address,uint256,uint256,uint256,address[],uint8[])\":{\"notice\":\"Event emitted when a contract is prepared for direct sale\"},\"SetContractAllowListConfig(bytes32,uint256,address)\":{\"notice\":\"Event emitted when a contract is set to an allow list config\"}},\"kind\":\"user\",\"methods\":{\"getContractAllowListConfig(address)\":{\"notice\":\"Gets the allow list config for a contract\"},\"getContractMintLimit(address)\":{\"notice\":\"Gets the mint limit for a contract\"},\"getContractMintsPerAddress(address,address)\":{\"notice\":\"Gets the number of mints per address for a contract\"},\"getContractSellerStakingMinimum(address)\":{\"notice\":\"Gets the staking minimum for the seller of a mint for a contract\"},\"getContractTxLimit(address)\":{\"notice\":\"Gets the tx limit for a contract\"},\"getContractTxsPerAddress(address,address)\":{\"notice\":\"Gets the number of txs per address for a contract\"},\"getDirectSaleConfig(address)\":{\"notice\":\"Gets the direct sale config for a contract\"},\"mintDirectSale(address,address,uint256,uint8,bytes32[])\":{\"notice\":\"Mints a token to the buyer\"},\"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])\":{\"notice\":\"Prepares a minting contract for direct sales\"},\"setContractAllowListConfig(bytes32,uint256,address)\":{\"notice\":\"Sets the allow list config for a contract\"},\"setContractMintLimit(address,uint256)\":{\"notice\":\"Sets the mint limit for a contract\"},\"setContractSellerStakingMinimum(address,uint256,uint256)\":{\"notice\":\"Sets the staking minimum for the seller of a mint for a contract\"},\"setContractTxLimit(address,uint256)\":{\"notice\":\"Sets the tx limit for a contract\"}},\"notice\":\"The logic for all functions related to the RareMinter.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/collection/RareMinter.sol\":\"RareMinter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/collection/IERC721Mint.sol\":{\"keccak256\":\"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d\",\"dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH\"]},\"src/collection/IRareMinter.sol\":{\"keccak256\":\"0x1186ab0626e92fe41cc1e0473953137aa7d3066dc9862f10f86ecb3b79f56406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2b5587bc0c25a8aaca77ba7f3d7cf769d39e60342fb7de9ca0196f564abc69b\",\"dweb:/ipfs/QmSgHyabMp2WRTeCJjnZcMe8dBJAZGuN4NXWHLmDHEkPXm\"]},\"src/collection/RareMinter.sol\":{\"keccak256\":\"0xbd9798ffe4b945a301364f39862f5511cc9313549e1793b1be5f9b698e227189\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f69ca314b4af46bafa6a9eed47d3ffc51a68bca95607a62043066a49ef570324\",\"dweb:/ipfs/QmW1z9g4BBXuWQNWDo3SWoPtJbHVD7QtVnAEiHEdofD6mY\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]},\"src/utils/MarketUtils.sol\":{\"keccak256\":\"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da\",\"dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY\"]},\"src/utils/structs/MarketConfig.sol\":{\"keccak256\":\"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369\",\"dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"ContractMintLimitSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"minimum","type":"uint256","indexed":false},{"internalType":"uint256","name":"endTimestamp","type":"uint256","indexed":false}],"type":"event","name":"ContractStakingMinimumSet","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"ContractTxLimitSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenIdStart","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenIdEnd","type":"uint256","indexed":false},{"internalType":"address","name":"_currency","type":"address","indexed":false},{"internalType":"uint256","name":"_price","type":"uint256","indexed":false}],"type":"event","name":"MintDirectSale","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_currency","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"uint256","name":"_price","type":"uint256","indexed":false},{"internalType":"uint256","name":"_startTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_maxMints","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"PrepareMintDirectSale","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32","indexed":true},{"internalType":"uint256","name":"_endTimestamp","type":"uint256","indexed":false},{"internalType":"address","name":"_contractAddress","type":"address","indexed":true}],"type":"event","name":"SetContractAllowListConfig","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractAllowListConfig","outputs":[{"internalType":"struct IRareMinter.AllowListConfig","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractMintLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getContractMintsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractSellerStakingMinimum","outputs":[{"internalType":"struct IRareMinter.StakingMinimum","name":"","type":"tuple","components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"endTimestamp","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getContractTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getContractTxsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getDirectSaleConfig","outputs":[{"internalType":"struct IRareMinter.DirectSaleConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"maxMints","type":"uint256"},{"internalType":"address payable[]","name":"splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}]}]},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint8","name":"_numMints","type":"uint8"},{"internalType":"bytes32[]","name":"_proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"mintDirectSale"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_maxMints","type":"uint256"},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"prepareMintDirectSale"},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_approvedTokenRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setApprovedTokenRegistry"},{"inputs":[{"internalType":"bytes32","name":"_root","type":"bytes32"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"},{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setContractAllowListConfig"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractMintLimit"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_minimum","type":"uint256"},{"internalType":"uint256","name":"_endTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractSellerStakingMinimum"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setContractTxLimit"},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceSettings"},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkBeneficiary"},{"inputs":[{"internalType":"address","name":"_payments","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPayments"},{"inputs":[{"internalType":"address","name":"_royaltyEngine","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyEngine"},{"inputs":[{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorRegistry"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getContractAllowListConfig(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"AllowListConfig The allow list config"}},"getContractMintLimit(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The mint limit"}},"getContractMintsPerAddress(address,address)":{"params":{"_address":"address The address of the account to get the mints for","_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The number of mints"}},"getContractSellerStakingMinimum(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"StakingMinimum The staking minimum"}},"getContractTxLimit(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The tx limit"}},"getContractTxsPerAddress(address,address)":{"params":{"_address":"address The address of the account to get the txs for","_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"uint256 The number of txs"}},"getDirectSaleConfig(address)":{"params":{"_contractAddress":"address The address of the ERC721 contract"},"returns":{"_0":"DirectSaleConfig The direct sale config"}},"mintDirectSale(address,address,uint256,uint8,bytes32[])":{"params":{"_contractAddress":"address The address of the ERC721 contract","_currencyAddress":"address The address of the currency","_numMints":"uint8 The number of tokens to be minted","_price":"uint256 The price to mint","_proof":"bytes32[] The merkle proof for the allowlist if applicable, otherwise empty array"}},"owner()":{"details":"Returns the address of the current owner."},"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":{"params":{"_contractAddress":"address The address of the ERC721 contract","_currencyAddress":"address The address of the currency to accept","_maxMints":"uint256 The max number of tokens to mint per transaction","_price":"uint256 The price to mint each token","_splitRatios":"uint8[] The ratios to split the sale with","_splitRecipients":"address payable[] The addresses to split the sale with"}},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setContractAllowListConfig(bytes32,uint256,address)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_endTimestamp":"uint256 The timestamp when the allow list ends","_root":"bytes32 The root of the merkle tree"}},"setContractMintLimit(address,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_limit":"uint256 The limit to set"}},"setContractSellerStakingMinimum(address,uint256,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_endTimestamp":"uint256 The timestamp when the minimum ends","_minimum":"uint256 The minimum to set"}},"setContractTxLimit(address,uint256)":{"params":{"_contractAddress":"address The address of the ERC721 contract","_limit":"uint256 The limit to set"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"getContractAllowListConfig(address)":{"notice":"Gets the allow list config for a contract"},"getContractMintLimit(address)":{"notice":"Gets the mint limit for a contract"},"getContractMintsPerAddress(address,address)":{"notice":"Gets the number of mints per address for a contract"},"getContractSellerStakingMinimum(address)":{"notice":"Gets the staking minimum for the seller of a mint for a contract"},"getContractTxLimit(address)":{"notice":"Gets the tx limit for a contract"},"getContractTxsPerAddress(address,address)":{"notice":"Gets the number of txs per address for a contract"},"getDirectSaleConfig(address)":{"notice":"Gets the direct sale config for a contract"},"mintDirectSale(address,address,uint256,uint8,bytes32[])":{"notice":"Mints a token to the buyer"},"prepareMintDirectSale(address,address,uint256,uint256,uint256,address[],uint8[])":{"notice":"Prepares a minting contract for direct sales"},"setContractAllowListConfig(bytes32,uint256,address)":{"notice":"Sets the allow list config for a contract"},"setContractMintLimit(address,uint256)":{"notice":"Sets the mint limit for a contract"},"setContractSellerStakingMinimum(address,uint256,uint256)":{"notice":"Sets the staking minimum for the seller of a mint for a contract"},"setContractTxLimit(address,uint256)":{"notice":"Sets the tx limit for a contract"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/collection/RareMinter.sol":"RareMinter"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/collection/IERC721Mint.sol":{"keccak256":"0x4bd1a75a49203d7fe98c9ad7fd39a3a2d73ae16853f989f770ed6e11bd2c1370","urls":["bzz-raw://fea6f1aa42268af276f3c63bdd8cd84f9c9f9ea7bb0910369c62bd06d7c9d47d","dweb:/ipfs/QmZ9jnaRgvZAZr5UFoMuh1dtSU1RbFjnE7zb9RGNc9fpWH"],"license":"MIT"},"src/collection/IRareMinter.sol":{"keccak256":"0x1186ab0626e92fe41cc1e0473953137aa7d3066dc9862f10f86ecb3b79f56406","urls":["bzz-raw://f2b5587bc0c25a8aaca77ba7f3d7cf769d39e60342fb7de9ca0196f564abc69b","dweb:/ipfs/QmSgHyabMp2WRTeCJjnZcMe8dBJAZGuN4NXWHLmDHEkPXm"],"license":"MIT"},"src/collection/RareMinter.sol":{"keccak256":"0xbd9798ffe4b945a301364f39862f5511cc9313549e1793b1be5f9b698e227189","urls":["bzz-raw://f69ca314b4af46bafa6a9eed47d3ffc51a68bca95607a62043066a49ef570324","dweb:/ipfs/QmW1z9g4BBXuWQNWDo3SWoPtJbHVD7QtVnAEiHEdofD6mY"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"},"src/utils/MarketUtils.sol":{"keccak256":"0xcffb924151286062619d08ceaf4d742c1c16111fad968864933bd3d05bec4875","urls":["bzz-raw://b5e831ffeeb02a8de81b65284f80e937fc5bb9ec6f39de60993e8b4ec24e23da","dweb:/ipfs/QmNuprBmoPbvvHMwTKAKkSLnnzw5j8X7yeXkYDu9cSWiHY"],"license":"MIT"},"src/utils/structs/MarketConfig.sol":{"keccak256":"0xb158a05edcb54b4a71d63db51d5f494576686aa7aa74688c5ae339dd085025f1","urls":["bzz-raw://6fb394a9a58e53d58a17b04d1d7f6bc6464766a522846d740aed4b07ab35d369","dweb:/ipfs/QmePsh5LE7FY4jws3tep5PzA2xDL4EmmAwbQKBxGzrLtR6"],"license":"MIT"}},"version":1},"id":169} \ No newline at end of file diff --git a/abis/RareSpaceNFT.json b/abis/RareSpaceNFT.json index f0c9fbd..b6f13c8 100644 --- a/abis/RareSpaceNFT.json +++ b/abis/RareSpaceNFT.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addToWhitelist","inputs":[{"name":"_newAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMintingAllowance","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initWhitelist","inputs":[{"name":"_creators","type":"address[]","internalType":"address[]"},{"name":"_numMints","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWhitelisted","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintingAllowance","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeFromWhitelist","inputs":[{"name":"_newAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiver","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleWhitelist","inputs":[{"name":"_enabled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateMintingAllowance","inputs":[{"name":"_newAddress","type":"address","internalType":"address"},{"name":"_newAllowance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"whitelistEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MintingAllowanceUpdated","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"},{"name":"_allowedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461002457610101805460ff19166001179055611f27908161002a8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461151c5750806306fdde0314611472578063081812fc14611452578063095ea7b3146112e25780631029f467146112b5578063139d8325146112955780631ef87a5d146111e757806323b872dd146111bd5780632a55205a1461112b5780632d13f7d8146111035780633403c4e9146110da5780633af32abf1461109c57806340c1a0641461106a57806342842e0e1461104157806342966c68146110245780634aa52c4114610cfd57806351fb012d14610cd85780636297c16c14610ca15780636352211e14610c705780636ee5741a1461081e57806370a0823114610788578063715018a61461072857806380e3f1ad146106ef57806381b97161146106b65780638ab1d681146106505780638da5cb5b1461062757806395d89b4114610542578063a22cb46514610477578063ab69607a14610458578063b88d4fde146103f3578063c87b56dd14610383578063e43252d714610318578063e5cff4871461028a578063e985e9c5146102385763f2fde38b146101a457600080fd5b34610234576020366003190112610234576101bd6115fc565b916101c661176e565b6001600160a01b038316156101e257836101df846117c6565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461028657806003193601126102865760ff816020936102586115fc565b610260611617565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5080fd5b50346102345781600319360112610234578035916102a6611617565b83855260c96020528185205490936001600160a01b03939091841633036102e75750845260fe602052832091166001600160601b0360a01b82541617905580f35b606490602084519162461bcd60e51b8352820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152fd5b505034610286576020366003190112610286577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e60206103566115fc565b61035e61176e565b6001600160a01b0316808552610100825283852060001990819055935193845292a280f35b50919034610286576020366003190112610286576103c26103bd6103ef9435600052609960205260018060a01b0360406000205416151590565b61180f565b8181516103ce816116a9565b528051916103db836116a9565b8252519182916020835260208301906115bc565b0390f35b8382346102865760803660031901126102865761040e6115fc565b610416611617565b9060643567ffffffffffffffff81116104545736602382011215610454576101df9381602461044a93369301359101611719565b9160443591611958565b8480fd5b50503461028657816003193601126102865760209060fd549051908152f35b5090346102345780600319360112610234576104916115fc565b9060243591821515809303610454576001600160a01b0316923384146105005750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b505034610286578160031936011261028657805190826098546105648161187e565b808552916001918083169081156105ff57506001146105a2575b505050610590826103ef9403836116db565b519182916020835260208301906115bc565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105e7575050506105908260206103ef958201019461057e565b805460208787018101919091529095019481016105ca565b6103ef97508693506020925061059094915060ff191682840152151560051b8201019461057e565b50503461028657816003193601126102865760335490516001600160a01b039091168152602090f35b505034610286576020366003190112610286577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e602061068e6115fc565b61069661176e565b6001600160a01b031680855261010082528385208590559251848152a280f35b5050346102865760203660031901126102865760209181906001600160a01b036106de6115fc565b168152610100845220549051908152f35b83823461028657602036600319011261028657358015158091036102865761071561176e565b6101019060ff8019835416911617905580f35b833461078557806003193601126107855761074161176e565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50829034610286576020366003190112610286576001600160a01b036107ac6115fc565b169081156107c9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5090346102345760603660031901126102345767ffffffffffffffff918035838111610454576108519036908301611750565b602435848111610c6c576108689036908401611750565b9361087161162d565b9186549560ff8760081c161594858096610c5f575b8015610c48575b15610bee57600197868960ff198316178b55610bdd575b506001600160a01b03851615610bd957600a610104556108d360ff8a5460081c166108ce81611d85565b611d85565b8251848111610bc657806108e860975461187e565b94601f95868111610b58575b50602090868311600114610ad9578c92610ace575b5050600019600383901b1c191690891b176097555b8151938411610abb575061093360985461187e565b828111610a58575b5060209183116001146109d4576109889392918891836109c9575b5050600019600383901b1c191690861b176098555b61097b60ff875460081c16611d85565b61098361176e565b6117c6565b610990578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610956565b60988852929186917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81490601f1983168a5b818110610a40575095836109889710610a27575b505050811b0160985561096b565b015160001960f88460031b161c19169055388080610a19565b8288015184558a959093019260209283019201610a05565b609889527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610ab2575b0160051c019088905b828110610aa757505061093b565b8a8155018890610a99565b92508192610a90565b634e487b7160e01b895260419052602488fd5b015190503880610909565b60978d528b93507f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff99190601f1984168e5b818110610b4057508411610b27575b505050811b0160975561091e565b015160001960f88460031b161c19169055388080610b19565b8284015185558e969094019360209384019301610b0a565b90915060978c527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610bbd575b918d91869594930160051c01915b828110610baf5750506108f4565b8e81558594508d9101610ba1565b92508192610b93565b634e487b7160e01b8a526041825260248afd5b8880fd5b61ffff1916610101178955386108a4565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561088d5750600160ff89161461088d565b50600160ff891610610886565b8580fd5b5091346107855760203660031901126107855750610c906020923561185b565b90516001600160a01b039091168152f35b8382346102865760203660031901126102865735610cbe8161185b565b336001600160a01b0390911603610286576101df90611ced565b50503461028657816003193601126102865760209060ff610101541690519015158152f35b50903461023457606036600319011261023457813567ffffffffffffffff8082116104545736602383011215610454578184013590808211610c6c573660248385010111610c6c57610d4d611617565b90610d5661162d565b9060019485610d6433611ec2565b10610bd957610d7c9061010454956024369201611719565b9261010393610d8b8554611de5565b808655966001600160a01b03928316938415610fe157600089815260996020526040902054610dc6906001600160a01b031615155b15611e30565b600089815260996020526040902054610de9906001600160a01b03161515610dc0565b848c52602098609a8a528a8d20838154019055808d5260998a528a8d20956001600160601b0360a01b9681888254161790558d7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a486548c526101028952898c20928051918211610fce578c8a610e62865461187e565b91601f8311610f86575b9150505089908d601f8411600114610f255791839491849394610f1a575b50501b916000199060031b1c19161790555b8354895260c9865286892033838254161790558354895260fe865286892092169082541617905554855260ff82528285205560ff6101015416610edd578380f35b3384526101009081815282852054936000198501948511610f075750338552528220553880808380f35b634e487b7160e01b865260119052602485fd5b015192503880610e8a565b919083601f1981168785528d80862095905b88838310610f6e5750505010610f55575b505050811b019055610e9c565b015160001960f88460031b161c19169055388080610f48565b8686015188559096019594850194879350018e610f37565b86815220601f840160051c8101918c8510610fc4575b601f0160051c019084908f5b838210610fb95790508c9150610e6c565b81550184908f610fa8565b9091508190610f9c565b634e487b7160e01b8d5260418c5260248dfd5b895162461bcd60e51b81526020818d0181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606490fd5b838234610286576020366003190112610286576101df9035611ced565b505034610286576101df9061105536611674565b91925192611062846116a9565b858452611958565b50346102345760203660031901126102345735825260c96020908152918190205490516001600160a01b039091168152f35b505034610286576020366003190112610286576020916110c26110bd6115fc565b611ec2565b156110d457506001905b519015158152f35b906110cc565b50503461028657816003193601126102865760fc5490516001600160a01b039091168152602090f35b505034610286576020366003190112610286576020906111246110bd6115fc565b9051908152f35b5091346107855781600319360112610785578235815260fe60205281812054602435906001600160a01b0390811680156111b157925b60ff6020528481205480156111a757925b8381029381850414901517156111945750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fd5492611172565b508060fc541692611161565b8334610785576101df6111cf36611674565b916111e26111dd84336119f3565b6118f6565b611abb565b509034610234573660031901126102865767ffffffffffffffff8135818111611291576112179036908401611643565b9190926024359182116104545761123091369101611643565b9161123961176e565b82810361045457845b81811061124d578580f35b611258818387611e0a565b35906001600160a01b038216820361128d576112836112889261127c838888611e0a565b3590611e7c565b611de5565b611242565b8680fd5b8380fd5b505034610286578160031936011261028657602090610104549051908152f35b50503461028657366003190112610785576101df6112d16115fc565b6112d961176e565b60243590611e7c565b50346102345781600319360112610234576112fb6115fc565b6024359290916001600160a01b03919082806113168761185b565b16941693808514611405578033149081156113e6575b501561137e5750838552609b602052842080546001600160a01b031916831790556113568361185b565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861132c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346107855760203660031901126107855750610c90602092356118b8565b505034610286578160031936011261028657805190826097546114948161187e565b808552916001918083169081156105ff57506001146114bf57505050610590826103ef9403836116db565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611504575050506105908260206103ef958201019461057e565b805460208787018101919091529095019481016114e7565b92505034610234576020366003190112610234573563ffffffff60e01b81168091036102345760209250631030681960e21b811490811561155f575b5015158152f35b63152a902d60e11b811491508115611579575b5038611558565b6380ac58cd60e01b8114915081156115ab575b811561159a575b5038611572565b6301ffc9a760e01b14905038611593565b635b5e139f60e01b8114915061158c565b919082519283825260005b8481106115e8575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016115c7565b600435906001600160a01b038216820361161257565b600080fd5b602435906001600160a01b038216820361161257565b604435906001600160a01b038216820361161257565b9181601f840112156116125782359167ffffffffffffffff8311611612576020808501948460051b01011161161257565b6060906003190112611612576001600160a01b0390600435828116810361161257916024359081168103611612579060443590565b6020810190811067ffffffffffffffff8211176116c557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176116c557604052565b67ffffffffffffffff81116116c557601f01601f191660200190565b929192611725826116fd565b9161173360405193846116db565b829481845281830111611612578281602093846000960137010152565b9080601f830112156116125781602061176b93359101611719565b90565b6033546001600160a01b0316330361178257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561181657565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661176b81151561180f565b90600182811c921680156118ae575b602083101461189857565b634e487b7160e01b600052602260045260246000fd5b91607f169161188d565b6000818152609960205260409020546118db906001600160a01b0316151561180f565b6000908152609b60205260409020546001600160a01b031690565b156118fd57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061197c93929161196c6111dd84336119f3565b611977838383611abb565b611bcc565b1561198357565b60405162461bcd60e51b81528061199c600482016119a0565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b038080611a078461185b565b16931691838314938415611a3a575b508315611a24575b50505090565b611a30919293506118b8565b1614388080611a1e565b909350600052609c60205260406000208260005260205260ff604060002054169238611a16565b15611a6857565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611ae391611ac98461185b565b6001600160a01b0393918416928492909183168414611a61565b16918215611b7b5781611b0091611af98661185b565b1614611a61565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15611ce257948491611c269660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906115bc565b0393165af1849181611ca2575b50611c91575050503d600014611c89573d611c4d816116fd565b90611c5b60405192836116db565b81528091833d92013e5b80519182611c865760405162461bcd60e51b81528061199c600482016119a0565b01fd5b506060611c65565b6001600160e01b0319161492509050565b9091508581813d8311611cdb575b611cba81836116db565b8101031261045457516001600160e01b031981168103610454579038611c33565b503d611cb0565b505050915050600190565b611cfa6111dd82336119f3565b611d038161185b565b50611d0d8161185b565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b15611d8c57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6000198114611df45760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015611e1a5760051b0190565b634e487b7160e01b600052603260045260246000fd5b15611e3757565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b60207fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e9160018060a01b03169283600052610100825280604060002055604051908152a2565b6101015460ff1615611eea576001600160a01b03166000908152610100602052604090205490565b506000199056fea2646970667358221220abaf90842bb9529d01f39b83875ff572a62f874ba2707bbc52ea0dfacf97bede64736f6c63430008120033","sourceMap":"778:3244:208:-:0;;;;;;;235:4:216;778:3244:208;;-1:-1:-1;;778:3244:208;235:4:216;778:3244:208;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461151c5750806306fdde0314611472578063081812fc14611452578063095ea7b3146112e25780631029f467146112b5578063139d8325146112955780631ef87a5d146111e757806323b872dd146111bd5780632a55205a1461112b5780632d13f7d8146111035780633403c4e9146110da5780633af32abf1461109c57806340c1a0641461106a57806342842e0e1461104157806342966c68146110245780634aa52c4114610cfd57806351fb012d14610cd85780636297c16c14610ca15780636352211e14610c705780636ee5741a1461081e57806370a0823114610788578063715018a61461072857806380e3f1ad146106ef57806381b97161146106b65780638ab1d681146106505780638da5cb5b1461062757806395d89b4114610542578063a22cb46514610477578063ab69607a14610458578063b88d4fde146103f3578063c87b56dd14610383578063e43252d714610318578063e5cff4871461028a578063e985e9c5146102385763f2fde38b146101a457600080fd5b34610234576020366003190112610234576101bd6115fc565b916101c661176e565b6001600160a01b038316156101e257836101df846117c6565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461028657806003193601126102865760ff816020936102586115fc565b610260611617565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5080fd5b50346102345781600319360112610234578035916102a6611617565b83855260c96020528185205490936001600160a01b03939091841633036102e75750845260fe602052832091166001600160601b0360a01b82541617905580f35b606490602084519162461bcd60e51b8352820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152fd5b505034610286576020366003190112610286577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e60206103566115fc565b61035e61176e565b6001600160a01b0316808552610100825283852060001990819055935193845292a280f35b50919034610286576020366003190112610286576103c26103bd6103ef9435600052609960205260018060a01b0360406000205416151590565b61180f565b8181516103ce816116a9565b528051916103db836116a9565b8252519182916020835260208301906115bc565b0390f35b8382346102865760803660031901126102865761040e6115fc565b610416611617565b9060643567ffffffffffffffff81116104545736602382011215610454576101df9381602461044a93369301359101611719565b9160443591611958565b8480fd5b50503461028657816003193601126102865760209060fd549051908152f35b5090346102345780600319360112610234576104916115fc565b9060243591821515809303610454576001600160a01b0316923384146105005750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b505034610286578160031936011261028657805190826098546105648161187e565b808552916001918083169081156105ff57506001146105a2575b505050610590826103ef9403836116db565b519182916020835260208301906115bc565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105e7575050506105908260206103ef958201019461057e565b805460208787018101919091529095019481016105ca565b6103ef97508693506020925061059094915060ff191682840152151560051b8201019461057e565b50503461028657816003193601126102865760335490516001600160a01b039091168152602090f35b505034610286576020366003190112610286577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e602061068e6115fc565b61069661176e565b6001600160a01b031680855261010082528385208590559251848152a280f35b5050346102865760203660031901126102865760209181906001600160a01b036106de6115fc565b168152610100845220549051908152f35b83823461028657602036600319011261028657358015158091036102865761071561176e565b6101019060ff8019835416911617905580f35b833461078557806003193601126107855761074161176e565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50829034610286576020366003190112610286576001600160a01b036107ac6115fc565b169081156107c9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5090346102345760603660031901126102345767ffffffffffffffff918035838111610454576108519036908301611750565b602435848111610c6c576108689036908401611750565b9361087161162d565b9186549560ff8760081c161594858096610c5f575b8015610c48575b15610bee57600197868960ff198316178b55610bdd575b506001600160a01b03851615610bd957600a610104556108d360ff8a5460081c166108ce81611d85565b611d85565b8251848111610bc657806108e860975461187e565b94601f95868111610b58575b50602090868311600114610ad9578c92610ace575b5050600019600383901b1c191690891b176097555b8151938411610abb575061093360985461187e565b828111610a58575b5060209183116001146109d4576109889392918891836109c9575b5050600019600383901b1c191690861b176098555b61097b60ff875460081c16611d85565b61098361176e565b6117c6565b610990578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610956565b60988852929186917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81490601f1983168a5b818110610a40575095836109889710610a27575b505050811b0160985561096b565b015160001960f88460031b161c19169055388080610a19565b8288015184558a959093019260209283019201610a05565b609889527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610ab2575b0160051c019088905b828110610aa757505061093b565b8a8155018890610a99565b92508192610a90565b634e487b7160e01b895260419052602488fd5b015190503880610909565b60978d528b93507f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff99190601f1984168e5b818110610b4057508411610b27575b505050811b0160975561091e565b015160001960f88460031b161c19169055388080610b19565b8284015185558e969094019360209384019301610b0a565b90915060978c527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610bbd575b918d91869594930160051c01915b828110610baf5750506108f4565b8e81558594508d9101610ba1565b92508192610b93565b634e487b7160e01b8a526041825260248afd5b8880fd5b61ffff1916610101178955386108a4565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561088d5750600160ff89161461088d565b50600160ff891610610886565b8580fd5b5091346107855760203660031901126107855750610c906020923561185b565b90516001600160a01b039091168152f35b8382346102865760203660031901126102865735610cbe8161185b565b336001600160a01b0390911603610286576101df90611ced565b50503461028657816003193601126102865760209060ff610101541690519015158152f35b50903461023457606036600319011261023457813567ffffffffffffffff8082116104545736602383011215610454578184013590808211610c6c573660248385010111610c6c57610d4d611617565b90610d5661162d565b9060019485610d6433611ec2565b10610bd957610d7c9061010454956024369201611719565b9261010393610d8b8554611de5565b808655966001600160a01b03928316938415610fe157600089815260996020526040902054610dc6906001600160a01b031615155b15611e30565b600089815260996020526040902054610de9906001600160a01b03161515610dc0565b848c52602098609a8a528a8d20838154019055808d5260998a528a8d20956001600160601b0360a01b9681888254161790558d7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a486548c526101028952898c20928051918211610fce578c8a610e62865461187e565b91601f8311610f86575b9150505089908d601f8411600114610f255791839491849394610f1a575b50501b916000199060031b1c19161790555b8354895260c9865286892033838254161790558354895260fe865286892092169082541617905554855260ff82528285205560ff6101015416610edd578380f35b3384526101009081815282852054936000198501948511610f075750338552528220553880808380f35b634e487b7160e01b865260119052602485fd5b015192503880610e8a565b919083601f1981168785528d80862095905b88838310610f6e5750505010610f55575b505050811b019055610e9c565b015160001960f88460031b161c19169055388080610f48565b8686015188559096019594850194879350018e610f37565b86815220601f840160051c8101918c8510610fc4575b601f0160051c019084908f5b838210610fb95790508c9150610e6c565b81550184908f610fa8565b9091508190610f9c565b634e487b7160e01b8d5260418c5260248dfd5b895162461bcd60e51b81526020818d0181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606490fd5b838234610286576020366003190112610286576101df9035611ced565b505034610286576101df9061105536611674565b91925192611062846116a9565b858452611958565b50346102345760203660031901126102345735825260c96020908152918190205490516001600160a01b039091168152f35b505034610286576020366003190112610286576020916110c26110bd6115fc565b611ec2565b156110d457506001905b519015158152f35b906110cc565b50503461028657816003193601126102865760fc5490516001600160a01b039091168152602090f35b505034610286576020366003190112610286576020906111246110bd6115fc565b9051908152f35b5091346107855781600319360112610785578235815260fe60205281812054602435906001600160a01b0390811680156111b157925b60ff6020528481205480156111a757925b8381029381850414901517156111945750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fd5492611172565b508060fc541692611161565b8334610785576101df6111cf36611674565b916111e26111dd84336119f3565b6118f6565b611abb565b509034610234573660031901126102865767ffffffffffffffff8135818111611291576112179036908401611643565b9190926024359182116104545761123091369101611643565b9161123961176e565b82810361045457845b81811061124d578580f35b611258818387611e0a565b35906001600160a01b038216820361128d576112836112889261127c838888611e0a565b3590611e7c565b611de5565b611242565b8680fd5b8380fd5b505034610286578160031936011261028657602090610104549051908152f35b50503461028657366003190112610785576101df6112d16115fc565b6112d961176e565b60243590611e7c565b50346102345781600319360112610234576112fb6115fc565b6024359290916001600160a01b03919082806113168761185b565b16941693808514611405578033149081156113e6575b501561137e5750838552609b602052842080546001600160a01b031916831790556113568361185b565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861132c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346107855760203660031901126107855750610c90602092356118b8565b505034610286578160031936011261028657805190826097546114948161187e565b808552916001918083169081156105ff57506001146114bf57505050610590826103ef9403836116db565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611504575050506105908260206103ef958201019461057e565b805460208787018101919091529095019481016114e7565b92505034610234576020366003190112610234573563ffffffff60e01b81168091036102345760209250631030681960e21b811490811561155f575b5015158152f35b63152a902d60e11b811491508115611579575b5038611558565b6380ac58cd60e01b8114915081156115ab575b811561159a575b5038611572565b6301ffc9a760e01b14905038611593565b635b5e139f60e01b8114915061158c565b919082519283825260005b8481106115e8575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016115c7565b600435906001600160a01b038216820361161257565b600080fd5b602435906001600160a01b038216820361161257565b604435906001600160a01b038216820361161257565b9181601f840112156116125782359167ffffffffffffffff8311611612576020808501948460051b01011161161257565b6060906003190112611612576001600160a01b0390600435828116810361161257916024359081168103611612579060443590565b6020810190811067ffffffffffffffff8211176116c557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176116c557604052565b67ffffffffffffffff81116116c557601f01601f191660200190565b929192611725826116fd565b9161173360405193846116db565b829481845281830111611612578281602093846000960137010152565b9080601f830112156116125781602061176b93359101611719565b90565b6033546001600160a01b0316330361178257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561181657565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661176b81151561180f565b90600182811c921680156118ae575b602083101461189857565b634e487b7160e01b600052602260045260246000fd5b91607f169161188d565b6000818152609960205260409020546118db906001600160a01b0316151561180f565b6000908152609b60205260409020546001600160a01b031690565b156118fd57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061197c93929161196c6111dd84336119f3565b611977838383611abb565b611bcc565b1561198357565b60405162461bcd60e51b81528061199c600482016119a0565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b038080611a078461185b565b16931691838314938415611a3a575b508315611a24575b50505090565b611a30919293506118b8565b1614388080611a1e565b909350600052609c60205260406000208260005260205260ff604060002054169238611a16565b15611a6857565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611ae391611ac98461185b565b6001600160a01b0393918416928492909183168414611a61565b16918215611b7b5781611b0091611af98661185b565b1614611a61565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15611ce257948491611c269660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906115bc565b0393165af1849181611ca2575b50611c91575050503d600014611c89573d611c4d816116fd565b90611c5b60405192836116db565b81528091833d92013e5b80519182611c865760405162461bcd60e51b81528061199c600482016119a0565b01fd5b506060611c65565b6001600160e01b0319161492509050565b9091508581813d8311611cdb575b611cba81836116db565b8101031261045457516001600160e01b031981168103610454579038611c33565b503d611cb0565b505050915050600190565b611cfa6111dd82336119f3565b611d038161185b565b50611d0d8161185b565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b15611d8c57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6000198114611df45760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015611e1a5760051b0190565b634e487b7160e01b600052603260045260246000fd5b15611e3757565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b60207fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e9160018060a01b03169283600052610100825280604060002055604051908152a2565b6101015460ff1615611eea576001600160a01b03166000908152610100602052604090205490565b506000199056fea2646970667358221220abaf90842bb9529d01f39b83875ff572a62f874ba2707bbc52ea0dfacf97bede64736f6c63430008120033","sourceMap":"778:3244:208:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;778:3244:208;;2402:22:39;778:3244:208;;2496:8:39;;;;:::i;:::-;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;778:3244:208;;;;;4980:18:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;413:14:215;778:3244:208;;;;;;;;-1:-1:-1;;;;;778:3244:208;;;;;3321:10;:36;778:3244;;;;;1639:16:212;778:3244:208;;;;;;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;722:49:216;778:3244:208;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;778:3244:208;;;;1934:16:216;778:3244:208;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;722:49:216;778:3244:208;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;13851:53:58;13859:16;778:3244:208;;;-1:-1:-1;778:3244:208;7266:7:58;778:3244:208;;;;;;;;-1:-1:-1;778:3244:208;;;7680:31:58;;7592:126;;13859:16;13851:53;:::i;:::-;778:3244:208;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;2453:24:212;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;778:3244:208;;929:10:65;13528:17:58;;778:3244:208;;929:10:65;;778:3244:208;;13585:18:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:58;778:3244:208;929:10:65;13646:41:58;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:58;778:3244:208;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;778:3244:208;;;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;908:39:216;778:3244:208;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;778:3244:208;;;;1934:16:216;778:3244:208;;;;;;;;;;;;;908:39:216;778:3244:208;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;-1:-1:-1;;;;;778:3244:208;;:::i;:::-;;;;146:51:216;778:3244:208;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;;;;1303:62:39;;:::i;:::-;553:27:216;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;778:3244:208;;-1:-1:-1;;;;;;778:3244:208;;;;;;;-1:-1:-1;;;;;778:3244:208;2806:40:39;778:3244:208;;2806:40:39;778:3244:208;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;-1:-1:-1;;;;;778:3244:208;;:::i;:::-;;2489:19:58;;;778:3244:208;;;;;;;;;2571:9:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;3301:14:45;3347:34;;;;;;778:3244:208;3346:108:45;;;;778:3244:208;;;;3551:1:45;778:3244:208;;;;;;;;;;3562:65:45;;778:3244:208;-1:-1:-1;;;;;;778:3244:208;;1332:23;778:3244;;1393:2;1366:29;778:3244;5366:69:45;778:3244:208;;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;778:3244:208;;;;;;;;;1873:13:58;778:3244:208;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;778:3244:208;;;;;;;;;;;1873:13:58;778:3244:208;;;;;;;;;;;1896:17:58;778:3244:208;;:::i;:::-;;;;;;;;;;;;;;;;2496:8:39;;778:3244:208;;;;;;;;-1:-1:-1;;;;778:3244:208;;;;;;;;;;;1896:17:58;778:3244:208;;5366:69:45;778:3244:208;;;;;;5366:69:45;:::i;:::-;1303:62:39;;:::i;:::-;2496:8;:::i;:::-;3647:99:45;;778:3244:208;;;3647:99:45;778:3244:208;;-1:-1:-1;;778:3244:208;;;;;;;3721:14:45;;778:3244:208;;3721:14:45;3647:99;;778:3244:208;;;;;;;-1:-1:-1;778:3244:208;;;;;1896:17:58;778:3244:208;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;;;2496:8:39;778:3244:208;;;;;;;;;;;1896:17:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;-1:-1:-1;778:3244:208;;;;;1873:13:58;778:3244:208;;;;-1:-1:-1;778:3244:208;;;-1:-1:-1;;778:3244:208;;;;;;;;;;;-1:-1:-1;778:3244:208;;;;;;;;;1873:13:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;778:3244:208;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;3562:65:45;-1:-1:-1;;778:3244:208;;;;;3562:65:45;;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;778:3244:208;3452:1:45;778:3244:208;;;3436:17:45;3346:108;;3347:34;778:3244:208;3380:1:45;778:3244:208;;;3365:16:45;3347:34;;778:3244:208;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;1578:17;;;:::i;:::-;1599:10;-1:-1:-1;;;;;778:3244:208;;;1578:31;778:3244;;3207:8;;;:::i;778:3244::-;;;;;;;;;;;;;;;;;204:35:216;778:3244:208;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;2938:1;;2926:10;;426:29:216;2926:10:208;426:29:216;:::i;:::-;:42;778:3244:208;;;;3042:24;778:3244;;;;;;;:::i;:::-;3652:16;;778:3244;3652:16;778:3244;;3652:16;:::i;:::-;778:3244;;;;-1:-1:-1;;;;;778:3244:208;;;;9487:16:58;;778:3244:208;;-1:-1:-1;778:3244:208;;;7266:7:58;778:3244:208;;;;;;9550:58:58;;-1:-1:-1;;;;;778:3244:208;7680:31:58;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;778:3244:208;;;7266:7:58;778:3244:208;;;;;;9754:58:58;;-1:-1:-1;;;;;778:3244:208;7680:31:58;;9763:16;7592:126;9754:58;778:3244:208;;;;;10154:9:58;778:3244:208;;;;;;;;;;;;;;10193:7:58;778:3244:208;;;;;;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;10230:33:58;;;;;778:3244:208;;;;3720:9;778:3244;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;532:14:215;778:3244:208;;;;;2926:10;778:3244;;;;;;;;;;;1639:16:212;778:3244:208;;;;;;;;;;;;;;;;;1794:18:212;778:3244:208;;;;;;1794:18:212;1677:16:216;778:3244:208;;1673:147:216;;778:3244:208;;;1673:147:216;2926:10:208;778:3244;;1729:16:216;778:3244:208;;;;;;;;;;;;;;;;;;2926:10;;778:3244;;;;;;1673:147:216;;;778:3244:208;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;-1:-1:-1;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;778:3244:208;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;:::i;:::-;;;;;;5549:39:58;778:3244:208;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5549:39:58;:::i;778:3244:208:-;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;413:14:215;778:3244:208;;;;;;;;;;;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;1539:29:216;778:3244:208;;:::i;:::-;1539:29:216;:::i;:::-;:34;:49;;;1576:4;1539:49;;778:3244:208;;;;;;;1539:49:216;;;;778:3244:208;;;;;;;;;;;;;;2332:22:212;778:3244:208;;;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:212;778:3244:208;;;;;;;;;-1:-1:-1;;;;;778:3244:208;;;1049:40:212;;778:3244:208;;1049:118:212;;1238:18;778:3244:208;;;;;;1238:33:212;;;;:131;;778:3244:208;;;;;;;;;;;;;;-1:-1:-1;778:3244:208;;;;;;1401:3:212;778:3244:208;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;1238:131:212;778:3244:208;1345:24:212;778:3244:208;1238:131:212;;;1049:118;778:3244:208;;1145:22:212;778:3244:208;;1049:118:212;;;778:3244:208;;;;;5365:7:58;778:3244:208;;;:::i;:::-;929:10:65;5235:99:58;5243:41;929:10:65;;5243:41:58;:::i;:::-;5235:99;:::i;:::-;5365:7;:::i;778:3244:208:-;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;2076:36:208;;;778:3244;;2129:13;2144:20;;;;;;778:3244;;;2166:3;2209:12;;;;;:::i;:::-;778:3244;;-1:-1:-1;;;;;778:3244:208;;;;;;2223:12;2166:3;2223:12;;;;;;:::i;:::-;778:3244;2223:12;;:::i;:::-;2166:3;:::i;:::-;2129:13;;778:3244;;;;;;;;;;;;;;;;;;;;;;;;1142:39;778:3244;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;2769:13;778:3244;;:::i;:::-;1303:62:39;;:::i;:::-;778:3244:208;;2769:13;;:::i;778:3244::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;778:3244:208;;;;4025:34:58;778:3244:208;4025:34:58;:::i;:::-;778:3244:208;;;4077:11:58;;;;778:3244:208;;929:10:65;;4158:21:58;:62;;;;;778:3244:208;;;;;-1:-1:-1;778:3244:208;;;13173:15:58;778:3244:208;;;;;;-1:-1:-1;;;;;;778:3244:208;;;;;13226:34:58;778:3244:208;13226:34:58;:::i;:::-;778:3244:208;13217:57:58;;;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:62:58;778:3244:208;;;;4980:18:58;778:3244:208;;;;;929:10:65;778:3244:208;;;;;;;;;;4158:62:58;;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:58;778:3244:208;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1856:25:208;;;:65;;;;778:3244;;;;;;;1856:65;-1:-1:-1;;;2013:41:212;;;-1:-1:-1;2013:93:212;;;;1856:65:208;;;;;2013:93:212;-1:-1:-1;;;2146:51:58;;;-1:-1:-1;2146:126:58;;;;2013:93:212;2146:178:58;;;;2013:93:212;;;;;2146:178:58;-1:-1:-1;;;1168:51:69;;-1:-1:-1;2146:178:58;;;:126;-1:-1:-1;;;2213:59:58;;;-1:-1:-1;2146:126:58;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;778:3244:208;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;778:3244:208;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;778:3244:208;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;778:3244:208;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;778:3244:208;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;1599:130:39:-;1513:6;778:3244:208;-1:-1:-1;;;;;778:3244:208;929:10:65;1662:23:39;778:3244:208;;1599:130:39:o;778:3244:208:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;778:3244:208;;-1:-1:-1;;;;;778:3244:208;;;-1:-1:-1;;;;;;778:3244:208;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;778:3244:208:-;;;;:::o;:::-;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;;;;;;;;2651:219:58;-1:-1:-1;778:3244:208;;;7266:7:58;778:3244:208;;;;;;-1:-1:-1;;;;;778:3244:208;2785:56:58;2793:19;;;2785:56;:::i;778:3244:208:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;4407:167:58;-1:-1:-1;778:3244:208;;;7266:7:58;778:3244:208;;;;;;13851:53:58;;-1:-1:-1;;;;;778:3244:208;7680:31:58;;13851:53;:::i;:::-;-1:-1:-1;778:3244:208;;;4543:15:58;778:3244:208;;;;;;-1:-1:-1;;;;;778:3244:208;;4407:167:58:o;778:3244:208:-;;;;:::o;:::-;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;5661:276:58;;6956:47;5661:276;;;5783:99;5791:41;929:10:65;;5791:41:58;:::i;5783:99::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;778:3244:208;;;5661:276:58:o;778:3244:208:-;;;-1:-1:-1;;;778:3244:208;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;:::o;7876:272:58:-;;-1:-1:-1;;;;;778:3244:208;;8001:34:58;7876:272;8001:34;:::i;:::-;778:3244:208;;;8053:16:58;;;;:52;;;;;7876:272;8053:87;;;;;7876:272;8045:96;;;7876:272;:::o;8053:87::-;8109:20;;;;;;:::i;:::-;778:3244:208;8109:31:58;8053:87;;;;;:52;778:3244:208;;;-1:-1:-1;778:3244:208;4980:18:58;778:3244:208;;;-1:-1:-1;778:3244:208;;-1:-1:-1;778:3244:208;;;;;-1:-1:-1;778:3244:208;;;8053:52:58;;;;778:3244:208;;;;:::o;:::-;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;11762:1225:58;;11851:92;11762:1225;11859:34;;;:::i;:::-;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;11859:42:58;;11851:92;:::i;:::-;778:3244:208;11961:16:58;;;778:3244:208;;12171:34:58;12163:92;12171:34;;;;:::i;:::-;778:3244:208;12171:42:58;12163:92;:::i;:::-;12901:27;11975:1;778:3244:208;;;12324:15:58;778:3244:208;;;;;-1:-1:-1;;;;;778:3244:208;;;;;;;;;;;;12792:9:58;778:3244:208;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:58;778:3244:208;;;;;;;;;;;;;12901:27:58;;11762:1225::o;778:3244:208:-;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;14463:853:58;;;778:3244:208;;14463:853:58;;;1713:19:63;;:23;:19;;778:3244:208;;;;;;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;778:3244:208;;;;;;;;;;;;;;;;;;;;;;14667:82:58;;778:3244:208;;;;;;;;:::i;:::-;14667:82:58;778:3244:208;;14667:82:58;;;;;;;14628:682;-1:-1:-1;14663:595:58;;14877:381;;;778:3244:208;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:58;;;778:3244:208;;-1:-1:-1;;;14969:60:58;;778:3244:208;14969:60:58;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;778:3244:208;;;;;14663:595:58;-1:-1:-1;;;;;;778:3244:208;14799:62:58;;-1:-1:-1;778:3244:208;-1:-1:-1;14792:69:58:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;778:3244:208;;;;;-1:-1:-1;;;;;;778:3244:208;;;;;;14667:82:58;;;;;;;;;14628:682;15288:11;;;;;;15295:4;15288:11;:::o;803:238:61:-;911:99;919:41;929:10:65;;919:41:61;:::i;911:99::-;10729:34:58;;;:::i;:::-;;10935;;;:::i;:::-;11007:31;778:3244:208;;;11014:15:58;778:3244:208;;;;;;;;;;-1:-1:-1;;;;;;778:3244:208;;;;;;-1:-1:-1;;;;;778:3244:208;;;;;;11254:9:58;778:3244:208;;;;;;;-1:-1:-1;;778:3244:208;;;;;;11302:7:58;778:3244:208;;;;;;;;;;;;;11007:31:58;11334:36;11007:31;;11334:36;803:238:61:o;778:3244:208:-;;;;:::o;:::-;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3244:208;;;;;;;;-1:-1:-1;;778:3244:208;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;778:3244:208;;;;;;;;;;;;;;;;;;;;960:232:216;778:3244:208;1134:51:216;960:232;778:3244:208;;;;;;;;-1:-1:-1;778:3244:208;1934:16:216;778:3244:208;;;;-1:-1:-1;778:3244:208;;;;;;;1134:51:216;960:232::o;1198:250::-;1317:16;778:3244:208;;;;;;-1:-1:-1;;;;;778:3244:208;-1:-1:-1;778:3244:208;;;1356:16:216;778:3244:208;;;;;;;1349:33:216:o;1313:129::-;-1:-1:-1;;;778:3244:208;1413:18:216:o","linkReferences":{}},"methodIdentifiers":{"addToWhitelist(address)":"e43252d7","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","defaultRoyaltyPercentage()":"139d8325","deleteToken(uint256)":"6297c16c","getApproved(uint256)":"081812fc","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getMintingAllowance(address)":"2d13f7d8","init(string,string,address)":"6ee5741a","initWhitelist(address[],uint256[])":"1ef87a5d","isApprovedForAll(address,address)":"e985e9c5","isWhitelisted(address)":"3af32abf","mintTo(string,address,address)":"4aa52c41","mintingAllowance(address)":"81b97161","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","removeFromWhitelist(address)":"8ab1d681","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setRoyaltyReceiver(uint256,address)":"e5cff487","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleWhitelist(bool)":"80e3f1ad","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateMintingAllowance(address,uint256)":"1029f467","whitelistEnabled()":"51fb012d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_allowedAmount\",\"type\":\"uint256\"}],\"name\":\"MintingAllowanceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"}],\"name\":\"addToWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getMintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_creators\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_numMints\",\"type\":\"uint256[]\"}],\"name\":\"initWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"}],\"name\":\"removeFromWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_enabled\",\"type\":\"bool\"}],\"name\":\"toggleWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newAllowance\",\"type\":\"uint256\"}],\"name\":\"updateMintingAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"RareSpaceNFT\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"The 721 contract for the rarest of spaces.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/spaces/RareSpaceNFT.sol\":\"RareSpaceNFT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/token/ERC721/spaces/RareSpaceNFT.sol\":{\"keccak256\":\"0x9a1a0c97c48a709b66d46b7c15c3a6b89c584c39aacd57b44d3e3a695ade004d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9494bfb748ebfa9a21885c38947b344480abba85c77e2ad3f82052b0eaec6b37\",\"dweb:/ipfs/Qma7VysWHmZN863QxMSgJR9hBYaC9kadsVy41BhNSTqi6Y\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/token/extensions/TokenCreator.sol\":{\"keccak256\":\"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87\",\"dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ\"]},\"src/token/extensions/Whitelist.sol\":{\"keccak256\":\"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7\",\"dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true},{"internalType":"uint256","name":"_allowedAmount","type":"uint256","indexed":false}],"type":"event","name":"MintingAllowanceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToWhitelist"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"defaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getMintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address[]","name":"_creators","type":"address[]"},{"internalType":"uint256[]","name":"_numMints","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"initWhitelist"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"mintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromWhitelist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiver"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"toggleWhitelist"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"},{"internalType":"uint256","name":"_newAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateMintingAllowance"},{"inputs":[],"stateMutability":"view","type":"function","name":"whitelistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"burn(uint256)":{"details":"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/spaces/RareSpaceNFT.sol":"RareSpaceNFT"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/token/ERC721/spaces/RareSpaceNFT.sol":{"keccak256":"0x9a1a0c97c48a709b66d46b7c15c3a6b89c584c39aacd57b44d3e3a695ade004d","urls":["bzz-raw://9494bfb748ebfa9a21885c38947b344480abba85c77e2ad3f82052b0eaec6b37","dweb:/ipfs/Qma7VysWHmZN863QxMSgJR9hBYaC9kadsVy41BhNSTqi6Y"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/token/extensions/TokenCreator.sol":{"keccak256":"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0","urls":["bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87","dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ"],"license":"MIT"},"src/token/extensions/Whitelist.sol":{"keccak256":"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747","urls":["bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7","dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE"],"license":"MIT"}},"version":1},"id":208} \ No newline at end of file +{"abi":[{"type":"function","name":"addToWhitelist","inputs":[{"name":"_newAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMintingAllowance","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initWhitelist","inputs":[{"name":"_creators","type":"address[]","internalType":"address[]"},{"name":"_numMints","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWhitelisted","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintingAllowance","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeFromWhitelist","inputs":[{"name":"_newAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiver","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleWhitelist","inputs":[{"name":"_enabled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateMintingAllowance","inputs":[{"name":"_newAddress","type":"address","internalType":"address"},{"name":"_newAllowance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"whitelistEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MintingAllowanceUpdated","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"},{"name":"_allowedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461002457610101805460ff19166001179055611f4a908161002a8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146115d75750806306fdde031461152d578063081812fc1461150d578063095ea7b31461139d5780631029f46714611370578063139d8325146113505780631ef87a5d146112a257806323b872dd1461127d5780632a55205a146111eb5780632d13f7d8146111c35780633403c4e91461119a5780633af32abf1461115c57806340c1a0641461112a57806342842e0e146111015783816342966c68146110c3575080634aa52c4114610d9c57806351fb012d14610d77578381636297c16c14610ca5575080636352211e14610c745780636ee5741a1461082257806370a082311461078c578063715018a61461072c57806380e3f1ad146106f357806381b97161146106ba5780638ab1d681146106545780638da5cb5b1461062b57806395d89b4114610546578063a22cb4651461047b578063ab69607a1461045c578063b88d4fde146103f7578063c87b56dd14610387578063e43252d71461031c578063e5cff4871461028e578063e985e9c51461023c5763f2fde38b146101a857600080fd5b34610238576020366003190112610238576101c16116b7565b916101ca611829565b6001600160a01b038316156101e657836101e384611881565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461028a578060031936011261028a5760ff8160209361025c6116b7565b6102646116d2565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5080fd5b50346102385781600319360112610238578035916102aa6116d2565b83855260c96020528185205490936001600160a01b03939091841633036102eb5750845260fe602052832091166001600160601b0360a01b82541617905580f35b606490602084519162461bcd60e51b8352820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152fd5b50503461028a57602036600319011261028a577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e602061035a6116b7565b610362611829565b6001600160a01b0316808552610100825283852060001990819055935193845292a280f35b5091903461028a57602036600319011261028a576103c66103c16103f39435600052609960205260018060a01b0360406000205416151590565b6118ca565b8181516103d281611764565b528051916103df83611764565b825251918291602083526020830190611677565b0390f35b83823461028a57608036600319011261028a576104126116b7565b61041a6116d2565b9060643567ffffffffffffffff81116104585736602382011215610458576101e39381602461044e933693013591016117d4565b9160443591611a13565b8480fd5b50503461028a578160031936011261028a5760209060fd549051908152f35b5090346102385780600319360112610238576104956116b7565b9060243591821515809303610458576001600160a01b0316923384146105045750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b50503461028a578160031936011261028a578051908260985461056881611939565b8085529160019180831690811561060357506001146105a6575b505050610594826103f3940383611796565b51918291602083526020830190611677565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105eb575050506105948260206103f39582010194610582565b805460208787018101919091529095019481016105ce565b6103f397508693506020925061059494915060ff191682840152151560051b82010194610582565b50503461028a578160031936011261028a5760335490516001600160a01b039091168152602090f35b50503461028a57602036600319011261028a577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e60206106926116b7565b61069a611829565b6001600160a01b031680855261010082528385208590559251848152a280f35b50503461028a57602036600319011261028a5760209181906001600160a01b036106e26116b7565b168152610100845220549051908152f35b83823461028a57602036600319011261028a573580151580910361028a57610719611829565b6101019060ff8019835416911617905580f35b8334610789578060031936011261078957610745611829565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5082903461028a57602036600319011261028a576001600160a01b036107b06116b7565b169081156107cd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5090346102385760603660031901126102385767ffffffffffffffff91803583811161045857610855903690830161180b565b602435848111610c705761086c903690840161180b565b936108756116e8565b9186549560ff8760081c161594858096610c63575b8015610c4c575b15610bf257600197868960ff198316178b55610be1575b506001600160a01b03851615610bdd57600a610104556108d760ff8a5460081c166108d281611da8565b611da8565b8251848111610bca57806108ec609754611939565b94601f95868111610b5c575b50602090868311600114610add578c92610ad2575b5050600019600383901b1c191690891b176097555b8151938411610abf5750610937609854611939565b828111610a5c575b5060209183116001146109d85761098c9392918891836109cd575b5050600019600383901b1c191690861b176098555b61097f60ff875460081c16611da8565b610987611829565b611881565b610994578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b01519050388061095a565b60988852929186917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81490601f1983168a5b818110610a445750958361098c9710610a2b575b505050811b0160985561096f565b015160001960f88460031b161c19169055388080610a1d565b8288015184558a959093019260209283019201610a09565b609889527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610ab6575b0160051c019088905b828110610aab57505061093f565b8a8155018890610a9d565b92508192610a94565b634e487b7160e01b895260419052602488fd5b01519050388061090d565b60978d528b93507f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff99190601f1984168e5b818110610b4457508411610b2b575b505050811b01609755610922565b015160001960f88460031b161c19169055388080610b1d565b8284015185558e969094019360209384019301610b0e565b90915060978c527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610bc1575b918d91869594930160051c01915b828110610bb35750506108f8565b8e81558594508d9101610ba5565b92508192610b97565b634e487b7160e01b8a526041825260248afd5b8880fd5b61ffff1916610101178955386108a8565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156108915750600160ff891614610891565b50600160ff89161061088a565b8580fd5b5091346107895760203660031901126107895750610c9460209235611916565b90516001600160a01b039091168152f35b9190503461028a57602036600319011261028a573591610cc483611916565b6001600160a01b03903390821603610238573381610ce186611916565b160361023857610cf9610cf48533611aae565b6119b1565b610d0284611916565b50610d0c84611916565b90848452609b602052828420916001600160601b0360a01b928381541690551691828452609a6020528084206000198154019055848452609960205283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b50503461028a578160031936011261028a5760209060ff610101541690519015158152f35b50903461023857606036600319011261023857813567ffffffffffffffff8082116104585736602383011215610458578184013590808211610c70573660248385010111610c7057610dec6116d2565b90610df56116e8565b9060019485610e0333611ee5565b10610bdd57610e1b90610104549560243692016117d4565b9261010393610e2a8554611e08565b808655966001600160a01b0392831693841561108057600089815260996020526040902054610e65906001600160a01b031615155b15611e53565b600089815260996020526040902054610e88906001600160a01b03161515610e5f565b848c52602098609a8a528a8d20838154019055808d5260998a528a8d20956001600160601b0360a01b9681888254161790558d7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a486548c526101028952898c2092805191821161106d578c8a610f018654611939565b91601f8311611025575b9150505089908d601f8411600114610fc45791839491849394610fb9575b50501b916000199060031b1c19161790555b8354895260c9865286892033838254161790558354895260fe865286892092169082541617905554855260ff82528285205560ff6101015416610f7c578380f35b3384526101009081815282852054936000198501948511610fa65750338552528220553880808380f35b634e487b7160e01b865260119052602485fd5b015192503880610f29565b919083601f1981168785528d80862095905b8883831061100d5750505010610ff4575b505050811b019055610f3b565b015160001960f88460031b161c19169055388080610fe7565b8686015188559096019594850194879350018e610fd6565b86815220601f840160051c8101918c8510611063575b601f0160051c019084908f5b8382106110585790508c9150610f0b565b81550184908f611047565b909150819061103b565b634e487b7160e01b8d5260418c5260248dfd5b895162461bcd60e51b81526020818d0181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606490fd5b9190503461028a57602036600319011261028a5735916110e283611916565b6001600160a01b0390339082160361023857610cf9610cf48533611aae565b50503461028a576101e3906111153661172f565b9192519261112284611764565b858452611a13565b50346102385760203660031901126102385735825260c96020908152918190205490516001600160a01b039091168152f35b50503461028a57602036600319011261028a5760209161118261117d6116b7565b611ee5565b1561119457506001905b519015158152f35b9061118c565b50503461028a578160031936011261028a5760fc5490516001600160a01b039091168152602090f35b50503461028a57602036600319011261028a576020906111e461117d6116b7565b9051908152f35b5091346107895781600319360112610789578235815260fe60205281812054602435906001600160a01b03908116801561127157925b60ff60205284812054801561126757925b8381029381850414901517156112545750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fd5492611232565b508060fc541692611221565b8334610789576101e361128f3661172f565b9161129d610cf48433611aae565b611b76565b5090346102385736600319011261028a5767ffffffffffffffff813581811161134c576112d290369084016116fe565b919092602435918211610458576112eb913691016116fe565b916112f4611829565b82810361045857845b818110611308578580f35b611313818387611e2d565b35906001600160a01b03821682036113485761133e61134392611337838888611e2d565b3590611e9f565b611e08565b6112fd565b8680fd5b8380fd5b50503461028a578160031936011261028a57602090610104549051908152f35b50503461028a57366003190112610789576101e361138c6116b7565b611394611829565b60243590611e9f565b50346102385781600319360112610238576113b66116b7565b6024359290916001600160a01b03919082806113d187611916565b169416938085146114c0578033149081156114a1575b50156114395750838552609b602052842080546001600160a01b0319168317905561141183611916565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386113e7565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346107895760203660031901126107895750610c9460209235611973565b50503461028a578160031936011261028a578051908260975461154f81611939565b80855291600191808316908115610603575060011461157a57505050610594826103f3940383611796565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106115bf575050506105948260206103f39582010194610582565b805460208787018101919091529095019481016115a2565b92505034610238576020366003190112610238573563ffffffff60e01b81168091036102385760209250631030681960e21b811490811561161a575b5015158152f35b63152a902d60e11b811491508115611634575b5038611613565b6380ac58cd60e01b811491508115611666575b8115611655575b503861162d565b6301ffc9a760e01b1490503861164e565b635b5e139f60e01b81149150611647565b919082519283825260005b8481106116a3575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611682565b600435906001600160a01b03821682036116cd57565b600080fd5b602435906001600160a01b03821682036116cd57565b604435906001600160a01b03821682036116cd57565b9181601f840112156116cd5782359167ffffffffffffffff83116116cd576020808501948460051b0101116116cd57565b60609060031901126116cd576001600160a01b039060043582811681036116cd579160243590811681036116cd579060443590565b6020810190811067ffffffffffffffff82111761178057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761178057604052565b67ffffffffffffffff811161178057601f01601f191660200190565b9291926117e0826117b8565b916117ee6040519384611796565b8294818452818301116116cd578281602093846000960137010152565b9080601f830112156116cd57816020611826933591016117d4565b90565b6033546001600160a01b0316330361183d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156118d157565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166118268115156118ca565b90600182811c92168015611969575b602083101461195357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611948565b600081815260996020526040902054611996906001600160a01b031615156118ca565b6000908152609b60205260409020546001600160a01b031690565b156119b857565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90611a37939291611a27610cf48433611aae565b611a32838383611b76565b611c87565b15611a3e57565b60405162461bcd60e51b815280611a5760048201611a5b565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b038080611ac284611916565b16931691838314938415611af5575b508315611adf575b50505090565b611aeb91929350611973565b1614388080611ad9565b909350600052609c60205260406000208260005260205260ff604060002054169238611ad1565b15611b2357565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611b9e91611b8484611916565b6001600160a01b0393918416928492909183168414611b1c565b16918215611c365781611bbb91611bb486611916565b1614611b1c565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15611d9d57948491611ce19660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611677565b0393165af1849181611d5d575b50611d4c575050503d600014611d44573d611d08816117b8565b90611d166040519283611796565b81528091833d92013e5b80519182611d415760405162461bcd60e51b815280611a5760048201611a5b565b01fd5b506060611d20565b6001600160e01b0319161492509050565b9091508581813d8311611d96575b611d758183611796565b8101031261045857516001600160e01b031981168103610458579038611cee565b503d611d6b565b505050915050600190565b15611daf57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6000198114611e175760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015611e3d5760051b0190565b634e487b7160e01b600052603260045260246000fd5b15611e5a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b60207fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e9160018060a01b03169283600052610100825280604060002055604051908152a2565b6101015460ff1615611f0d576001600160a01b03166000908152610100602052604090205490565b506000199056fea2646970667358221220a877b024cbaec56540e20c41347502ca708dde1f1b158ea5a00134dc8030e02464736f6c63430008120033","sourceMap":"778:3366:229:-:0;;;;;;;235:4:237;778:3366:229;;-1:-1:-1;;778:3366:229;235:4:237;778:3366:229;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146115d75750806306fdde031461152d578063081812fc1461150d578063095ea7b31461139d5780631029f46714611370578063139d8325146113505780631ef87a5d146112a257806323b872dd1461127d5780632a55205a146111eb5780632d13f7d8146111c35780633403c4e91461119a5780633af32abf1461115c57806340c1a0641461112a57806342842e0e146111015783816342966c68146110c3575080634aa52c4114610d9c57806351fb012d14610d77578381636297c16c14610ca5575080636352211e14610c745780636ee5741a1461082257806370a082311461078c578063715018a61461072c57806380e3f1ad146106f357806381b97161146106ba5780638ab1d681146106545780638da5cb5b1461062b57806395d89b4114610546578063a22cb4651461047b578063ab69607a1461045c578063b88d4fde146103f7578063c87b56dd14610387578063e43252d71461031c578063e5cff4871461028e578063e985e9c51461023c5763f2fde38b146101a857600080fd5b34610238576020366003190112610238576101c16116b7565b916101ca611829565b6001600160a01b038316156101e657836101e384611881565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461028a578060031936011261028a5760ff8160209361025c6116b7565b6102646116d2565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5080fd5b50346102385781600319360112610238578035916102aa6116d2565b83855260c96020528185205490936001600160a01b03939091841633036102eb5750845260fe602052832091166001600160601b0360a01b82541617905580f35b606490602084519162461bcd60e51b8352820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152fd5b50503461028a57602036600319011261028a577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e602061035a6116b7565b610362611829565b6001600160a01b0316808552610100825283852060001990819055935193845292a280f35b5091903461028a57602036600319011261028a576103c66103c16103f39435600052609960205260018060a01b0360406000205416151590565b6118ca565b8181516103d281611764565b528051916103df83611764565b825251918291602083526020830190611677565b0390f35b83823461028a57608036600319011261028a576104126116b7565b61041a6116d2565b9060643567ffffffffffffffff81116104585736602382011215610458576101e39381602461044e933693013591016117d4565b9160443591611a13565b8480fd5b50503461028a578160031936011261028a5760209060fd549051908152f35b5090346102385780600319360112610238576104956116b7565b9060243591821515809303610458576001600160a01b0316923384146105045750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b50503461028a578160031936011261028a578051908260985461056881611939565b8085529160019180831690811561060357506001146105a6575b505050610594826103f3940383611796565b51918291602083526020830190611677565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105eb575050506105948260206103f39582010194610582565b805460208787018101919091529095019481016105ce565b6103f397508693506020925061059494915060ff191682840152151560051b82010194610582565b50503461028a578160031936011261028a5760335490516001600160a01b039091168152602090f35b50503461028a57602036600319011261028a577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e60206106926116b7565b61069a611829565b6001600160a01b031680855261010082528385208590559251848152a280f35b50503461028a57602036600319011261028a5760209181906001600160a01b036106e26116b7565b168152610100845220549051908152f35b83823461028a57602036600319011261028a573580151580910361028a57610719611829565b6101019060ff8019835416911617905580f35b8334610789578060031936011261078957610745611829565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5082903461028a57602036600319011261028a576001600160a01b036107b06116b7565b169081156107cd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5090346102385760603660031901126102385767ffffffffffffffff91803583811161045857610855903690830161180b565b602435848111610c705761086c903690840161180b565b936108756116e8565b9186549560ff8760081c161594858096610c63575b8015610c4c575b15610bf257600197868960ff198316178b55610be1575b506001600160a01b03851615610bdd57600a610104556108d760ff8a5460081c166108d281611da8565b611da8565b8251848111610bca57806108ec609754611939565b94601f95868111610b5c575b50602090868311600114610add578c92610ad2575b5050600019600383901b1c191690891b176097555b8151938411610abf5750610937609854611939565b828111610a5c575b5060209183116001146109d85761098c9392918891836109cd575b5050600019600383901b1c191690861b176098555b61097f60ff875460081c16611da8565b610987611829565b611881565b610994578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b01519050388061095a565b60988852929186917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81490601f1983168a5b818110610a445750958361098c9710610a2b575b505050811b0160985561096f565b015160001960f88460031b161c19169055388080610a1d565b8288015184558a959093019260209283019201610a09565b609889527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610ab6575b0160051c019088905b828110610aab57505061093f565b8a8155018890610a9d565b92508192610a94565b634e487b7160e01b895260419052602488fd5b01519050388061090d565b60978d528b93507f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff99190601f1984168e5b818110610b4457508411610b2b575b505050811b01609755610922565b015160001960f88460031b161c19169055388080610b1d565b8284015185558e969094019360209384019301610b0e565b90915060978c527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610bc1575b918d91869594930160051c01915b828110610bb35750506108f8565b8e81558594508d9101610ba5565b92508192610b97565b634e487b7160e01b8a526041825260248afd5b8880fd5b61ffff1916610101178955386108a8565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156108915750600160ff891614610891565b50600160ff89161061088a565b8580fd5b5091346107895760203660031901126107895750610c9460209235611916565b90516001600160a01b039091168152f35b9190503461028a57602036600319011261028a573591610cc483611916565b6001600160a01b03903390821603610238573381610ce186611916565b160361023857610cf9610cf48533611aae565b6119b1565b610d0284611916565b50610d0c84611916565b90848452609b602052828420916001600160601b0360a01b928381541690551691828452609a6020528084206000198154019055848452609960205283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b50503461028a578160031936011261028a5760209060ff610101541690519015158152f35b50903461023857606036600319011261023857813567ffffffffffffffff8082116104585736602383011215610458578184013590808211610c70573660248385010111610c7057610dec6116d2565b90610df56116e8565b9060019485610e0333611ee5565b10610bdd57610e1b90610104549560243692016117d4565b9261010393610e2a8554611e08565b808655966001600160a01b0392831693841561108057600089815260996020526040902054610e65906001600160a01b031615155b15611e53565b600089815260996020526040902054610e88906001600160a01b03161515610e5f565b848c52602098609a8a528a8d20838154019055808d5260998a528a8d20956001600160601b0360a01b9681888254161790558d7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a486548c526101028952898c2092805191821161106d578c8a610f018654611939565b91601f8311611025575b9150505089908d601f8411600114610fc45791839491849394610fb9575b50501b916000199060031b1c19161790555b8354895260c9865286892033838254161790558354895260fe865286892092169082541617905554855260ff82528285205560ff6101015416610f7c578380f35b3384526101009081815282852054936000198501948511610fa65750338552528220553880808380f35b634e487b7160e01b865260119052602485fd5b015192503880610f29565b919083601f1981168785528d80862095905b8883831061100d5750505010610ff4575b505050811b019055610f3b565b015160001960f88460031b161c19169055388080610fe7565b8686015188559096019594850194879350018e610fd6565b86815220601f840160051c8101918c8510611063575b601f0160051c019084908f5b8382106110585790508c9150610f0b565b81550184908f611047565b909150819061103b565b634e487b7160e01b8d5260418c5260248dfd5b895162461bcd60e51b81526020818d0181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606490fd5b9190503461028a57602036600319011261028a5735916110e283611916565b6001600160a01b0390339082160361023857610cf9610cf48533611aae565b50503461028a576101e3906111153661172f565b9192519261112284611764565b858452611a13565b50346102385760203660031901126102385735825260c96020908152918190205490516001600160a01b039091168152f35b50503461028a57602036600319011261028a5760209161118261117d6116b7565b611ee5565b1561119457506001905b519015158152f35b9061118c565b50503461028a578160031936011261028a5760fc5490516001600160a01b039091168152602090f35b50503461028a57602036600319011261028a576020906111e461117d6116b7565b9051908152f35b5091346107895781600319360112610789578235815260fe60205281812054602435906001600160a01b03908116801561127157925b60ff60205284812054801561126757925b8381029381850414901517156112545750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fd5492611232565b508060fc541692611221565b8334610789576101e361128f3661172f565b9161129d610cf48433611aae565b611b76565b5090346102385736600319011261028a5767ffffffffffffffff813581811161134c576112d290369084016116fe565b919092602435918211610458576112eb913691016116fe565b916112f4611829565b82810361045857845b818110611308578580f35b611313818387611e2d565b35906001600160a01b03821682036113485761133e61134392611337838888611e2d565b3590611e9f565b611e08565b6112fd565b8680fd5b8380fd5b50503461028a578160031936011261028a57602090610104549051908152f35b50503461028a57366003190112610789576101e361138c6116b7565b611394611829565b60243590611e9f565b50346102385781600319360112610238576113b66116b7565b6024359290916001600160a01b03919082806113d187611916565b169416938085146114c0578033149081156114a1575b50156114395750838552609b602052842080546001600160a01b0319168317905561141183611916565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386113e7565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346107895760203660031901126107895750610c9460209235611973565b50503461028a578160031936011261028a578051908260975461154f81611939565b80855291600191808316908115610603575060011461157a57505050610594826103f3940383611796565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106115bf575050506105948260206103f39582010194610582565b805460208787018101919091529095019481016115a2565b92505034610238576020366003190112610238573563ffffffff60e01b81168091036102385760209250631030681960e21b811490811561161a575b5015158152f35b63152a902d60e11b811491508115611634575b5038611613565b6380ac58cd60e01b811491508115611666575b8115611655575b503861162d565b6301ffc9a760e01b1490503861164e565b635b5e139f60e01b81149150611647565b919082519283825260005b8481106116a3575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611682565b600435906001600160a01b03821682036116cd57565b600080fd5b602435906001600160a01b03821682036116cd57565b604435906001600160a01b03821682036116cd57565b9181601f840112156116cd5782359167ffffffffffffffff83116116cd576020808501948460051b0101116116cd57565b60609060031901126116cd576001600160a01b039060043582811681036116cd579160243590811681036116cd579060443590565b6020810190811067ffffffffffffffff82111761178057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761178057604052565b67ffffffffffffffff811161178057601f01601f191660200190565b9291926117e0826117b8565b916117ee6040519384611796565b8294818452818301116116cd578281602093846000960137010152565b9080601f830112156116cd57816020611826933591016117d4565b90565b6033546001600160a01b0316330361183d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156118d157565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166118268115156118ca565b90600182811c92168015611969575b602083101461195357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611948565b600081815260996020526040902054611996906001600160a01b031615156118ca565b6000908152609b60205260409020546001600160a01b031690565b156119b857565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90611a37939291611a27610cf48433611aae565b611a32838383611b76565b611c87565b15611a3e57565b60405162461bcd60e51b815280611a5760048201611a5b565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b038080611ac284611916565b16931691838314938415611af5575b508315611adf575b50505090565b611aeb91929350611973565b1614388080611ad9565b909350600052609c60205260406000208260005260205260ff604060002054169238611ad1565b15611b2357565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611b9e91611b8484611916565b6001600160a01b0393918416928492909183168414611b1c565b16918215611c365781611bbb91611bb486611916565b1614611b1c565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15611d9d57948491611ce19660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611677565b0393165af1849181611d5d575b50611d4c575050503d600014611d44573d611d08816117b8565b90611d166040519283611796565b81528091833d92013e5b80519182611d415760405162461bcd60e51b815280611a5760048201611a5b565b01fd5b506060611d20565b6001600160e01b0319161492509050565b9091508581813d8311611d96575b611d758183611796565b8101031261045857516001600160e01b031981168103610458579038611cee565b503d611d6b565b505050915050600190565b15611daf57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6000198114611e175760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015611e3d5760051b0190565b634e487b7160e01b600052603260045260246000fd5b15611e5a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b60207fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e9160018060a01b03169283600052610100825280604060002055604051908152a2565b6101015460ff1615611f0d576001600160a01b03166000908152610100602052604090205490565b506000199056fea2646970667358221220a877b024cbaec56540e20c41347502ca708dde1f1b158ea5a00134dc8030e02464736f6c63430008120033","sourceMap":"778:3366:229:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;778:3366:229;;2402:22:42;778:3366:229;;2496:8:42;;;;:::i;:::-;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;778:3366:229;;;;;4980:18:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;413:14:236;778:3366:229;;;;;;;;-1:-1:-1;;;;;778:3366:229;;;;;3443:10;:36;778:3366;;;;;1639:16:233;778:3366:229;;;;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;722:49:237;778:3366:229;;;:::i;:::-;1303:62:42;;:::i;:::-;-1:-1:-1;;;;;778:3366:229;;;;1934:16:237;778:3366:229;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;722:49:237;778:3366:229;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;13851:53:61;13859:16;778:3366:229;;;-1:-1:-1;778:3366:229;7266:7:61;778:3366:229;;;;;;;;-1:-1:-1;778:3366:229;;;7680:31:61;;7592:126;;13859:16;13851:53;:::i;:::-;778:3366:229;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;2453:24:233;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;778:3366:229;;929:10:68;13528:17:61;;778:3366:229;;929:10:68;;778:3366:229;;13585:18:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:61;778:3366:229;929:10:68;13646:41:61;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:61;778:3366:229;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;778:3366:229;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;908:39:237;778:3366:229;;;:::i;:::-;1303:62:42;;:::i;:::-;-1:-1:-1;;;;;778:3366:229;;;;1934:16:237;778:3366:229;;;;;;;;;;;;;908:39:237;778:3366:229;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;-1:-1:-1;;;;;778:3366:229;;:::i;:::-;;;;146:51:237;778:3366:229;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;;;;1303:62:42;;:::i;:::-;553:27:237;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;778:3366:229;;-1:-1:-1;;;;;;778:3366:229;;;;;;;-1:-1:-1;;;;;778:3366:229;2806:40:42;778:3366:229;;2806:40:42;778:3366:229;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;-1:-1:-1;;;;;778:3366:229;;:::i;:::-;;2489:19:61;;;778:3366:229;;;;;;;;;2571:9:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;3301:14:48;3347:34;;;;;;778:3366:229;3346:108:48;;;;778:3366:229;;;;3551:1:48;778:3366:229;;;;;;;;;;3562:65:48;;778:3366:229;-1:-1:-1;;;;;;778:3366:229;;1332:23;778:3366;;1393:2;1366:29;778:3366;5366:69:48;778:3366:229;;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;778:3366:229;;;;;;;;;1873:13:61;778:3366:229;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;778:3366:229;;;;;;;;;;;1873:13:61;778:3366:229;;;;;;;;;;;1896:17:61;778:3366:229;;:::i;:::-;;;;;;;;;;;;;;;;2496:8:42;;778:3366:229;;;;;;;;-1:-1:-1;;;;778:3366:229;;;;;;;;;;;1896:17:61;778:3366:229;;5366:69:48;778:3366:229;;;;;;5366:69:48;:::i;:::-;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;778:3366:229;;;3647:99:48;778:3366:229;;-1:-1:-1;;778:3366:229;;;;;;;3721:14:48;;778:3366:229;;3721:14:48;3647:99;;778:3366:229;;;;;;;-1:-1:-1;778:3366:229;;;;;1896:17:61;778:3366:229;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;;;2496:8:42;778:3366:229;;;;;;;;;;;1896:17:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;-1:-1:-1;778:3366:229;;;;;1873:13:61;778:3366:229;;;;-1:-1:-1;778:3366:229;;;-1:-1:-1;;778:3366:229;;;;;;;;;;;-1:-1:-1;778:3366:229;;;;;;;;;1873:13:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;778:3366:229;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;3562:65:48;-1:-1:-1;;778:3366:229;;;;;3562:65:48;;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;778:3366:229;3452:1:48;778:3366:229;;;3436:17:48;3346:108;;3347:34;778:3366:229;3380:1:48;778:3366:229;;;3365:16:48;3347:34;;778:3366:229;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;1578:17;;;;:::i;:::-;-1:-1:-1;;;;;778:3366:229;1599:10;778:3366;;;1578:31;778:3366;;1599:10;1578:17;;;;:::i;:::-;778:3366;1578:31;778:3366;;911:99:64;919:41;1599:10:229;;919:41:64;:::i;:::-;911:99;:::i;:::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;778:3366:229;;;;11014:15:61;778:3366:229;;;;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;;;;11254:9:61;778:3366:229;;;;;;;;;;;;;;;11302:7:61;778:3366:229;;;;;;;;;;11334:36:61;;;;778:3366:229;;;;;;;;;;;;;;;;;;;204:35:237;778:3366:229;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;2938:1;;2926:10;;426:29:237;2926:10:229;426:29:237;:::i;:::-;:42;778:3366:229;;;;3042:24;778:3366;;;;;;;:::i;:::-;3774:16;;778:3366;3774:16;778:3366;;3774:16;:::i;:::-;778:3366;;;;-1:-1:-1;;;;;778:3366:229;;;;9487:16:61;;778:3366:229;;-1:-1:-1;778:3366:229;;;7266:7:61;778:3366:229;;;;;;9550:58:61;;-1:-1:-1;;;;;778:3366:229;7680:31:61;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;778:3366:229;;;7266:7:61;778:3366:229;;;;;;9754:58:61;;-1:-1:-1;;;;;778:3366:229;7680:31:61;;9763:16;7592:126;9754:58;778:3366:229;;;;;10154:9:61;778:3366:229;;;;;;;;;;;;;;10193:7:61;778:3366:229;;;;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;10230:33:61;;;;;778:3366:229;;;;3842:9;778:3366;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;532:14:236;778:3366:229;;;;;2926:10;778:3366;;;;;;;;;;;1639:16:233;778:3366:229;;;;;;;;;;;;;;;;;1794:18:233;778:3366:229;;;;;;1794:18:233;1677:16:237;778:3366:229;;1673:147:237;;778:3366:229;;;1673:147:237;2926:10:229;778:3366;;1729:16:237;778:3366:229;;;;;;;;;;;;;;;;;;2926:10;;778:3366;;;;;;1673:147:237;;;778:3366:229;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;-1:-1:-1;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;778:3366:229;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;1578:17;;;;:::i;:::-;-1:-1:-1;;;;;778:3366:229;1599:10;778:3366;;;1578:31;778:3366;;911:99:64;919:41;1599:10:229;;919:41:64;:::i;778:3366:229:-;;;;;;5549:39:61;778:3366:229;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5549:39:61;:::i;778:3366:229:-;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;413:14:236;778:3366:229;;;;;;;;;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;1539:29:237;778:3366:229;;:::i;:::-;1539:29:237;:::i;:::-;:34;:49;;;1576:4;1539:49;;778:3366:229;;;;;;;1539:49:237;;;;778:3366:229;;;;;;;;;;;;;;2332:22:233;778:3366:229;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;778:3366:229;;;;;;;;;-1:-1:-1;;;;;778:3366:229;;;1049:40:233;;778:3366:229;;1049:118:233;;1238:18;778:3366:229;;;;;;1238:33:233;;;;:131;;778:3366:229;;;;;;;;;;;;;;-1:-1:-1;778:3366:229;;;;;;1401:3:233;778:3366:229;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;1238:131:233;778:3366:229;1345:24:233;778:3366:229;1238:131:233;;;1049:118;778:3366:229;;1145:22:233;778:3366:229;;1049:118:233;;;778:3366:229;;;;;5365:7:61;778:3366:229;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;778:3366:229:-;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;2076:36:229;;;778:3366;;2129:13;2144:20;;;;;;778:3366;;;2166:3;2209:12;;;;;:::i;:::-;778:3366;;-1:-1:-1;;;;;778:3366:229;;;;;;2223:12;2166:3;2223:12;;;;;;:::i;:::-;778:3366;2223:12;;:::i;:::-;2166:3;:::i;:::-;2129:13;;778:3366;;;;;;;;;;;;;;;;;;;;;;;;1142:39;778:3366;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;2769:13;778:3366;;:::i;:::-;1303:62:42;;:::i;:::-;778:3366:229;;2769:13;;:::i;778:3366::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;778:3366:229;;;;4025:34:61;778:3366:229;4025:34:61;:::i;:::-;778:3366:229;;;4077:11:61;;;;778:3366:229;;929:10:68;;4158:21:61;:62;;;;;778:3366:229;;;;;-1:-1:-1;778:3366:229;;;13173:15:61;778:3366:229;;;;;;-1:-1:-1;;;;;;778:3366:229;;;;;13226:34:61;778:3366:229;13226:34:61;:::i;:::-;778:3366:229;13217:57:61;;;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4158:62:61;778:3366:229;;;;4980:18:61;778:3366:229;;;;;929:10:68;778:3366:229;;;;;;;;;;4158:62:61;;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;778:3366:229;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1856:25:229;;;:65;;;;778:3366;;;;;;;1856:65;-1:-1:-1;;;2013:41:233;;;-1:-1:-1;2013:93:233;;;;1856:65:229;;;;;2013:93:233;-1:-1:-1;;;2146:51:61;;;-1:-1:-1;2146:126:61;;;;2013:93:233;2146:178:61;;;;2013:93:233;;;;;2146:178:61;-1:-1:-1;;;1168:51:72;;-1:-1:-1;2146:178:61;;;:126;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;778:3366:229;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;778:3366:229;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;778:3366:229;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;778:3366:229;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;778:3366:229;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;1599:130:42:-;1513:6;778:3366:229;-1:-1:-1;;;;;778:3366:229;929:10:68;1662:23:42;778:3366:229;;1599:130:42:o;778:3366:229:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;778:3366:229;;-1:-1:-1;;;;;778:3366:229;;;-1:-1:-1;;;;;;778:3366:229;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;778:3366:229:-;;;;:::o;:::-;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;;;;;;;;2651:219:61;-1:-1:-1;778:3366:229;;;7266:7:61;778:3366:229;;;;;;-1:-1:-1;;;;;778:3366:229;2785:56:61;2793:19;;;2785:56;:::i;778:3366:229:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;4407:167:61;-1:-1:-1;778:3366:229;;;7266:7:61;778:3366:229;;;;;;13851:53:61;;-1:-1:-1;;;;;778:3366:229;7680:31:61;;13851:53;:::i;:::-;-1:-1:-1;778:3366:229;;;4543:15:61;778:3366:229;;;;;;-1:-1:-1;;;;;778:3366:229;;4407:167:61:o;778:3366:229:-;;;;:::o;:::-;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;5661:276:61;;6956:47;5661:276;;;5783:99;5791:41;929:10:68;;5791:41:61;:::i;5783:99::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;778:3366:229;;;5661:276:61:o;778:3366:229:-;;;-1:-1:-1;;;778:3366:229;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;:::o;7876:272:61:-;;-1:-1:-1;;;;;778:3366:229;;8001:34:61;7876:272;8001:34;:::i;:::-;778:3366:229;;;8053:16:61;;;;:52;;;;;7876:272;8053:87;;;;;7876:272;8045:96;;;7876:272;:::o;8053:87::-;8109:20;;;;;;:::i;:::-;778:3366:229;8109:31:61;8053:87;;;;;:52;778:3366:229;;;-1:-1:-1;778:3366:229;4980:18:61;778:3366:229;;;-1:-1:-1;778:3366:229;;-1:-1:-1;778:3366:229;;;;;-1:-1:-1;778:3366:229;;;8053:52:61;;;;778:3366:229;;;;:::o;:::-;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;11762:1225:61;;11851:92;11762:1225;11859:34;;;:::i;:::-;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;778:3366:229;11961:16:61;;;778:3366:229;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;778:3366:229;12171:42:61;12163:92;:::i;:::-;12901:27;11975:1;778:3366:229;;;12324:15:61;778:3366:229;;;;;-1:-1:-1;;;;;778:3366:229;;;;;;;;;;;;12792:9:61;778:3366:229;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;778:3366:229;;;;;;;;;;;;;12901:27:61;;11762:1225::o;778:3366:229:-;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;14463:853:61;;;778:3366:229;;14463:853:61;;;1713:19:66;;:23;:19;;778:3366:229;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;778:3366:229;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;778:3366:229;;;;;;;;:::i;:::-;14667:82:61;778:3366:229;;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;778:3366:229;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;778:3366:229;;-1:-1:-1;;;14969:60:61;;778:3366:229;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;778:3366:229;;;;;14663:595:61;-1:-1:-1;;;;;;778:3366:229;14799:62:61;;-1:-1:-1;778:3366:229;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;778:3366:229;;;;;-1:-1:-1;;;;;;778:3366:229;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;;15295:4;15288:11;:::o;778:3366:229:-;;;;:::o;:::-;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:3366:229;;;;;;;;-1:-1:-1;;778:3366:229;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;778:3366:229;;;;;;;;;;;;;;;;;;;;960:232:237;778:3366:229;1134:51:237;960:232;778:3366:229;;;;;;;;-1:-1:-1;778:3366:229;1934:16:237;778:3366:229;;;;-1:-1:-1;778:3366:229;;;;;;;1134:51:237;960:232::o;1198:250::-;1317:16;778:3366:229;;;;;;-1:-1:-1;;;;;778:3366:229;-1:-1:-1;778:3366:229;;;1356:16:237;778:3366:229;;;;;;;1349:33:237:o;1313:129::-;-1:-1:-1;;;778:3366:229;1413:18:237:o","linkReferences":{}},"methodIdentifiers":{"addToWhitelist(address)":"e43252d7","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","defaultRoyaltyPercentage()":"139d8325","deleteToken(uint256)":"6297c16c","getApproved(uint256)":"081812fc","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getMintingAllowance(address)":"2d13f7d8","init(string,string,address)":"6ee5741a","initWhitelist(address[],uint256[])":"1ef87a5d","isApprovedForAll(address,address)":"e985e9c5","isWhitelisted(address)":"3af32abf","mintTo(string,address,address)":"4aa52c41","mintingAllowance(address)":"81b97161","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","removeFromWhitelist(address)":"8ab1d681","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setRoyaltyReceiver(uint256,address)":"e5cff487","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleWhitelist(bool)":"80e3f1ad","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateMintingAllowance(address,uint256)":"1029f467","whitelistEnabled()":"51fb012d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_allowedAmount\",\"type\":\"uint256\"}],\"name\":\"MintingAllowanceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"}],\"name\":\"addToWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getMintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_creators\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_numMints\",\"type\":\"uint256[]\"}],\"name\":\"initWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"}],\"name\":\"removeFromWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_enabled\",\"type\":\"bool\"}],\"name\":\"toggleWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newAllowance\",\"type\":\"uint256\"}],\"name\":\"updateMintingAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"RareSpaceNFT\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"The 721 contract for the rarest of spaces.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/spaces/RareSpaceNFT.sol\":\"RareSpaceNFT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/token/ERC721/spaces/RareSpaceNFT.sol\":{\"keccak256\":\"0x2b3cd8f1a3f5a8deeb8077e70b85ee97803666f9b3127ca5247adccfaafe15d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c43ac67cdfd29cac02f32255ad0c1ba6846a79fed1ec57ea8e2b5d41e77982\",\"dweb:/ipfs/QmdGc6iYVMAASSmLvCSk68vGgEx8q45gi5NFvRCnV6effL\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/token/extensions/TokenCreator.sol\":{\"keccak256\":\"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87\",\"dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ\"]},\"src/token/extensions/Whitelist.sol\":{\"keccak256\":\"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7\",\"dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true},{"internalType":"uint256","name":"_allowedAmount","type":"uint256","indexed":false}],"type":"event","name":"MintingAllowanceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToWhitelist"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"defaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getMintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address[]","name":"_creators","type":"address[]"},{"internalType":"uint256[]","name":"_numMints","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"initWhitelist"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"mintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromWhitelist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiver"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"toggleWhitelist"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"},{"internalType":"uint256","name":"_newAllowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateMintingAllowance"},{"inputs":[],"stateMutability":"view","type":"function","name":"whitelistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"burn(uint256)":{"details":"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/spaces/RareSpaceNFT.sol":"RareSpaceNFT"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/token/ERC721/spaces/RareSpaceNFT.sol":{"keccak256":"0x2b3cd8f1a3f5a8deeb8077e70b85ee97803666f9b3127ca5247adccfaafe15d9","urls":["bzz-raw://89c43ac67cdfd29cac02f32255ad0c1ba6846a79fed1ec57ea8e2b5d41e77982","dweb:/ipfs/QmdGc6iYVMAASSmLvCSk68vGgEx8q45gi5NFvRCnV6effL"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/token/extensions/TokenCreator.sol":{"keccak256":"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0","urls":["bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87","dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ"],"license":"MIT"},"src/token/extensions/Whitelist.sol":{"keccak256":"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747","urls":["bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7","dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE"],"license":"MIT"}},"version":1},"id":229} \ No newline at end of file diff --git a/abis/RareSpaceNFTContractFactory.json b/abis/RareSpaceNFTContractFactory.json index bbdb952..6fede76 100644 --- a/abis/RareSpaceNFTContractFactory.json +++ b/abis/RareSpaceNFTContractFactory.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createRareSpaceNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"rareSpaceNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIMarketplaceSettings","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRareSpaceNFT","inputs":[{"name":"_rareSpaceNFT","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RareSpaceNFTContractCreated","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_operator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60803461012d576001600160401b0390601f61270b38819003918201601f19168301918483118484101761013257808492604094855283398101031261012d57610054602061004d83610148565b9201610148565b600080546001600160a01b031980821633908117845560405191966001600160a01b039694959294909387929083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08880a31690811561012957851690811561012957866001541617600155856002541617600255611f518083019183831090831117610115579082916107ba8339039082f090811561010957501690600354161760035560405161065d908161015d8239f35b604051903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b8480fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361012d5756fe6040608081526004908136101561001557600080fd5b600091823560e01c908163030f3ee6146105075781630bcba09d146104de578163715018a61461048157816374384883146104375781638da5cb5b1461040f578163ba50b632146103e6578163d0ba7ef814610185578163f2fde38b146100b1575063f506ea791461008657600080fd5b346100ad57816003193601126100ad5760035490516001600160a01b039091168152602090f35b5080fd5b91905034610181576020366003190112610181576001600160a01b0382358181169391929084900361017d576100e5610584565b831561012b575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b91905034610181576003199181833601126103e25767ffffffffffffffff81358181116103de576101b99036908401610551565b916024359081116103da576101d19036908501610551565b600354608881901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017895260781b6effffffffffffffffffffffffffffff19166e5af43d82803e903d91602b57fd5bf3176020526001600160a01b039390929184603760098bf01697881561039e579089939291893b1561017d578851633772ba0d60e11b815260608982015295869485946102829491610273916064880191610606565b92858403016024860152610606565b336044830152038183895af180156103945761037f575b50908491835133867fabe0dd57947693bae591655c14bbe6fd911ea23c65899a1882a49ac2ce5f1f558680a38160015416803b1561017d578160448187809463ae312a9760e01b83528b89840152600f60248401525af1801561037557908491610361575b505060025416803b15610181576044839285519485938492634623c80960e11b84523390840152600560248401525af1801561035757610343575b6020838351908152f35b61034d84916105dc565b6101815782610339565b82513d86823e3d90fd5b61036a906105dc565b6101815782386102fe565b85513d86823e3d90fd5b61038c90959192956105dc565b939038610299565b84513d88823e3d90fd5b875162461bcd60e51b81526020818901526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fd5b8680fd5b8580fd5b8380fd5b5050346100ad57816003193601126100ad5760015490516001600160a01b039091168152602090f35b5050346100ad57816003193601126100ad57905490516001600160a01b039091168152602090f35b8390346100ad5760203660031901126100ad57356001600160a01b038116908190036100ad57610465610584565b80156100ad576001600160601b0360a01b600154161760015580f35b83346104db57806003193601126104db5761049a610584565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5050346100ad57816003193601126100ad5760025490516001600160a01b039091168152602090f35b8390346100ad5760203660031901126100ad57356001600160a01b038116908190036100ad57610535610584565b80156100ad576001600160601b0360a01b600354161760035580f35b9181601f8401121561057f5782359167ffffffffffffffff831161057f576020838186019501011161057f57565b600080fd5b6000546001600160a01b0316330361059857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b67ffffffffffffffff81116105f057604052565b634e487b7160e01b600052604160045260246000fd5b908060209392818452848401376000828201840152601f01601f191601019056fea2646970667358221220d2d5f1ded43669124515f01eb1abd28d16471e8fd045cb54785ec3b7b649306864736f6c634300081200336080806040523461002457610101805460ff19166001179055611f27908161002a8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461151c5750806306fdde0314611472578063081812fc14611452578063095ea7b3146112e25780631029f467146112b5578063139d8325146112955780631ef87a5d146111e757806323b872dd146111bd5780632a55205a1461112b5780632d13f7d8146111035780633403c4e9146110da5780633af32abf1461109c57806340c1a0641461106a57806342842e0e1461104157806342966c68146110245780634aa52c4114610cfd57806351fb012d14610cd85780636297c16c14610ca15780636352211e14610c705780636ee5741a1461081e57806370a0823114610788578063715018a61461072857806380e3f1ad146106ef57806381b97161146106b65780638ab1d681146106505780638da5cb5b1461062757806395d89b4114610542578063a22cb46514610477578063ab69607a14610458578063b88d4fde146103f3578063c87b56dd14610383578063e43252d714610318578063e5cff4871461028a578063e985e9c5146102385763f2fde38b146101a457600080fd5b34610234576020366003190112610234576101bd6115fc565b916101c661176e565b6001600160a01b038316156101e257836101df846117c6565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461028657806003193601126102865760ff816020936102586115fc565b610260611617565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5080fd5b50346102345781600319360112610234578035916102a6611617565b83855260c96020528185205490936001600160a01b03939091841633036102e75750845260fe602052832091166001600160601b0360a01b82541617905580f35b606490602084519162461bcd60e51b8352820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152fd5b505034610286576020366003190112610286577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e60206103566115fc565b61035e61176e565b6001600160a01b0316808552610100825283852060001990819055935193845292a280f35b50919034610286576020366003190112610286576103c26103bd6103ef9435600052609960205260018060a01b0360406000205416151590565b61180f565b8181516103ce816116a9565b528051916103db836116a9565b8252519182916020835260208301906115bc565b0390f35b8382346102865760803660031901126102865761040e6115fc565b610416611617565b9060643567ffffffffffffffff81116104545736602382011215610454576101df9381602461044a93369301359101611719565b9160443591611958565b8480fd5b50503461028657816003193601126102865760209060fd549051908152f35b5090346102345780600319360112610234576104916115fc565b9060243591821515809303610454576001600160a01b0316923384146105005750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b505034610286578160031936011261028657805190826098546105648161187e565b808552916001918083169081156105ff57506001146105a2575b505050610590826103ef9403836116db565b519182916020835260208301906115bc565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105e7575050506105908260206103ef958201019461057e565b805460208787018101919091529095019481016105ca565b6103ef97508693506020925061059094915060ff191682840152151560051b8201019461057e565b50503461028657816003193601126102865760335490516001600160a01b039091168152602090f35b505034610286576020366003190112610286577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e602061068e6115fc565b61069661176e565b6001600160a01b031680855261010082528385208590559251848152a280f35b5050346102865760203660031901126102865760209181906001600160a01b036106de6115fc565b168152610100845220549051908152f35b83823461028657602036600319011261028657358015158091036102865761071561176e565b6101019060ff8019835416911617905580f35b833461078557806003193601126107855761074161176e565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50829034610286576020366003190112610286576001600160a01b036107ac6115fc565b169081156107c9576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5090346102345760603660031901126102345767ffffffffffffffff918035838111610454576108519036908301611750565b602435848111610c6c576108689036908401611750565b9361087161162d565b9186549560ff8760081c161594858096610c5f575b8015610c48575b15610bee57600197868960ff198316178b55610bdd575b506001600160a01b03851615610bd957600a610104556108d360ff8a5460081c166108ce81611d85565b611d85565b8251848111610bc657806108e860975461187e565b94601f95868111610b58575b50602090868311600114610ad9578c92610ace575b5050600019600383901b1c191690891b176097555b8151938411610abb575061093360985461187e565b828111610a58575b5060209183116001146109d4576109889392918891836109c9575b5050600019600383901b1c191690861b176098555b61097b60ff875460081c16611d85565b61098361176e565b6117c6565b610990578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610956565b60988852929186917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81490601f1983168a5b818110610a40575095836109889710610a27575b505050811b0160985561096b565b015160001960f88460031b161c19169055388080610a19565b8288015184558a959093019260209283019201610a05565b609889527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610ab2575b0160051c019088905b828110610aa757505061093b565b8a8155018890610a99565b92508192610a90565b634e487b7160e01b895260419052602488fd5b015190503880610909565b60978d528b93507f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff99190601f1984168e5b818110610b4057508411610b27575b505050811b0160975561091e565b015160001960f88460031b161c19169055388080610b19565b8284015185558e969094019360209384019301610b0a565b90915060978c527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610bbd575b918d91869594930160051c01915b828110610baf5750506108f4565b8e81558594508d9101610ba1565b92508192610b93565b634e487b7160e01b8a526041825260248afd5b8880fd5b61ffff1916610101178955386108a4565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561088d5750600160ff89161461088d565b50600160ff891610610886565b8580fd5b5091346107855760203660031901126107855750610c906020923561185b565b90516001600160a01b039091168152f35b8382346102865760203660031901126102865735610cbe8161185b565b336001600160a01b0390911603610286576101df90611ced565b50503461028657816003193601126102865760209060ff610101541690519015158152f35b50903461023457606036600319011261023457813567ffffffffffffffff8082116104545736602383011215610454578184013590808211610c6c573660248385010111610c6c57610d4d611617565b90610d5661162d565b9060019485610d6433611ec2565b10610bd957610d7c9061010454956024369201611719565b9261010393610d8b8554611de5565b808655966001600160a01b03928316938415610fe157600089815260996020526040902054610dc6906001600160a01b031615155b15611e30565b600089815260996020526040902054610de9906001600160a01b03161515610dc0565b848c52602098609a8a528a8d20838154019055808d5260998a528a8d20956001600160601b0360a01b9681888254161790558d7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a486548c526101028952898c20928051918211610fce578c8a610e62865461187e565b91601f8311610f86575b9150505089908d601f8411600114610f255791839491849394610f1a575b50501b916000199060031b1c19161790555b8354895260c9865286892033838254161790558354895260fe865286892092169082541617905554855260ff82528285205560ff6101015416610edd578380f35b3384526101009081815282852054936000198501948511610f075750338552528220553880808380f35b634e487b7160e01b865260119052602485fd5b015192503880610e8a565b919083601f1981168785528d80862095905b88838310610f6e5750505010610f55575b505050811b019055610e9c565b015160001960f88460031b161c19169055388080610f48565b8686015188559096019594850194879350018e610f37565b86815220601f840160051c8101918c8510610fc4575b601f0160051c019084908f5b838210610fb95790508c9150610e6c565b81550184908f610fa8565b9091508190610f9c565b634e487b7160e01b8d5260418c5260248dfd5b895162461bcd60e51b81526020818d0181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606490fd5b838234610286576020366003190112610286576101df9035611ced565b505034610286576101df9061105536611674565b91925192611062846116a9565b858452611958565b50346102345760203660031901126102345735825260c96020908152918190205490516001600160a01b039091168152f35b505034610286576020366003190112610286576020916110c26110bd6115fc565b611ec2565b156110d457506001905b519015158152f35b906110cc565b50503461028657816003193601126102865760fc5490516001600160a01b039091168152602090f35b505034610286576020366003190112610286576020906111246110bd6115fc565b9051908152f35b5091346107855781600319360112610785578235815260fe60205281812054602435906001600160a01b0390811680156111b157925b60ff6020528481205480156111a757925b8381029381850414901517156111945750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fd5492611172565b508060fc541692611161565b8334610785576101df6111cf36611674565b916111e26111dd84336119f3565b6118f6565b611abb565b509034610234573660031901126102865767ffffffffffffffff8135818111611291576112179036908401611643565b9190926024359182116104545761123091369101611643565b9161123961176e565b82810361045457845b81811061124d578580f35b611258818387611e0a565b35906001600160a01b038216820361128d576112836112889261127c838888611e0a565b3590611e7c565b611de5565b611242565b8680fd5b8380fd5b505034610286578160031936011261028657602090610104549051908152f35b50503461028657366003190112610785576101df6112d16115fc565b6112d961176e565b60243590611e7c565b50346102345781600319360112610234576112fb6115fc565b6024359290916001600160a01b03919082806113168761185b565b16941693808514611405578033149081156113e6575b501561137e5750838552609b602052842080546001600160a01b031916831790556113568361185b565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861132c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346107855760203660031901126107855750610c90602092356118b8565b505034610286578160031936011261028657805190826097546114948161187e565b808552916001918083169081156105ff57506001146114bf57505050610590826103ef9403836116db565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611504575050506105908260206103ef958201019461057e565b805460208787018101919091529095019481016114e7565b92505034610234576020366003190112610234573563ffffffff60e01b81168091036102345760209250631030681960e21b811490811561155f575b5015158152f35b63152a902d60e11b811491508115611579575b5038611558565b6380ac58cd60e01b8114915081156115ab575b811561159a575b5038611572565b6301ffc9a760e01b14905038611593565b635b5e139f60e01b8114915061158c565b919082519283825260005b8481106115e8575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016115c7565b600435906001600160a01b038216820361161257565b600080fd5b602435906001600160a01b038216820361161257565b604435906001600160a01b038216820361161257565b9181601f840112156116125782359167ffffffffffffffff8311611612576020808501948460051b01011161161257565b6060906003190112611612576001600160a01b0390600435828116810361161257916024359081168103611612579060443590565b6020810190811067ffffffffffffffff8211176116c557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176116c557604052565b67ffffffffffffffff81116116c557601f01601f191660200190565b929192611725826116fd565b9161173360405193846116db565b829481845281830111611612578281602093846000960137010152565b9080601f830112156116125781602061176b93359101611719565b90565b6033546001600160a01b0316330361178257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561181657565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b031661176b81151561180f565b90600182811c921680156118ae575b602083101461189857565b634e487b7160e01b600052602260045260246000fd5b91607f169161188d565b6000818152609960205260409020546118db906001600160a01b0316151561180f565b6000908152609b60205260409020546001600160a01b031690565b156118fd57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061197c93929161196c6111dd84336119f3565b611977838383611abb565b611bcc565b1561198357565b60405162461bcd60e51b81528061199c600482016119a0565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b038080611a078461185b565b16931691838314938415611a3a575b508315611a24575b50505090565b611a30919293506118b8565b1614388080611a1e565b909350600052609c60205260406000208260005260205260ff604060002054169238611a16565b15611a6857565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611ae391611ac98461185b565b6001600160a01b0393918416928492909183168414611a61565b16918215611b7b5781611b0091611af98661185b565b1614611a61565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15611ce257948491611c269660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906115bc565b0393165af1849181611ca2575b50611c91575050503d600014611c89573d611c4d816116fd565b90611c5b60405192836116db565b81528091833d92013e5b80519182611c865760405162461bcd60e51b81528061199c600482016119a0565b01fd5b506060611c65565b6001600160e01b0319161492509050565b9091508581813d8311611cdb575b611cba81836116db565b8101031261045457516001600160e01b031981168103610454579038611c33565b503d611cb0565b505050915050600190565b611cfa6111dd82336119f3565b611d038161185b565b50611d0d8161185b565b6000828152609b6020908152604080832080546001600160a01b03199081169091556001600160a01b03909416808452609a83528184208054600019019055858452609990925282208054909316909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b15611d8c57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6000198114611df45760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015611e1a5760051b0190565b634e487b7160e01b600052603260045260246000fd5b15611e3757565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b60207fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e9160018060a01b03169283600052610100825280604060002055604051908152a2565b6101015460ff1615611eea576001600160a01b03166000908152610100602052604090205490565b506000199056fea2646970667358221220abaf90842bb9529d01f39b83875ff572a62f874ba2707bbc52ea0dfacf97bede64736f6c63430008120033","sourceMap":"343:1742:209:-:0;;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;;;-1:-1:-1;;343:1742:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;343:1742:209;;-1:-1:-1;;;;;;343:1742:209;;;719:10:99;343:1742:209;;;;;;;;;-1:-1:-1;;;;;343:1742:209;-1:-1:-1;;343:1742:209;;-1:-1:-1;;343:1742:209;;719:10:99;343:1742:209;;2566:40:78;-1:-1:-1;;2566:40:78;343:1742:209;757:34;;;343:1742;;;;810:36;;;343:1742;;;;;;;;;;932:70;343:1742;;;932:70;343:1742;1042:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;343:1742;;;1070:37;343:1742;;;1070:37;343:1742;;;;;;;;;;1042:18;343:1742;;;;;;;;;;1042:18;-1:-1:-1;;;343:1742:209;;;;;;;;;;;;;-1:-1:-1;343:1742:209;;;;;;-1:-1:-1;343:1742:209;;;;;-1:-1:-1;343:1742:209;;;;-1:-1:-1;;;;;343:1742:209;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c908163030f3ee6146105075781630bcba09d146104de578163715018a61461048157816374384883146104375781638da5cb5b1461040f578163ba50b632146103e6578163d0ba7ef814610185578163f2fde38b146100b1575063f506ea791461008657600080fd5b346100ad57816003193601126100ad5760035490516001600160a01b039091168152602090f35b5080fd5b91905034610181576020366003190112610181576001600160a01b0382358181169391929084900361017d576100e5610584565b831561012b575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b91905034610181576003199181833601126103e25767ffffffffffffffff81358181116103de576101b99036908401610551565b916024359081116103da576101d19036908501610551565b600354608881901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017895260781b6effffffffffffffffffffffffffffff19166e5af43d82803e903d91602b57fd5bf3176020526001600160a01b039390929184603760098bf01697881561039e579089939291893b1561017d578851633772ba0d60e11b815260608982015295869485946102829491610273916064880191610606565b92858403016024860152610606565b336044830152038183895af180156103945761037f575b50908491835133867fabe0dd57947693bae591655c14bbe6fd911ea23c65899a1882a49ac2ce5f1f558680a38160015416803b1561017d578160448187809463ae312a9760e01b83528b89840152600f60248401525af1801561037557908491610361575b505060025416803b15610181576044839285519485938492634623c80960e11b84523390840152600560248401525af1801561035757610343575b6020838351908152f35b61034d84916105dc565b6101815782610339565b82513d86823e3d90fd5b61036a906105dc565b6101815782386102fe565b85513d86823e3d90fd5b61038c90959192956105dc565b939038610299565b84513d88823e3d90fd5b875162461bcd60e51b81526020818901526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fd5b8680fd5b8580fd5b8380fd5b5050346100ad57816003193601126100ad5760015490516001600160a01b039091168152602090f35b5050346100ad57816003193601126100ad57905490516001600160a01b039091168152602090f35b8390346100ad5760203660031901126100ad57356001600160a01b038116908190036100ad57610465610584565b80156100ad576001600160601b0360a01b600154161760015580f35b83346104db57806003193601126104db5761049a610584565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5050346100ad57816003193601126100ad5760025490516001600160a01b039091168152602090f35b8390346100ad5760203660031901126100ad57356001600160a01b038116908190036100ad57610535610584565b80156100ad576001600160601b0360a01b600354161760035580f35b9181601f8401121561057f5782359167ffffffffffffffff831161057f576020838186019501011161057f57565b600080fd5b6000546001600160a01b0316330361059857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b67ffffffffffffffff81116105f057604052565b634e487b7160e01b600052604160045260246000fd5b908060209392818452848401376000828201840152601f01601f191601019056fea2646970667358221220d2d5f1ded43669124515f01eb1abd28d16471e8fd045cb54785ec3b7b649306864736f6c63430008120033","sourceMap":"343:1742:209:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;343:1742:209;;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;2162:22;;343:1742:209;;;;;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;2566:40:78;343:1742:209;2566:40:78;;343:1742:209;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;343:1742:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;1101:558:82;;;;;;;;;;;;-1:-1:-1;;1101:558:82;;;343:1742:209;1101:558:82;-1:-1:-1;;;;;343:1742:209;;;;;1101:558:82;;;;343:1742:209;1676:22:82;;;343:1742:209;;1726:59;;;;;;;;;;343:1742;;-1:-1:-1;;;1726:59:209;;343:1742;1726:59;;;343:1742;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;1774:10;343:1742;;;;1726:59;;;;;;;;;;;;343:1742;;;;;;;1774:10;1800:53;;;;;343:1742;;;;1864:113;;;;;343:1742;;;;;;;;;1864:113;;;;;;343:1742;1965:2;343:1742;;;;1864:113;;;;;;;;;;;343:1742;;;1988:21;343:1742;;1988:58;;;;;343:1742;;;;;;;;;;;;;1988:58;;1774:10;1988:58;;;343:1742;2044:1;343:1742;;;;1988:58;;;;;;;;343:1742;;;;;;;;;1988:58;;;;;:::i;:::-;343:1742;;1988:58;;;;343:1742;;;;;;;;;1864:113;;;;:::i;:::-;343:1742;;1864:113;;;;;343:1742;;;;;;;;;1726:59;;;;;;;;:::i;:::-;;;;;;;343:1742;;;;;;;;;;;;-1:-1:-1;;;343:1742:209;;;;;;;;;;;;-1:-1:-1;;;343:1742:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;;;;;;;;;-1:-1:-1;;343:1742:209;;;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;1063:62:78;;:::i;:::-;1240:34:209;;343:1742;;-1:-1:-1;;;;;343:1742:209;;;;;;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;343:1742:209;;-1:-1:-1;;;;;;343:1742:209;;;;;;-1:-1:-1;;;;;343:1742:209;2566:40:78;343:1742:209;;2566:40:78;343:1742:209;;;;;;;;;;;;;;;;;;;450:51;343:1742;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;;;;;;;;;-1:-1:-1;;343:1742:209;;;;;-1:-1:-1;;;;;343:1742:209;;;;;;;;1063:62:78;;:::i;:::-;1447:27:209;;343:1742;;-1:-1:-1;;;;;343:1742:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;1359:130:78;1273:6;343:1742:209;-1:-1:-1;;;;;343:1742:209;719:10:99;1422:23:78;343:1742:209;;1359:130:78:o;343:1742:209:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;343:1742:209;;;;;;;;-1:-1:-1;;343:1742:209;;;;:::o","linkReferences":{}},"methodIdentifiers":{"createRareSpaceNFTContract(string,string)":"d0ba7ef8","marketplaceSettings()":"ba50b632","owner()":"8da5cb5b","rareSpaceNFT()":"f506ea79","renounceOwnership()":"715018a6","setIMarketplaceSettings(address)":"74384883","setRareSpaceNFT(address)":"030f3ee6","spaceOperatorRegistry()":"0bcba09d","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"RareSpaceNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"createRareSpaceNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rareSpaceNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setIMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rareSpaceNFT\",\"type\":\"address\"}],\"name\":\"setRareSpaceNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol\":\"RareSpaceNFTContractFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e\",\"dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/token/ERC721/spaces/RareSpaceNFT.sol\":{\"keccak256\":\"0x9a1a0c97c48a709b66d46b7c15c3a6b89c584c39aacd57b44d3e3a695ade004d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9494bfb748ebfa9a21885c38947b344480abba85c77e2ad3f82052b0eaec6b37\",\"dweb:/ipfs/Qma7VysWHmZN863QxMSgJR9hBYaC9kadsVy41BhNSTqi6Y\"]},\"src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol\":{\"keccak256\":\"0xa5be3d83be5aa3407e0df6304a18dae108b07a8dd995bb47b14c29b49731d2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df507663502e98176001eb9573e2fabdd089aa7b8a81f2499291999171040f2f\",\"dweb:/ipfs/QmWWMVCCo4BtjpPzZa2E7xb8tcrXgFscUrWR3QSiLv2GN9\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/token/extensions/TokenCreator.sol\":{\"keccak256\":\"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87\",\"dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ\"]},\"src/token/extensions/Whitelist.sol\":{\"keccak256\":\"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7\",\"dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_operator","type":"address","indexed":true}],"type":"event","name":"RareSpaceNFTContractCreated","anonymous":false},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createRareSpaceNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rareSpaceNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setIMarketplaceSettings"},{"inputs":[{"internalType":"address","name":"_rareSpaceNFT","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRareSpaceNFT"},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol":"RareSpaceNFTContractFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db","urls":["bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e","dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/token/ERC721/spaces/RareSpaceNFT.sol":{"keccak256":"0x9a1a0c97c48a709b66d46b7c15c3a6b89c584c39aacd57b44d3e3a695ade004d","urls":["bzz-raw://9494bfb748ebfa9a21885c38947b344480abba85c77e2ad3f82052b0eaec6b37","dweb:/ipfs/Qma7VysWHmZN863QxMSgJR9hBYaC9kadsVy41BhNSTqi6Y"],"license":"MIT"},"src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol":{"keccak256":"0xa5be3d83be5aa3407e0df6304a18dae108b07a8dd995bb47b14c29b49731d2e2","urls":["bzz-raw://df507663502e98176001eb9573e2fabdd089aa7b8a81f2499291999171040f2f","dweb:/ipfs/QmWWMVCCo4BtjpPzZa2E7xb8tcrXgFscUrWR3QSiLv2GN9"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/token/extensions/TokenCreator.sol":{"keccak256":"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0","urls":["bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87","dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ"],"license":"MIT"},"src/token/extensions/Whitelist.sol":{"keccak256":"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747","urls":["bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7","dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE"],"license":"MIT"}},"version":1},"id":209} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createRareSpaceNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"rareSpaceNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIMarketplaceSettings","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRareSpaceNFT","inputs":[{"name":"_rareSpaceNFT","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RareSpaceNFTContractCreated","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_operator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60803461012d576001600160401b0390601f61272e38819003918201601f19168301918483118484101761013257808492604094855283398101031261012d57610054602061004d83610148565b9201610148565b600080546001600160a01b031980821633908117845560405191966001600160a01b039694959294909387929083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08880a31690811561012957851690811561012957866001541617600155856002541617600255611f748083019183831090831117610115579082916107ba8339039082f090811561010957501690600354161760035560405161065d908161015d8239f35b604051903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b8480fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361012d5756fe6040608081526004908136101561001557600080fd5b600091823560e01c908163030f3ee6146105075781630bcba09d146104de578163715018a61461048157816374384883146104375781638da5cb5b1461040f578163ba50b632146103e6578163d0ba7ef814610185578163f2fde38b146100b1575063f506ea791461008657600080fd5b346100ad57816003193601126100ad5760035490516001600160a01b039091168152602090f35b5080fd5b91905034610181576020366003190112610181576001600160a01b0382358181169391929084900361017d576100e5610584565b831561012b575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b91905034610181576003199181833601126103e25767ffffffffffffffff81358181116103de576101b99036908401610551565b916024359081116103da576101d19036908501610551565b600354608881901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017895260781b6effffffffffffffffffffffffffffff19166e5af43d82803e903d91602b57fd5bf3176020526001600160a01b039390929184603760098bf01697881561039e579089939291893b1561017d578851633772ba0d60e11b815260608982015295869485946102829491610273916064880191610606565b92858403016024860152610606565b336044830152038183895af180156103945761037f575b50908491835133867fabe0dd57947693bae591655c14bbe6fd911ea23c65899a1882a49ac2ce5f1f558680a38160015416803b1561017d578160448187809463ae312a9760e01b83528b89840152600f60248401525af1801561037557908491610361575b505060025416803b15610181576044839285519485938492634623c80960e11b84523390840152600560248401525af1801561035757610343575b6020838351908152f35b61034d84916105dc565b6101815782610339565b82513d86823e3d90fd5b61036a906105dc565b6101815782386102fe565b85513d86823e3d90fd5b61038c90959192956105dc565b939038610299565b84513d88823e3d90fd5b875162461bcd60e51b81526020818901526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fd5b8680fd5b8580fd5b8380fd5b5050346100ad57816003193601126100ad5760015490516001600160a01b039091168152602090f35b5050346100ad57816003193601126100ad57905490516001600160a01b039091168152602090f35b8390346100ad5760203660031901126100ad57356001600160a01b038116908190036100ad57610465610584565b80156100ad576001600160601b0360a01b600154161760015580f35b83346104db57806003193601126104db5761049a610584565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5050346100ad57816003193601126100ad5760025490516001600160a01b039091168152602090f35b8390346100ad5760203660031901126100ad57356001600160a01b038116908190036100ad57610535610584565b80156100ad576001600160601b0360a01b600354161760035580f35b9181601f8401121561057f5782359167ffffffffffffffff831161057f576020838186019501011161057f57565b600080fd5b6000546001600160a01b0316330361059857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b67ffffffffffffffff81116105f057604052565b634e487b7160e01b600052604160045260246000fd5b908060209392818452848401376000828201840152601f01601f191601019056fea2646970667358221220f2a6f9ac6af2d9509ff6e6bbbaa010c0c3207b72c7990fbc3b4c0ea6a6bad51764736f6c634300081200336080806040523461002457610101805460ff19166001179055611f4a908161002a8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146115d75750806306fdde031461152d578063081812fc1461150d578063095ea7b31461139d5780631029f46714611370578063139d8325146113505780631ef87a5d146112a257806323b872dd1461127d5780632a55205a146111eb5780632d13f7d8146111c35780633403c4e91461119a5780633af32abf1461115c57806340c1a0641461112a57806342842e0e146111015783816342966c68146110c3575080634aa52c4114610d9c57806351fb012d14610d77578381636297c16c14610ca5575080636352211e14610c745780636ee5741a1461082257806370a082311461078c578063715018a61461072c57806380e3f1ad146106f357806381b97161146106ba5780638ab1d681146106545780638da5cb5b1461062b57806395d89b4114610546578063a22cb4651461047b578063ab69607a1461045c578063b88d4fde146103f7578063c87b56dd14610387578063e43252d71461031c578063e5cff4871461028e578063e985e9c51461023c5763f2fde38b146101a857600080fd5b34610238576020366003190112610238576101c16116b7565b916101ca611829565b6001600160a01b038316156101e657836101e384611881565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461028a578060031936011261028a5760ff8160209361025c6116b7565b6102646116d2565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5080fd5b50346102385781600319360112610238578035916102aa6116d2565b83855260c96020528185205490936001600160a01b03939091841633036102eb5750845260fe602052832091166001600160601b0360a01b82541617905580f35b606490602084519162461bcd60e51b8352820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152fd5b50503461028a57602036600319011261028a577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e602061035a6116b7565b610362611829565b6001600160a01b0316808552610100825283852060001990819055935193845292a280f35b5091903461028a57602036600319011261028a576103c66103c16103f39435600052609960205260018060a01b0360406000205416151590565b6118ca565b8181516103d281611764565b528051916103df83611764565b825251918291602083526020830190611677565b0390f35b83823461028a57608036600319011261028a576104126116b7565b61041a6116d2565b9060643567ffffffffffffffff81116104585736602382011215610458576101e39381602461044e933693013591016117d4565b9160443591611a13565b8480fd5b50503461028a578160031936011261028a5760209060fd549051908152f35b5090346102385780600319360112610238576104956116b7565b9060243591821515809303610458576001600160a01b0316923384146105045750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b50503461028a578160031936011261028a578051908260985461056881611939565b8085529160019180831690811561060357506001146105a6575b505050610594826103f3940383611796565b51918291602083526020830190611677565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105eb575050506105948260206103f39582010194610582565b805460208787018101919091529095019481016105ce565b6103f397508693506020925061059494915060ff191682840152151560051b82010194610582565b50503461028a578160031936011261028a5760335490516001600160a01b039091168152602090f35b50503461028a57602036600319011261028a577fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e60206106926116b7565b61069a611829565b6001600160a01b031680855261010082528385208590559251848152a280f35b50503461028a57602036600319011261028a5760209181906001600160a01b036106e26116b7565b168152610100845220549051908152f35b83823461028a57602036600319011261028a573580151580910361028a57610719611829565b6101019060ff8019835416911617905580f35b8334610789578060031936011261078957610745611829565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5082903461028a57602036600319011261028a576001600160a01b036107b06116b7565b169081156107cd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5090346102385760603660031901126102385767ffffffffffffffff91803583811161045857610855903690830161180b565b602435848111610c705761086c903690840161180b565b936108756116e8565b9186549560ff8760081c161594858096610c63575b8015610c4c575b15610bf257600197868960ff198316178b55610be1575b506001600160a01b03851615610bdd57600a610104556108d760ff8a5460081c166108d281611da8565b611da8565b8251848111610bca57806108ec609754611939565b94601f95868111610b5c575b50602090868311600114610add578c92610ad2575b5050600019600383901b1c191690891b176097555b8151938411610abf5750610937609854611939565b828111610a5c575b5060209183116001146109d85761098c9392918891836109cd575b5050600019600383901b1c191690861b176098555b61097f60ff875460081c16611da8565b610987611829565b611881565b610994578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b01519050388061095a565b60988852929186917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81490601f1983168a5b818110610a445750958361098c9710610a2b575b505050811b0160985561096f565b015160001960f88460031b161c19169055388080610a1d565b8288015184558a959093019260209283019201610a09565b609889527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610ab6575b0160051c019088905b828110610aab57505061093f565b8a8155018890610a9d565b92508192610a94565b634e487b7160e01b895260419052602488fd5b01519050388061090d565b60978d528b93507f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff99190601f1984168e5b818110610b4457508411610b2b575b505050811b01609755610922565b015160001960f88460031b161c19169055388080610b1d565b8284015185558e969094019360209384019301610b0e565b90915060978c527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610bc1575b918d91869594930160051c01915b828110610bb35750506108f8565b8e81558594508d9101610ba5565b92508192610b97565b634e487b7160e01b8a526041825260248afd5b8880fd5b61ffff1916610101178955386108a8565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156108915750600160ff891614610891565b50600160ff89161061088a565b8580fd5b5091346107895760203660031901126107895750610c9460209235611916565b90516001600160a01b039091168152f35b9190503461028a57602036600319011261028a573591610cc483611916565b6001600160a01b03903390821603610238573381610ce186611916565b160361023857610cf9610cf48533611aae565b6119b1565b610d0284611916565b50610d0c84611916565b90848452609b602052828420916001600160601b0360a01b928381541690551691828452609a6020528084206000198154019055848452609960205283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b50503461028a578160031936011261028a5760209060ff610101541690519015158152f35b50903461023857606036600319011261023857813567ffffffffffffffff8082116104585736602383011215610458578184013590808211610c70573660248385010111610c7057610dec6116d2565b90610df56116e8565b9060019485610e0333611ee5565b10610bdd57610e1b90610104549560243692016117d4565b9261010393610e2a8554611e08565b808655966001600160a01b0392831693841561108057600089815260996020526040902054610e65906001600160a01b031615155b15611e53565b600089815260996020526040902054610e88906001600160a01b03161515610e5f565b848c52602098609a8a528a8d20838154019055808d5260998a528a8d20956001600160601b0360a01b9681888254161790558d7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a486548c526101028952898c2092805191821161106d578c8a610f018654611939565b91601f8311611025575b9150505089908d601f8411600114610fc45791839491849394610fb9575b50501b916000199060031b1c19161790555b8354895260c9865286892033838254161790558354895260fe865286892092169082541617905554855260ff82528285205560ff6101015416610f7c578380f35b3384526101009081815282852054936000198501948511610fa65750338552528220553880808380f35b634e487b7160e01b865260119052602485fd5b015192503880610f29565b919083601f1981168785528d80862095905b8883831061100d5750505010610ff4575b505050811b019055610f3b565b015160001960f88460031b161c19169055388080610fe7565b8686015188559096019594850194879350018e610fd6565b86815220601f840160051c8101918c8510611063575b601f0160051c019084908f5b8382106110585790508c9150610f0b565b81550184908f611047565b909150819061103b565b634e487b7160e01b8d5260418c5260248dfd5b895162461bcd60e51b81526020818d0181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606490fd5b9190503461028a57602036600319011261028a5735916110e283611916565b6001600160a01b0390339082160361023857610cf9610cf48533611aae565b50503461028a576101e3906111153661172f565b9192519261112284611764565b858452611a13565b50346102385760203660031901126102385735825260c96020908152918190205490516001600160a01b039091168152f35b50503461028a57602036600319011261028a5760209161118261117d6116b7565b611ee5565b1561119457506001905b519015158152f35b9061118c565b50503461028a578160031936011261028a5760fc5490516001600160a01b039091168152602090f35b50503461028a57602036600319011261028a576020906111e461117d6116b7565b9051908152f35b5091346107895781600319360112610789578235815260fe60205281812054602435906001600160a01b03908116801561127157925b60ff60205284812054801561126757925b8381029381850414901517156112545750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fd5492611232565b508060fc541692611221565b8334610789576101e361128f3661172f565b9161129d610cf48433611aae565b611b76565b5090346102385736600319011261028a5767ffffffffffffffff813581811161134c576112d290369084016116fe565b919092602435918211610458576112eb913691016116fe565b916112f4611829565b82810361045857845b818110611308578580f35b611313818387611e2d565b35906001600160a01b03821682036113485761133e61134392611337838888611e2d565b3590611e9f565b611e08565b6112fd565b8680fd5b8380fd5b50503461028a578160031936011261028a57602090610104549051908152f35b50503461028a57366003190112610789576101e361138c6116b7565b611394611829565b60243590611e9f565b50346102385781600319360112610238576113b66116b7565b6024359290916001600160a01b03919082806113d187611916565b169416938085146114c0578033149081156114a1575b50156114395750838552609b602052842080546001600160a01b0319168317905561141183611916565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386113e7565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346107895760203660031901126107895750610c9460209235611973565b50503461028a578160031936011261028a578051908260975461154f81611939565b80855291600191808316908115610603575060011461157a57505050610594826103f3940383611796565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106115bf575050506105948260206103f39582010194610582565b805460208787018101919091529095019481016115a2565b92505034610238576020366003190112610238573563ffffffff60e01b81168091036102385760209250631030681960e21b811490811561161a575b5015158152f35b63152a902d60e11b811491508115611634575b5038611613565b6380ac58cd60e01b811491508115611666575b8115611655575b503861162d565b6301ffc9a760e01b1490503861164e565b635b5e139f60e01b81149150611647565b919082519283825260005b8481106116a3575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611682565b600435906001600160a01b03821682036116cd57565b600080fd5b602435906001600160a01b03821682036116cd57565b604435906001600160a01b03821682036116cd57565b9181601f840112156116cd5782359167ffffffffffffffff83116116cd576020808501948460051b0101116116cd57565b60609060031901126116cd576001600160a01b039060043582811681036116cd579160243590811681036116cd579060443590565b6020810190811067ffffffffffffffff82111761178057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761178057604052565b67ffffffffffffffff811161178057601f01601f191660200190565b9291926117e0826117b8565b916117ee6040519384611796565b8294818452818301116116cd578281602093846000960137010152565b9080601f830112156116cd57816020611826933591016117d4565b90565b6033546001600160a01b0316330361183d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b156118d157565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152609960205260409020546001600160a01b03166118268115156118ca565b90600182811c92168015611969575b602083101461195357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611948565b600081815260996020526040902054611996906001600160a01b031615156118ca565b6000908152609b60205260409020546001600160a01b031690565b156119b857565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90611a37939291611a27610cf48433611aae565b611a32838383611b76565b611c87565b15611a3e57565b60405162461bcd60e51b815280611a5760048201611a5b565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b038080611ac284611916565b16931691838314938415611af5575b508315611adf575b50505090565b611aeb91929350611973565b1614388080611ad9565b909350600052609c60205260406000208260005260205260ff604060002054169238611ad1565b15611b2357565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90611b9e91611b8484611916565b6001600160a01b0393918416928492909183168414611b1c565b16918215611c365781611bbb91611bb486611916565b1614611b1c565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15611d9d57948491611ce19660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611677565b0393165af1849181611d5d575b50611d4c575050503d600014611d44573d611d08816117b8565b90611d166040519283611796565b81528091833d92013e5b80519182611d415760405162461bcd60e51b815280611a5760048201611a5b565b01fd5b506060611d20565b6001600160e01b0319161492509050565b9091508581813d8311611d96575b611d758183611796565b8101031261045857516001600160e01b031981168103610458579038611cee565b503d611d6b565b505050915050600190565b15611daf57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6000198114611e175760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015611e3d5760051b0190565b634e487b7160e01b600052603260045260246000fd5b15611e5a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b60207fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e9160018060a01b03169283600052610100825280604060002055604051908152a2565b6101015460ff1615611f0d576001600160a01b03166000908152610100602052604090205490565b506000199056fea2646970667358221220a877b024cbaec56540e20c41347502ca708dde1f1b158ea5a00134dc8030e02464736f6c63430008120033","sourceMap":"343:1742:182:-:0;;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;;;-1:-1:-1;;343:1742:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;343:1742:182;;-1:-1:-1;;;;;;343:1742:182;;;719:10:81;343:1742:182;;;;;;;;;-1:-1:-1;;;;;343:1742:182;-1:-1:-1;;343:1742:182;;-1:-1:-1;;343:1742:182;;719:10:81;343:1742:182;;2566:40:62;-1:-1:-1;;2566:40:62;343:1742:182;757:34;;;343:1742;;;;810:36;;;343:1742;;;;;;;;;;932:70;343:1742;;;932:70;343:1742;1042:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;343:1742;;;1070:37;343:1742;;;1070:37;343:1742;;;;;;;;;;1042:18;343:1742;;;;;;;;;;1042:18;-1:-1:-1;;;343:1742:182;;;;;;;;;;;;;-1:-1:-1;343:1742:182;;;;;;-1:-1:-1;343:1742:182;;;;;-1:-1:-1;343:1742:182;;;;-1:-1:-1;;;;;343:1742:182;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c908163030f3ee6146105075781630bcba09d146104de578163715018a61461048157816374384883146104375781638da5cb5b1461040f578163ba50b632146103e6578163d0ba7ef814610185578163f2fde38b146100b1575063f506ea791461008657600080fd5b346100ad57816003193601126100ad5760035490516001600160a01b039091168152602090f35b5080fd5b91905034610181576020366003190112610181576001600160a01b0382358181169391929084900361017d576100e5610584565b831561012b575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b91905034610181576003199181833601126103e25767ffffffffffffffff81358181116103de576101b99036908401610551565b916024359081116103da576101d19036908501610551565b600354608881901c62ffffff16763d602d80600a3d3981f3363d3d373d3d3d363d7300000017895260781b6effffffffffffffffffffffffffffff19166e5af43d82803e903d91602b57fd5bf3176020526001600160a01b039390929184603760098bf01697881561039e579089939291893b1561017d578851633772ba0d60e11b815260608982015295869485946102829491610273916064880191610606565b92858403016024860152610606565b336044830152038183895af180156103945761037f575b50908491835133867fabe0dd57947693bae591655c14bbe6fd911ea23c65899a1882a49ac2ce5f1f558680a38160015416803b1561017d578160448187809463ae312a9760e01b83528b89840152600f60248401525af1801561037557908491610361575b505060025416803b15610181576044839285519485938492634623c80960e11b84523390840152600560248401525af1801561035757610343575b6020838351908152f35b61034d84916105dc565b6101815782610339565b82513d86823e3d90fd5b61036a906105dc565b6101815782386102fe565b85513d86823e3d90fd5b61038c90959192956105dc565b939038610299565b84513d88823e3d90fd5b875162461bcd60e51b81526020818901526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fd5b8680fd5b8580fd5b8380fd5b5050346100ad57816003193601126100ad5760015490516001600160a01b039091168152602090f35b5050346100ad57816003193601126100ad57905490516001600160a01b039091168152602090f35b8390346100ad5760203660031901126100ad57356001600160a01b038116908190036100ad57610465610584565b80156100ad576001600160601b0360a01b600154161760015580f35b83346104db57806003193601126104db5761049a610584565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5050346100ad57816003193601126100ad5760025490516001600160a01b039091168152602090f35b8390346100ad5760203660031901126100ad57356001600160a01b038116908190036100ad57610535610584565b80156100ad576001600160601b0360a01b600354161760035580f35b9181601f8401121561057f5782359167ffffffffffffffff831161057f576020838186019501011161057f57565b600080fd5b6000546001600160a01b0316330361059857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b67ffffffffffffffff81116105f057604052565b634e487b7160e01b600052604160045260246000fd5b908060209392818452848401376000828201840152601f01601f191601019056fea2646970667358221220f2a6f9ac6af2d9509ff6e6bbbaa010c0c3207b72c7990fbc3b4c0ea6a6bad51764736f6c63430008120033","sourceMap":"343:1742:182:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;343:1742:182;;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;;;;;;;1063:62:62;;:::i;:::-;2162:22;;343:1742:182;;;;;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;2566:40:62;343:1742:182;2566:40:62;;343:1742:182;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;343:1742:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;1101:558:66;;;;;;;;;;;;-1:-1:-1;;1101:558:66;;;343:1742:182;1101:558:66;-1:-1:-1;;;;;343:1742:182;;;;;1101:558:66;;;;343:1742:182;1676:22:66;;;343:1742:182;;1726:59;;;;;;;;;;343:1742;;-1:-1:-1;;;1726:59:182;;343:1742;1726:59;;;343:1742;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;1774:10;343:1742;;;;1726:59;;;;;;;;;;;;343:1742;;;;;;;1774:10;1800:53;;;;;343:1742;;;;1864:113;;;;;343:1742;;;;;;;;;1864:113;;;;;;343:1742;1965:2;343:1742;;;;1864:113;;;;;;;;;;;343:1742;;;1988:21;343:1742;;1988:58;;;;;343:1742;;;;;;;;;;;;;1988:58;;1774:10;1988:58;;;343:1742;2044:1;343:1742;;;;1988:58;;;;;;;;343:1742;;;;;;;;;1988:58;;;;;:::i;:::-;343:1742;;1988:58;;;;343:1742;;;;;;;;;1864:113;;;;:::i;:::-;343:1742;;1864:113;;;;;343:1742;;;;;;;;;1726:59;;;;;;;;:::i;:::-;;;;;;;343:1742;;;;;;;;;;;;-1:-1:-1;;;343:1742:182;;;;;;;;;;;;-1:-1:-1;;;343:1742:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;;;;;;;;;-1:-1:-1;;343:1742:182;;;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;1063:62:62;;:::i;:::-;1240:34:182;;343:1742;;-1:-1:-1;;;;;343:1742:182;;;;;;;;;;;;;;;;;;;;;;;1063:62:62;;:::i;:::-;343:1742:182;;-1:-1:-1;;;;;;343:1742:182;;;;;;-1:-1:-1;;;;;343:1742:182;2566:40:62;343:1742:182;;2566:40:62;343:1742:182;;;;;;;;;;;;;;;;;;;450:51;343:1742;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;;;;;;;;;-1:-1:-1;;343:1742:182;;;;;-1:-1:-1;;;;;343:1742:182;;;;;;;;1063:62:62;;:::i;:::-;1447:27:182;;343:1742;;-1:-1:-1;;;;;343:1742:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;1359:130:62;1273:6;343:1742:182;-1:-1:-1;;;;;343:1742:182;719:10:81;1422:23:62;343:1742:182;;1359:130:62:o;343:1742:182:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;343:1742:182;;;;;;;;-1:-1:-1;;343:1742:182;;;;:::o","linkReferences":{}},"methodIdentifiers":{"createRareSpaceNFTContract(string,string)":"d0ba7ef8","marketplaceSettings()":"ba50b632","owner()":"8da5cb5b","rareSpaceNFT()":"f506ea79","renounceOwnership()":"715018a6","setIMarketplaceSettings(address)":"74384883","setRareSpaceNFT(address)":"030f3ee6","spaceOperatorRegistry()":"0bcba09d","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"RareSpaceNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"createRareSpaceNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rareSpaceNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setIMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rareSpaceNFT\",\"type\":\"address\"}],\"name\":\"setRareSpaceNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol\":\"RareSpaceNFTContractFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e\",\"dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/token/ERC721/spaces/RareSpaceNFT.sol\":{\"keccak256\":\"0x2b3cd8f1a3f5a8deeb8077e70b85ee97803666f9b3127ca5247adccfaafe15d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c43ac67cdfd29cac02f32255ad0c1ba6846a79fed1ec57ea8e2b5d41e77982\",\"dweb:/ipfs/QmdGc6iYVMAASSmLvCSk68vGgEx8q45gi5NFvRCnV6effL\"]},\"src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol\":{\"keccak256\":\"0xa5be3d83be5aa3407e0df6304a18dae108b07a8dd995bb47b14c29b49731d2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df507663502e98176001eb9573e2fabdd089aa7b8a81f2499291999171040f2f\",\"dweb:/ipfs/QmWWMVCCo4BtjpPzZa2E7xb8tcrXgFscUrWR3QSiLv2GN9\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/token/extensions/TokenCreator.sol\":{\"keccak256\":\"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87\",\"dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ\"]},\"src/token/extensions/Whitelist.sol\":{\"keccak256\":\"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7\",\"dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_operator","type":"address","indexed":true}],"type":"event","name":"RareSpaceNFTContractCreated","anonymous":false},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createRareSpaceNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rareSpaceNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setIMarketplaceSettings"},{"inputs":[{"internalType":"address","name":"_rareSpaceNFT","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRareSpaceNFT"},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol":"RareSpaceNFTContractFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db","urls":["bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e","dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/token/ERC721/spaces/RareSpaceNFT.sol":{"keccak256":"0x2b3cd8f1a3f5a8deeb8077e70b85ee97803666f9b3127ca5247adccfaafe15d9","urls":["bzz-raw://89c43ac67cdfd29cac02f32255ad0c1ba6846a79fed1ec57ea8e2b5d41e77982","dweb:/ipfs/QmdGc6iYVMAASSmLvCSk68vGgEx8q45gi5NFvRCnV6effL"],"license":"MIT"},"src/token/ERC721/spaces/RareSpaceNFTContractFactory.sol":{"keccak256":"0xa5be3d83be5aa3407e0df6304a18dae108b07a8dd995bb47b14c29b49731d2e2","urls":["bzz-raw://df507663502e98176001eb9573e2fabdd089aa7b8a81f2499291999171040f2f","dweb:/ipfs/QmWWMVCCo4BtjpPzZa2E7xb8tcrXgFscUrWR3QSiLv2GN9"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/token/extensions/TokenCreator.sol":{"keccak256":"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0","urls":["bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87","dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ"],"license":"MIT"},"src/token/extensions/Whitelist.sol":{"keccak256":"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747","urls":["bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7","dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE"],"license":"MIT"}},"version":1},"id":182} \ No newline at end of file diff --git a/abis/RareStakingRegistry.json b/abis/RareStakingRegistry.json index 70cde69..621256e 100644 --- a/abis/RareStakingRegistry.json +++ b/abis/RareStakingRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ENS_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_CONFIG_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_INFO_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_STAT_SETTER_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_STAT_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SWAP_POOL_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"decreaseAmountStaked","inputs":[{"name":"_staker","type":"address","internalType":"address"},{"name":"_stakedOn","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDefaultPayee","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeflationaryPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDiscountPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPeriodLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRareAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRewardAccumulatorAddressForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getRoleMember","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRoleMemberCount","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStakingAddressForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingInfoForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareStakingRegistry.Info","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"stakingAddress","type":"address","internalType":"address"},{"name":"rewardAddress","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPool","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTotalAmountStakedByUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTotalAmountStakedOnUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsersForStakingAddresses","inputs":[{"name":"_stakingAddrs","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getWethAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increaseAmountStaked","inputs":[{"name":"_staker","type":"address","internalType":"address"},{"name":"_stakedOn","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_reverseRegistrar","type":"address","internalType":"address"},{"name":"_resolver","type":"address","internalType":"address"},{"name":"_periodLength","type":"uint256","internalType":"uint256"},{"name":"_deflationaryPercentage","type":"uint256","internalType":"uint256"},{"name":"_discountedPercent","type":"uint256","internalType":"uint256"},{"name":"_rare","type":"address","internalType":"address"},{"name":"_weth","type":"address","internalType":"address"},{"name":"_defaultPayee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultPayee","inputs":[{"name":"_payee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeflationaryPercentage","inputs":[{"name":"_percentage","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDiscountPercentage","inputs":[{"name":"_percentage","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPeriodLength","inputs":[{"name":"_periodLength","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setResolver","inputs":[{"name":"_resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReverseRegistrar","inputs":[{"name":"_reverseRegistrar","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingAddresses","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_stakingAddress","type":"address","internalType":"address"},{"name":"_rewardSwapAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSwapPool","inputs":[{"name":"_uniswapPool","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferRareFrom","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DefaultPayeeUpdated","inputs":[{"name":"_payee","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeflationaryPercentageUpdated","inputs":[{"name":"_percentage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DiscountPercentageUpdated","inputs":[{"name":"_percentage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"PeriodLengthUpdated","inputs":[{"name":"_periodLength","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ResolverUpdated","inputs":[{"name":"_resolver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReverseRegistrarUpdated","inputs":[{"name":"_percentage","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSwapPool","inputs":[{"name":"_uniswapPool","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InsufficientRareAllowance","inputs":[]},{"type":"error","name":"InvalidPool","inputs":[]},{"type":"error","name":"PercentageBeyondLimit","inputs":[]},{"type":"error","name":"PeriodLengthBeyondLimit","inputs":[]},{"type":"error","name":"RenouncingAdmin","inputs":[]},{"type":"error","name":"StakingContractAlreadyExists","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x60a08060405234620000e157306080526000549060ff8260081c166200008f575060ff8082160362000053575b6040516134cc9081620000e7823960805181818161096801528181610fed01526121140152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386200002c565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146102c7578063039bcf8e146102c257806306c571d5146102bd57806310da95e6146102b8578063111029b9146102b357806318ab58ac146102ae5780631c5633d7146102a95780632210d525146102a457806323a7b42a1461029f578063248a9ca31461029a5780632608ff3514610295578063265718b41461029057806329b4a5901461028b5780632f2ff15d14610286578063363227e51461028157806336568abe1461027c5780633659cfe6146102775780633d867d951461027257806346ccbb401461026d5780634e543b26146102685780634f1ef2861461026357806352d1902d1461025e578063557499ba1461025957806366951bc11461025457806376a250a71461024f57806381910e331461024a57806381d0606b146102455780638469ddc7146102405780639010d07c1461023b57806391d148541461023657806399247be714610231578063a217fddf1461022c578063a4303a4514610227578063b3428d1514610222578063bb0544a11461021d578063c254498714610218578063ca15c87314610213578063cac7c65c1461020e578063cb8af2b514610209578063d547741f14610204578063e286ef33146101ff578063f24bd8a6146101fa5763f7ef8ead146101f557600080fd5b611a98565b611a19565b61198e565b61194c565b6118d4565b61183a565b61180e565b6117d3565b611695565b61160b565b6115d0565b6115b4565b611514565b6114be565b611477565b611458565b611418565b611351565b611191565b611156565b61109f565b610fda565b610f5e565b610dc8565b610ae3565b610aa5565b610941565b610873565b610838565b61073a565b6106ff565b6106c4565b610625565b6105ca565b6105a0565b610576565b6104c2565b610458565b6103f5565b6103cb565b61038d565b61034d565b346103375760203660031901126103375760043563ffffffff60e01b811680910361033757602090635a05180f60e01b811490811561030c575b506040519015158152f35b637965db0b60e01b811491508115610326575b5038610301565b6301ffc9a760e01b1490503861031f565b600080fd5b6001600160a01b0381160361033757565b3461033757602036600319011261033757602060043561036c8161033c565b60018060a01b0380911660005261012f825260406000205416604051908152f35b34610337576020366003190112610337576004356103aa8161033c565b60018060a01b03166000526101306020526020604060002054604051908152f35b3461033757600036600319011261033757610139546040516001600160a01b039091168152602090f35b3461033757600036600319011261033757602061013854604051908152f35b6020908160408183019282815285518094520193019160005b82811061043b575050505090565b83516001600160a01b03168552938101939281019260010161042d565b346103375760203660031901126103375767ffffffffffffffff6004358181116103375736602382011215610337578060040135918211610337573660248360051b83010111610337576104be9160246104b2920161320d565b60405191829182610414565b0390f35b34610337576020366003190112610337576004356301e133808111610564573360009081526000805160206134578339815191526020526040902061050b9060ff905b54161590565b6105535761054e8161053e7f439c9ef273bcbea625a0b7b93955ba4d4963bc26fdeaafe7dd6e6747794641059361013455565b6040519081529081906020820190565b0390a1005b6040516282b42960e81b8152600490fd5b6040516333f2123960e21b8152600490fd5b3461033757600036600319011261033757610136546040516001600160a01b039091168152602090f35b3461033757600036600319011261033757610137546040516001600160a01b039091168152602090f35b346103375760203660031901126103375760043560005260656020526020600160406000200154604051908152f35b6060906003190112610337576004356106118161033c565b9060243561061e8161033c565b9060443590565b3461033757610633366105f9565b3360009081527fdffa92a6dce6c1a7a1a7024ed0f29537adf8ed32f4fa790e2acb86edab375e3d602052604081205490939192919060ff1615610553576001600160a01b031683526101306020526040832080549091908381019081106106bf579091556001600160a01b031660009081526101316020526040902080549182018092116106bf575580f35b6122d7565b346103375760003660031901126103375760206040517fcfac5101a9a6e666acfba4416612534dd5edcaa6e3fec2fd00fb2e84b0e5e1d78152f35b346103375760003660031901126103375760206040517f1fb53273153c82fe1363373dd3355bec4bce8bdfe349c78a8ad09156481e62218152f35b34610337576040366003190112610337576004356107c760243561075d8161033c565b6107b6600093808552606560205261077b6001604087200154611b7e565b8085526065602090815260408087206001600160a01b0386166000908152925290205460ff16156107cb576000526097602052604060002090565b6001600160a01b03909116906124c9565b5080f35b8085526065602090815260408087206001600160a01b038616600090815292529020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8880a46000526097602052604060002090565b346103375760003660031901126103375760206040517f400c5a1da7685ba9f18764e1fcfab4b29512376de39bc16cc5ea8f80b7b678198152f35b34610337576040366003190112610337576004356024356108938161033c565b811580610929575b61091757336001600160a01b038216036108ba576108b891611ce6565b005b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b604051630f29d08f60e31b8152600490fd5b5081600052609760205260016040600020541461089b565b346103375760203660031901126103375760043561095e8161033c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919061099730841415611d97565b6109b4600080516020613477833981519152938285541614611df8565b6109bd8261290a565b604051906020820182811067ffffffffffffffff821117610aa057604052600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a155750506108b89150611f6e565b6020600491604094939451928380926352d1902d60e01b825286165afa60009181610a70575b50610a5d5760405162461bcd60e51b815280610a5960048201611f1f565b0390fd5b6108b893610a6b9114611ec1565b611ffe565b610a9291925060203d8111610a99575b610a8a8183610f11565b810190611ea6565b9038610a3b565b503d610a80565b610ea7565b3461033757602036600319011261033757600435610ac28161033c565b60018060a01b03166000526101316020526020604060002054604051908152f35b34610337576040806003193601126103375760048035610b028161033c565b60243591610b0f8361033c565b8351630dfe168160e01b8082526020916001600160a01b0385811692909184818781875afa8015610d2d578391600091610dab575b508189169182911614159081610d5e575b50610d4f57875190815283818681865afa938415610d2d5785948392600091610d32575b5061013754610b98906001600160a01b03165b6001600160a01b031690565b93168314159384610cc9575b505050509050610cbc577f400c5a1da7685ba9f18764e1fcfab4b29512376de39bc16cc5ea8f80b7b678196000526065602052610c25610c21610c1a337f6da372cdc135876fa2103f41fd54c8e90256a3695ad8b2c1f9b75bd17585610d5b9060018060a01b0316600052602052604060002090565b5460ff1690565b1590565b610caf575061054e7f90b58464d7ad372751038449eef244602d2be9c82abdab06596a7677272cd42793610c8f83610c708660018060a01b031660005261012f602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b516001600160a01b03928316815292909116602083015281906040820190565b83516282b42960e81b8152fd5b835162820f3560e61b8152fd5b81939592945089519283809263d21220a760e01b82525afa918215610d2d57600092610d00575b5050161415819038808080610ba4565b610d1f9250803d10610d26575b610d178183610f11565b810190612951565b3880610cf0565b503d610d0d565b611eb5565b610d499150823d8411610d2657610d178183610f11565b38610b79565b875162820f3560e61b81528590fd5b895163d21220a760e01b815290915085818881885afa8015610d2d578491600091610d8e575b5016141538610b55565b610da59150873d8911610d2657610d178183610f11565b38610d84565b610dc29150863d8811610d2657610d178183610f11565b38610b44565b3461033757602036600319011261033757600435610de58161033c565b6001600160a01b0381168015610e95573360009081527fb75ed0fc7a1f85f450afd172cc64f12750d0fc534f29ed31c78a1268f27d62f160205260409020610e3090610c2190610c1a565b6105535761013380546001600160a01b0319166001600160a01b039092169190911790557f15cd6d20bba01b3fcb790c73829dd07412cbdf689ef818c96a2505889f3736a29061054e905b6040516001600160a01b0390911681529081906020820190565b604051637827912560e01b8152600490fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610aa057604052565b6060810190811067ffffffffffffffff821117610aa057604052565b60a0810190811067ffffffffffffffff821117610aa057604052565b90601f8019910116810190811067ffffffffffffffff821117610aa057604052565b60405190610f4082610ebd565b565b67ffffffffffffffff8111610aa057601f01601f191660200190565b604036600319011261033757600435610f768161033c565b6024359067ffffffffffffffff8211610337573660238301121561033757816004013590610fa382610f42565b91610fb16040519384610f11565b80835236602482860101116103375760208160009260246108b89701838701378401015261210a565b34610337576000366003190112610337577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003611034576040516000805160206134778339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b34610337576020366003190112610337576004356110bc8161033c565b6001600160a01b0381168015610e95573360009081527fb75ed0fc7a1f85f450afd172cc64f12750d0fc534f29ed31c78a1268f27d62f16020526040902061110790610c2190610c1a565b6105535761013280546001600160a01b0319166001600160a01b039092169190911790557fd192c0b229b00473ccb6ccfebf6642805bca1dcdf2d9fb4fd102c7dc7ea4ce239061054e90610e7b565b346103375760003660031901126103375760206040517fb6e1aa954ca88134dedc447027c8ef72953bf046c847542dd28babf3f8d9092f8152f35b3461033757606036600319011261033757600480356111af8161033c565b602435916111bc8361033c565b604435906111c98261033c565b7fcfac5101a9a6e666acfba4416612534dd5edcaa6e3fec2fd00fb2e84b0e5e1d76000526065602052611222610c21610c1a337f4a55a3187d78cc664b71aa8dee9295401eef37043156a0c20d7bc2454518a40f610c03565b611343576001600160a01b0383811615611333578085161561133357821615611324576001600160a01b038316600090815261012d6020526040902061127490610b8c905b546001600160a01b031690565b61131557506108b8926112fa610c70926112ac61128f610f33565b6001600160a01b0385168152916001600160a01b03166020830152565b6001600160a01b038516600090815261012d60205260409020815181546001600160a01b039182166001600160a01b0319918216178355602090930151600190920180549093169116179055565b6001600160a01b0316600090815261012e6020526040902090565b6040516333e9f35b60e11b8152fd5b604051637827912560e01b8152fd5b50604051637827912560e01b8152fd5b6040516282b42960e81b8152fd5b346103375761135f366105f9565b61013654909190611378906001600160a01b0316610b8c565b604051636eb1769f60e11b81526001600160a01b038581166004830152306024830152919491906020816044818986165afa8015610d2d5785916000916113fa575b50106113e85733600090815261012e602052604090206113d990611267565b1615610553576108b893612966565b6040516321a1cc1360e11b8152600490fd5b611412915060203d8111610a9957610a8a8183610f11565b386113ba565b346103375760203660031901126103375760206004356114378161033c565b60018060a01b0380911660005261012d825260406000205416604051908152f35b3461033757600036600319011261033757602061013454604051908152f35b3461033757604036600319011261033757600435600052609760205260206114a56024356040600020612493565b905460405160039290921b1c6001600160a01b03168152f35b3461033757604036600319011261033757602060ff6115086024356114e28161033c565b6004356000526065845260406000209060018060a01b0316600052602052604060002090565b54166040519015158152f35b34610337576020366003190112610337576004356115318161033c565b6001600160a01b03811615610e95573360009081526000805160206134578339815191526020526040902061156990610c2190610c1a565b6105535761013980546001600160a01b0319166001600160a01b0383161790557fa37a7d6d9546ebba206b7200fd6814cc4885bd05277f43db31703508086bac5b9061054e90610e7b565b3461033757600036600319011261033757602060405160008152f35b346103375760003660031901126103375760206040517fdc0c909fa3135f9237d8a966b8b184ead9db0c05d73609dcb237ff6a00b0717b8152f35b3461033757602036600319011261033757600435612710811161168357336000908152600080516020613457833981519152602052604090206116509060ff90610505565b6105535761054e8161053e7f8edc85bde8568f5dc6d7febb4820920db680537ad498b90d003e63d93a3988a19361013855565b60405163669a78b160e11b8152600490fd5b3461033757610120366003190112610337576004356116b38161033c565b6117436024356116c28161033c565b6044356116ce8161033c565b60c4356116da8161033c565b60e435916116e78361033c565b61010435936116f58561033c565b6000549661171a60ff8960081c16158099819a6117c5575b81156117a5575b5061266d565b8761172d600160ff196000541617600055565b61178c575b60a4359260843592606435926126d0565b61174957005b61175961ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890806020810161054e565b6117a061010061ff00196000541617600055565b611732565b303b159150816117b7575b5038611714565b6001915060ff1614386117b0565b600160ff821610915061170d565b346103375760003660031901126103375760206040517f6b742d59f502efc664ffa5cec8b4f798ca10dc8c5372b7e9f352dc77e490827b8152f35b346103375760203660031901126103375760043560005260976020526020604060002054604051908152f35b3461033757611848366105f9565b3360009081527fdffa92a6dce6c1a7a1a7024ed0f29537adf8ed32f4fa790e2acb86edab375e3d602052604081205490939192919060ff1615610553576001600160a01b031683526101306020526040832080549091908381039081116106bf579091556001600160a01b031660009081526101316020526040902080549182039182116106bf575580f35b3461033757602036600319011261033757600435612710811161168357336000908152600080516020613457833981519152602052604090206119199060ff90610505565b6105535761054e8161053e7f392bc62c14254761a14ce86ad9820d13103f5f490089391c7ecf162afd5d68f99361013555565b34610337576040366003190112610337576108b860243560043561196f8261033c565b806000526065602052611989600160406000200154611b7e565b611ce6565b346103375760203660031901126103375760206004356119ad8161033c565b60018060a01b0380911660005261012d825260016040600020015416604051908152f35b60005b8381106119e45750506000910152565b81810151838201526020016119d4565b90602091611a0d815180928185528580860191016119d1565b601f01601f1916010190565b3461033757602036600319011261033757611a3e600435611a398161033c565b612ba3565b604051809160208252611a76611a6082516080602086015260a08501906119f4565b6020830151848203601f190160408601526119f4565b90606060018060a01b0391826040820151168286015201511660808301520390f35b3461033757600036600319011261033757602061013554604051908152f35b6001600160a01b03811660009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604080822054611b1993929060ff1615611b1c575b8080526097602052206001600160a01b03909116906124c9565b50565b808052606560209081528282206001600160a01b0385166000908152915260409020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4611aff565b600081815260656020908152604080832033845290915290205460ff1615611ba35750565b3390611bad611e59565b916030611bb98461237c565b536078611bc584612389565b5360295b60018111611c7457610a59611c31611c5c86611c4e611bf188611bec89156123b7565b612402565b611c2b604051958694611c2b602087016017907f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081520190565b90611cbb565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f198101835282610f11565b60405162461bcd60e51b815291829160048301611cd2565b90600f8116906010821015611cb657611cb1916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca78487612399565b5360041c916123aa565b611bc9565b612366565b90611cce602092828151948592016119d1565b0190565b906020611ce39281815201906119f4565b90565b906040611b1992600090808252606560205260ff611d18858585209060018060a01b0316600052602052604060002090565b5416611d38575b81526097602052206001600160a01b03909116906125b8565b808252606560209081528383206001600160a01b0386166000908152915260409020805460ff19169055336001600160a01b038516827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4611d1f565b15611d9e57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15611dff57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b60405190611e6682610ed9565b602a82526040366020840137565b90611e7e82610f42565b611e8b6040519182610f11565b8281528092611e9c601f1991610f42565b0190602036910137565b90816020910312610337575190565b6040513d6000823e3d90fd5b15611ec857565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b15611fa35760008051602061347783398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9061200882611f6e565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906120af575b61204a575050565b611b19916000806040519361205e85610ed9565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46120a9612216565b91612246565b506000612042565b906120c182611f6e565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906121025761204a575050565b506001612042565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929061214330851415611d97565b612160600080516020613477833981519152948286541614611df8565b6121698361290a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561219f575050610f409150611f6e565b6020600491604094939451928380926352d1902d60e01b825286165afa600091816121f6575b506121e35760405162461bcd60e51b815280610a5960048201611f1f565b610f40936121f19114611ec1565b6120b7565b61220f91925060203d8111610a9957610a8a8183610f11565b90386121c5565b3d15612241573d9061222782610f42565b916122356040519384610f11565b82523d6000602084013e565b606090565b919290156122a8575081511561225a575090565b3b156122635790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156122bb5750805190602001fd5b60405162461bcd60e51b8152908190610a599060048301611cd2565b634e487b7160e01b600052601160045260246000fd5b600381901b91906001600160fd1b038116036106bf57565b90600282018092116106bf57565b90600182018092116106bf57565b90600682018092116106bf57565b90600582018092116106bf57565b90600482018092116106bf57565b90600382018092116106bf57565b919082018092116106bf57565b634e487b7160e01b600052603260045260246000fd5b805115611cb65760200190565b805160011015611cb65760210190565b908151811015611cb6570160200190565b80156106bf576000190190565b156123be57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b604051906080820182811067ffffffffffffffff821117610aa05760405260428252606036602084013760306124378361237c565b53607861244383612389565b536041905b6001821161245b57611ce39150156123b7565b600f8116906010821015611cb65761248d916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca78486612399565b90612448565b8054821015611cb65760005260206000200190600090565b916124c59183549060031b91821b91600019901b19161790565b9055565b600181019082600052816020526040600020541560001461253757805468010000000000000000811015610aa05761252261250b826001879401855584612493565b819391549060031b91821b91600019901b19161790565b90555491600052602052604060002055600190565b505050600090565b6000198101919082116106bf57565b601e198101919082116106bf57565b60200390602082116106bf57565b919082039182116106bf57565b80549081156125a257600019918201916125928383612493565b909182549160031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b60018101918060005282602052604060002054928315156000146126645760001992848401908582116106bf5780549485019485116106bf57600095858361260c9461261b9803612621575b505050612578565b90600052602052604060002090565b55600190565b61264b6126459161263561265b9487612493565b90549060031b1c92839187612493565b906124ab565b8590600052602052604060002090565b55388080612604565b50505050600090565b1561267457565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9590979692976301e13380891161056457612710808611611683578611611683576001600160a01b039087821615610e95578116928315610e95578116908115610e955780831615610e955780851615610e9557881615610e9557612814986127a26127ec9661279c6127a89461277a6127ca986127506127f29e611ab7565b612758612889565b61013280546001600160a01b0319166001600160a01b03909216919091179055565b61013380546001600160a01b0319166001600160a01b03909216919091179055565b61013555565b61013455565b61013680546001600160a01b0319166001600160a01b03909216919091179055565b61013780546001600160a01b0319166001600160a01b03909216919091179055565b61013855565b61013980546001600160a01b0319166001600160a01b03909216919091179055565b61281c612820565b610f405b60ff60005460081c161561283057565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b7fb6e1aa954ca88134dedc447027c8ef72953bf046c847542dd28babf3f8d9092f8060005260656020526001604060002001908154907f1fb53273153c82fe1363373dd3355bec4bce8bdfe349c78a8ad09156481e62218093557fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff600080a4565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff1615610553576001600160a01b031615610e9557565b908160209103126103375751611ce38161033c565b6040516323b872dd60e01b602082019081526001600160a01b039384166024830152938316604482015260648082019590955293845291926129fa929091906129ae83610ef5565b16604051916129bc83610ebd565b602083527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020840152600080958192519082855af16120a9612216565b8051908115918215612a13575b5050610f409150612a43565b8192509060209181010312612a3f5760200151908115158203612a3c5750610f40903880612a07565b80fd5b5080fd5b15612a4a57565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b604051906080820182811067ffffffffffffffff821117610aa05760405260006060838181528160208201528260408201520152565b6020818303126103375780519067ffffffffffffffff8211610337570181601f82011215610337578051612b0b81610f42565b92612b196040519485610f11565b8184526020828401011161033757611ce391602080850191016119d1565b60405190612b4482610ebd565b60018252601760f91b6020830152565b60405190612b6182610ebd565b6011825270029bcb73a3432ba34b1902920a922903e1607d1b6020830152565b60405190612b8e82610ebd565b600682526578524152455f60d01b6020830152565b612bab612aa2565b5061013354612bc2906001600160a01b0316610b8c565b61013254612bd8906001600160a01b0316610b8c565b604051632ffef98760e21b81526001600160a01b038416600482015290602090829060249082905afa8015610d2d57612c36926000928392612da9575b50604051808095819463691f343160e01b8352600483019190602083019252565b03915afa8015610d2d57612c5291600091612d88575b50612e6b565b90612c5b612aa2565b91612c8f612c7f6112678460018060a01b031660005261012d602052604060002090565b6001600160a01b03166040850152565b612cd2612cc26001612cb48560018060a01b031660005261012d602052604060002090565b01546001600160a01b031690565b6001600160a01b03166060850152565b612cdb81612f48565b612d3e5750612d15612d04612cf2612d3693612dc9565b612d0f612d04612d09612d048461337d565b612e6b565b92613400565b9061317d565b612d2981612d24612d04612b54565b61317d565b8352612d24612d04612b81565b602082015290565b612d369150612d57612d51612d04612b37565b82612ff1565b50612d6781612d24612d04612b54565b8352612d0f612d04612d83612d7d612d04612b81565b93612e91565b6132e6565b612da3913d8091833e612d9b8183610f11565b810190612ad8565b38612c4c565b612dc291925060203d8111610a9957610a8a8183610f11565b9038612c15565b604051906001600160a01b0316612ddf82610ed9565b602a825260403660208401376030612df68361237c565b536078612e0283612389565b536029905b60018211612e1a57611ce39150156123b7565b600f8116906010821015611cb657612e4c916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca78486612399565b90612e07565b60405190612e5f82610ebd565b60006020838281520152565b612e73612e52565b50602081519160405192612e8684610ebd565b835201602082015290565b611ce3612e9e8251611e74565b91602081015190519060208401612ebf565b601f81116106bf576101000a90565b92905b602093848410612ef757815181528481018091116106bf579381018091116106bf5791601f1981019081116106bf5791612ec2565b929193506000199180612f13575b505182518216911916179052565b909150602003602081116106bf57612f2d612f3291612eb0565b61253f565b9038612f05565b60001981146106bf5760010190565b90612f61612f59602084015161254e565b925183612359565b6000925b818110612f70575050565b8051919391612f97919060ff166080811015612f9e5750612f9090612313565b915b612f39565b9290612f65565b60e0811015612fb15750612f9090612305565b60f0811015612fc45750612f909061234b565b60f8811015612fd75750612f909061233d565b60fc1115612fe857612f909061232f565b612f9090612321565b9190612ffb612e52565b92613004612e52565b5080519161302060208301938451835190602085015192613076565b806020870152825193805182038281116106bf5785039485116106bf57848752510361304e57506000915052565b5182018092116106bf5780519182039182116106bf5752565b60ff81116106bf576001901b90565b9291909280821115613089575b50505090565b9193929091906020831161312b57600094836130fb575b836130b5876130ba9395949551169385612359565b61256b565b9181868451165b036130d3575050611ce3929350612359565b9091818111156130f4576130e6906123aa565b9185835116908092916130c1565b5093505050565b94506130ba836130b5613120612f2d61311b6131168561255d565b6122ed565b613067565b1997925050506130a0565b9293613140838061314693959495209461256b565b84612359565b8381101561315957505050388080613083565b81812083146131705761316b9061253f565b613146565b909150611ce39250612359565b908151815181018091116106bf5761319490611e74565b916020808401916131ab8282015182519085612ebf565b518401018091116106bf57816020611ce3930151905191612ebf565b67ffffffffffffffff8111610aa05760051b60200190565b9190811015611cb65760051b0190565b35611ce38161033c565b8051821015611cb65760209160051b010190565b613216826131c7565b91604061322581519485610f11565b818452601f19613234836131c7565b01906020913683870137600092835b8181106132535750505050505090565b80600485613273610b8c610b8c61326e6132a597898e6131df565b6131ef565b8651631d92463b60e11b815292839182905afa8791816132c7575b506132aa57508561329f828a6131f9565b52612f39565b613243565b612f92906132b8838b6131f9565b6001600160a01b039091169052565b6132df919250873d8911610d2657610d178183610f11565b903861328e565b90600091825b815181101561332d57613328906133166001600160f81b031961330f8386612399565b5116613332565b851a6133228285612399565b53612f39565b6132ec565b509150565b6001600160f81b0319606160f81b82821690811015908161336e575b50613357575090565b9060f81c601f190160ff81116106bf5760f81b1690565b603d60f91b101590503861334e565b90815160069081116133ea576040519061339682610ebd565b80825260203681840137600080805b8381106133b55750929450505050565b6133e5906001600160f81b03196133cc828a612399565b5116936133226133db82612f39565b95851a9188612399565b6133a5565b634e487b7160e01b600052600160045260246000fd5b90815160279081116133ea576040519061341982610ebd565b600482526020368184013760008060235b83811061343a5750929450505050565b613451906001600160f81b03196133cc828a612399565b61342a56fe9899ddb638bae7f560cf23f432587b9242d69dff54bc3ebc0eff7ed30028bfb0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220ff6162c985404048fa3374d4f4bd86064aae0a095a95cb381d966ba72464179f64736f6c63430008120033","sourceMap":"1772:18501:183:-:0;;;;;;;1332:4:46;1324:13;;6007::45;1772:18501:183;;;;;;;;;;;;;;6078:31:45;6074:139;;-1:-1:-1;1772:18501:183;;;;;;;;1324:13:46;1772:18501:183;;;;;;;;;;;;;;;;6074:139:45;1772:18501:183;;;;;;6007:13:45;1772:18501:183;6174:28:45;1772:18501:183;;;;;;6174:28:45;6074:139;;;1772:18501:183;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146102c7578063039bcf8e146102c257806306c571d5146102bd57806310da95e6146102b8578063111029b9146102b357806318ab58ac146102ae5780631c5633d7146102a95780632210d525146102a457806323a7b42a1461029f578063248a9ca31461029a5780632608ff3514610295578063265718b41461029057806329b4a5901461028b5780632f2ff15d14610286578063363227e51461028157806336568abe1461027c5780633659cfe6146102775780633d867d951461027257806346ccbb401461026d5780634e543b26146102685780634f1ef2861461026357806352d1902d1461025e578063557499ba1461025957806366951bc11461025457806376a250a71461024f57806381910e331461024a57806381d0606b146102455780638469ddc7146102405780639010d07c1461023b57806391d148541461023657806399247be714610231578063a217fddf1461022c578063a4303a4514610227578063b3428d1514610222578063bb0544a11461021d578063c254498714610218578063ca15c87314610213578063cac7c65c1461020e578063cb8af2b514610209578063d547741f14610204578063e286ef33146101ff578063f24bd8a6146101fa5763f7ef8ead146101f557600080fd5b611a98565b611a19565b61198e565b61194c565b6118d4565b61183a565b61180e565b6117d3565b611695565b61160b565b6115d0565b6115b4565b611514565b6114be565b611477565b611458565b611418565b611351565b611191565b611156565b61109f565b610fda565b610f5e565b610dc8565b610ae3565b610aa5565b610941565b610873565b610838565b61073a565b6106ff565b6106c4565b610625565b6105ca565b6105a0565b610576565b6104c2565b610458565b6103f5565b6103cb565b61038d565b61034d565b346103375760203660031901126103375760043563ffffffff60e01b811680910361033757602090635a05180f60e01b811490811561030c575b506040519015158152f35b637965db0b60e01b811491508115610326575b5038610301565b6301ffc9a760e01b1490503861031f565b600080fd5b6001600160a01b0381160361033757565b3461033757602036600319011261033757602060043561036c8161033c565b60018060a01b0380911660005261012f825260406000205416604051908152f35b34610337576020366003190112610337576004356103aa8161033c565b60018060a01b03166000526101306020526020604060002054604051908152f35b3461033757600036600319011261033757610139546040516001600160a01b039091168152602090f35b3461033757600036600319011261033757602061013854604051908152f35b6020908160408183019282815285518094520193019160005b82811061043b575050505090565b83516001600160a01b03168552938101939281019260010161042d565b346103375760203660031901126103375767ffffffffffffffff6004358181116103375736602382011215610337578060040135918211610337573660248360051b83010111610337576104be9160246104b2920161320d565b60405191829182610414565b0390f35b34610337576020366003190112610337576004356301e133808111610564573360009081526000805160206134578339815191526020526040902061050b9060ff905b54161590565b6105535761054e8161053e7f439c9ef273bcbea625a0b7b93955ba4d4963bc26fdeaafe7dd6e6747794641059361013455565b6040519081529081906020820190565b0390a1005b6040516282b42960e81b8152600490fd5b6040516333f2123960e21b8152600490fd5b3461033757600036600319011261033757610136546040516001600160a01b039091168152602090f35b3461033757600036600319011261033757610137546040516001600160a01b039091168152602090f35b346103375760203660031901126103375760043560005260656020526020600160406000200154604051908152f35b6060906003190112610337576004356106118161033c565b9060243561061e8161033c565b9060443590565b3461033757610633366105f9565b3360009081527fdffa92a6dce6c1a7a1a7024ed0f29537adf8ed32f4fa790e2acb86edab375e3d602052604081205490939192919060ff1615610553576001600160a01b031683526101306020526040832080549091908381019081106106bf579091556001600160a01b031660009081526101316020526040902080549182018092116106bf575580f35b6122d7565b346103375760003660031901126103375760206040517fcfac5101a9a6e666acfba4416612534dd5edcaa6e3fec2fd00fb2e84b0e5e1d78152f35b346103375760003660031901126103375760206040517f1fb53273153c82fe1363373dd3355bec4bce8bdfe349c78a8ad09156481e62218152f35b34610337576040366003190112610337576004356107c760243561075d8161033c565b6107b6600093808552606560205261077b6001604087200154611b7e565b8085526065602090815260408087206001600160a01b0386166000908152925290205460ff16156107cb576000526097602052604060002090565b6001600160a01b03909116906124c9565b5080f35b8085526065602090815260408087206001600160a01b038616600090815292529020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8880a46000526097602052604060002090565b346103375760003660031901126103375760206040517f400c5a1da7685ba9f18764e1fcfab4b29512376de39bc16cc5ea8f80b7b678198152f35b34610337576040366003190112610337576004356024356108938161033c565b811580610929575b61091757336001600160a01b038216036108ba576108b891611ce6565b005b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b604051630f29d08f60e31b8152600490fd5b5081600052609760205260016040600020541461089b565b346103375760203660031901126103375760043561095e8161033c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919061099730841415611d97565b6109b4600080516020613477833981519152938285541614611df8565b6109bd8261290a565b604051906020820182811067ffffffffffffffff821117610aa057604052600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a155750506108b89150611f6e565b6020600491604094939451928380926352d1902d60e01b825286165afa60009181610a70575b50610a5d5760405162461bcd60e51b815280610a5960048201611f1f565b0390fd5b6108b893610a6b9114611ec1565b611ffe565b610a9291925060203d8111610a99575b610a8a8183610f11565b810190611ea6565b9038610a3b565b503d610a80565b610ea7565b3461033757602036600319011261033757600435610ac28161033c565b60018060a01b03166000526101316020526020604060002054604051908152f35b34610337576040806003193601126103375760048035610b028161033c565b60243591610b0f8361033c565b8351630dfe168160e01b8082526020916001600160a01b0385811692909184818781875afa8015610d2d578391600091610dab575b508189169182911614159081610d5e575b50610d4f57875190815283818681865afa938415610d2d5785948392600091610d32575b5061013754610b98906001600160a01b03165b6001600160a01b031690565b93168314159384610cc9575b505050509050610cbc577f400c5a1da7685ba9f18764e1fcfab4b29512376de39bc16cc5ea8f80b7b678196000526065602052610c25610c21610c1a337f6da372cdc135876fa2103f41fd54c8e90256a3695ad8b2c1f9b75bd17585610d5b9060018060a01b0316600052602052604060002090565b5460ff1690565b1590565b610caf575061054e7f90b58464d7ad372751038449eef244602d2be9c82abdab06596a7677272cd42793610c8f83610c708660018060a01b031660005261012f602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b516001600160a01b03928316815292909116602083015281906040820190565b83516282b42960e81b8152fd5b835162820f3560e61b8152fd5b81939592945089519283809263d21220a760e01b82525afa918215610d2d57600092610d00575b5050161415819038808080610ba4565b610d1f9250803d10610d26575b610d178183610f11565b810190612951565b3880610cf0565b503d610d0d565b611eb5565b610d499150823d8411610d2657610d178183610f11565b38610b79565b875162820f3560e61b81528590fd5b895163d21220a760e01b815290915085818881885afa8015610d2d578491600091610d8e575b5016141538610b55565b610da59150873d8911610d2657610d178183610f11565b38610d84565b610dc29150863d8811610d2657610d178183610f11565b38610b44565b3461033757602036600319011261033757600435610de58161033c565b6001600160a01b0381168015610e95573360009081527fb75ed0fc7a1f85f450afd172cc64f12750d0fc534f29ed31c78a1268f27d62f160205260409020610e3090610c2190610c1a565b6105535761013380546001600160a01b0319166001600160a01b039092169190911790557f15cd6d20bba01b3fcb790c73829dd07412cbdf689ef818c96a2505889f3736a29061054e905b6040516001600160a01b0390911681529081906020820190565b604051637827912560e01b8152600490fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610aa057604052565b6060810190811067ffffffffffffffff821117610aa057604052565b60a0810190811067ffffffffffffffff821117610aa057604052565b90601f8019910116810190811067ffffffffffffffff821117610aa057604052565b60405190610f4082610ebd565b565b67ffffffffffffffff8111610aa057601f01601f191660200190565b604036600319011261033757600435610f768161033c565b6024359067ffffffffffffffff8211610337573660238301121561033757816004013590610fa382610f42565b91610fb16040519384610f11565b80835236602482860101116103375760208160009260246108b89701838701378401015261210a565b34610337576000366003190112610337577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003611034576040516000805160206134778339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b34610337576020366003190112610337576004356110bc8161033c565b6001600160a01b0381168015610e95573360009081527fb75ed0fc7a1f85f450afd172cc64f12750d0fc534f29ed31c78a1268f27d62f16020526040902061110790610c2190610c1a565b6105535761013280546001600160a01b0319166001600160a01b039092169190911790557fd192c0b229b00473ccb6ccfebf6642805bca1dcdf2d9fb4fd102c7dc7ea4ce239061054e90610e7b565b346103375760003660031901126103375760206040517fb6e1aa954ca88134dedc447027c8ef72953bf046c847542dd28babf3f8d9092f8152f35b3461033757606036600319011261033757600480356111af8161033c565b602435916111bc8361033c565b604435906111c98261033c565b7fcfac5101a9a6e666acfba4416612534dd5edcaa6e3fec2fd00fb2e84b0e5e1d76000526065602052611222610c21610c1a337f4a55a3187d78cc664b71aa8dee9295401eef37043156a0c20d7bc2454518a40f610c03565b611343576001600160a01b0383811615611333578085161561133357821615611324576001600160a01b038316600090815261012d6020526040902061127490610b8c905b546001600160a01b031690565b61131557506108b8926112fa610c70926112ac61128f610f33565b6001600160a01b0385168152916001600160a01b03166020830152565b6001600160a01b038516600090815261012d60205260409020815181546001600160a01b039182166001600160a01b0319918216178355602090930151600190920180549093169116179055565b6001600160a01b0316600090815261012e6020526040902090565b6040516333e9f35b60e11b8152fd5b604051637827912560e01b8152fd5b50604051637827912560e01b8152fd5b6040516282b42960e81b8152fd5b346103375761135f366105f9565b61013654909190611378906001600160a01b0316610b8c565b604051636eb1769f60e11b81526001600160a01b038581166004830152306024830152919491906020816044818986165afa8015610d2d5785916000916113fa575b50106113e85733600090815261012e602052604090206113d990611267565b1615610553576108b893612966565b6040516321a1cc1360e11b8152600490fd5b611412915060203d8111610a9957610a8a8183610f11565b386113ba565b346103375760203660031901126103375760206004356114378161033c565b60018060a01b0380911660005261012d825260406000205416604051908152f35b3461033757600036600319011261033757602061013454604051908152f35b3461033757604036600319011261033757600435600052609760205260206114a56024356040600020612493565b905460405160039290921b1c6001600160a01b03168152f35b3461033757604036600319011261033757602060ff6115086024356114e28161033c565b6004356000526065845260406000209060018060a01b0316600052602052604060002090565b54166040519015158152f35b34610337576020366003190112610337576004356115318161033c565b6001600160a01b03811615610e95573360009081526000805160206134578339815191526020526040902061156990610c2190610c1a565b6105535761013980546001600160a01b0319166001600160a01b0383161790557fa37a7d6d9546ebba206b7200fd6814cc4885bd05277f43db31703508086bac5b9061054e90610e7b565b3461033757600036600319011261033757602060405160008152f35b346103375760003660031901126103375760206040517fdc0c909fa3135f9237d8a966b8b184ead9db0c05d73609dcb237ff6a00b0717b8152f35b3461033757602036600319011261033757600435612710811161168357336000908152600080516020613457833981519152602052604090206116509060ff90610505565b6105535761054e8161053e7f8edc85bde8568f5dc6d7febb4820920db680537ad498b90d003e63d93a3988a19361013855565b60405163669a78b160e11b8152600490fd5b3461033757610120366003190112610337576004356116b38161033c565b6117436024356116c28161033c565b6044356116ce8161033c565b60c4356116da8161033c565b60e435916116e78361033c565b61010435936116f58561033c565b6000549661171a60ff8960081c16158099819a6117c5575b81156117a5575b5061266d565b8761172d600160ff196000541617600055565b61178c575b60a4359260843592606435926126d0565b61174957005b61175961ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890806020810161054e565b6117a061010061ff00196000541617600055565b611732565b303b159150816117b7575b5038611714565b6001915060ff1614386117b0565b600160ff821610915061170d565b346103375760003660031901126103375760206040517f6b742d59f502efc664ffa5cec8b4f798ca10dc8c5372b7e9f352dc77e490827b8152f35b346103375760203660031901126103375760043560005260976020526020604060002054604051908152f35b3461033757611848366105f9565b3360009081527fdffa92a6dce6c1a7a1a7024ed0f29537adf8ed32f4fa790e2acb86edab375e3d602052604081205490939192919060ff1615610553576001600160a01b031683526101306020526040832080549091908381039081116106bf579091556001600160a01b031660009081526101316020526040902080549182039182116106bf575580f35b3461033757602036600319011261033757600435612710811161168357336000908152600080516020613457833981519152602052604090206119199060ff90610505565b6105535761054e8161053e7f392bc62c14254761a14ce86ad9820d13103f5f490089391c7ecf162afd5d68f99361013555565b34610337576040366003190112610337576108b860243560043561196f8261033c565b806000526065602052611989600160406000200154611b7e565b611ce6565b346103375760203660031901126103375760206004356119ad8161033c565b60018060a01b0380911660005261012d825260016040600020015416604051908152f35b60005b8381106119e45750506000910152565b81810151838201526020016119d4565b90602091611a0d815180928185528580860191016119d1565b601f01601f1916010190565b3461033757602036600319011261033757611a3e600435611a398161033c565b612ba3565b604051809160208252611a76611a6082516080602086015260a08501906119f4565b6020830151848203601f190160408601526119f4565b90606060018060a01b0391826040820151168286015201511660808301520390f35b3461033757600036600319011261033757602061013554604051908152f35b6001600160a01b03811660009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604080822054611b1993929060ff1615611b1c575b8080526097602052206001600160a01b03909116906124c9565b50565b808052606560209081528282206001600160a01b0385166000908152915260409020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4611aff565b600081815260656020908152604080832033845290915290205460ff1615611ba35750565b3390611bad611e59565b916030611bb98461237c565b536078611bc584612389565b5360295b60018111611c7457610a59611c31611c5c86611c4e611bf188611bec89156123b7565b612402565b611c2b604051958694611c2b602087016017907f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081520190565b90611cbb565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f198101835282610f11565b60405162461bcd60e51b815291829160048301611cd2565b90600f8116906010821015611cb657611cb1916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca78487612399565b5360041c916123aa565b611bc9565b612366565b90611cce602092828151948592016119d1565b0190565b906020611ce39281815201906119f4565b90565b906040611b1992600090808252606560205260ff611d18858585209060018060a01b0316600052602052604060002090565b5416611d38575b81526097602052206001600160a01b03909116906125b8565b808252606560209081528383206001600160a01b0386166000908152915260409020805460ff19169055336001600160a01b038516827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4611d1f565b15611d9e57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15611dff57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b60405190611e6682610ed9565b602a82526040366020840137565b90611e7e82610f42565b611e8b6040519182610f11565b8281528092611e9c601f1991610f42565b0190602036910137565b90816020910312610337575190565b6040513d6000823e3d90fd5b15611ec857565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b15611fa35760008051602061347783398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9061200882611f6e565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906120af575b61204a575050565b611b19916000806040519361205e85610ed9565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46120a9612216565b91612246565b506000612042565b906120c182611f6e565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906121025761204a575050565b506001612042565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929061214330851415611d97565b612160600080516020613477833981519152948286541614611df8565b6121698361290a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561219f575050610f409150611f6e565b6020600491604094939451928380926352d1902d60e01b825286165afa600091816121f6575b506121e35760405162461bcd60e51b815280610a5960048201611f1f565b610f40936121f19114611ec1565b6120b7565b61220f91925060203d8111610a9957610a8a8183610f11565b90386121c5565b3d15612241573d9061222782610f42565b916122356040519384610f11565b82523d6000602084013e565b606090565b919290156122a8575081511561225a575090565b3b156122635790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156122bb5750805190602001fd5b60405162461bcd60e51b8152908190610a599060048301611cd2565b634e487b7160e01b600052601160045260246000fd5b600381901b91906001600160fd1b038116036106bf57565b90600282018092116106bf57565b90600182018092116106bf57565b90600682018092116106bf57565b90600582018092116106bf57565b90600482018092116106bf57565b90600382018092116106bf57565b919082018092116106bf57565b634e487b7160e01b600052603260045260246000fd5b805115611cb65760200190565b805160011015611cb65760210190565b908151811015611cb6570160200190565b80156106bf576000190190565b156123be57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b604051906080820182811067ffffffffffffffff821117610aa05760405260428252606036602084013760306124378361237c565b53607861244383612389565b536041905b6001821161245b57611ce39150156123b7565b600f8116906010821015611cb65761248d916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca78486612399565b90612448565b8054821015611cb65760005260206000200190600090565b916124c59183549060031b91821b91600019901b19161790565b9055565b600181019082600052816020526040600020541560001461253757805468010000000000000000811015610aa05761252261250b826001879401855584612493565b819391549060031b91821b91600019901b19161790565b90555491600052602052604060002055600190565b505050600090565b6000198101919082116106bf57565b601e198101919082116106bf57565b60200390602082116106bf57565b919082039182116106bf57565b80549081156125a257600019918201916125928383612493565b909182549160031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b60018101918060005282602052604060002054928315156000146126645760001992848401908582116106bf5780549485019485116106bf57600095858361260c9461261b9803612621575b505050612578565b90600052602052604060002090565b55600190565b61264b6126459161263561265b9487612493565b90549060031b1c92839187612493565b906124ab565b8590600052602052604060002090565b55388080612604565b50505050600090565b1561267457565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9590979692976301e13380891161056457612710808611611683578611611683576001600160a01b039087821615610e95578116928315610e95578116908115610e955780831615610e955780851615610e9557881615610e9557612814986127a26127ec9661279c6127a89461277a6127ca986127506127f29e611ab7565b612758612889565b61013280546001600160a01b0319166001600160a01b03909216919091179055565b61013380546001600160a01b0319166001600160a01b03909216919091179055565b61013555565b61013455565b61013680546001600160a01b0319166001600160a01b03909216919091179055565b61013780546001600160a01b0319166001600160a01b03909216919091179055565b61013855565b61013980546001600160a01b0319166001600160a01b03909216919091179055565b61281c612820565b610f405b60ff60005460081c161561283057565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b7fb6e1aa954ca88134dedc447027c8ef72953bf046c847542dd28babf3f8d9092f8060005260656020526001604060002001908154907f1fb53273153c82fe1363373dd3355bec4bce8bdfe349c78a8ad09156481e62218093557fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff600080a4565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff1615610553576001600160a01b031615610e9557565b908160209103126103375751611ce38161033c565b6040516323b872dd60e01b602082019081526001600160a01b039384166024830152938316604482015260648082019590955293845291926129fa929091906129ae83610ef5565b16604051916129bc83610ebd565b602083527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020840152600080958192519082855af16120a9612216565b8051908115918215612a13575b5050610f409150612a43565b8192509060209181010312612a3f5760200151908115158203612a3c5750610f40903880612a07565b80fd5b5080fd5b15612a4a57565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b604051906080820182811067ffffffffffffffff821117610aa05760405260006060838181528160208201528260408201520152565b6020818303126103375780519067ffffffffffffffff8211610337570181601f82011215610337578051612b0b81610f42565b92612b196040519485610f11565b8184526020828401011161033757611ce391602080850191016119d1565b60405190612b4482610ebd565b60018252601760f91b6020830152565b60405190612b6182610ebd565b6011825270029bcb73a3432ba34b1902920a922903e1607d1b6020830152565b60405190612b8e82610ebd565b600682526578524152455f60d01b6020830152565b612bab612aa2565b5061013354612bc2906001600160a01b0316610b8c565b61013254612bd8906001600160a01b0316610b8c565b604051632ffef98760e21b81526001600160a01b038416600482015290602090829060249082905afa8015610d2d57612c36926000928392612da9575b50604051808095819463691f343160e01b8352600483019190602083019252565b03915afa8015610d2d57612c5291600091612d88575b50612e6b565b90612c5b612aa2565b91612c8f612c7f6112678460018060a01b031660005261012d602052604060002090565b6001600160a01b03166040850152565b612cd2612cc26001612cb48560018060a01b031660005261012d602052604060002090565b01546001600160a01b031690565b6001600160a01b03166060850152565b612cdb81612f48565b612d3e5750612d15612d04612cf2612d3693612dc9565b612d0f612d04612d09612d048461337d565b612e6b565b92613400565b9061317d565b612d2981612d24612d04612b54565b61317d565b8352612d24612d04612b81565b602082015290565b612d369150612d57612d51612d04612b37565b82612ff1565b50612d6781612d24612d04612b54565b8352612d0f612d04612d83612d7d612d04612b81565b93612e91565b6132e6565b612da3913d8091833e612d9b8183610f11565b810190612ad8565b38612c4c565b612dc291925060203d8111610a9957610a8a8183610f11565b9038612c15565b604051906001600160a01b0316612ddf82610ed9565b602a825260403660208401376030612df68361237c565b536078612e0283612389565b536029905b60018211612e1a57611ce39150156123b7565b600f8116906010821015611cb657612e4c916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca78486612399565b90612e07565b60405190612e5f82610ebd565b60006020838281520152565b612e73612e52565b50602081519160405192612e8684610ebd565b835201602082015290565b611ce3612e9e8251611e74565b91602081015190519060208401612ebf565b601f81116106bf576101000a90565b92905b602093848410612ef757815181528481018091116106bf579381018091116106bf5791601f1981019081116106bf5791612ec2565b929193506000199180612f13575b505182518216911916179052565b909150602003602081116106bf57612f2d612f3291612eb0565b61253f565b9038612f05565b60001981146106bf5760010190565b90612f61612f59602084015161254e565b925183612359565b6000925b818110612f70575050565b8051919391612f97919060ff166080811015612f9e5750612f9090612313565b915b612f39565b9290612f65565b60e0811015612fb15750612f9090612305565b60f0811015612fc45750612f909061234b565b60f8811015612fd75750612f909061233d565b60fc1115612fe857612f909061232f565b612f9090612321565b9190612ffb612e52565b92613004612e52565b5080519161302060208301938451835190602085015192613076565b806020870152825193805182038281116106bf5785039485116106bf57848752510361304e57506000915052565b5182018092116106bf5780519182039182116106bf5752565b60ff81116106bf576001901b90565b9291909280821115613089575b50505090565b9193929091906020831161312b57600094836130fb575b836130b5876130ba9395949551169385612359565b61256b565b9181868451165b036130d3575050611ce3929350612359565b9091818111156130f4576130e6906123aa565b9185835116908092916130c1565b5093505050565b94506130ba836130b5613120612f2d61311b6131168561255d565b6122ed565b613067565b1997925050506130a0565b9293613140838061314693959495209461256b565b84612359565b8381101561315957505050388080613083565b81812083146131705761316b9061253f565b613146565b909150611ce39250612359565b908151815181018091116106bf5761319490611e74565b916020808401916131ab8282015182519085612ebf565b518401018091116106bf57816020611ce3930151905191612ebf565b67ffffffffffffffff8111610aa05760051b60200190565b9190811015611cb65760051b0190565b35611ce38161033c565b8051821015611cb65760209160051b010190565b613216826131c7565b91604061322581519485610f11565b818452601f19613234836131c7565b01906020913683870137600092835b8181106132535750505050505090565b80600485613273610b8c610b8c61326e6132a597898e6131df565b6131ef565b8651631d92463b60e11b815292839182905afa8791816132c7575b506132aa57508561329f828a6131f9565b52612f39565b613243565b612f92906132b8838b6131f9565b6001600160a01b039091169052565b6132df919250873d8911610d2657610d178183610f11565b903861328e565b90600091825b815181101561332d57613328906133166001600160f81b031961330f8386612399565b5116613332565b851a6133228285612399565b53612f39565b6132ec565b509150565b6001600160f81b0319606160f81b82821690811015908161336e575b50613357575090565b9060f81c601f190160ff81116106bf5760f81b1690565b603d60f91b101590503861334e565b90815160069081116133ea576040519061339682610ebd565b80825260203681840137600080805b8381106133b55750929450505050565b6133e5906001600160f81b03196133cc828a612399565b5116936133226133db82612f39565b95851a9188612399565b6133a5565b634e487b7160e01b600052600160045260246000fd5b90815160279081116133ea576040519061341982610ebd565b600482526020368184013760008060235b83811061343a5750929450505050565b613451906001600160f81b03196133cc828a612399565b61342a56fe9899ddb638bae7f560cf23f432587b9242d69dff54bc3ebc0eff7ed30028bfb0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220ff6162c985404048fa3374d4f4bd86064aae0a095a95cb381d966ba72464179f64736f6c63430008120033","sourceMap":"1772:18501:183:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1070:68:34;;;:108;;;;1772:18501:183;;;;;;;;;;1070:108:34;-1:-1:-1;;;3137:58:35;;;-1:-1:-1;3137:98:35;;;;1070:108:34;;;;;3137:98:35;-1:-1:-1;;;1168:51:69;;-1:-1:-1;3137:98:35;;;1772:18501:183;-1:-1:-1;1772:18501:183;;;-1:-1:-1;;;;;1772:18501:183;;;;;:::o;:::-;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1772:18501:183;14973:9;1772:18501;;;-1:-1:-1;1772:18501:183;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1772:18501:183;17083:18;1772:18501;;;;-1:-1:-1;1772:18501:183;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;14831:12;1772:18501;;;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;14694:17;1772:18501;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;12089:8;12073:24;;12069:62;;12178:10;-1:-1:-1;1772:18501:183;;;-1:-1:-1;;;;;;;;;;;1772:18501:183;;;;;12141:48;;1772:18501;;3438:29:35;1772:18501:183;;12141:48;;1772:18501;12141:48;12137:75;;12257:34;12218:28;;12257:34;12218:28;;1772:18501;;12218:28;1772:18501;;;;;;;;;;;;;12257:34;;;;1772:18501;12137:75;1772:18501;;-1:-1:-1;;;12198:14:183;;1772:18501;;12198:14;12069:62;1772:18501;;-1:-1:-1;;;12106:25:183;;1772:18501;;12106:25;1772:18501;;;;;;-1:-1:-1;;1772:18501:183;;;;15232:4;1772:18501;;;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;15109:4;1772:18501;;;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;-1:-1:-1;1772:18501:183;4934:6:35;1772:18501:183;;;4934:22:35;1772:18501:183;-1:-1:-1;1772:18501:183;4934:22:35;1772:18501:183;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;:::i;:::-;10062:10;-1:-1:-1;1772:18501:183;;;;;;;;;;-1:-1:-1;;;;;;1772:18501:183;;10027:46;10023:73;;-1:-1:-1;;;;;1772:18501:183;;;10102:18;1772:18501;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:183;;;;;-1:-1:-1;;;;;1772:18501:183;;;;;10146:20;1772:18501;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;4159:37;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;4297:43;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;8409:50:75;1772:18501:183;;;;;:::i;:::-;2445:18:34;-1:-1:-1;1772:18501:183;;;;4934:6:35;1772:18501:183;;2939:4:35;4934:22;1772:18501:183;;;4934:22:35;1772:18501:183;2939:4:35;:::i;:::-;1772:18501:183;;;4934:6:35;1772:18501:183;;;;;;;;-1:-1:-1;;;;;1772:18501:183;;-1:-1:-1;1772:18501:183;;;;;;;;;;7999:23:35;7995:149;;1772:18501:183;;2445:12:34;1772:18501:183;;;;;;;2445:18:34;-1:-1:-1;;;;;1772:18501:183;;;;8409:50:75;:::i;:::-;;1772:18501:183;;7995:149:35;1772:18501:183;;;4934:6:35;1772:18501:183;;;;;;;;-1:-1:-1;;;;;1772:18501:183;;-1:-1:-1;1772:18501:183;;;;;;;;;-1:-1:-1;;1772:18501:183;4934:22:35;1772:18501:183;;;929:10:65;-1:-1:-1;;;;;1772:18501:183;;8093:40:35;;;;;1772:18501:183;;2445:12:34;1772:18501:183;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;4814:34;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;;:::i;:::-;8906:26;;:59;;;1772:18501;8902:104;;929:10:65;-1:-1:-1;;;;;1772:18501:183;;6463:23:35;1772:18501:183;;6567:7:35;;;:::i;:::-;1772:18501:183;;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;8902:104;1772:18501;;-1:-1:-1;;;8982:17:183;;1772:18501;;8982:17;8906:59;1772:18501;;-1:-1:-1;1772:18501:183;2195:12:34;1772:18501:183;;8964:1;1772:18501;-1:-1:-1;1772:18501:183;;8936:29;8906:59;;1772:18501;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1898:6:46;1772:18501:183;;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;1772:18501:183;;;;;1971:30:46;1963:87;:::i;:::-;3486:17;;;:::i;:::-;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:183;;971:66:43;1772:18501:183;;;971:66:43;;;3330:17;;;;;;:::i;3232:526::-;1772:18501:183;;;;;;;;971:66:43;;;;;;;3383:63;;1772:18501:183;;3383:63:43;;-1:-1:-1;;3383:63:43;;;3232:526;-1:-1:-1;3379:302:43;;1772:18501:183;;-1:-1:-1;;;3610:56:43;;1772:18501:183;3610:56:43;1772:18501:183;3610:56:43;;;:::i;:::-;;;;3379:302;3737:9;3496:28;3488:82;3496:28;;3488:82;:::i;:::-;3737:9;:::i;3383:63::-;;;;;1772:18501:183;3383:63:43;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1772:18501:183;;:::i;:::-;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1772:18501:183;17259:20;1772:18501;;;;-1:-1:-1;1772:18501:183;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;-1:-1:-1;;;13385:37:183;;;1772:18501;;-1:-1:-1;;;;;1772:18501:183;;;;;;;;13385:37;1772:18501;;13385:37;;;;;;;;-1:-1:-1;13385:37:183;;;1772:18501;;;;;;;;;13385:47;;:98;;;;1772:18501;13381:139;;;1772:18501;;13567:37;;;;;;;;;;;;;;;;;;;-1:-1:-1;13567:37:183;;;1772:18501;-1:-1:-1;13608:4:183;1772:18501;13567:45;;-1:-1:-1;;;;;1772:18501:183;;-1:-1:-1;;;;;1772:18501:183;;;13567:45;1772:18501;;13567:45;;;;;:94;;1772:18501;13563:135;;;;;;;;4814:34;1772:18501;;3438:6:35;1772:18501:183;;13707:43;3438:29:35;;13739:10:183;1772:18501;3438:12:35;1772:18501:183;;;;;;;;;;;;;;;;3438:29:35;1772:18501:183;;;;;3438:29:35;13707:43:183;;1772:18501;13707:43;13703:85;;13793:17;13836:33;;13793:17;:32;:17;;;1772:18501;;;;;;;;13793:9;1772:18501;;;;;;;13793:17;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;13793:32;1772:18501;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;;;;;;;;;;;13703:85;1772:18501;;-1:-1:-1;;;13767:14:183;;;13563:135;1772:18501;;-1:-1:-1;;;13678:13:183;;;13567:94;1772:18501;;;;;;;;971:66:43;;;;;;;13616:37:183;;;;;;;;;-1:-1:-1;13616:37:183;;;13567:94;1772:18501;;;13616:45;;13567:94;;;;;;;;13616:37;;;;;;-1:-1:-1;13616:37:183;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;13567:::-;;;;;;;;;;;;;;:::i;:::-;;;;13381:139;1772:18501;;-1:-1:-1;;;13500:13:183;;1772:18501;;13500:13;13385:98;1772:18501;;-1:-1:-1;;;13436:37:183;;1772:18501;;-1:-1:-1;13436:37:183;1772:18501;13436:37;1772:18501;13436:37;;;;;;;;;-1:-1:-1;13436:37:183;;;13385:98;1772:18501;;13436:47;;13385:98;;;13436:37;;;;;;;;;;;;;;:::i;:::-;;;;13385;;;;;;;;;;;;;;:::i;:::-;;;;1772:18501;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:183;;12932:23;;12928:60;;13024:10;-1:-1:-1;1772:18501:183;;;;;;;;;12998:37;;3438:29:35;;;1772:18501:183;12998:37;12994:64;;13064:35;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;13110:26;;;;13064:35;1772:18501;;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;;;;12928:60;1772:18501;;-1:-1:-1;;;12964:24:183;;1772:18501;;12964:24;1772:18501;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;-1:-1:-1;;1772:18501:183;;;;:::o;:::-;;;-1:-1:-1;;1772:18501:183;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:183;;3901:220:46;1772:18501:183;;;;;;;;;;3901:220:46;:::i;1772:18501:183:-;;;;;;-1:-1:-1;;1772:18501:183;;;;2333:6:46;-1:-1:-1;;;;;1772:18501:183;2324:4:46;2316:23;1772:18501:183;;;;-1:-1:-1;;;;;;;;;;;1772:18501:183;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:183;;12496:31;;12492:68;;12596:10;-1:-1:-1;1772:18501:183;;;;;;;;;12570:37;;3438:29:35;;;1772:18501:183;12570:37;12566:64;;12636:54;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;12701:42;;;;12636:54;1772:18501;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;4435:37;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;4159:37;1772:18501;;3438:6:35;1772:18501:183;;9261:46;3438:29:35;;9296:10:183;1772:18501;3438:12:35;1772:18501:183;9261:46;9257:73;;-1:-1:-1;;;;;1772:18501:183;;;9340:19;9336:56;;1772:18501;;;9402:29;9398:66;;1772:18501;;9474:32;9470:69;;-1:-1:-1;;;;;1772:18501:183;;;;;;9549:20;1772:18501;;;;;9549:56;;:42;;:27;1772:18501;-1:-1:-1;;;;;1772:18501:183;;;9549:56;9545:99;;1772:18501;9745:41;1772:18501;;9745:33;1772:18501;9680:59;1772:18501;;:::i;:::-;-1:-1:-1;;;;;1772:18501:183;;;;9680:59;-1:-1:-1;;;;;1772:18501:183;;9680:59;;1772:18501;;9680:59;-1:-1:-1;;;;;1772:18501:183;;;;;;9549:20;1772:18501;;;;;;;;;-1:-1:-1;;;;;1772:18501:183;;;-1:-1:-1;;;;;;1772:18501:183;;;;;;;;;;;-1:-1:-1;1772:18501:183;;;;;;;;;;;;;;;-1:-1:-1;;;;;1772:18501:183;;;;;9745:16;1772:18501;;;;;;;9545:99;1772:18501;;-1:-1:-1;;;9614:30:183;;;9470:69;1772:18501;;-1:-1:-1;;;9515:24:183;;;9398:66;-1:-1:-1;1772:18501:183;;-1:-1:-1;;;9440:24:183;;;9257:73;1772:18501;;-1:-1:-1;;;9316:14:183;;;1772:18501;;;;;;;:::i;:::-;14101:4;1772:18501;;;;14083:23;;-1:-1:-1;;;;;1772:18501:183;;;14083:23;1772:18501;;-1:-1:-1;;;14116:37:183;;-1:-1:-1;;;;;1772:18501:183;;;;14116:37;;1772:18501;14147:4;1772:18501;;;;;;;;14116:37;1772:18501;;;;;;14116:37;;;;;;;;-1:-1:-1;14116:37:183;;;1772:18501;14116:47;;14112:102;;14240:10;1772:18501;;;;9745:16;1772:18501;;;;;14223:28;;;1772:18501;14223:28;1772:18501;14223:42;14219:69;;14351:7;;;:::i;14112:102::-;1772:18501;;-1:-1:-1;;;14180:27:183;;1772:18501;;14180:27;14116:37;;;;;;;;;;;;;;:::i;:::-;;;;1772:18501;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1772:18501:183;16697:20;1772:18501;;;-1:-1:-1;1772:18501:183;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;15508:12;1772:18501;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;-1:-1:-1;1772:18501:183;1886:12:34;1772:18501:183;;;5016:18:75;1772:18501:183;;;-1:-1:-1;1772:18501:183;5016:18:75;:::i;:::-;1772:18501:183;;;;;;;;;311:18:68;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;3438:29:35;1772:18501:183;;;;;:::i;:::-;;;-1:-1:-1;1772:18501:183;3438:6:35;1772:18501:183;;;-1:-1:-1;1772:18501:183;;;;;;;;;;;;;;;;;3438:29:35;1772:18501:183;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:183;;10791:20;10787:57;;10891:10;-1:-1:-1;1772:18501:183;;;-1:-1:-1;;;;;;;;;;;1772:18501:183;;;;;10854:48;;3438:29:35;;;1772:18501:183;10854:48;10850:75;;10931:21;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;10963:27;;;;10931:21;1772:18501;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;4569:39;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;11660:6;11646:20;;11642:56;;11745:10;-1:-1:-1;1772:18501:183;;;-1:-1:-1;;;;;;;;;;;1772:18501:183;;;;;11708:48;;1772:18501;;3438:29:35;1772:18501:183;11708:48;11704:75;;11827:38;11785:31;;11827:38;11785:31;;1772:18501;;11642:56;1772:18501;;-1:-1:-1;;;11675:23:183;;1772:18501;;11675:23;1772:18501;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;:::i;:::-;3636:1:45;1772:18501:183;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;3302:13:45;1772:18501:183;;3325:201:45;1772:18501:183;;;;;3301:14:45;3347:34;;;;;;1772:18501:183;3346:108:45;;;;1772:18501:183;3325:201:45;;:::i;:::-;3536:16;;1772:18501:183;;;3302:13:45;1772:18501:183;;;3302:13:45;1772:18501:183;;3536:16:45;3562:65;;1772:18501:183;;;;;;;;;3636:1:45;;:::i;:::-;3647:99;;1772:18501:183;3647:99:45;3681:21;1772:18501:183;;3302:13:45;1772:18501:183;;3302:13:45;1772:18501:183;;3681:21:45;1772:18501:183;;3551:1:45;1772:18501:183;;3721:14:45;;1772:18501:183;;;;3721:14:45;1772:18501:183;3562:65:45;3596:20;1772:18501:183;;;3302:13:45;1772:18501:183;;;3302:13:45;1772:18501:183;;3596:20:45;3562:65;;3346:108;3426:4;1713:19:63;:23;;-1:-1:-1;1713:23:63;3387:66:45;;3346:108;;;;;3387:66;3452:1;1772:18501:183;;;;3436:17:45;3387:66;;;3347:34;3380:1;1772:18501:183;;;3365:16:45;;-1:-1:-1;3347:34:45;;1772:18501:183;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;4694:28;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;-1:-1:-1;1772:18501:183;2195:12:34;1772:18501:183;;;;-1:-1:-1;1772:18501:183;;;;;;;;;;;;;;;:::i;:::-;10464:10;-1:-1:-1;1772:18501:183;;;;;;;;;;-1:-1:-1;;;;;;1772:18501:183;;10429:46;10425:73;;-1:-1:-1;;;;;1772:18501:183;;;10504:18;1772:18501;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1772:18501:183;;;;;10146:20;1772:18501;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;11220:6;11206:20;;11202:56;;11305:10;-1:-1:-1;1772:18501:183;;;-1:-1:-1;;;;;;;;;;;1772:18501:183;;;;;11268:48;;1772:18501;;3438:29:35;1772:18501:183;11268:48;11264:75;;11392:42;11345:36;;11392:42;11345:36;;1772:18501;;;;;;;;-1:-1:-1;;1772:18501:183;;;;5816:7:35;1772:18501:183;;;;;;;:::i;:::-;;-1:-1:-1;1772:18501:183;4934:6:35;1772:18501:183;;2939:4:35;4934:22;1772:18501:183;-1:-1:-1;1772:18501:183;4934:22:35;1772:18501:183;2939:4:35;:::i;:::-;5816:7;:::i;1772:18501:183:-;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1772:18501:183;16891:20;1772:18501;;;;-1:-1:-1;1772:18501:183;16891:41;1772:18501;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1772:18501:183;;;;:::o;:::-;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;15366:22;1772:18501;;;;;;;2317:166:34;-1:-1:-1;;;;;1772:18501:183;;7215:1;1772:18501;;;;;;;;;;;8409:50:75;;1772:18501:183;7215:1;1772:18501;;7999:23:35;7995:149;;2317:166:34;1772:18501:183;;;2445:12:34;1772:18501:183;;;-1:-1:-1;;;;;1772:18501:183;;;;8409:50:75;:::i;:::-;;2317:166:34:o;7995:149:35:-;1772:18501:183;;;3438:6:35;1772:18501:183;;;;;;;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;8070:4:35;1772:18501:183;;;929:10:65;-1:-1:-1;;;;;1772:18501:183;;8093:40:35;;;;;7995:149;;3768:103;-1:-1:-1;1772:18501:183;;;3438:6:35;1772:18501:183;;;;;;;;929:10:65;1772:18501:183;;;;;;;;;;4239:23:35;4235:412;;3768:103;:::o;4235:412::-;929:10:65;2006:25:68;;;:::i;:::-;2041:15;;;;;:::i;:::-;;2066;;;;:::i;:::-;;1772:18501:183;2124:5:68;1772:18501:183;2124:5:68;;;;4278:358:35;1772:18501:183;4330:274:35;2236:10:68;1772:18501:183;4533:49:35;2236:10:68;2228:55;2236:10;;2228:55;:::i;:::-;4533:49:35;:::i;:::-;1772:18501:183;;;4330:274:35;;;1772:18501:183;;4330:274:35;;1772:18501:183;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;1772:18501:183;;;;;;;4330:274:35;1772:18501:183;;4330:274:35;;;;;;:::i;:::-;1772:18501:183;;-1:-1:-1;;;4278:358:35;;1772:18501:183;;;;4278:358:35;;;:::i;2131:3:68:-;2171:11;2179:3;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:68;;2150:33;;;;:::i;:::-;;1772:18501:183;311:18:68;2131:3;;:::i;:::-;2096:26;;2162:21;;:::i;1772:18501:183:-;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;2572:171:34:-;;1772:18501:183;8730:53:75;2572:171:34;-1:-1:-1;1772:18501:183;;;;3438:6:35;1772:18501:183;;;3438:29:35;1772:18501:183;;;;;;;;;;;;;;;;;;;;3438:29:35;1772:18501:183;;8400:149:35;;2572:171:34;1772:18501:183;;2702:12:34;1772:18501:183;;;-1:-1:-1;;;;;1772:18501:183;;;;8730:53:75;:::i;8400:149:35:-;1772:18501:183;;;3438:6:35;1772:18501:183;;;;;;;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;;;;-1:-1:-1;;1772:18501:183;;;929:10:65;-1:-1:-1;;;;;1772:18501:183;;8498:40:35;;;;;8400:149;;1772:18501:183;;;;:::o;:::-;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;971:66:43:-;;;;;;;;;;;:::o;:::-;1772:18501:183;;971:66:43;;;;;;;;;;;:::o;:::-;1772:18501:183;;-1:-1:-1;;;971:66:43;;;;;;;;;;;1772:18501:183;971:66:43;1772:18501:183;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;;;;;;;;;;;;1772:18501:183;971:66:43;1772:18501:183;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;:::o;1699:281::-;1713:19:63;;:23;1772:18501:183;;-1:-1:-1;;;;;;;;;;;1772:18501:183;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;1699:281:43:o;1772:18501:183:-;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;2372:276:43;;2171:17;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:183;;2204:27:43;3565:1:46;;2204:27:43;1772:18501:183;;2523:15:43;;;:28;;;2372:276;2519:123;;2372:276;;:::o;2519:123::-;7318:69:63;1772:18501:183;3565:1:46;1772:18501:183;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;7276:25:63;;;;;;;;;:::i;:::-;7318:69;;:::i;2523:28:43:-;;3565:1:46;2523:28:43;;2372:276;;2171:17;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:183;;2204:27:43;;;;1772:18501:183;;2523:15:43;;;:28;;;2519:123;;2372:276;;:::o;2523:28::-;;1772:18501:183;2523:28:43;;1842:226:46;-1:-1:-1;;;;;1898:6:46;1772:18501:183;;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;1772:18501:183;;;;;1971:30:46;1963:87;:::i;:::-;4034:17;;;:::i;:::-;971:66:43;1772:18501:183;;;971:66:43;;;3330:17;;;;;;:::i;3232:526::-;3383:63;;1772:18501:183;;;;;;971:66:43;;;;;;;3383:63;;1772:18501:183;;3383:63:43;;;;;;;3232:526;-1:-1:-1;3379:302:43;;1772:18501:183;;-1:-1:-1;;;3610:56:43;;1772:18501:183;3610:56:43;3383:63;3610:56;;;:::i;3379:302::-;3737:9;3496:28;3488:82;3496:28;;3488:82;:::i;:::-;3737:9;:::i;3383:63::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1772:18501:183;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1772:18501:183;;;;:::o;:::-;;;:::o;7682:628:63:-;;;;7886:418;;;1772:18501:183;;;7917:22:63;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;1772:18501:183;;8212:17:63;:::o;1772:18501:183:-;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;;;;7886:418:63;1772:18501:183;;;;-1:-1:-1;8991:21:63;:17;;9163:142;;;;;;;8987:379;1772:18501:183;;-1:-1:-1;;;9335:20:63;;1772:18501:183;;;9335:20:63;;;;;;:::i;1772:18501:183:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1772:18501:183;;;;;:::o;:::-;;2016:1:68;1772:18501:183;;;;;;;:::o;:::-;;2073:1:68;1772:18501:183;;;;;;;:::o;:::-;;6602:1:128;1772:18501:183;;;;;;;:::o;:::-;;6555:1:128;1772:18501:183;;;;;;;:::o;:::-;;6495:1:128;1772:18501:183;;;;;;;:::o;:::-;;6435:1:128;1772:18501:183;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;2073:1:68;1772:18501:183;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;1772:18501:183;;:::o;311:18:68:-;;;;:::o;:::-;;1772:18501:183;;;;;311:18:68;;;;;;;;;;;1772:18501:183;311:18:68;1772:18501:183;;;311:18:68;;1884:437;1772:18501:183;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:68;;;;:::i;:::-;;2066;;;;:::i;:::-;;1772:18501:183;2091:128:68;2124:5;2073:1;2124:5;;;;2228:55;2236:10;;;2228:55;:::i;2131:3::-;2179;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:68;;2150:33;;;;:::i;2131:3::-;2096:26;;;1772:18501:183;;;;;;;;-1:-1:-1;1772:18501:183;;-1:-1:-1;1772:18501:183;;;-1:-1:-1;1772:18501:183;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2225:404:75:-;4362:12;;;1772:18501:183;;-1:-1:-1;1772:18501:183;;;;;-1:-1:-1;1772:18501:183;;4362:24:75;2304:319;1772:18501:183;;;;;;;;;;;;;;4362:12:75;1772:18501:183;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:183;;;;-1:-1:-1;1772:18501:183;;4362:12:75;2558:11;:::o;2304:319::-;2600:12;;;-1:-1:-1;2600:12:75;:::o;1772:18501:183:-;-1:-1:-1;;1772:18501:183;;;;;;;;:::o;:::-;-1:-1:-1;;1772:18501:183;;;;;;;;:::o;:::-;17275:2:128;1772:18501:183;;17275:2:128;1772:18501:183;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1772:18501:183;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2797:1388:75;3000:12;;;1772:18501:183;;-1:-1:-1;1772:18501:183;;;;;-1:-1:-1;1772:18501:183;;3034:15:75;;;;3030:1149;3034:15;;;-1:-1:-1;;1772:18501:183;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3516:26:75;;;3988:15;3516:26;4080:19;3516:26;;3512:398;;3030:1149;3988:15;;;;:::i;:::-;1772:18501:183;;;;;;;;;;4080:19:75;1772:18501:183;3000:12:75;4114:11;:::o;3512:398::-;3704:38;:26;3582:22;;3816:23;3582:22;;;:::i;:::-;1772:18501:183;;;;;311:18:68;3704:26:75;;;;;:::i;:::-;:38;;:::i;:::-;3816:23;1772:18501:183;;;;;;;;;;3816:23:75;1772:18501:183;3512:398:75;;;;;3030:1149;4156:12;;;;-1:-1:-1;4156:12:75;:::o;1772:18501:183:-;;;;:::o;:::-;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;6696:1385;;;;;;;7002:8;6986:24;;6982:62;;7080:6;7054:32;;;7050:68;;7128:27;;7124:63;;-1:-1:-1;;;;;1772:18501:183;;;;7197:20;7193:57;;1772:18501;;7260:31;;;7256:68;;1772:18501;;7334:23;;;7330:60;;1772:18501;;;7400:19;7396:56;;1772:18501;;;7462:19;7458:56;;1772:18501;;7524:27;7520:64;;7980:28;7621:6;7812:48;7918:12;7621:6;7771:35;7866:28;7621:6;7711:54;7900:12;7621:6;;7936:38;7621:6;;:::i;:::-;7674:30;;:::i;:::-;12636:54;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;7711:54;13064:35;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;7771:35;11345:36;1772:18501;;7812:48;12218:28;1772:18501;;7866:28;7900:12;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;7900:12;7918;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;7918:12;11785:31;1772:18501;;7936:38;10931:21;1772:18501;;-1:-1:-1;;;;;;1772:18501:183;-1:-1:-1;;;;;1772:18501:183;;;;;;;;;;7980:28;570:75:34;;:::i;:::-;1042:67:46;5328:125:45;1772:18501:183;5374:13:45;1772:18501:183;;;;;;;5328:125:45:o;1772:18501:183:-;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;7502:247:35;4435:37:183;1772:18501;-1:-1:-1;1772:18501:183;4934:6:35;1772:18501:183;;4934:22:35;1772:18501:183;-1:-1:-1;1772:18501:183;4934:22:35;1772:18501:183;;;4297:43;;1772:18501;;;7690:52:35;-1:-1:-1;7690:52:35;;7502:247::o;8328:225:183:-;8442:10;2495:4:35;1772:18501:183;;;;;;;;;;;;8413:40;8409:67;;-1:-1:-1;;;;;1772:18501:183;8486:29;8482:66;;8328:225::o;1772:18501::-;;;;;;;;;;;;;:::i;1421:214:57:-;1772:18501:183;;-1:-1:-1;;;1559:68:57;;;;;;-1:-1:-1;;;;;1772:18501:183;;;1559:68:57;;;1772:18501:183;;;;;;;;;;;;;;;;1559:68:57;;;;;5546:69:63;;1772:18501:183;;;1559:68:57;1772:18501:183;1559:68:57;:::i;:::-;1772:18501:183;;;;;;;:::i;:::-;1559:68:57;1772:18501:183;;;1559:68:57;1772:18501:183;;;-1:-1:-1;5498:31:63;;;;;;;;;;;;:::i;5546:69::-;1772:18501:183;;5848:22:57;;;:56;;;;;1421:214;5840:111;;;;;;:::i;5848:56::-;5874:30;;;;1559:68;5874:30;;;1772:18501:183;;;;1559:68:57;5874:30;1772:18501:183;;;;;;;;;5848:56:57;5840:111;5848:56;;;;;1772:18501:183;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:183;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:183;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1772:18501:183;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1772:18501:183;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1772:18501:183;;;;:::o;15568:992::-;1772:18501;;:::i;:::-;-1:-1:-1;15684:8:183;1772:18501;15684:13;;-1:-1:-1;;;;;1772:18501:183;;;15684:13;15699:16;1772:18501;15699:21;;-1:-1:-1;;;;;1772:18501:183;;;15699:21;1772:18501;;-1:-1:-1;;;15699:28:183;;-1:-1:-1;;;;;1772:18501:183;;15699:28;;;1772:18501;;15699:28;;1772:18501;;;;;;15699:28;;;;;;15684:45;15699:28;-1:-1:-1;15699:28:183;;;;;15568:992;1772:18501;;;971:66:43;;;;;;;;15684:45:183;;15699:28;15684:45;;1772:18501;;;;;;;;15684:45;;;;;;;;;:55;:45;-1:-1:-1;15684:45:183;;;15568:992;15684:55;;:::i;:::-;1772:18501;;;:::i;:::-;15789:27;15767:64;15789:42;:27;;1772:18501;;;;;;;;9549:20;1772:18501;;;;;;;15789:42;-1:-1:-1;;;;;1772:18501:183;;15767:19;;1772:18501;;15767:64;15837:62;15858:41;;:27;;1772:18501;;;;;;;;9549:20;1772:18501;;;;;;;15858:27;:41;1772:18501;-1:-1:-1;;;;;1772:18501:183;;;15858:41;-1:-1:-1;;;;;1772:18501:183;15837:18;;;1772:18501;;15837:62;15909:10;;;:::i;:::-;15905:228;;16162:26;16374:31;:21;16162:26;16496:42;16162:26;;:::i;:::-;16295:36;:26;16227:35;:25;;;:::i;:::-;:35;:::i;:::-;16295:26;;:::i;:36::-;16374:21;;:::i;:31::-;16423:53;1772:18501;16424:29;1772:18501;;:::i;16424:29::-;16423:53;:::i;:::-;16411:65;;16497:18;1772:18501;;:::i;16496:42::-;15699:28;16482:11;;:56;15568:992;:::o;15905:228::-;16046:61;1772:18501;;15934:26;15946:13;1772:18501;;:::i;15946:13::-;15934:26;;:::i;:::-;;15980:44;1772:18501;15981:29;1772:18501;;:::i;15980:44::-;15968:56;;16074:32;:22;16080:15;16047:18;1772:18501;;:::i;16047:18::-;16080:15;;:::i;:::-;16074:22;:::i;15684:45::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;15699:28;;;;;;;;;;;;;;;:::i;:::-;;;;;2407:149:101;1772:18501:183;;;-1:-1:-1;;;;;1772:18501:183;;;;:::i;:::-;;;;;;;;;;1975:15:101;;;;:::i;:::-;;2000;;;;:::i;:::-;;1772:18501:183;2025:128:101;2058:5;1772:18501:183;2058:5:101;;;;2162:55;2170:10;;;2162:55;:::i;2065:3::-;2113;2105:11;;2096:21;;;;;;;2065:3;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;2065:3::-;2030:26;;;1772:18501:183;;;;;;;:::i;:::-;-1:-1:-1;1772:18501:183;;;;;;;:::o;2904:210:128:-;1772:18501:183;;:::i;:::-;;3006:55:128;1772:18501:183;;;;;;;;;:::i;:::-;;;3006:55:128;;3077:30;;1772:18501:183;2904:210:128;:::o;5286:265::-;5514:9;5391:21;1772:18501:183;;5391:21:128;:::i;:::-;5503:9;5443:35;5503:9;;1772:18501:183;;;5443:35:128;;;;5514:9;:::i;1772:18501:183:-;;;;;;;;;:::o;2088:616:128:-;;;2225:9;2232:2;2214:9;;;;;;2250:65;;;;1772:18501:183;;;;;;;;;;;;;;;;2225:9:128;-1:-1:-1;;1772:18501:183;;;;;;;2208:164:128;;;2214:9;;;;;1772:18501:183;;2454:7:128;;2450:66;;2208:164;-1:-1:-1;2525:173:128;;;;;;;;;;;2088:616::o;2450:66::-;1772:18501:183;;;2232:2:128;1772:18501:183;2232:2:128;1772:18501:183;;;;2484:17:128;:21;:17;;:::i;:::-;:21;:::i;:::-;2450:66;;;;1772:18501:183;-1:-1:-1;;1772:18501:183;;;;;;;:::o;5942:692:128:-;;6136:15;6101:14;:9;;;1772:18501:183;6101:14:128;:::i;:::-;1772:18501:183;;6136:15:128;;:::i;:::-;-1:-1:-1;6161:467:128;6173:9;;;;;;5942:692;;:::o;6184:3::-;6224:39;;;;;6184:3;;6224:39;1772:18501:183;6224:39:128;6284:4;6280:8;;6284:4;;;6308:8;;;;:::i;:::-;6276:342;;6184:3;:::i;:::-;6166:5;;;;6276:342;6344:4;6340:8;;6344:4;;;6368:8;;;;:::i;6337:281::-;6404:4;6400:8;;6404:4;;;6428:8;;;;:::i;6397:221::-;6464:4;6460:8;;6464:4;;;6488:8;;;;:::i;6457:161::-;6524:4;-1:-1:-1;6524:4:128;;;6548:8;;;:::i;6517:101::-;6595:8;;;:::i;22782:143::-;;;1772:18501:183;;:::i;:::-;;;;:::i;:::-;;;;22008:9:128;21988:56;22008:9;;;1772:18501:183;;;;;22032:11:128;22008:9;22032:11;;1772:18501:183;21988:56:128;;:::i;:::-;22054:10;22008:9;22054:10;;1772:18501:183;;;;;;;;;;;;;;;;;;;;;;;;22136:16:128;22143:9;;1772:18501:183;-1:-1:-1;1772:18501:183;;;22782:143:128:o;22132:153::-;1772:18501:183;;;;;;;;;;;;;;;;;;;22782:143:128:o;1772:18501:183:-;;;;;;;;;;:::o;17083:1457:128:-;;;;;17222:20;;;;17218:1292;;17083:1457;18519:14;;;17083:1457;:::o;17218:1292::-;17262:15;;;;;;17275:2;17262:15;;17275:2;;1772:18501:183;17331:13:128;;17327:110;;17258:1242;17491:54;17569:17;17491:54;17569:29;17491:54;;;;;;17569:17;;;:::i;:::-;:29;:::i;:::-;17616:15;17649:45;;;;;17719:21;;;;17958:15;;;;;;;:::i;17712:222::-;17768:14;;;;;;17764:58;;17844:5;;;:::i;:::-;17871:45;;;;;17712:222;;;;;;17764:58;-1:-1:-1;17808:14:128;-1:-1:-1;;;17808:14:128:o;17327:110::-;17396:14;;17569:29;17396:14;17569:17;17385:31;:27;17391:20;17396:14;;;:::i;:::-;17391:20;:::i;:::-;17385:27;:::i;:31::-;17383:34;17327:110;;;;;;;17258:1242;18091:52;;18177:19;18091:52;;18166:31;18091:52;;;;;18177:19;;:::i;:::-;18166:31;;:::i;:::-;18222:14;;;;;;17258:1242;;;17218:1292;;;;;18215:271;18298:50;;;18373:16;;18369:68;;18459:8;;;:::i;:::-;18215:271;;18369:68;18422:15;;;;;;;:::i;24264:355::-;;1772:18501:183;;;;;;;;;;;24387:34:128;;;:::i;:::-;24452:35;;;;;24511:9;24522;24511;;;1772:18501:183;;;24522:9:128;;;:::i;:::-;1772:18501:183;;;;;;;;;24569:10:128;24452:35;24581:10;24569;;1772:18501:183;;;24581:10:128;;:::i;1772:18501:183:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;17469:436::-;1772:18501;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1772:18501:183;;;:::i;:::-;;;;;;;;;;-1:-1:-1;17659:13:183;;17674:24;;;;;;17888:12;;;;;;17469:436;:::o;17700:3::-;17729:16;17717:54;17729:16;17717:52;:29;17729:16;;17700:3;17729:16;;;;:::i;:::-;;:::i;17717:52::-;1772:18501;;-1:-1:-1;;;17717:54:183;;1772:18501;;;;;17717:54;;;;;;;17700:3;-1:-1:-1;17713:163:183;;17846:21;;;;;;:::i;:::-;1772:18501;17700:3;:::i;:::-;17659:13;;17713:163;17805:15;;;;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:183;;;;;;17717:54;;;;;;;;;;;;;;;:::i;:::-;;;;;18425:259;;18566:1;18554:13;;18592:3;1772:18501;;18569:21;;;;;18592:3;;18621:21;-1:-1:-1;;;;;;18628:13:183;1772:18501;18628:13;;:::i;:::-;1772:18501;;18621:21;:::i;:::-;18605:37;;;;;;:::i;:::-;;18592:3;:::i;:::-;18554:13;;18569:21;-1:-1:-1;18569:21:183;-1:-1:-1;18425:259:183:o;19045:162::-;-1:-1:-1;;;;;;;;;1772:18501:183;;;19113:11;;;;;;:26;;19045:162;19109:77;;;19192:10;19045:162;:::o;19109:77::-;1772:18501;;;-1:-1:-1;;1772:18501:183;;;;;;;311:18:68;;19149:30:183;:::o;19113:26::-;-1:-1:-1;;;;19128:11:183;;-1:-1:-1;19113:26:183;;;19778:493;;1772:18501;;16247:1;19947:47;;;1772:18501;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;20100:13:183;20124:28;20154:30;;;;;;-1:-1:-1;20242:24:183;;-1:-1:-1;;;;19778:493:183:o;20186:3::-;;;-1:-1:-1;;;;;;20216:13:183;1772:18501;20216:13;;:::i;:::-;1772:18501;;20209:3;20199:30;20209:3;;;:::i;:::-;20199:30;;;;;;:::i;20186:3::-;20124:28;;1772:18501;;;;-1:-1:-1;1772:18501:183;;;;;-1:-1:-1;1772:18501:183;19778:493;;1772:18501;;;19947:47;;;1772:18501;;;;;;;;:::i;:::-;15699:28;1772:18501;;;;;;;;-1:-1:-1;20100:13:183;1772:18501;20154:30;;;;;;-1:-1:-1;20242:24:183;;-1:-1:-1;;;;19778:493:183:o;20186:3::-;;;-1:-1:-1;;;;;;20216:13:183;1772:18501;20216:13;;:::i;20186:3::-;20124:28;","linkReferences":{},"immutableReferences":{"31740":[{"start":2408,"length":32},{"start":4077,"length":32},{"start":8468,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","ENS_SETTER_ROLE()":"c2544987","STAKING_CONFIG_SETTER_ROLE()":"a4303a45","STAKING_INFO_SETTER_ROLE()":"265718b4","STAKING_STAT_SETTER_ADMIN_ROLE()":"29b4a590","STAKING_STAT_SETTER_ROLE()":"66951bc1","SWAP_POOL_SETTER_ROLE()":"363227e5","decreaseAmountStaked(address,address,uint256)":"cac7c65c","getDefaultPayee()":"10da95e6","getDeflationaryPercentage()":"f7ef8ead","getDiscountPercentage()":"111029b9","getPeriodLength()":"8469ddc7","getRareAddress()":"2210d525","getRewardAccumulatorAddressForUser(address)":"e286ef33","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","getStakingAddressForUser(address)":"81d0606b","getStakingInfoForUser(address)":"f24bd8a6","getSwapPool(address)":"039bcf8e","getTotalAmountStakedByUser(address)":"06c571d5","getTotalAmountStakedOnUser(address)":"3d867d95","getUsersForStakingAddresses(address[])":"18ab58ac","getWethAddress()":"23a7b42a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increaseAmountStaked(address,address,uint256)":"2608ff35","initialize(address,address,address,uint256,uint256,uint256,address,address,address)":"bb0544a1","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDefaultPayee(address)":"99247be7","setDeflationaryPercentage(uint256)":"cb8af2b5","setDiscountPercentage(uint256)":"b3428d15","setPeriodLength(uint256)":"1c5633d7","setResolver(address)":"4e543b26","setReverseRegistrar(address)":"557499ba","setStakingAddresses(address,address,address)":"76a250a7","setSwapPool(address,address)":"46ccbb40","supportsInterface(bytes4)":"01ffc9a7","transferRareFrom(address,address,uint256)":"81910e33","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InsufficientRareAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPool\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PercentageBeyondLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PeriodLengthBeyondLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RenouncingAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StakingContractAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"}],\"name\":\"DefaultPayeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"DeflationaryPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"DiscountPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"}],\"name\":\"PeriodLengthUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"ResolverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_percentage\",\"type\":\"address\"}],\"name\":\"ReverseRegistrarUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_uniswapPool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"SetSwapPool\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ENS_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_CONFIG_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_INFO_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_STAT_SETTER_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_STAT_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SWAP_POOL_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakedOn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"decreaseAmountStaked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultPayee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeflationaryPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDiscountPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPeriodLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRareAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRewardAccumulatorAddressForUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getStakingAddressForUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getStakingInfoForUser\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"stakingAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rewardAddress\",\"type\":\"address\"}],\"internalType\":\"struct IRareStakingRegistry.Info\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getSwapPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getTotalAmountStakedByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getTotalAmountStakedOnUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_stakingAddrs\",\"type\":\"address[]\"}],\"name\":\"getUsersForStakingAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakedOn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increaseAmountStaked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_reverseRegistrar\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_deflationaryPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_discountedPercent\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_rare\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_defaultPayee\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"}],\"name\":\"setDefaultPayee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setDeflationaryPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setDiscountPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"}],\"name\":\"setPeriodLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reverseRegistrar\",\"type\":\"address\"}],\"name\":\"setReverseRegistrar\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardSwapAddress\",\"type\":\"address\"}],\"name\":\"setStakingAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_uniswapPool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setSwapPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferRareFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"details\":\"Made to be used with a UUPS Proxy.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"decreaseAmountStaked(address,address,uint256)\":{\"details\":\"Requires the caller to have the {STAKING_STAT_SETTER_ROLE} access control role.\",\"params\":{\"_amount\":\"The amount of $RARE that has been unstaked.\",\"_stakedOn\":\"The user who was being staked on.\",\"_staker\":\"The user who is unstaking.\"}},\"getDefaultPayee()\":{\"returns\":{\"_0\":\"address to send rewards to.\"}},\"getDeflationaryPercentage()\":{\"returns\":{\"_0\":\"uint256 deflationary percentage.\"}},\"getDiscountPercentage()\":{\"returns\":{\"_0\":\"uint256 discount percentage.\"}},\"getPeriodLength()\":{\"returns\":{\"_0\":\"uint256 period length.\"}},\"getRareAddress()\":{\"returns\":{\"_0\":\"address Address of $RARE (the staking token to be used).\"}},\"getRewardAccumulatorAddressForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"address Reward accumulator address.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"getStakingAddressForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"address staking address.\"}},\"getStakingInfoForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"Info struct containing name, symbol, staking address, and reward accumulator address.\"}},\"getSwapPool(address)\":{\"returns\":{\"_0\":\"address of the swap pool associated with the token.\"}},\"getTotalAmountStakedByUser(address)\":{\"params\":{\"_user\":\"Address of the user staking.\"},\"returns\":{\"amount\":\"uint256 Amount of rare the user is staking.\"}},\"getTotalAmountStakedOnUser(address)\":{\"params\":{\"_user\":\"Address of the user being staked on.\"},\"returns\":{\"amount\":\"uint256 Amount of rare being staked on the user.\"}},\"getUsersForStakingAddresses(address[])\":{\"details\":\"Order maintained and zero address returned if it doesnt exist.This function is intended to be called off chain.\",\"params\":{\"_stakingAddrs\":\"Addresses of staking contracts being queried.\"}},\"getWethAddress()\":{\"returns\":{\"_0\":\"address Address of Wrapped Ethereum.\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAmountStaked(address,address,uint256)\":{\"details\":\"Requires the caller to have the {STAKING_STAT_SETTER_ROLE} access control role.\",\"params\":{\"_amount\":\"The amount of $RARE that has been staked.\",\"_stakedOn\":\"The user who is being staked on.\",\"_staker\":\"The user who is staking.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setDefaultPayee(address)\":{\"details\":\"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.\",\"params\":{\"_payee\":\"Address of the account to be the new default payee.\"}},\"setDeflationaryPercentage(uint256)\":{\"details\":\"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.\",\"params\":{\"_percentage\":\"The new deflactionary percentage.\"}},\"setDiscountPercentage(uint256)\":{\"details\":\"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.\",\"params\":{\"_percentage\":\"The new discount percentage.\"}},\"setPeriodLength(uint256)\":{\"details\":\"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.\",\"params\":{\"_periodLength\":\"The new period start.\"}},\"setResolver(address)\":{\"details\":\"Requires the caller to have the {ENS_SETTER_ROLE} access control role.\",\"params\":{\"_resolver\":\"The new period start.\"}},\"setReverseRegistrar(address)\":{\"details\":\"Requires the caller to have the {ENS_SETTER_ROLE} access control role.\",\"params\":{\"_reverseRegistrar\":\"The new period start.\"}},\"setStakingAddresses(address,address,address)\":{\"details\":\"Requires the caller to have the {STAKING_INFO_SETTER_ROLE} access control role.\"},\"setSwapPool(address,address)\":{\"details\":\"Requires the caller to have the {SWAP_POOL_SETTER_ROLE} of the contract.\",\"params\":{\"_token\":\"Address of ERC20 contract.\",\"_uniswapPool\":\"Address of uniswap pool.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferRareFrom(address,address,uint256)\":{\"details\":\"Only staking pool contracts can call this.\",\"params\":{\"_amount\":\"uint256 amount to transfer.\",\"_from\":\"Address to transfer the tokens from.\",\"_to\":\"Address to transfer the tokens to.\"}},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"ENS_SETTER_ROLE\":{\"return\":\"bytes32 value of the ens setter role.\",\"returns\":{\"_0\":\"bytes32 value of the ens setter role.\"}},\"STAKING_CONFIG_SETTER_ROLE\":{\"return\":\"bytes32 value of the staking config setter role.\",\"returns\":{\"_0\":\"bytes32 value of the staking config setter role.\"}},\"STAKING_INFO_SETTER_ROLE\":{\"return\":\"bytes32 value of the staking info setter role.\",\"returns\":{\"_0\":\"bytes32 value of the staking info setter role.\"}},\"STAKING_STAT_SETTER_ADMIN_ROLE\":{\"return\":\"bytes32 value of the staking stat setter admin role.\",\"returns\":{\"_0\":\"bytes32 value of the staking stat setter admin role.\"}},\"STAKING_STAT_SETTER_ROLE\":{\"return\":\"bytes32 value of the stat setter role.\",\"returns\":{\"_0\":\"bytes32 value of the stat setter role.\"}},\"SWAP_POOL_SETTER_ROLE\":{\"return\":\"bytes32 value of the swap pool setter role.\",\"returns\":{\"_0\":\"bytes32 value of the swap pool setter role.\"}}},\"title\":\"RareStakingRegistry\",\"version\":1},\"userdoc\":{\"errors\":{\"InsufficientRareAllowance()\":[{\"notice\":\"Error emitted in {transferRareFrom} when a user performs an action that requires moving $RARE but has not made enough allowance for the registry.\"}],\"InvalidPool()\":[{\"notice\":\"Emitted via {setSwapPool} if the pool doesn't match the token and pairs with WETH.\"}],\"PercentageBeyondLimit()\":[{\"notice\":\"Emitted when a percentage is beyond the specified limit.\"}],\"PeriodLengthBeyondLimit()\":[{\"notice\":\"Emitted when a Period Length is beyond the specified limit.\"}],\"RenouncingAdmin()\":[{\"notice\":\"Emitted when renouncing the admin role and no other account has the role.\"}],\"StakingContractAlreadyExists()\":[{\"notice\":\"Emitted via {setStakingAddress} if the user already has a staking address.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when guarded functions are called by users without the necessary permissions.\"}],\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"DefaultPayeeUpdated(address)\":{\"notice\":\"Emitted via {setDefaultPayee} when the defaultPayee is updated.\"},\"DeflationaryPercentageUpdated(uint256)\":{\"notice\":\"Emitted via {setDeflationaryPercentage} when the deflationaryPercentage is updated.\"},\"DiscountPercentageUpdated(uint256)\":{\"notice\":\"Emitted via {setDiscountPercentage} when the discountedPercent is updated.\"},\"PeriodLengthUpdated(uint256)\":{\"notice\":\"Emitted via {setPeriodLength} when the periodLength is updated.\"},\"ResolverUpdated(address)\":{\"notice\":\"Emitted via {setResolver} when the ENS resolver is updated.\"},\"ReverseRegistrarUpdated(address)\":{\"notice\":\"Emitted via {setReverseRegistrar} when the ENS reverse registrar is updated.\"},\"SetSwapPool(address,address)\":{\"notice\":\"Emitted via {setSwapPool} when a new swap pool has been set.\"}},\"kind\":\"user\",\"methods\":{\"ENS_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating the ENS resolvers.\"},\"STAKING_CONFIG_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for period length, deflationary percentages, and the default payee.\"},\"STAKING_INFO_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for setting the staking address of a user.\"},\"STAKING_STAT_SETTER_ADMIN_ROLE()\":{\"notice\":\"Bytes32 representation of the admin role for granting the ability to set amount staked for a single user/total amount staked on a user.\"},\"STAKING_STAT_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating the amount being staked on a user/amount a user is staking globally.\"},\"SWAP_POOL_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating uniswap pools.\"},\"decreaseAmountStaked(address,address,uint256)\":{\"notice\":\"Decrease the amount staked when a user unstakes.\"},\"getDefaultPayee()\":{\"notice\":\"Get the address for sending rewards if there are no stakers.\"},\"getDeflationaryPercentage()\":{\"notice\":\"Get the unstake deflationary percentage.\"},\"getDiscountPercentage()\":{\"notice\":\"Get reward swap discount percentage.\"},\"getPeriodLength()\":{\"notice\":\"Get the round period length.\"},\"getRareAddress()\":{\"notice\":\"Retrieve the address of $RARE.\"},\"getRewardAccumulatorAddressForUser(address)\":{\"notice\":\"Retrieves the reward accumulator address for a given user.\"},\"getStakingAddressForUser(address)\":{\"notice\":\"Retrieves the staking address for a given user.\"},\"getStakingInfoForUser(address)\":{\"notice\":\"Retrieves the staking info for a given user.\"},\"getSwapPool(address)\":{\"notice\":\"Get the swap pool address for the ERC20 token.\"},\"getTotalAmountStakedByUser(address)\":{\"notice\":\"Retrieves the total amount of rare staked by a given user.\"},\"getTotalAmountStakedOnUser(address)\":{\"notice\":\"Retrieves the total amount of rare being staked on a given user.\"},\"getUsersForStakingAddresses(address[])\":{\"notice\":\"Query the users for the following staking addresseses.\"},\"getWethAddress()\":{\"notice\":\"Retrieve the address of Wrapped Ethereum.\"},\"increaseAmountStaked(address,address,uint256)\":{\"notice\":\"Increase amount staked when a user stakes.\"},\"setDefaultPayee(address)\":{\"notice\":\"Set the default payee.\"},\"setDeflationaryPercentage(uint256)\":{\"notice\":\"Set the unstake deflationary percentage.\"},\"setDiscountPercentage(uint256)\":{\"notice\":\"Set the reward swap discount percentage.\"},\"setPeriodLength(uint256)\":{\"notice\":\"Set the round period length time.\"},\"setResolver(address)\":{\"notice\":\"Set the ENS resolver address.\"},\"setReverseRegistrar(address)\":{\"notice\":\"Set the ENS reverse registrar address.\"},\"setSwapPool(address,address)\":{\"notice\":\"Set the uniswap pool address for the given ERC20 token.\"},\"transferRareFrom(address,address,uint256)\":{\"notice\":\"Pools to transfer $RARE tokens, usually into pools. This is so users only need to approve the registry when staking or performing reward swaps.\"}},\"notice\":\"The Staking Registry contract that holds info such as the staking contract for a given user and global staking stats.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/registry/RareStakingRegistry.sol\":\"RareStakingRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x7cb1158c7d268b63de1468e28e2711b28d686e2628ddb22da2149cd93ddeafda\",\"urls\":[\"bzz-raw://a7018309acca24b10ea1235b1c27828f29f2ddfabb653a794639baf620dc2314\",\"dweb:/ipfs/QmakFQT5NFvGs3g8xxwtgtWdddq28Wtm6MjNSpJNhV1YpR\"]},\"lib/ens-contracts/contracts/registry/IReverseRegistrar.sol\":{\"keccak256\":\"0x83adfcf6da72b1bcd1e3ac387afe5fc7fdf7f2ac28b7601544d2ca4b9d45d159\",\"urls\":[\"bzz-raw://ca4b52ebdeb0fcddedded0e0027e530df4468c25b438ce0d4699b188603a4560\",\"dweb:/ipfs/QmW3LPwkwcL84rBu8cbLagKQPMGunXnh6cZfm6RRyfXArb\"]},\"lib/ens-contracts/contracts/registry/ReverseRegistrar.sol\":{\"keccak256\":\"0x6c79056e7f564409e834619de2cf0511321dcbcf90b9f68d8ffed50fab070791\",\"urls\":[\"bzz-raw://881731d1a6e17885e3ea8eba31caae46d8ae5e266f7897666fcabf652f1d1b99\",\"dweb:/ipfs/QmReNiMnjyPRyLWRkcyFUSvL1vZ81MLtfuugGJRQZ5edzf\"]},\"lib/ens-contracts/contracts/resolvers/profiles/INameResolver.sol\":{\"keccak256\":\"0x9ec392b612447b1acbdc01114f2da2837a658d3f3157f60a99c5269f0b623346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b2cd9e5339b09f40e82bd91fed7d5f643dd031393eefb9aec588eaba8465049\",\"dweb:/ipfs/QmT2A8eswhJU9YadCs9BtwKNj6YGypntXmFepANQYyGw7x\"]},\"lib/ens-contracts/contracts/root/Controllable.sol\":{\"keccak256\":\"0xb19b8c0fafe9ca2b4bf8aaafee486fa31437672e1e1977bdf84bfe03464969db\",\"urls\":[\"bzz-raw://cd365d76a131b89fa0f6b4097e63032337d2c071c082f5b9ca4af85cd16b3350\",\"dweb:/ipfs/QmXcgvgArVaK9k4wfzEj2rGu86W6U3BAY8mw8jVaAwJpFH\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol\":{\"keccak256\":\"0xc2dfd6ba9449f61b6b03b262182faf302f093a8c05dd10792aeecb4ed1663c0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f79816b0fdc0a6f53173238932ef86e2d7089a6e87b6c5c9c27e6d60f3fe809a\",\"dweb:/ipfs/QmTtXQ8sw91q4n4nXZigNWH3YaGqsJjPXyWCgPGDC6s24j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol\":{\"keccak256\":\"0x7acbc538aad6eb4614e26612a8c5c0149bb8808db95e2638d245a8365f63e572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea07bdbf13b16d19ccf8a8f1a361c80bbfb6073e8b1d079b72f7a5f09dc642cd\",\"dweb:/ipfs/QmQh5YhCySYR5RSAEFTt3NaDhq6MCxvSTdFh56874JPxbY\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol\":{\"keccak256\":\"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622\",\"dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol\":{\"keccak256\":\"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8\",\"dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol\":{\"keccak256\":\"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca\",\"dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol\":{\"keccak256\":\"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f\",\"dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x9e064fd116cdd5ed4b0132d0606a372bd94ff243c0520bc723fb6b09e947c16e\",\"urls\":[\"bzz-raw://93d1a36262aa498a85ac7a275ead2cf410b9c674d6bef09d0972203cb33b724e\",\"dweb:/ipfs/QmY9T4HKDbPXEZPHzXaFbd2M86fV1Q68sBJYh8J9LDFApU\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b\",\"dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588\"]},\"lib/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97\",\"dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2\"]},\"lib/v3-periphery/contracts/libraries/OracleLibrary.sol\":{\"keccak256\":\"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313\",\"dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/registry/RareStakingRegistry.sol\":{\"keccak256\":\"0x59c1e348309fc54ba585807f6950af279da6000d0b69b350e104008ef79aa3eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f2fb4dcd47c5c84eaa0890204a35ec3b3e5020d34dc6832a5ea826c8f6e00bf\",\"dweb:/ipfs/QmSqkmQB7hjZWESL2mVDaPmYvKNRW3ikSRBYtwyhd6zhT8\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InsufficientRareAllowance"},{"inputs":[],"type":"error","name":"InvalidPool"},{"inputs":[],"type":"error","name":"PercentageBeyondLimit"},{"inputs":[],"type":"error","name":"PeriodLengthBeyondLimit"},{"inputs":[],"type":"error","name":"RenouncingAdmin"},{"inputs":[],"type":"error","name":"StakingContractAlreadyExists"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_payee","type":"address","indexed":false}],"type":"event","name":"DefaultPayeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256","indexed":false}],"type":"event","name":"DeflationaryPercentageUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256","indexed":false}],"type":"event","name":"DiscountPercentageUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_periodLength","type":"uint256","indexed":false}],"type":"event","name":"PeriodLengthUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_resolver","type":"address","indexed":false}],"type":"event","name":"ResolverUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_percentage","type":"address","indexed":false}],"type":"event","name":"ReverseRegistrarUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_uniswapPool","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false}],"type":"event","name":"SetSwapPool","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ENS_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_CONFIG_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_INFO_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_STAT_SETTER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_STAT_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SWAP_POOL_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_stakedOn","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAmountStaked"},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultPayee","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeflationaryPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDiscountPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPeriodLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRareAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getRewardAccumulatorAddressForUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getStakingAddressForUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getStakingInfoForUser","outputs":[{"internalType":"struct IRareStakingRegistry.Info","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"stakingAddress","type":"address"},{"internalType":"address","name":"rewardAddress","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"getSwapPool","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalAmountStakedByUser","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalAmountStakedOnUser","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_stakingAddrs","type":"address[]"}],"stateMutability":"view","type":"function","name":"getUsersForStakingAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWethAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_stakedOn","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAmountStaked"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_reverseRegistrar","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"uint256","name":"_periodLength","type":"uint256"},{"internalType":"uint256","name":"_deflationaryPercentage","type":"uint256"},{"internalType":"uint256","name":"_discountedPercent","type":"uint256"},{"internalType":"address","name":"_rare","type":"address"},{"internalType":"address","name":"_weth","type":"address"},{"internalType":"address","name":"_defaultPayee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"_payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultPayee"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeflationaryPercentage"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDiscountPercentage"},{"inputs":[{"internalType":"uint256","name":"_periodLength","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setPeriodLength"},{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setResolver"},{"inputs":[{"internalType":"address","name":"_reverseRegistrar","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReverseRegistrar"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_stakingAddress","type":"address"},{"internalType":"address","name":"_rewardSwapAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingAddresses"},{"inputs":[{"internalType":"address","name":"_uniswapPool","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSwapPool"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferRareFrom"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"decreaseAmountStaked(address,address,uint256)":{"details":"Requires the caller to have the {STAKING_STAT_SETTER_ROLE} access control role.","params":{"_amount":"The amount of $RARE that has been unstaked.","_stakedOn":"The user who was being staked on.","_staker":"The user who is unstaking."}},"getDefaultPayee()":{"returns":{"_0":"address to send rewards to."}},"getDeflationaryPercentage()":{"returns":{"_0":"uint256 deflationary percentage."}},"getDiscountPercentage()":{"returns":{"_0":"uint256 discount percentage."}},"getPeriodLength()":{"returns":{"_0":"uint256 period length."}},"getRareAddress()":{"returns":{"_0":"address Address of $RARE (the staking token to be used)."}},"getRewardAccumulatorAddressForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"address Reward accumulator address."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getRoleMember(bytes32,uint256)":{"details":"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information."},"getRoleMemberCount(bytes32)":{"details":"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role."},"getStakingAddressForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"address staking address."}},"getStakingInfoForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"Info struct containing name, symbol, staking address, and reward accumulator address."}},"getSwapPool(address)":{"returns":{"_0":"address of the swap pool associated with the token."}},"getTotalAmountStakedByUser(address)":{"params":{"_user":"Address of the user staking."},"returns":{"amount":"uint256 Amount of rare the user is staking."}},"getTotalAmountStakedOnUser(address)":{"params":{"_user":"Address of the user being staked on."},"returns":{"amount":"uint256 Amount of rare being staked on the user."}},"getUsersForStakingAddresses(address[])":{"details":"Order maintained and zero address returned if it doesnt exist.This function is intended to be called off chain.","params":{"_stakingAddrs":"Addresses of staking contracts being queried."}},"getWethAddress()":{"returns":{"_0":"address Address of Wrapped Ethereum."}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"increaseAmountStaked(address,address,uint256)":{"details":"Requires the caller to have the {STAKING_STAT_SETTER_ROLE} access control role.","params":{"_amount":"The amount of $RARE that has been staked.","_stakedOn":"The user who is being staked on.","_staker":"The user who is staking."}},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setDefaultPayee(address)":{"details":"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.","params":{"_payee":"Address of the account to be the new default payee."}},"setDeflationaryPercentage(uint256)":{"details":"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.","params":{"_percentage":"The new deflactionary percentage."}},"setDiscountPercentage(uint256)":{"details":"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.","params":{"_percentage":"The new discount percentage."}},"setPeriodLength(uint256)":{"details":"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.","params":{"_periodLength":"The new period start."}},"setResolver(address)":{"details":"Requires the caller to have the {ENS_SETTER_ROLE} access control role.","params":{"_resolver":"The new period start."}},"setReverseRegistrar(address)":{"details":"Requires the caller to have the {ENS_SETTER_ROLE} access control role.","params":{"_reverseRegistrar":"The new period start."}},"setStakingAddresses(address,address,address)":{"details":"Requires the caller to have the {STAKING_INFO_SETTER_ROLE} access control role."},"setSwapPool(address,address)":{"details":"Requires the caller to have the {SWAP_POOL_SETTER_ROLE} of the contract.","params":{"_token":"Address of ERC20 contract.","_uniswapPool":"Address of uniswap pool."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferRareFrom(address,address,uint256)":{"details":"Only staking pool contracts can call this.","params":{"_amount":"uint256 amount to transfer.","_from":"Address to transfer the tokens from.","_to":"Address to transfer the tokens to."}},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"ENS_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating the ENS resolvers."},"STAKING_CONFIG_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for period length, deflationary percentages, and the default payee."},"STAKING_INFO_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for setting the staking address of a user."},"STAKING_STAT_SETTER_ADMIN_ROLE()":{"notice":"Bytes32 representation of the admin role for granting the ability to set amount staked for a single user/total amount staked on a user."},"STAKING_STAT_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating the amount being staked on a user/amount a user is staking globally."},"SWAP_POOL_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating uniswap pools."},"decreaseAmountStaked(address,address,uint256)":{"notice":"Decrease the amount staked when a user unstakes."},"getDefaultPayee()":{"notice":"Get the address for sending rewards if there are no stakers."},"getDeflationaryPercentage()":{"notice":"Get the unstake deflationary percentage."},"getDiscountPercentage()":{"notice":"Get reward swap discount percentage."},"getPeriodLength()":{"notice":"Get the round period length."},"getRareAddress()":{"notice":"Retrieve the address of $RARE."},"getRewardAccumulatorAddressForUser(address)":{"notice":"Retrieves the reward accumulator address for a given user."},"getStakingAddressForUser(address)":{"notice":"Retrieves the staking address for a given user."},"getStakingInfoForUser(address)":{"notice":"Retrieves the staking info for a given user."},"getSwapPool(address)":{"notice":"Get the swap pool address for the ERC20 token."},"getTotalAmountStakedByUser(address)":{"notice":"Retrieves the total amount of rare staked by a given user."},"getTotalAmountStakedOnUser(address)":{"notice":"Retrieves the total amount of rare being staked on a given user."},"getUsersForStakingAddresses(address[])":{"notice":"Query the users for the following staking addresseses."},"getWethAddress()":{"notice":"Retrieve the address of Wrapped Ethereum."},"increaseAmountStaked(address,address,uint256)":{"notice":"Increase amount staked when a user stakes."},"setDefaultPayee(address)":{"notice":"Set the default payee."},"setDeflationaryPercentage(uint256)":{"notice":"Set the unstake deflationary percentage."},"setDiscountPercentage(uint256)":{"notice":"Set the reward swap discount percentage."},"setPeriodLength(uint256)":{"notice":"Set the round period length time."},"setResolver(address)":{"notice":"Set the ENS resolver address."},"setReverseRegistrar(address)":{"notice":"Set the ENS reverse registrar address."},"setSwapPool(address,address)":{"notice":"Set the uniswap pool address for the given ERC20 token."},"transferRareFrom(address,address,uint256)":{"notice":"Pools to transfer $RARE tokens, usually into pools. This is so users only need to approve the registry when staking or performing reward swaps."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/registry/RareStakingRegistry.sol":"RareStakingRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/ens-contracts/contracts/registry/ENS.sol":{"keccak256":"0x7cb1158c7d268b63de1468e28e2711b28d686e2628ddb22da2149cd93ddeafda","urls":["bzz-raw://a7018309acca24b10ea1235b1c27828f29f2ddfabb653a794639baf620dc2314","dweb:/ipfs/QmakFQT5NFvGs3g8xxwtgtWdddq28Wtm6MjNSpJNhV1YpR"],"license":null},"lib/ens-contracts/contracts/registry/IReverseRegistrar.sol":{"keccak256":"0x83adfcf6da72b1bcd1e3ac387afe5fc7fdf7f2ac28b7601544d2ca4b9d45d159","urls":["bzz-raw://ca4b52ebdeb0fcddedded0e0027e530df4468c25b438ce0d4699b188603a4560","dweb:/ipfs/QmW3LPwkwcL84rBu8cbLagKQPMGunXnh6cZfm6RRyfXArb"],"license":null},"lib/ens-contracts/contracts/registry/ReverseRegistrar.sol":{"keccak256":"0x6c79056e7f564409e834619de2cf0511321dcbcf90b9f68d8ffed50fab070791","urls":["bzz-raw://881731d1a6e17885e3ea8eba31caae46d8ae5e266f7897666fcabf652f1d1b99","dweb:/ipfs/QmReNiMnjyPRyLWRkcyFUSvL1vZ81MLtfuugGJRQZ5edzf"],"license":null},"lib/ens-contracts/contracts/resolvers/profiles/INameResolver.sol":{"keccak256":"0x9ec392b612447b1acbdc01114f2da2837a658d3f3157f60a99c5269f0b623346","urls":["bzz-raw://5b2cd9e5339b09f40e82bd91fed7d5f643dd031393eefb9aec588eaba8465049","dweb:/ipfs/QmT2A8eswhJU9YadCs9BtwKNj6YGypntXmFepANQYyGw7x"],"license":"MIT"},"lib/ens-contracts/contracts/root/Controllable.sol":{"keccak256":"0xb19b8c0fafe9ca2b4bf8aaafee486fa31437672e1e1977bdf84bfe03464969db","urls":["bzz-raw://cd365d76a131b89fa0f6b4097e63032337d2c071c082f5b9ca4af85cd16b3350","dweb:/ipfs/QmXcgvgArVaK9k4wfzEj2rGu86W6U3BAY8mw8jVaAwJpFH"],"license":null},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol":{"keccak256":"0xc2dfd6ba9449f61b6b03b262182faf302f093a8c05dd10792aeecb4ed1663c0c","urls":["bzz-raw://f79816b0fdc0a6f53173238932ef86e2d7089a6e87b6c5c9c27e6d60f3fe809a","dweb:/ipfs/QmTtXQ8sw91q4n4nXZigNWH3YaGqsJjPXyWCgPGDC6s24j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol":{"keccak256":"0x7acbc538aad6eb4614e26612a8c5c0149bb8808db95e2638d245a8365f63e572","urls":["bzz-raw://ea07bdbf13b16d19ccf8a8f1a361c80bbfb6073e8b1d079b72f7a5f09dc642cd","dweb:/ipfs/QmQh5YhCySYR5RSAEFTt3NaDhq6MCxvSTdFh56874JPxbY"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol":{"keccak256":"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3","urls":["bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622","dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol":{"keccak256":"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c","urls":["bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8","dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol":{"keccak256":"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447","urls":["bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca","dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol":{"keccak256":"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f","urls":["bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f","dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x9e064fd116cdd5ed4b0132d0606a372bd94ff243c0520bc723fb6b09e947c16e","urls":["bzz-raw://93d1a36262aa498a85ac7a275ead2cf410b9c674d6bef09d0972203cb33b724e","dweb:/ipfs/QmY9T4HKDbPXEZPHzXaFbd2M86fV1Q68sBJYh8J9LDFApU"],"license":null},"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19","urls":["bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b","dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588"],"license":"MIT"},"lib/v3-core/contracts/libraries/TickMath.sol":{"keccak256":"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347","urls":["bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97","dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/libraries/OracleLibrary.sol":{"keccak256":"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a","urls":["bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313","dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR"],"license":"GPL-2.0-or-later"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/registry/RareStakingRegistry.sol":{"keccak256":"0x59c1e348309fc54ba585807f6950af279da6000d0b69b350e104008ef79aa3eb","urls":["bzz-raw://3f2fb4dcd47c5c84eaa0890204a35ec3b3e5020d34dc6832a5ea826c8f6e00bf","dweb:/ipfs/QmSqkmQB7hjZWESL2mVDaPmYvKNRW3ikSRBYtwyhd6zhT8"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":183} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ENS_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_CONFIG_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_INFO_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_STAT_SETTER_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"STAKING_STAT_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SWAP_POOL_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"decreaseAmountStaked","inputs":[{"name":"_staker","type":"address","internalType":"address"},{"name":"_stakedOn","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDefaultPayee","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeflationaryPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDiscountPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPeriodLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRareAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRewardAccumulatorAddressForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getRoleMember","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getRoleMemberCount","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStakingAddressForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingInfoForUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRareStakingRegistry.Info","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"stakingAddress","type":"address","internalType":"address"},{"name":"rewardAddress","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPool","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTotalAmountStakedByUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTotalAmountStakedOnUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsersForStakingAddresses","inputs":[{"name":"_stakingAddrs","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getWethAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increaseAmountStaked","inputs":[{"name":"_staker","type":"address","internalType":"address"},{"name":"_stakedOn","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_reverseRegistrar","type":"address","internalType":"address"},{"name":"_resolver","type":"address","internalType":"address"},{"name":"_periodLength","type":"uint256","internalType":"uint256"},{"name":"_deflationaryPercentage","type":"uint256","internalType":"uint256"},{"name":"_discountedPercent","type":"uint256","internalType":"uint256"},{"name":"_rare","type":"address","internalType":"address"},{"name":"_weth","type":"address","internalType":"address"},{"name":"_defaultPayee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultPayee","inputs":[{"name":"_payee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeflationaryPercentage","inputs":[{"name":"_percentage","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDiscountPercentage","inputs":[{"name":"_percentage","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPeriodLength","inputs":[{"name":"_periodLength","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setResolver","inputs":[{"name":"_resolver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReverseRegistrar","inputs":[{"name":"_reverseRegistrar","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingAddresses","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_stakingAddress","type":"address","internalType":"address"},{"name":"_rewardSwapAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSwapPool","inputs":[{"name":"_uniswapPool","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferRareFrom","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DefaultPayeeUpdated","inputs":[{"name":"_payee","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeflationaryPercentageUpdated","inputs":[{"name":"_percentage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DiscountPercentageUpdated","inputs":[{"name":"_percentage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"PeriodLengthUpdated","inputs":[{"name":"_periodLength","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ResolverUpdated","inputs":[{"name":"_resolver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReverseRegistrarUpdated","inputs":[{"name":"_percentage","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSwapPool","inputs":[{"name":"_uniswapPool","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InsufficientRareAllowance","inputs":[]},{"type":"error","name":"InvalidPool","inputs":[]},{"type":"error","name":"PercentageBeyondLimit","inputs":[]},{"type":"error","name":"PeriodLengthBeyondLimit","inputs":[]},{"type":"error","name":"RenouncingAdmin","inputs":[]},{"type":"error","name":"StakingContractAlreadyExists","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x60a08060405234620000e157306080526000549060ff8260081c166200008f575060ff8082160362000053575b60405161344e9081620000e7823960805181818161096801528181610fed01526121240152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386200002c565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146102c7578063039bcf8e146102c257806306c571d5146102bd57806310da95e6146102b8578063111029b9146102b357806318ab58ac146102ae5780631c5633d7146102a95780632210d525146102a457806323a7b42a1461029f578063248a9ca31461029a5780632608ff3514610295578063265718b41461029057806329b4a5901461028b5780632f2ff15d14610286578063363227e51461028157806336568abe1461027c5780633659cfe6146102775780633d867d951461027257806346ccbb401461026d5780634e543b26146102685780634f1ef2861461026357806352d1902d1461025e578063557499ba1461025957806366951bc11461025457806376a250a71461024f57806381910e331461024a57806381d0606b146102455780638469ddc7146102405780639010d07c1461023b57806391d148541461023657806399247be714610231578063a217fddf1461022c578063a4303a4514610227578063b3428d1514610222578063bb0544a11461021d578063c254498714610218578063ca15c87314610213578063cac7c65c1461020e578063cb8af2b514610209578063d547741f14610204578063e286ef33146101ff578063f24bd8a6146101fa5763f7ef8ead146101f557600080fd5b611a98565b611a19565b61198e565b61194c565b6118d4565b61183a565b61180e565b6117d3565b611695565b61160b565b6115d0565b6115b4565b611514565b6114be565b611477565b611458565b611418565b611351565b611191565b611156565b61109f565b610fda565b610f5e565b610dc8565b610ae3565b610aa5565b610941565b610873565b610838565b61073a565b6106ff565b6106c4565b610625565b6105ca565b6105a0565b610576565b6104c2565b610458565b6103f5565b6103cb565b61038d565b61034d565b346103375760203660031901126103375760043563ffffffff60e01b811680910361033757602090635a05180f60e01b811490811561030c575b506040519015158152f35b637965db0b60e01b811491508115610326575b5038610301565b6301ffc9a760e01b1490503861031f565b600080fd5b6001600160a01b0381160361033757565b3461033757602036600319011261033757602060043561036c8161033c565b60018060a01b0380911660005261012f825260406000205416604051908152f35b34610337576020366003190112610337576004356103aa8161033c565b60018060a01b03166000526101306020526020604060002054604051908152f35b3461033757600036600319011261033757610139546040516001600160a01b039091168152602090f35b3461033757600036600319011261033757602061013854604051908152f35b6020908160408183019282815285518094520193019160005b82811061043b575050505090565b83516001600160a01b03168552938101939281019260010161042d565b346103375760203660031901126103375767ffffffffffffffff6004358181116103375736602382011215610337578060040135918211610337573660248360051b83010111610337576104be9160246104b2920161318f565b60405191829182610414565b0390f35b34610337576020366003190112610337576004356301e133808111610564573360009081526000805160206133d98339815191526020526040902061050b9060ff905b54161590565b6105535761054e8161053e7f439c9ef273bcbea625a0b7b93955ba4d4963bc26fdeaafe7dd6e6747794641059361013455565b6040519081529081906020820190565b0390a1005b6040516282b42960e81b8152600490fd5b6040516333f2123960e21b8152600490fd5b3461033757600036600319011261033757610136546040516001600160a01b039091168152602090f35b3461033757600036600319011261033757610137546040516001600160a01b039091168152602090f35b346103375760203660031901126103375760043560005260656020526020600160406000200154604051908152f35b6060906003190112610337576004356106118161033c565b9060243561061e8161033c565b9060443590565b3461033757610633366105f9565b3360009081527fdffa92a6dce6c1a7a1a7024ed0f29537adf8ed32f4fa790e2acb86edab375e3d602052604081205490939192919060ff1615610553576001600160a01b031683526101306020526040832080549091908381019081106106bf579091556001600160a01b031660009081526101316020526040902080549182018092116106bf575580f35b6122e7565b346103375760003660031901126103375760206040517fcfac5101a9a6e666acfba4416612534dd5edcaa6e3fec2fd00fb2e84b0e5e1d78152f35b346103375760003660031901126103375760206040517f1fb53273153c82fe1363373dd3355bec4bce8bdfe349c78a8ad09156481e62218152f35b34610337576040366003190112610337576004356107c760243561075d8161033c565b6107b6600093808552606560205261077b6001604087200154611b7e565b8085526065602090815260408087206001600160a01b0386166000908152925290205460ff16156107cb576000526097602052604060002090565b6001600160a01b03909116906124c8565b5080f35b8085526065602090815260408087206001600160a01b038616600090815292529020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8880a46000526097602052604060002090565b346103375760003660031901126103375760206040517f400c5a1da7685ba9f18764e1fcfab4b29512376de39bc16cc5ea8f80b7b678198152f35b34610337576040366003190112610337576004356024356108938161033c565b811580610929575b61091757336001600160a01b038216036108ba576108b891611ce5565b005b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b604051630f29d08f60e31b8152600490fd5b5081600052609760205260016040600020541461089b565b346103375760203660031901126103375760043561095e8161033c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919061099730841415611d96565b6109b46000805160206133f9833981519152938285541614611df7565b6109bd82612909565b604051906020820182811067ffffffffffffffff821117610aa057604052600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a155750506108b89150611f7e565b6020600491604094939451928380926352d1902d60e01b825286165afa60009181610a70575b50610a5d5760405162461bcd60e51b815280610a5960048201611f2f565b0390fd5b6108b893610a6b9114611ed1565b61200e565b610a9291925060203d8111610a99575b610a8a8183610f11565b810190611eb6565b9038610a3b565b503d610a80565b610ea7565b3461033757602036600319011261033757600435610ac28161033c565b60018060a01b03166000526101316020526020604060002054604051908152f35b34610337576040806003193601126103375760048035610b028161033c565b60243591610b0f8361033c565b8351630dfe168160e01b8082526020916001600160a01b0385811692909184818781875afa8015610d2d578391600091610dab575b508189169182911614159081610d5e575b50610d4f57875190815283818681865afa938415610d2d5785948392600091610d32575b5061013754610b98906001600160a01b03165b6001600160a01b031690565b93168314159384610cc9575b505050509050610cbc577f400c5a1da7685ba9f18764e1fcfab4b29512376de39bc16cc5ea8f80b7b678196000526065602052610c25610c21610c1a337f6da372cdc135876fa2103f41fd54c8e90256a3695ad8b2c1f9b75bd17585610d5b9060018060a01b0316600052602052604060002090565b5460ff1690565b1590565b610caf575061054e7f90b58464d7ad372751038449eef244602d2be9c82abdab06596a7677272cd42793610c8f83610c708660018060a01b031660005261012f602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b516001600160a01b03928316815292909116602083015281906040820190565b83516282b42960e81b8152fd5b835162820f3560e61b8152fd5b81939592945089519283809263d21220a760e01b82525afa918215610d2d57600092610d00575b5050161415819038808080610ba4565b610d1f9250803d10610d26575b610d178183610f11565b810190612950565b3880610cf0565b503d610d0d565b611ec5565b610d499150823d8411610d2657610d178183610f11565b38610b79565b875162820f3560e61b81528590fd5b895163d21220a760e01b815290915085818881885afa8015610d2d578491600091610d8e575b5016141538610b55565b610da59150873d8911610d2657610d178183610f11565b38610d84565b610dc29150863d8811610d2657610d178183610f11565b38610b44565b3461033757602036600319011261033757600435610de58161033c565b6001600160a01b0381168015610e95573360009081527fb75ed0fc7a1f85f450afd172cc64f12750d0fc534f29ed31c78a1268f27d62f160205260409020610e3090610c2190610c1a565b6105535761013380546001600160a01b0319166001600160a01b039092169190911790557f15cd6d20bba01b3fcb790c73829dd07412cbdf689ef818c96a2505889f3736a29061054e905b6040516001600160a01b0390911681529081906020820190565b604051637827912560e01b8152600490fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610aa057604052565b6060810190811067ffffffffffffffff821117610aa057604052565b60a0810190811067ffffffffffffffff821117610aa057604052565b90601f8019910116810190811067ffffffffffffffff821117610aa057604052565b60405190610f4082610ebd565b565b67ffffffffffffffff8111610aa057601f01601f191660200190565b604036600319011261033757600435610f768161033c565b6024359067ffffffffffffffff8211610337573660238301121561033757816004013590610fa382610f42565b91610fb16040519384610f11565b80835236602482860101116103375760208160009260246108b89701838701378401015261211a565b34610337576000366003190112610337577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003611034576040516000805160206133f98339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b34610337576020366003190112610337576004356110bc8161033c565b6001600160a01b0381168015610e95573360009081527fb75ed0fc7a1f85f450afd172cc64f12750d0fc534f29ed31c78a1268f27d62f16020526040902061110790610c2190610c1a565b6105535761013280546001600160a01b0319166001600160a01b039092169190911790557fd192c0b229b00473ccb6ccfebf6642805bca1dcdf2d9fb4fd102c7dc7ea4ce239061054e90610e7b565b346103375760003660031901126103375760206040517fb6e1aa954ca88134dedc447027c8ef72953bf046c847542dd28babf3f8d9092f8152f35b3461033757606036600319011261033757600480356111af8161033c565b602435916111bc8361033c565b604435906111c98261033c565b7fcfac5101a9a6e666acfba4416612534dd5edcaa6e3fec2fd00fb2e84b0e5e1d76000526065602052611222610c21610c1a337f4a55a3187d78cc664b71aa8dee9295401eef37043156a0c20d7bc2454518a40f610c03565b611343576001600160a01b0383811615611333578085161561133357821615611324576001600160a01b038316600090815261012d6020526040902061127490610b8c905b546001600160a01b031690565b61131557506108b8926112fa610c70926112ac61128f610f33565b6001600160a01b0385168152916001600160a01b03166020830152565b6001600160a01b038516600090815261012d60205260409020815181546001600160a01b039182166001600160a01b0319918216178355602090930151600190920180549093169116179055565b6001600160a01b0316600090815261012e6020526040902090565b6040516333e9f35b60e11b8152fd5b604051637827912560e01b8152fd5b50604051637827912560e01b8152fd5b6040516282b42960e81b8152fd5b346103375761135f366105f9565b61013654909190611378906001600160a01b0316610b8c565b604051636eb1769f60e11b81526001600160a01b038581166004830152306024830152919491906020816044818986165afa8015610d2d5785916000916113fa575b50106113e85733600090815261012e602052604090206113d990611267565b1615610553576108b893612965565b6040516321a1cc1360e11b8152600490fd5b611412915060203d8111610a9957610a8a8183610f11565b386113ba565b346103375760203660031901126103375760206004356114378161033c565b60018060a01b0380911660005261012d825260406000205416604051908152f35b3461033757600036600319011261033757602061013454604051908152f35b3461033757604036600319011261033757600435600052609760205260206114a56024356040600020612492565b905460405160039290921b1c6001600160a01b03168152f35b3461033757604036600319011261033757602060ff6115086024356114e28161033c565b6004356000526065845260406000209060018060a01b0316600052602052604060002090565b54166040519015158152f35b34610337576020366003190112610337576004356115318161033c565b6001600160a01b03811615610e95573360009081526000805160206133d98339815191526020526040902061156990610c2190610c1a565b6105535761013980546001600160a01b0319166001600160a01b0383161790557fa37a7d6d9546ebba206b7200fd6814cc4885bd05277f43db31703508086bac5b9061054e90610e7b565b3461033757600036600319011261033757602060405160008152f35b346103375760003660031901126103375760206040517fdc0c909fa3135f9237d8a966b8b184ead9db0c05d73609dcb237ff6a00b0717b8152f35b34610337576020366003190112610337576004356127108111611683573360009081526000805160206133d9833981519152602052604090206116509060ff90610505565b6105535761054e8161053e7f8edc85bde8568f5dc6d7febb4820920db680537ad498b90d003e63d93a3988a19361013855565b60405163669a78b160e11b8152600490fd5b3461033757610120366003190112610337576004356116b38161033c565b6117436024356116c28161033c565b6044356116ce8161033c565b60c4356116da8161033c565b60e435916116e78361033c565b61010435936116f58561033c565b6000549661171a60ff8960081c16158099819a6117c5575b81156117a5575b5061266c565b8761172d600160ff196000541617600055565b61178c575b60a4359260843592606435926126cf565b61174957005b61175961ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890806020810161054e565b6117a061010061ff00196000541617600055565b611732565b303b159150816117b7575b5038611714565b6001915060ff1614386117b0565b600160ff821610915061170d565b346103375760003660031901126103375760206040517f6b742d59f502efc664ffa5cec8b4f798ca10dc8c5372b7e9f352dc77e490827b8152f35b346103375760203660031901126103375760043560005260976020526020604060002054604051908152f35b3461033757611848366105f9565b3360009081527fdffa92a6dce6c1a7a1a7024ed0f29537adf8ed32f4fa790e2acb86edab375e3d602052604081205490939192919060ff1615610553576001600160a01b031683526101306020526040832080549091908381039081116106bf579091556001600160a01b031660009081526101316020526040902080549182039182116106bf575580f35b34610337576020366003190112610337576004356127108111611683573360009081526000805160206133d9833981519152602052604090206119199060ff90610505565b6105535761054e8161053e7f392bc62c14254761a14ce86ad9820d13103f5f490089391c7ecf162afd5d68f99361013555565b34610337576040366003190112610337576108b860243560043561196f8261033c565b806000526065602052611989600160406000200154611b7e565b611ce5565b346103375760203660031901126103375760206004356119ad8161033c565b60018060a01b0380911660005261012d825260016040600020015416604051908152f35b60005b8381106119e45750506000910152565b81810151838201526020016119d4565b90602091611a0d815180928185528580860191016119d1565b601f01601f1916010190565b3461033757602036600319011261033757611a3e600435611a398161033c565b612ba2565b604051809160208252611a76611a6082516080602086015260a08501906119f4565b6020830151848203601f190160408601526119f4565b90606060018060a01b0391826040820151168286015201511660808301520390f35b3461033757600036600319011261033757602061013554604051908152f35b6001600160a01b03811660009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604080822054611b1993929060ff1615611b1c575b8080526097602052206001600160a01b03909116906124c8565b50565b808052606560209081528282206001600160a01b0385166000908152915260409020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4611aff565b600081815260656020908152604080832033845290915290205460ff1615611ba35750565b611bac33612412565b611bb4611e58565b916030611bc08461238c565b536078611bcc84612399565b5360415b60018111611c7357610a59611c30611c5b85611c4d88611bf088156123c7565b611c2a604051958694611c2a602087016017907f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081520190565b90611cba565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f198101835282610f11565b60405162461bcd60e51b815291829160048301611cd1565b90600f8116906010821015611cb557611cb0916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca684876123a9565b5360041c916123ba565b611bd0565b612376565b90611ccd602092828151948592016119d1565b0190565b906020611ce29281815201906119f4565b90565b906040611b1992600090808252606560205260ff611d17858585209060018060a01b0316600052602052604060002090565b5416611d37575b81526097602052206001600160a01b03909116906125b7565b808252606560209081528383206001600160a01b0386166000908152915260409020805460ff19169055336001600160a01b038516827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4611d1e565b15611d9d57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15611dfe57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b604051906080820182811067ffffffffffffffff821117610aa057604052604282526060366020840137565b90611e8e82610f42565b611e9b6040519182610f11565b8281528092611eac601f1991610f42565b0190602036910137565b90816020910312610337575190565b6040513d6000823e3d90fd5b15611ed857565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b15611fb3576000805160206133f983398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9061201882611f7e565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906120bf575b61205a575050565b611b19916000806040519361206e85610ed9565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46120b9612226565b91612256565b506000612052565b906120d182611f7e565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906121125761205a575050565b506001612052565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929061215330851415611d96565b6121706000805160206133f9833981519152948286541614611df7565b61217983612909565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156121af575050610f409150611f7e565b6020600491604094939451928380926352d1902d60e01b825286165afa60009181612206575b506121f35760405162461bcd60e51b815280610a5960048201611f2f565b610f40936122019114611ed1565b6120c7565b61221f91925060203d8111610a9957610a8a8183610f11565b90386121d5565b3d15612251573d9061223782610f42565b916122456040519384610f11565b82523d6000602084013e565b606090565b919290156122b8575081511561226a575090565b3b156122735790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156122cb5750805190602001fd5b60405162461bcd60e51b8152908190610a599060048301611cd1565b634e487b7160e01b600052601160045260246000fd5b600381901b91906001600160fd1b038116036106bf57565b90600282018092116106bf57565b90600182018092116106bf57565b90600682018092116106bf57565b90600582018092116106bf57565b90600482018092116106bf57565b90600382018092116106bf57565b919082018092116106bf57565b634e487b7160e01b600052603260045260246000fd5b805115611cb55760200190565b805160011015611cb55760210190565b908151811015611cb5570160200190565b80156106bf576000190190565b156123ce57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b6040519061241f82610ed9565b602a8252604036602084013760306124368361238c565b53607861244283612399565b536029905b6001821161245a57611ce29150156123c7565b600f8116906010821015611cb55761248c916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca684866123a9565b90612447565b8054821015611cb55760005260206000200190600090565b916124c49183549060031b91821b91600019901b19161790565b9055565b600181019082600052816020526040600020541560001461253657805468010000000000000000811015610aa05761252161250a826001879401855584612492565b819391549060031b91821b91600019901b19161790565b90555491600052602052604060002055600190565b505050600090565b6000198101919082116106bf57565b601e198101919082116106bf57565b60200390602082116106bf57565b919082039182116106bf57565b80549081156125a157600019918201916125918383612492565b909182549160031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b60018101918060005282602052604060002054928315156000146126635760001992848401908582116106bf5780549485019485116106bf57600095858361260b9461261a9803612620575b505050612577565b90600052602052604060002090565b55600190565b61264a6126449161263461265a9487612492565b90549060031b1c92839187612492565b906124aa565b8590600052602052604060002090565b55388080612603565b50505050600090565b1561267357565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9590979692976301e13380891161056457612710808611611683578611611683576001600160a01b039087821615610e95578116928315610e95578116908115610e955780831615610e955780851615610e9557881615610e9557612813986127a16127eb9661279b6127a7946127796127c99861274f6127f19e611ab7565b612757612888565b61013280546001600160a01b0319166001600160a01b03909216919091179055565b61013380546001600160a01b0319166001600160a01b03909216919091179055565b61013555565b61013455565b61013680546001600160a01b0319166001600160a01b03909216919091179055565b61013780546001600160a01b0319166001600160a01b03909216919091179055565b61013855565b61013980546001600160a01b0319166001600160a01b03909216919091179055565b61281b61281f565b610f405b60ff60005460081c161561282f57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b7fb6e1aa954ca88134dedc447027c8ef72953bf046c847542dd28babf3f8d9092f8060005260656020526001604060002001908154907f1fb53273153c82fe1363373dd3355bec4bce8bdfe349c78a8ad09156481e62218093557fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff600080a4565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff1615610553576001600160a01b031615610e9557565b908160209103126103375751611ce28161033c565b6040516323b872dd60e01b602082019081526001600160a01b039384166024830152938316604482015260648082019590955293845291926129f9929091906129ad83610ef5565b16604051916129bb83610ebd565b602083527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020840152600080958192519082855af16120b9612226565b8051908115918215612a12575b5050610f409150612a42565b8192509060209181010312612a3e5760200151908115158203612a3b5750610f40903880612a06565b80fd5b5080fd5b15612a4957565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b604051906080820182811067ffffffffffffffff821117610aa05760405260006060838181528160208201528260408201520152565b6020818303126103375780519067ffffffffffffffff8211610337570181601f82011215610337578051612b0a81610f42565b92612b186040519485610f11565b8184526020828401011161033757611ce291602080850191016119d1565b60405190612b4382610ebd565b60018252601760f91b6020830152565b60405190612b6082610ebd565b6011825270029bcb73a3432ba34b1902920a922903e1607d1b6020830152565b60405190612b8d82610ebd565b600682526578524152455f60d01b6020830152565b612baa612aa1565b5061013354612bc1906001600160a01b0316610b8c565b61013254612bd7906001600160a01b0316610b8c565b604051632ffef98760e21b81526001600160a01b038416600482015290602090829060249082905afa8015610d2d57612c35926000928392612db4575b50604051808095819463691f343160e01b8352600483019190602083019252565b03915afa8015610d2d57612c5191600091612d93575b50612ded565b90612c5a612aa1565b91612c8e612c7e6112678460018060a01b031660005261012d602052604060002090565b6001600160a01b03166040850152565b612cd1612cc16001612cb38560018060a01b031660005261012d602052604060002090565b01546001600160a01b031690565b6001600160a01b03166060850152565b612cda81612eca565b612d495750612d4190612d2090612d0f90612cfd906001600160a01b0316612412565b612d1a612d0f612d14612d0f846132ff565b612ded565b92613382565b906130ff565b612d3481612d2f612d0f612b53565b6130ff565b8352612d2f612d0f612b80565b602082015290565b612d419150612d62612d5c612d0f612b36565b82612f73565b50612d7281612d2f612d0f612b53565b8352612d1a612d0f612d8e612d88612d0f612b80565b93612e13565b613268565b612dae913d8091833e612da68183610f11565b810190612ad7565b38612c4b565b612dcd91925060203d8111610a9957610a8a8183610f11565b9038612c14565b60405190612de182610ebd565b60006020838281520152565b612df5612dd4565b50602081519160405192612e0884610ebd565b835201602082015290565b611ce2612e208251611e84565b91602081015190519060208401612e41565b601f81116106bf576101000a90565b92905b602093848410612e7957815181528481018091116106bf579381018091116106bf5791601f1981019081116106bf5791612e44565b929193506000199180612e95575b505182518216911916179052565b909150602003602081116106bf57612eaf612eb491612e32565b61253e565b9038612e87565b60001981146106bf5760010190565b90612ee3612edb602084015161254d565b925183612369565b6000925b818110612ef2575050565b8051919391612f19919060ff166080811015612f205750612f1290612323565b915b612ebb565b9290612ee7565b60e0811015612f335750612f1290612315565b60f0811015612f465750612f129061235b565b60f8811015612f595750612f129061234d565b60fc1115612f6a57612f129061233f565b612f1290612331565b9190612f7d612dd4565b92612f86612dd4565b50805191612fa260208301938451835190602085015192612ff8565b806020870152825193805182038281116106bf5785039485116106bf578487525103612fd057506000915052565b5182018092116106bf5780519182039182116106bf5752565b60ff81116106bf576001901b90565b929190928082111561300b575b50505090565b919392909190602083116130ad576000948361307d575b836130378761303c9395949551169385612369565b61256a565b9181868451165b03613055575050611ce2929350612369565b90918181111561307657613068906123ba565b918583511690809291613043565b5093505050565b945061303c836130376130a2612eaf61309d6130988561255c565b6122fd565b612fe9565b199792505050613022565b92936130c283806130c893959495209461256a565b84612369565b838110156130db57505050388080613005565b81812083146130f2576130ed9061253e565b6130c8565b909150611ce29250612369565b908151815181018091116106bf5761311690611e84565b9160208084019161312d8282015182519085612e41565b518401018091116106bf57816020611ce2930151905191612e41565b67ffffffffffffffff8111610aa05760051b60200190565b9190811015611cb55760051b0190565b35611ce28161033c565b8051821015611cb55760209160051b010190565b61319882613149565b9160406131a781519485610f11565b818452601f196131b683613149565b01906020913683870137600092835b8181106131d55750505050505090565b806004856131f5610b8c610b8c6131f061322797898e613161565b613171565b8651631d92463b60e11b815292839182905afa879181613249575b5061322c575085613221828a61317b565b52612ebb565b6131c5565b612f149061323a838b61317b565b6001600160a01b039091169052565b613261919250873d8911610d2657610d178183610f11565b9038613210565b90600091825b81518110156132af576132aa906132986001600160f81b031961329183866123a9565b51166132b4565b851a6132a482856123a9565b53612ebb565b61326e565b509150565b6001600160f81b0319606160f81b8282169081101590816132f0575b506132d9575090565b9060f81c601f190160ff81116106bf5760f81b1690565b603d60f91b10159050386132d0565b908151600690811161336c576040519061331882610ebd565b80825260203681840137600080805b8381106133375750929450505050565b613367906001600160f81b031961334e828a6123a9565b5116936132a461335d82612ebb565b95851a91886123a9565b613327565b634e487b7160e01b600052600160045260246000fd5b908151602790811161336c576040519061339b82610ebd565b600482526020368184013760008060235b8381106133bc5750929450505050565b6133d3906001600160f81b031961334e828a6123a9565b6133ac56fe9899ddb638bae7f560cf23f432587b9242d69dff54bc3ebc0eff7ed30028bfb0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220f5998766374739f3d5ea415aec4a37d42fd5f89c2f40e1178cabf595764adb9364736f6c63430008120033","sourceMap":"1772:18501:194:-:0;;;;;;;1332:4:49;1324:13;;6007::48;1772:18501:194;;;;;;;;;;;;;;6078:31:48;6074:139;;-1:-1:-1;1772:18501:194;;;;;;;;1324:13:49;1772:18501:194;;;;;;;;;;;;;;;;6074:139:48;1772:18501:194;;;;;;6007:13:48;1772:18501:194;6174:28:48;1772:18501:194;;;;;;6174:28:48;6074:139;;;1772:18501:194;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146102c7578063039bcf8e146102c257806306c571d5146102bd57806310da95e6146102b8578063111029b9146102b357806318ab58ac146102ae5780631c5633d7146102a95780632210d525146102a457806323a7b42a1461029f578063248a9ca31461029a5780632608ff3514610295578063265718b41461029057806329b4a5901461028b5780632f2ff15d14610286578063363227e51461028157806336568abe1461027c5780633659cfe6146102775780633d867d951461027257806346ccbb401461026d5780634e543b26146102685780634f1ef2861461026357806352d1902d1461025e578063557499ba1461025957806366951bc11461025457806376a250a71461024f57806381910e331461024a57806381d0606b146102455780638469ddc7146102405780639010d07c1461023b57806391d148541461023657806399247be714610231578063a217fddf1461022c578063a4303a4514610227578063b3428d1514610222578063bb0544a11461021d578063c254498714610218578063ca15c87314610213578063cac7c65c1461020e578063cb8af2b514610209578063d547741f14610204578063e286ef33146101ff578063f24bd8a6146101fa5763f7ef8ead146101f557600080fd5b611a98565b611a19565b61198e565b61194c565b6118d4565b61183a565b61180e565b6117d3565b611695565b61160b565b6115d0565b6115b4565b611514565b6114be565b611477565b611458565b611418565b611351565b611191565b611156565b61109f565b610fda565b610f5e565b610dc8565b610ae3565b610aa5565b610941565b610873565b610838565b61073a565b6106ff565b6106c4565b610625565b6105ca565b6105a0565b610576565b6104c2565b610458565b6103f5565b6103cb565b61038d565b61034d565b346103375760203660031901126103375760043563ffffffff60e01b811680910361033757602090635a05180f60e01b811490811561030c575b506040519015158152f35b637965db0b60e01b811491508115610326575b5038610301565b6301ffc9a760e01b1490503861031f565b600080fd5b6001600160a01b0381160361033757565b3461033757602036600319011261033757602060043561036c8161033c565b60018060a01b0380911660005261012f825260406000205416604051908152f35b34610337576020366003190112610337576004356103aa8161033c565b60018060a01b03166000526101306020526020604060002054604051908152f35b3461033757600036600319011261033757610139546040516001600160a01b039091168152602090f35b3461033757600036600319011261033757602061013854604051908152f35b6020908160408183019282815285518094520193019160005b82811061043b575050505090565b83516001600160a01b03168552938101939281019260010161042d565b346103375760203660031901126103375767ffffffffffffffff6004358181116103375736602382011215610337578060040135918211610337573660248360051b83010111610337576104be9160246104b2920161318f565b60405191829182610414565b0390f35b34610337576020366003190112610337576004356301e133808111610564573360009081526000805160206133d98339815191526020526040902061050b9060ff905b54161590565b6105535761054e8161053e7f439c9ef273bcbea625a0b7b93955ba4d4963bc26fdeaafe7dd6e6747794641059361013455565b6040519081529081906020820190565b0390a1005b6040516282b42960e81b8152600490fd5b6040516333f2123960e21b8152600490fd5b3461033757600036600319011261033757610136546040516001600160a01b039091168152602090f35b3461033757600036600319011261033757610137546040516001600160a01b039091168152602090f35b346103375760203660031901126103375760043560005260656020526020600160406000200154604051908152f35b6060906003190112610337576004356106118161033c565b9060243561061e8161033c565b9060443590565b3461033757610633366105f9565b3360009081527fdffa92a6dce6c1a7a1a7024ed0f29537adf8ed32f4fa790e2acb86edab375e3d602052604081205490939192919060ff1615610553576001600160a01b031683526101306020526040832080549091908381019081106106bf579091556001600160a01b031660009081526101316020526040902080549182018092116106bf575580f35b6122e7565b346103375760003660031901126103375760206040517fcfac5101a9a6e666acfba4416612534dd5edcaa6e3fec2fd00fb2e84b0e5e1d78152f35b346103375760003660031901126103375760206040517f1fb53273153c82fe1363373dd3355bec4bce8bdfe349c78a8ad09156481e62218152f35b34610337576040366003190112610337576004356107c760243561075d8161033c565b6107b6600093808552606560205261077b6001604087200154611b7e565b8085526065602090815260408087206001600160a01b0386166000908152925290205460ff16156107cb576000526097602052604060002090565b6001600160a01b03909116906124c8565b5080f35b8085526065602090815260408087206001600160a01b038616600090815292529020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8880a46000526097602052604060002090565b346103375760003660031901126103375760206040517f400c5a1da7685ba9f18764e1fcfab4b29512376de39bc16cc5ea8f80b7b678198152f35b34610337576040366003190112610337576004356024356108938161033c565b811580610929575b61091757336001600160a01b038216036108ba576108b891611ce5565b005b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b604051630f29d08f60e31b8152600490fd5b5081600052609760205260016040600020541461089b565b346103375760203660031901126103375760043561095e8161033c565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116919061099730841415611d96565b6109b46000805160206133f9833981519152938285541614611df7565b6109bd82612909565b604051906020820182811067ffffffffffffffff821117610aa057604052600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a155750506108b89150611f7e565b6020600491604094939451928380926352d1902d60e01b825286165afa60009181610a70575b50610a5d5760405162461bcd60e51b815280610a5960048201611f2f565b0390fd5b6108b893610a6b9114611ed1565b61200e565b610a9291925060203d8111610a99575b610a8a8183610f11565b810190611eb6565b9038610a3b565b503d610a80565b610ea7565b3461033757602036600319011261033757600435610ac28161033c565b60018060a01b03166000526101316020526020604060002054604051908152f35b34610337576040806003193601126103375760048035610b028161033c565b60243591610b0f8361033c565b8351630dfe168160e01b8082526020916001600160a01b0385811692909184818781875afa8015610d2d578391600091610dab575b508189169182911614159081610d5e575b50610d4f57875190815283818681865afa938415610d2d5785948392600091610d32575b5061013754610b98906001600160a01b03165b6001600160a01b031690565b93168314159384610cc9575b505050509050610cbc577f400c5a1da7685ba9f18764e1fcfab4b29512376de39bc16cc5ea8f80b7b678196000526065602052610c25610c21610c1a337f6da372cdc135876fa2103f41fd54c8e90256a3695ad8b2c1f9b75bd17585610d5b9060018060a01b0316600052602052604060002090565b5460ff1690565b1590565b610caf575061054e7f90b58464d7ad372751038449eef244602d2be9c82abdab06596a7677272cd42793610c8f83610c708660018060a01b031660005261012f602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b516001600160a01b03928316815292909116602083015281906040820190565b83516282b42960e81b8152fd5b835162820f3560e61b8152fd5b81939592945089519283809263d21220a760e01b82525afa918215610d2d57600092610d00575b5050161415819038808080610ba4565b610d1f9250803d10610d26575b610d178183610f11565b810190612950565b3880610cf0565b503d610d0d565b611ec5565b610d499150823d8411610d2657610d178183610f11565b38610b79565b875162820f3560e61b81528590fd5b895163d21220a760e01b815290915085818881885afa8015610d2d578491600091610d8e575b5016141538610b55565b610da59150873d8911610d2657610d178183610f11565b38610d84565b610dc29150863d8811610d2657610d178183610f11565b38610b44565b3461033757602036600319011261033757600435610de58161033c565b6001600160a01b0381168015610e95573360009081527fb75ed0fc7a1f85f450afd172cc64f12750d0fc534f29ed31c78a1268f27d62f160205260409020610e3090610c2190610c1a565b6105535761013380546001600160a01b0319166001600160a01b039092169190911790557f15cd6d20bba01b3fcb790c73829dd07412cbdf689ef818c96a2505889f3736a29061054e905b6040516001600160a01b0390911681529081906020820190565b604051637827912560e01b8152600490fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610aa057604052565b6060810190811067ffffffffffffffff821117610aa057604052565b60a0810190811067ffffffffffffffff821117610aa057604052565b90601f8019910116810190811067ffffffffffffffff821117610aa057604052565b60405190610f4082610ebd565b565b67ffffffffffffffff8111610aa057601f01601f191660200190565b604036600319011261033757600435610f768161033c565b6024359067ffffffffffffffff8211610337573660238301121561033757816004013590610fa382610f42565b91610fb16040519384610f11565b80835236602482860101116103375760208160009260246108b89701838701378401015261211a565b34610337576000366003190112610337577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003611034576040516000805160206133f98339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b34610337576020366003190112610337576004356110bc8161033c565b6001600160a01b0381168015610e95573360009081527fb75ed0fc7a1f85f450afd172cc64f12750d0fc534f29ed31c78a1268f27d62f16020526040902061110790610c2190610c1a565b6105535761013280546001600160a01b0319166001600160a01b039092169190911790557fd192c0b229b00473ccb6ccfebf6642805bca1dcdf2d9fb4fd102c7dc7ea4ce239061054e90610e7b565b346103375760003660031901126103375760206040517fb6e1aa954ca88134dedc447027c8ef72953bf046c847542dd28babf3f8d9092f8152f35b3461033757606036600319011261033757600480356111af8161033c565b602435916111bc8361033c565b604435906111c98261033c565b7fcfac5101a9a6e666acfba4416612534dd5edcaa6e3fec2fd00fb2e84b0e5e1d76000526065602052611222610c21610c1a337f4a55a3187d78cc664b71aa8dee9295401eef37043156a0c20d7bc2454518a40f610c03565b611343576001600160a01b0383811615611333578085161561133357821615611324576001600160a01b038316600090815261012d6020526040902061127490610b8c905b546001600160a01b031690565b61131557506108b8926112fa610c70926112ac61128f610f33565b6001600160a01b0385168152916001600160a01b03166020830152565b6001600160a01b038516600090815261012d60205260409020815181546001600160a01b039182166001600160a01b0319918216178355602090930151600190920180549093169116179055565b6001600160a01b0316600090815261012e6020526040902090565b6040516333e9f35b60e11b8152fd5b604051637827912560e01b8152fd5b50604051637827912560e01b8152fd5b6040516282b42960e81b8152fd5b346103375761135f366105f9565b61013654909190611378906001600160a01b0316610b8c565b604051636eb1769f60e11b81526001600160a01b038581166004830152306024830152919491906020816044818986165afa8015610d2d5785916000916113fa575b50106113e85733600090815261012e602052604090206113d990611267565b1615610553576108b893612965565b6040516321a1cc1360e11b8152600490fd5b611412915060203d8111610a9957610a8a8183610f11565b386113ba565b346103375760203660031901126103375760206004356114378161033c565b60018060a01b0380911660005261012d825260406000205416604051908152f35b3461033757600036600319011261033757602061013454604051908152f35b3461033757604036600319011261033757600435600052609760205260206114a56024356040600020612492565b905460405160039290921b1c6001600160a01b03168152f35b3461033757604036600319011261033757602060ff6115086024356114e28161033c565b6004356000526065845260406000209060018060a01b0316600052602052604060002090565b54166040519015158152f35b34610337576020366003190112610337576004356115318161033c565b6001600160a01b03811615610e95573360009081526000805160206133d98339815191526020526040902061156990610c2190610c1a565b6105535761013980546001600160a01b0319166001600160a01b0383161790557fa37a7d6d9546ebba206b7200fd6814cc4885bd05277f43db31703508086bac5b9061054e90610e7b565b3461033757600036600319011261033757602060405160008152f35b346103375760003660031901126103375760206040517fdc0c909fa3135f9237d8a966b8b184ead9db0c05d73609dcb237ff6a00b0717b8152f35b34610337576020366003190112610337576004356127108111611683573360009081526000805160206133d9833981519152602052604090206116509060ff90610505565b6105535761054e8161053e7f8edc85bde8568f5dc6d7febb4820920db680537ad498b90d003e63d93a3988a19361013855565b60405163669a78b160e11b8152600490fd5b3461033757610120366003190112610337576004356116b38161033c565b6117436024356116c28161033c565b6044356116ce8161033c565b60c4356116da8161033c565b60e435916116e78361033c565b61010435936116f58561033c565b6000549661171a60ff8960081c16158099819a6117c5575b81156117a5575b5061266c565b8761172d600160ff196000541617600055565b61178c575b60a4359260843592606435926126cf565b61174957005b61175961ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890806020810161054e565b6117a061010061ff00196000541617600055565b611732565b303b159150816117b7575b5038611714565b6001915060ff1614386117b0565b600160ff821610915061170d565b346103375760003660031901126103375760206040517f6b742d59f502efc664ffa5cec8b4f798ca10dc8c5372b7e9f352dc77e490827b8152f35b346103375760203660031901126103375760043560005260976020526020604060002054604051908152f35b3461033757611848366105f9565b3360009081527fdffa92a6dce6c1a7a1a7024ed0f29537adf8ed32f4fa790e2acb86edab375e3d602052604081205490939192919060ff1615610553576001600160a01b031683526101306020526040832080549091908381039081116106bf579091556001600160a01b031660009081526101316020526040902080549182039182116106bf575580f35b34610337576020366003190112610337576004356127108111611683573360009081526000805160206133d9833981519152602052604090206119199060ff90610505565b6105535761054e8161053e7f392bc62c14254761a14ce86ad9820d13103f5f490089391c7ecf162afd5d68f99361013555565b34610337576040366003190112610337576108b860243560043561196f8261033c565b806000526065602052611989600160406000200154611b7e565b611ce5565b346103375760203660031901126103375760206004356119ad8161033c565b60018060a01b0380911660005261012d825260016040600020015416604051908152f35b60005b8381106119e45750506000910152565b81810151838201526020016119d4565b90602091611a0d815180928185528580860191016119d1565b601f01601f1916010190565b3461033757602036600319011261033757611a3e600435611a398161033c565b612ba2565b604051809160208252611a76611a6082516080602086015260a08501906119f4565b6020830151848203601f190160408601526119f4565b90606060018060a01b0391826040820151168286015201511660808301520390f35b3461033757600036600319011261033757602061013554604051908152f35b6001600160a01b03811660009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604080822054611b1993929060ff1615611b1c575b8080526097602052206001600160a01b03909116906124c8565b50565b808052606560209081528282206001600160a01b0385166000908152915260409020805460ff19166001179055336001600160a01b038416827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4611aff565b600081815260656020908152604080832033845290915290205460ff1615611ba35750565b611bac33612412565b611bb4611e58565b916030611bc08461238c565b536078611bcc84612399565b5360415b60018111611c7357610a59611c30611c5b85611c4d88611bf088156123c7565b611c2a604051958694611c2a602087016017907f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081520190565b90611cba565b7001034b99036b4b9b9b4b733903937b6329607d1b815260110190565b03601f198101835282610f11565b60405162461bcd60e51b815291829160048301611cd1565b90600f8116906010821015611cb557611cb0916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca684876123a9565b5360041c916123ba565b611bd0565b612376565b90611ccd602092828151948592016119d1565b0190565b906020611ce29281815201906119f4565b90565b906040611b1992600090808252606560205260ff611d17858585209060018060a01b0316600052602052604060002090565b5416611d37575b81526097602052206001600160a01b03909116906125b7565b808252606560209081528383206001600160a01b0386166000908152915260409020805460ff19169055336001600160a01b038516827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4611d1e565b15611d9d57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15611dfe57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b604051906080820182811067ffffffffffffffff821117610aa057604052604282526060366020840137565b90611e8e82610f42565b611e9b6040519182610f11565b8281528092611eac601f1991610f42565b0190602036910137565b90816020910312610337575190565b6040513d6000823e3d90fd5b15611ed857565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b15611fb3576000805160206133f983398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9061201882611f7e565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906120bf575b61205a575050565b611b19916000806040519361206e85610ed9565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af46120b9612226565b91612256565b506000612052565b906120d182611f7e565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906121125761205a575050565b506001612052565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929061215330851415611d96565b6121706000805160206133f9833981519152948286541614611df7565b61217983612909565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156121af575050610f409150611f7e565b6020600491604094939451928380926352d1902d60e01b825286165afa60009181612206575b506121f35760405162461bcd60e51b815280610a5960048201611f2f565b610f40936122019114611ed1565b6120c7565b61221f91925060203d8111610a9957610a8a8183610f11565b90386121d5565b3d15612251573d9061223782610f42565b916122456040519384610f11565b82523d6000602084013e565b606090565b919290156122b8575081511561226a575090565b3b156122735790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156122cb5750805190602001fd5b60405162461bcd60e51b8152908190610a599060048301611cd1565b634e487b7160e01b600052601160045260246000fd5b600381901b91906001600160fd1b038116036106bf57565b90600282018092116106bf57565b90600182018092116106bf57565b90600682018092116106bf57565b90600582018092116106bf57565b90600482018092116106bf57565b90600382018092116106bf57565b919082018092116106bf57565b634e487b7160e01b600052603260045260246000fd5b805115611cb55760200190565b805160011015611cb55760210190565b908151811015611cb5570160200190565b80156106bf576000190190565b156123ce57565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b6040519061241f82610ed9565b602a8252604036602084013760306124368361238c565b53607861244283612399565b536029905b6001821161245a57611ce29150156123c7565b600f8116906010821015611cb55761248c916f181899199a1a9b1b9c1cb0b131b232b360811b901a611ca684866123a9565b90612447565b8054821015611cb55760005260206000200190600090565b916124c49183549060031b91821b91600019901b19161790565b9055565b600181019082600052816020526040600020541560001461253657805468010000000000000000811015610aa05761252161250a826001879401855584612492565b819391549060031b91821b91600019901b19161790565b90555491600052602052604060002055600190565b505050600090565b6000198101919082116106bf57565b601e198101919082116106bf57565b60200390602082116106bf57565b919082039182116106bf57565b80549081156125a157600019918201916125918383612492565b909182549160031b1b1916905555565b634e487b7160e01b600052603160045260246000fd5b60018101918060005282602052604060002054928315156000146126635760001992848401908582116106bf5780549485019485116106bf57600095858361260b9461261a9803612620575b505050612577565b90600052602052604060002090565b55600190565b61264a6126449161263461265a9487612492565b90549060031b1c92839187612492565b906124aa565b8590600052602052604060002090565b55388080612603565b50505050600090565b1561267357565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9590979692976301e13380891161056457612710808611611683578611611683576001600160a01b039087821615610e95578116928315610e95578116908115610e955780831615610e955780851615610e9557881615610e9557612813986127a16127eb9661279b6127a7946127796127c99861274f6127f19e611ab7565b612757612888565b61013280546001600160a01b0319166001600160a01b03909216919091179055565b61013380546001600160a01b0319166001600160a01b03909216919091179055565b61013555565b61013455565b61013680546001600160a01b0319166001600160a01b03909216919091179055565b61013780546001600160a01b0319166001600160a01b03909216919091179055565b61013855565b61013980546001600160a01b0319166001600160a01b03909216919091179055565b61281b61281f565b610f405b60ff60005460081c161561282f57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b7fb6e1aa954ca88134dedc447027c8ef72953bf046c847542dd28babf3f8d9092f8060005260656020526001604060002001908154907f1fb53273153c82fe1363373dd3355bec4bce8bdfe349c78a8ad09156481e62218093557fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff600080a4565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff1615610553576001600160a01b031615610e9557565b908160209103126103375751611ce28161033c565b6040516323b872dd60e01b602082019081526001600160a01b039384166024830152938316604482015260648082019590955293845291926129f9929091906129ad83610ef5565b16604051916129bb83610ebd565b602083527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020840152600080958192519082855af16120b9612226565b8051908115918215612a12575b5050610f409150612a42565b8192509060209181010312612a3e5760200151908115158203612a3b5750610f40903880612a06565b80fd5b5080fd5b15612a4957565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b604051906080820182811067ffffffffffffffff821117610aa05760405260006060838181528160208201528260408201520152565b6020818303126103375780519067ffffffffffffffff8211610337570181601f82011215610337578051612b0a81610f42565b92612b186040519485610f11565b8184526020828401011161033757611ce291602080850191016119d1565b60405190612b4382610ebd565b60018252601760f91b6020830152565b60405190612b6082610ebd565b6011825270029bcb73a3432ba34b1902920a922903e1607d1b6020830152565b60405190612b8d82610ebd565b600682526578524152455f60d01b6020830152565b612baa612aa1565b5061013354612bc1906001600160a01b0316610b8c565b61013254612bd7906001600160a01b0316610b8c565b604051632ffef98760e21b81526001600160a01b038416600482015290602090829060249082905afa8015610d2d57612c35926000928392612db4575b50604051808095819463691f343160e01b8352600483019190602083019252565b03915afa8015610d2d57612c5191600091612d93575b50612ded565b90612c5a612aa1565b91612c8e612c7e6112678460018060a01b031660005261012d602052604060002090565b6001600160a01b03166040850152565b612cd1612cc16001612cb38560018060a01b031660005261012d602052604060002090565b01546001600160a01b031690565b6001600160a01b03166060850152565b612cda81612eca565b612d495750612d4190612d2090612d0f90612cfd906001600160a01b0316612412565b612d1a612d0f612d14612d0f846132ff565b612ded565b92613382565b906130ff565b612d3481612d2f612d0f612b53565b6130ff565b8352612d2f612d0f612b80565b602082015290565b612d419150612d62612d5c612d0f612b36565b82612f73565b50612d7281612d2f612d0f612b53565b8352612d1a612d0f612d8e612d88612d0f612b80565b93612e13565b613268565b612dae913d8091833e612da68183610f11565b810190612ad7565b38612c4b565b612dcd91925060203d8111610a9957610a8a8183610f11565b9038612c14565b60405190612de182610ebd565b60006020838281520152565b612df5612dd4565b50602081519160405192612e0884610ebd565b835201602082015290565b611ce2612e208251611e84565b91602081015190519060208401612e41565b601f81116106bf576101000a90565b92905b602093848410612e7957815181528481018091116106bf579381018091116106bf5791601f1981019081116106bf5791612e44565b929193506000199180612e95575b505182518216911916179052565b909150602003602081116106bf57612eaf612eb491612e32565b61253e565b9038612e87565b60001981146106bf5760010190565b90612ee3612edb602084015161254d565b925183612369565b6000925b818110612ef2575050565b8051919391612f19919060ff166080811015612f205750612f1290612323565b915b612ebb565b9290612ee7565b60e0811015612f335750612f1290612315565b60f0811015612f465750612f129061235b565b60f8811015612f595750612f129061234d565b60fc1115612f6a57612f129061233f565b612f1290612331565b9190612f7d612dd4565b92612f86612dd4565b50805191612fa260208301938451835190602085015192612ff8565b806020870152825193805182038281116106bf5785039485116106bf578487525103612fd057506000915052565b5182018092116106bf5780519182039182116106bf5752565b60ff81116106bf576001901b90565b929190928082111561300b575b50505090565b919392909190602083116130ad576000948361307d575b836130378761303c9395949551169385612369565b61256a565b9181868451165b03613055575050611ce2929350612369565b90918181111561307657613068906123ba565b918583511690809291613043565b5093505050565b945061303c836130376130a2612eaf61309d6130988561255c565b6122fd565b612fe9565b199792505050613022565b92936130c283806130c893959495209461256a565b84612369565b838110156130db57505050388080613005565b81812083146130f2576130ed9061253e565b6130c8565b909150611ce29250612369565b908151815181018091116106bf5761311690611e84565b9160208084019161312d8282015182519085612e41565b518401018091116106bf57816020611ce2930151905191612e41565b67ffffffffffffffff8111610aa05760051b60200190565b9190811015611cb55760051b0190565b35611ce28161033c565b8051821015611cb55760209160051b010190565b61319882613149565b9160406131a781519485610f11565b818452601f196131b683613149565b01906020913683870137600092835b8181106131d55750505050505090565b806004856131f5610b8c610b8c6131f061322797898e613161565b613171565b8651631d92463b60e11b815292839182905afa879181613249575b5061322c575085613221828a61317b565b52612ebb565b6131c5565b612f149061323a838b61317b565b6001600160a01b039091169052565b613261919250873d8911610d2657610d178183610f11565b9038613210565b90600091825b81518110156132af576132aa906132986001600160f81b031961329183866123a9565b51166132b4565b851a6132a482856123a9565b53612ebb565b61326e565b509150565b6001600160f81b0319606160f81b8282169081101590816132f0575b506132d9575090565b9060f81c601f190160ff81116106bf5760f81b1690565b603d60f91b10159050386132d0565b908151600690811161336c576040519061331882610ebd565b80825260203681840137600080805b8381106133375750929450505050565b613367906001600160f81b031961334e828a6123a9565b5116936132a461335d82612ebb565b95851a91886123a9565b613327565b634e487b7160e01b600052600160045260246000fd5b908151602790811161336c576040519061339b82610ebd565b600482526020368184013760008060235b8381106133bc5750929450505050565b6133d3906001600160f81b031961334e828a6123a9565b6133ac56fe9899ddb638bae7f560cf23f432587b9242d69dff54bc3ebc0eff7ed30028bfb0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220f5998766374739f3d5ea415aec4a37d42fd5f89c2f40e1178cabf595764adb9364736f6c63430008120033","sourceMap":"1772:18501:194:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1070:68:37;;;:108;;;;1772:18501:194;;;;;;;;;;1070:108:37;-1:-1:-1;;;3137:58:38;;;-1:-1:-1;3137:98:38;;;;1070:108:37;;;;;3137:98:38;-1:-1:-1;;;1168:51:72;;-1:-1:-1;3137:98:38;;;1772:18501:194;-1:-1:-1;1772:18501:194;;;-1:-1:-1;;;;;1772:18501:194;;;;;:::o;:::-;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1772:18501:194;14973:9;1772:18501;;;-1:-1:-1;1772:18501:194;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1772:18501:194;17083:18;1772:18501;;;;-1:-1:-1;1772:18501:194;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;14831:12;1772:18501;;;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;14694:17;1772:18501;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;12089:8;12073:24;;12069:62;;12178:10;-1:-1:-1;1772:18501:194;;;-1:-1:-1;;;;;;;;;;;1772:18501:194;;;;;12141:48;;1772:18501;;3438:29:38;1772:18501:194;;12141:48;;1772:18501;12141:48;12137:75;;12257:34;12218:28;;12257:34;12218:28;;1772:18501;;12218:28;1772:18501;;;;;;;;;;;;;12257:34;;;;1772:18501;12137:75;1772:18501;;-1:-1:-1;;;12198:14:194;;1772:18501;;12198:14;12069:62;1772:18501;;-1:-1:-1;;;12106:25:194;;1772:18501;;12106:25;1772:18501;;;;;;-1:-1:-1;;1772:18501:194;;;;15232:4;1772:18501;;;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;15109:4;1772:18501;;;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;-1:-1:-1;1772:18501:194;4934:6:38;1772:18501:194;;;4934:22:38;1772:18501:194;-1:-1:-1;1772:18501:194;4934:22:38;1772:18501:194;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;:::i;:::-;10062:10;-1:-1:-1;1772:18501:194;;;;;;;;;;-1:-1:-1;;;;;;1772:18501:194;;10027:46;10023:73;;-1:-1:-1;;;;;1772:18501:194;;;10102:18;1772:18501;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:194;;;;;-1:-1:-1;;;;;1772:18501:194;;;;;10146:20;1772:18501;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;4159:37;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;4297:43;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;8409:50:78;1772:18501:194;;;;;:::i;:::-;2445:18:37;-1:-1:-1;1772:18501:194;;;;4934:6:38;1772:18501:194;;2939:4:38;4934:22;1772:18501:194;;;4934:22:38;1772:18501:194;2939:4:38;:::i;:::-;1772:18501:194;;;4934:6:38;1772:18501:194;;;;;;;;-1:-1:-1;;;;;1772:18501:194;;-1:-1:-1;1772:18501:194;;;;;;;;;;7999:23:38;7995:149;;1772:18501:194;;2445:12:37;1772:18501:194;;;;;;;2445:18:37;-1:-1:-1;;;;;1772:18501:194;;;;8409:50:78;:::i;:::-;;1772:18501:194;;7995:149:38;1772:18501:194;;;4934:6:38;1772:18501:194;;;;;;;;-1:-1:-1;;;;;1772:18501:194;;-1:-1:-1;1772:18501:194;;;;;;;;;-1:-1:-1;;1772:18501:194;4934:22:38;1772:18501:194;;;929:10:68;-1:-1:-1;;;;;1772:18501:194;;8093:40:38;;;;;1772:18501:194;;2445:12:37;1772:18501:194;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;4814:34;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;;:::i;:::-;8906:26;;:59;;;1772:18501;8902:104;;929:10:68;-1:-1:-1;;;;;1772:18501:194;;6463:23:38;1772:18501:194;;6567:7:38;;;:::i;:::-;1772:18501:194;;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;8902:104;1772:18501;;-1:-1:-1;;;8982:17:194;;1772:18501;;8982:17;8906:59;1772:18501;;-1:-1:-1;1772:18501:194;2195:12:37;1772:18501:194;;8964:1;1772:18501;-1:-1:-1;1772:18501:194;;8936:29;8906:59;;1772:18501;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1898:6:49;1772:18501:194;;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;1772:18501:194;;;;;1971:30:49;1963:87;:::i;:::-;3486:17;;;:::i;:::-;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:194;;971:66:46;1772:18501:194;;;971:66:46;;;3330:17;;;;;;:::i;3232:526::-;1772:18501:194;;;;;;;;971:66:46;;;;;;;3383:63;;1772:18501:194;;3383:63:46;;-1:-1:-1;;3383:63:46;;;3232:526;-1:-1:-1;3379:302:46;;1772:18501:194;;-1:-1:-1;;;3610:56:46;;1772:18501:194;3610:56:46;1772:18501:194;3610:56:46;;;:::i;:::-;;;;3379:302;3737:9;3496:28;3488:82;3496:28;;3488:82;:::i;:::-;3737:9;:::i;3383:63::-;;;;;1772:18501:194;3383:63:46;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1772:18501:194;;:::i;:::-;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1772:18501:194;17259:20;1772:18501;;;;-1:-1:-1;1772:18501:194;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;-1:-1:-1;;;13385:37:194;;;1772:18501;;-1:-1:-1;;;;;1772:18501:194;;;;;;;;13385:37;1772:18501;;13385:37;;;;;;;;-1:-1:-1;13385:37:194;;;1772:18501;;;;;;;;;13385:47;;:98;;;;1772:18501;13381:139;;;1772:18501;;13567:37;;;;;;;;;;;;;;;;;;;-1:-1:-1;13567:37:194;;;1772:18501;-1:-1:-1;13608:4:194;1772:18501;13567:45;;-1:-1:-1;;;;;1772:18501:194;;-1:-1:-1;;;;;1772:18501:194;;;13567:45;1772:18501;;13567:45;;;;;:94;;1772:18501;13563:135;;;;;;;;4814:34;1772:18501;;3438:6:38;1772:18501:194;;13707:43;3438:29:38;;13739:10:194;1772:18501;3438:12:38;1772:18501:194;;;;;;;;;;;;;;;;3438:29:38;1772:18501:194;;;;;3438:29:38;13707:43:194;;1772:18501;13707:43;13703:85;;13793:17;13836:33;;13793:17;:32;:17;;;1772:18501;;;;;;;;13793:9;1772:18501;;;;;;;13793:17;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;13793:32;1772:18501;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;;;;;;;;;;;13703:85;1772:18501;;-1:-1:-1;;;13767:14:194;;;13563:135;1772:18501;;-1:-1:-1;;;13678:13:194;;;13567:94;1772:18501;;;;;;;;971:66:46;;;;;;;13616:37:194;;;;;;;;;-1:-1:-1;13616:37:194;;;13567:94;1772:18501;;;13616:45;;13567:94;;;;;;;;13616:37;;;;;;-1:-1:-1;13616:37:194;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;13567:::-;;;;;;;;;;;;;;:::i;:::-;;;;13381:139;1772:18501;;-1:-1:-1;;;13500:13:194;;1772:18501;;13500:13;13385:98;1772:18501;;-1:-1:-1;;;13436:37:194;;1772:18501;;-1:-1:-1;13436:37:194;1772:18501;13436:37;1772:18501;13436:37;;;;;;;;;-1:-1:-1;13436:37:194;;;13385:98;1772:18501;;13436:47;;13385:98;;;13436:37;;;;;;;;;;;;;;:::i;:::-;;;;13385;;;;;;;;;;;;;;:::i;:::-;;;;1772:18501;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:194;;12932:23;;12928:60;;13024:10;-1:-1:-1;1772:18501:194;;;;;;;;;12998:37;;3438:29:38;;;1772:18501:194;12998:37;12994:64;;13064:35;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;13110:26;;;;13064:35;1772:18501;;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;;;;12928:60;1772:18501;;-1:-1:-1;;;12964:24:194;;1772:18501;;12964:24;1772:18501;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;-1:-1:-1;;1772:18501:194;;;;:::o;:::-;;;-1:-1:-1;;1772:18501:194;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:194;;3901:220:49;1772:18501:194;;;;;;;;;;3901:220:49;:::i;1772:18501:194:-;;;;;;-1:-1:-1;;1772:18501:194;;;;2333:6:49;-1:-1:-1;;;;;1772:18501:194;2324:4:49;2316:23;1772:18501:194;;;;-1:-1:-1;;;;;;;;;;;1772:18501:194;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:194;;12496:31;;12492:68;;12596:10;-1:-1:-1;1772:18501:194;;;;;;;;;12570:37;;3438:29:38;;;1772:18501:194;12570:37;12566:64;;12636:54;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;12701:42;;;;12636:54;1772:18501;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;4435:37;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;4159:37;1772:18501;;3438:6:38;1772:18501:194;;9261:46;3438:29:38;;9296:10:194;1772:18501;3438:12:38;1772:18501:194;9261:46;9257:73;;-1:-1:-1;;;;;1772:18501:194;;;9340:19;9336:56;;1772:18501;;;9402:29;9398:66;;1772:18501;;9474:32;9470:69;;-1:-1:-1;;;;;1772:18501:194;;;;;;9549:20;1772:18501;;;;;9549:56;;:42;;:27;1772:18501;-1:-1:-1;;;;;1772:18501:194;;;9549:56;9545:99;;1772:18501;9745:41;1772:18501;;9745:33;1772:18501;9680:59;1772:18501;;:::i;:::-;-1:-1:-1;;;;;1772:18501:194;;;;9680:59;-1:-1:-1;;;;;1772:18501:194;;9680:59;;1772:18501;;9680:59;-1:-1:-1;;;;;1772:18501:194;;;;;;9549:20;1772:18501;;;;;;;;;-1:-1:-1;;;;;1772:18501:194;;;-1:-1:-1;;;;;;1772:18501:194;;;;;;;;;;;-1:-1:-1;1772:18501:194;;;;;;;;;;;;;;;-1:-1:-1;;;;;1772:18501:194;;;;;9745:16;1772:18501;;;;;;;9545:99;1772:18501;;-1:-1:-1;;;9614:30:194;;;9470:69;1772:18501;;-1:-1:-1;;;9515:24:194;;;9398:66;-1:-1:-1;1772:18501:194;;-1:-1:-1;;;9440:24:194;;;9257:73;1772:18501;;-1:-1:-1;;;9316:14:194;;;1772:18501;;;;;;;:::i;:::-;14101:4;1772:18501;;;;14083:23;;-1:-1:-1;;;;;1772:18501:194;;;14083:23;1772:18501;;-1:-1:-1;;;14116:37:194;;-1:-1:-1;;;;;1772:18501:194;;;;14116:37;;1772:18501;14147:4;1772:18501;;;;;;;;14116:37;1772:18501;;;;;;14116:37;;;;;;;;-1:-1:-1;14116:37:194;;;1772:18501;14116:47;;14112:102;;14240:10;1772:18501;;;;9745:16;1772:18501;;;;;14223:28;;;1772:18501;14223:28;1772:18501;14223:42;14219:69;;14351:7;;;:::i;14112:102::-;1772:18501;;-1:-1:-1;;;14180:27:194;;1772:18501;;14180:27;14116:37;;;;;;;;;;;;;;:::i;:::-;;;;1772:18501;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1772:18501:194;16697:20;1772:18501;;;-1:-1:-1;1772:18501:194;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;15508:12;1772:18501;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;-1:-1:-1;1772:18501:194;1886:12:37;1772:18501:194;;;5016:18:78;1772:18501:194;;;-1:-1:-1;1772:18501:194;5016:18:78;:::i;:::-;1772:18501:194;;;;;;;;;311:18:71;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;3438:29:38;1772:18501:194;;;;;:::i;:::-;;;-1:-1:-1;1772:18501:194;3438:6:38;1772:18501:194;;;-1:-1:-1;1772:18501:194;;;;;;;;;;;;;;;;;3438:29:38;1772:18501:194;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:194;;10791:20;10787:57;;10891:10;-1:-1:-1;1772:18501:194;;;-1:-1:-1;;;;;;;;;;;1772:18501:194;;;;;10854:48;;3438:29:38;;;1772:18501:194;10854:48;10850:75;;10931:21;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;10963:27;;;;10931:21;1772:18501;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;4569:39;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;11660:6;11646:20;;11642:56;;11745:10;-1:-1:-1;1772:18501:194;;;-1:-1:-1;;;;;;;;;;;1772:18501:194;;;;;11708:48;;1772:18501;;3438:29:38;1772:18501:194;11708:48;11704:75;;11827:38;11785:31;;11827:38;11785:31;;1772:18501;;11642:56;1772:18501;;-1:-1:-1;;;11675:23:194;;1772:18501;;11675:23;1772:18501;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;:::i;:::-;3636:1:48;1772:18501:194;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;3302:13:48;1772:18501:194;;3325:201:48;1772:18501:194;;;;;3301:14:48;3347:34;;;;;;1772:18501:194;3346:108:48;;;;1772:18501:194;3325:201:48;;:::i;:::-;3536:16;;1772:18501:194;;;3302:13:48;1772:18501:194;;;3302:13:48;1772:18501:194;;3536:16:48;3562:65;;1772:18501:194;;;;;;;;;3636:1:48;;:::i;:::-;3647:99;;1772:18501:194;3647:99:48;3681:21;1772:18501:194;;3302:13:48;1772:18501:194;;3302:13:48;1772:18501:194;;3681:21:48;1772:18501:194;;3551:1:48;1772:18501:194;;3721:14:48;;1772:18501:194;;;;3721:14:48;1772:18501:194;3562:65:48;3596:20;1772:18501:194;;;3302:13:48;1772:18501:194;;;3302:13:48;1772:18501:194;;3596:20:48;3562:65;;3346:108;3426:4;1713:19:66;:23;;-1:-1:-1;1713:23:66;3387:66:48;;3346:108;;;;;3387:66;3452:1;1772:18501:194;;;;3436:17:48;3387:66;;;3347:34;3380:1;1772:18501:194;;;3365:16:48;;-1:-1:-1;3347:34:48;;1772:18501:194;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;4694:28;1772:18501;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;-1:-1:-1;1772:18501:194;2195:12:37;1772:18501:194;;;;-1:-1:-1;1772:18501:194;;;;;;;;;;;;;;;:::i;:::-;10464:10;-1:-1:-1;1772:18501:194;;;;;;;;;;-1:-1:-1;;;;;;1772:18501:194;;10429:46;10425:73;;-1:-1:-1;;;;;1772:18501:194;;;10504:18;1772:18501;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1772:18501:194;;;;;10146:20;1772:18501;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;11220:6;11206:20;;11202:56;;11305:10;-1:-1:-1;1772:18501:194;;;-1:-1:-1;;;;;;;;;;;1772:18501:194;;;;;11268:48;;1772:18501;;3438:29:38;1772:18501:194;11268:48;11264:75;;11392:42;11345:36;;11392:42;11345:36;;1772:18501;;;;;;;;-1:-1:-1;;1772:18501:194;;;;5816:7:38;1772:18501:194;;;;;;;:::i;:::-;;-1:-1:-1;1772:18501:194;4934:6:38;1772:18501:194;;2939:4:38;4934:22;1772:18501:194;-1:-1:-1;1772:18501:194;4934:22:38;1772:18501:194;2939:4:38;:::i;:::-;5816:7;:::i;1772:18501:194:-;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1772:18501:194;16891:20;1772:18501;;;;-1:-1:-1;1772:18501:194;16891:41;1772:18501;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1772:18501:194;;;;:::o;:::-;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;15366:22;1772:18501;;;;;;;2317:166:37;-1:-1:-1;;;;;1772:18501:194;;7215:1;1772:18501;;;;;;;;;;;8409:50:78;;1772:18501:194;7215:1;1772:18501;;7999:23:38;7995:149;;2317:166:37;1772:18501:194;;;2445:12:37;1772:18501:194;;;-1:-1:-1;;;;;1772:18501:194;;;;8409:50:78;:::i;:::-;;2317:166:37:o;7995:149:38:-;1772:18501:194;;;3438:6:38;1772:18501:194;;;;;;;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;8070:4:38;1772:18501:194;;;929:10:68;-1:-1:-1;;;;;1772:18501:194;;8093:40:38;;;;;7995:149;;3768:103;-1:-1:-1;1772:18501:194;;;3438:6:38;1772:18501:194;;;;;;;;929:10:68;1772:18501:194;;;;;;;;;;4239:23:38;4235:412;;3768:103;:::o;4235:412::-;2563:52:71;929:10:68;2563:52:71;:::i;:::-;2006:25;;:::i;:::-;2041:15;;;;;:::i;:::-;;2066;;;;:::i;:::-;;1772:18501:194;2124:5:71;1772:18501:194;2124:5:71;;;;4278:358:38;1772:18501:194;4330:274:38;2236:10:71;1772:18501:194;2236:10:71;2228:55;2236:10;;2228:55;:::i;:::-;1772:18501:194;;;4330:274:38;;;1772:18501:194;;4330:274:38;;1772:18501:194;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;1772:18501:194;;;;;;;4330:274:38;1772:18501:194;;4330:274:38;;;;;;:::i;:::-;1772:18501:194;;-1:-1:-1;;;4278:358:38;;1772:18501:194;;;;4278:358:38;;;:::i;2131:3:71:-;2171:11;2179:3;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:71;;2150:33;;;;:::i;:::-;;1772:18501:194;311:18:71;2131:3;;:::i;:::-;2096:26;;2162:21;;:::i;1772:18501:194:-;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;2572:171:37:-;;1772:18501:194;8730:53:78;2572:171:37;-1:-1:-1;1772:18501:194;;;;3438:6:38;1772:18501:194;;;3438:29:38;1772:18501:194;;;;;;;;;;;;;;;;;;;;3438:29:38;1772:18501:194;;8400:149:38;;2572:171:37;1772:18501:194;;2702:12:37;1772:18501:194;;;-1:-1:-1;;;;;1772:18501:194;;;;8730:53:78;:::i;8400:149:38:-;1772:18501:194;;;3438:6:38;1772:18501:194;;;;;;;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;;;;-1:-1:-1;;1772:18501:194;;;929:10:68;-1:-1:-1;;;;;1772:18501:194;;8498:40:38;;;;;8400:149;;1772:18501:194;;;;:::o;:::-;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;971:66:46:-;;;;;;;;;;;:::o;:::-;1772:18501:194;;971:66:46;;;;;;;;;;;:::o;:::-;1772:18501:194;;-1:-1:-1;;;971:66:46;;;;;;;;;;;1772:18501:194;971:66:46;1772:18501:194;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;;;;;;;;;;;;1772:18501:194;971:66:46;1772:18501:194;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;:::o;1699:281::-;1713:19:66;;:23;1772:18501:194;;-1:-1:-1;;;;;;;;;;;1772:18501:194;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;1699:281:46:o;1772:18501:194:-;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;2372:276:46;;2171:17;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:194;;2204:27:46;3565:1:49;;2204:27:46;1772:18501:194;;2523:15:46;;;:28;;;2372:276;2519:123;;2372:276;;:::o;2519:123::-;7318:69:66;1772:18501:194;3565:1:49;1772:18501:194;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;7276:25:66;;;;;;;;;:::i;:::-;7318:69;;:::i;2523:28:46:-;;3565:1:49;2523:28:46;;2372:276;;2171:17;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:194;;2204:27:46;;;;1772:18501:194;;2523:15:46;;;:28;;;2519:123;;2372:276;;:::o;2523:28::-;;1772:18501:194;2523:28:46;;1842:226:49;-1:-1:-1;;;;;1898:6:49;1772:18501:194;;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;1772:18501:194;;;;;1971:30:49;1963:87;:::i;:::-;4034:17;;;:::i;:::-;971:66:46;1772:18501:194;;;971:66:46;;;3330:17;;;;;;:::i;3232:526::-;3383:63;;1772:18501:194;;;;;;971:66:46;;;;;;;3383:63;;1772:18501:194;;3383:63:46;;;;;;;3232:526;-1:-1:-1;3379:302:46;;1772:18501:194;;-1:-1:-1;;;3610:56:46;;1772:18501:194;3610:56:46;3383:63;3610:56;;;:::i;3379:302::-;3737:9;3496:28;3488:82;3496:28;;3488:82;:::i;:::-;3737:9;:::i;3383:63::-;;;;;;;;;;;;;;;:::i;:::-;;;;;1772:18501:194;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1772:18501:194;;;;:::o;:::-;;;:::o;7682:628:66:-;;;;7886:418;;;1772:18501:194;;;7917:22:66;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;1772:18501:194;;8212:17:66;:::o;1772:18501:194:-;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;;;;7886:418:66;1772:18501:194;;;;-1:-1:-1;8991:21:66;:17;;9163:142;;;;;;;8987:379;1772:18501:194;;-1:-1:-1;;;9335:20:66;;1772:18501:194;;;9335:20:66;;;;;;:::i;1772:18501:194:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1772:18501:194;;;;;:::o;:::-;;2016:1:71;1772:18501:194;;;;;;;:::o;:::-;;2073:1:71;1772:18501:194;;;;;;;:::o;:::-;;6602:1:132;1772:18501:194;;;;;;;:::o;:::-;;6555:1:132;1772:18501:194;;;;;;;:::o;:::-;;6495:1:132;1772:18501:194;;;;;;;:::o;:::-;;6435:1:132;1772:18501:194;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;2073:1:71;1772:18501:194;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;1772:18501:194;;:::o;311:18:71:-;;;;:::o;:::-;;1772:18501:194;;;;;311:18:71;;;;;;;;;;;1772:18501:194;311:18:71;1772:18501:194;;;311:18:71;;1884:437;1772:18501:194;;;;;;:::i;:::-;;;;;;;;;;2041:15:71;;;;:::i;:::-;;2066;;;;:::i;:::-;;1772:18501:194;2091:128:71;2124:5;2073:1;2124:5;;;;2228:55;2236:10;;;2228:55;:::i;2131:3::-;2179;2171:11;;2162:21;;;;;;;2131:3;;-1:-1:-1;;;2162:21:71;;2150:33;;;;:::i;2131:3::-;2096:26;;;1772:18501:194;;;;;;;;-1:-1:-1;1772:18501:194;;-1:-1:-1;1772:18501:194;;;-1:-1:-1;1772:18501:194;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2225:404:78:-;4362:12;;;1772:18501:194;;-1:-1:-1;1772:18501:194;;;;;-1:-1:-1;1772:18501:194;;4362:24:78;2304:319;1772:18501:194;;;;;;;;;;;;;;4362:12:78;1772:18501:194;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:194;;;;-1:-1:-1;1772:18501:194;;4362:12:78;2558:11;:::o;2304:319::-;2600:12;;;-1:-1:-1;2600:12:78;:::o;1772:18501:194:-;-1:-1:-1;;1772:18501:194;;;;;;;;:::o;:::-;-1:-1:-1;;1772:18501:194;;;;;;;;:::o;:::-;17275:2:132;1772:18501:194;;17275:2:132;1772:18501:194;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1772:18501:194;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2797:1388:78;3000:12;;;1772:18501:194;;-1:-1:-1;1772:18501:194;;;;;-1:-1:-1;1772:18501:194;;3034:15:78;;;;3030:1149;3034:15;;;-1:-1:-1;;1772:18501:194;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3516:26:78;;;3988:15;3516:26;4080:19;3516:26;;3512:398;;3030:1149;3988:15;;;;:::i;:::-;1772:18501:194;;;;;;;;;;4080:19:78;1772:18501:194;3000:12:78;4114:11;:::o;3512:398::-;3704:38;:26;3582:22;;3816:23;3582:22;;;:::i;:::-;1772:18501:194;;;;;311:18:71;3704:26:78;;;;;:::i;:::-;:38;;:::i;:::-;3816:23;1772:18501:194;;;;;;;;;;3816:23:78;1772:18501:194;3512:398:78;;;;;3030:1149;4156:12;;;;-1:-1:-1;4156:12:78;:::o;1772:18501:194:-;;;;:::o;:::-;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;6696:1385;;;;;;;7002:8;6986:24;;6982:62;;7080:6;7054:32;;;7050:68;;7128:27;;7124:63;;-1:-1:-1;;;;;1772:18501:194;;;;7197:20;7193:57;;1772:18501;;7260:31;;;7256:68;;1772:18501;;7334:23;;;7330:60;;1772:18501;;;7400:19;7396:56;;1772:18501;;;7462:19;7458:56;;1772:18501;;7524:27;7520:64;;7980:28;7621:6;7812:48;7918:12;7621:6;7771:35;7866:28;7621:6;7711:54;7900:12;7621:6;;7936:38;7621:6;;:::i;:::-;7674:30;;:::i;:::-;12636:54;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;7711:54;13064:35;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;7771:35;11345:36;1772:18501;;7812:48;12218:28;1772:18501;;7866:28;7900:12;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;7900:12;7918;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;7918:12;11785:31;1772:18501;;7936:38;10931:21;1772:18501;;-1:-1:-1;;;;;;1772:18501:194;-1:-1:-1;;;;;1772:18501:194;;;;;;;;;;7980:28;570:75:37;;:::i;:::-;1042:67:49;5328:125:48;1772:18501:194;5374:13:48;1772:18501:194;;;;;;;5328:125:48:o;1772:18501:194:-;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;7502:247:38;4435:37:194;1772:18501;-1:-1:-1;1772:18501:194;4934:6:38;1772:18501:194;;4934:22:38;1772:18501:194;-1:-1:-1;1772:18501:194;4934:22:38;1772:18501:194;;;4297:43;;1772:18501;;;7690:52:38;-1:-1:-1;7690:52:38;;7502:247::o;8328:225:194:-;8442:10;2495:4:38;1772:18501:194;;;;;;;;;;;;8413:40;8409:67;;-1:-1:-1;;;;;1772:18501:194;8486:29;8482:66;;8328:225::o;1772:18501::-;;;;;;;;;;;;;:::i;1421:214:60:-;1772:18501:194;;-1:-1:-1;;;1559:68:60;;;;;;-1:-1:-1;;;;;1772:18501:194;;;1559:68:60;;;1772:18501:194;;;;;;;;;;;;;;;;1559:68:60;;;;;5546:69:66;;1772:18501:194;;;1559:68:60;1772:18501:194;1559:68:60;:::i;:::-;1772:18501:194;;;;;;;:::i;:::-;1559:68:60;1772:18501:194;;;1559:68:60;1772:18501:194;;;-1:-1:-1;5498:31:66;;;;;;;;;;;;:::i;5546:69::-;1772:18501:194;;5848:22:60;;;:56;;;;;1421:214;5840:111;;;;;;:::i;5848:56::-;5874:30;;;;1559:68;5874:30;;;1772:18501:194;;;;1559:68:60;5874:30;1772:18501:194;;;;;;;;;5848:56:60;5840:111;5848:56;;;;;1772:18501:194;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;1772:18501:194;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1772:18501:194;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1772:18501:194;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1772:18501:194;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1772:18501:194;;;;:::o;15568:992::-;1772:18501;;:::i;:::-;-1:-1:-1;15684:8:194;1772:18501;15684:13;;-1:-1:-1;;;;;1772:18501:194;;;15684:13;15699:16;1772:18501;15699:21;;-1:-1:-1;;;;;1772:18501:194;;;15699:21;1772:18501;;-1:-1:-1;;;15699:28:194;;-1:-1:-1;;;;;1772:18501:194;;15699:28;;;1772:18501;;15699:28;;1772:18501;;;;;;15699:28;;;;;;15684:45;15699:28;-1:-1:-1;15699:28:194;;;;;15568:992;1772:18501;;;971:66:46;;;;;;;;15684:45:194;;15699:28;15684:45;;1772:18501;;;;;;;;15684:45;;;;;;;;;:55;:45;-1:-1:-1;15684:45:194;;;15568:992;15684:55;;:::i;:::-;1772:18501;;;:::i;:::-;15789:27;15767:64;15789:42;:27;;1772:18501;;;;;;;;9549:20;1772:18501;;;;;;;15789:42;-1:-1:-1;;;;;1772:18501:194;;15767:19;;1772:18501;;15767:64;15837:62;15858:41;;:27;;1772:18501;;;;;;;;9549:20;1772:18501;;;;;;;15858:27;:41;1772:18501;-1:-1:-1;;;;;1772:18501:194;;;15858:41;-1:-1:-1;;;;;1772:18501:194;15837:18;;;1772:18501;;15837:62;15909:10;;;:::i;:::-;15905:228;;-1:-1:-1;16496:42:194;;16374:31;;:21;;2497:52:104;;-1:-1:-1;;;;;1772:18501:194;2497:52:104;:::i;:::-;16295:36:194;:26;16227:35;:25;;;:::i;:::-;:35;:::i;:::-;16295:26;;:::i;:36::-;16374:21;;:::i;:31::-;16423:53;1772:18501;16424:29;1772:18501;;:::i;16424:29::-;16423:53;:::i;:::-;16411:65;;16497:18;1772:18501;;:::i;16496:42::-;15699:28;16482:11;;:56;15568:992;:::o;15905:228::-;16046:61;1772:18501;;15934:26;15946:13;1772:18501;;:::i;15946:13::-;15934:26;;:::i;:::-;;15980:44;1772:18501;15981:29;1772:18501;;:::i;15980:44::-;15968:56;;16074:32;:22;16080:15;16047:18;1772:18501;;:::i;16047:18::-;16080:15;;:::i;:::-;16074:22;:::i;15684:45::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;15699:28;;;;;;;;;;;;;;;:::i;:::-;;;;;1772:18501;;;;;;;:::i;:::-;-1:-1:-1;1772:18501:194;;;;;;;:::o;2904:210:132:-;1772:18501:194;;:::i;:::-;;3006:55:132;1772:18501:194;;;;;;;;;:::i;:::-;;;3006:55:132;;3077:30;;1772:18501:194;2904:210:132;:::o;5286:265::-;5514:9;5391:21;1772:18501:194;;5391:21:132;:::i;:::-;5503:9;5443:35;5503:9;;1772:18501:194;;;5443:35:132;;;;5514:9;:::i;1772:18501:194:-;;;;;;;;;:::o;2088:616:132:-;;;2225:9;2232:2;2214:9;;;;;;2250:65;;;;1772:18501:194;;;;;;;;;;;;;;;;2225:9:132;-1:-1:-1;;1772:18501:194;;;;;;;2208:164:132;;;2214:9;;;;;1772:18501:194;;2454:7:132;;2450:66;;2208:164;-1:-1:-1;2525:173:132;;;;;;;;;;;2088:616::o;2450:66::-;1772:18501:194;;;2232:2:132;1772:18501:194;2232:2:132;1772:18501:194;;;;2484:17:132;:21;:17;;:::i;:::-;:21;:::i;:::-;2450:66;;;;1772:18501:194;-1:-1:-1;;1772:18501:194;;;;;;;:::o;5942:692:132:-;;6136:15;6101:14;:9;;;1772:18501:194;6101:14:132;:::i;:::-;1772:18501:194;;6136:15:132;;:::i;:::-;-1:-1:-1;6161:467:132;6173:9;;;;;;5942:692;;:::o;6184:3::-;6224:39;;;;;6184:3;;6224:39;1772:18501:194;6224:39:132;6284:4;6280:8;;6284:4;;;6308:8;;;;:::i;:::-;6276:342;;6184:3;:::i;:::-;6166:5;;;;6276:342;6344:4;6340:8;;6344:4;;;6368:8;;;;:::i;6337:281::-;6404:4;6400:8;;6404:4;;;6428:8;;;;:::i;6397:221::-;6464:4;6460:8;;6464:4;;;6488:8;;;;:::i;6457:161::-;6524:4;-1:-1:-1;6524:4:132;;;6548:8;;;:::i;6517:101::-;6595:8;;;:::i;22782:143::-;;;1772:18501:194;;:::i;:::-;;;;:::i;:::-;;;;22008:9:132;21988:56;22008:9;;;1772:18501:194;;;;;22032:11:132;22008:9;22032:11;;1772:18501:194;21988:56:132;;:::i;:::-;22054:10;22008:9;22054:10;;1772:18501:194;;;;;;;;;;;;;;;;;;;;;;;;22136:16:132;22143:9;;1772:18501:194;-1:-1:-1;1772:18501:194;;;22782:143:132:o;22132:153::-;1772:18501:194;;;;;;;;;;;;;;;;;;;22782:143:132:o;1772:18501:194:-;;;;;;;;;;:::o;17083:1457:132:-;;;;;17222:20;;;;17218:1292;;17083:1457;18519:14;;;17083:1457;:::o;17218:1292::-;17262:15;;;;;;17275:2;17262:15;;17275:2;;1772:18501:194;17331:13:132;;17327:110;;17258:1242;17491:54;17569:17;17491:54;17569:29;17491:54;;;;;;17569:17;;;:::i;:::-;:29;:::i;:::-;17616:15;17649:45;;;;;17719:21;;;;17958:15;;;;;;;:::i;17712:222::-;17768:14;;;;;;17764:58;;17844:5;;;:::i;:::-;17871:45;;;;;17712:222;;;;;;17764:58;-1:-1:-1;17808:14:132;-1:-1:-1;;;17808:14:132:o;17327:110::-;17396:14;;17569:29;17396:14;17569:17;17385:31;:27;17391:20;17396:14;;;:::i;:::-;17391:20;:::i;:::-;17385:27;:::i;:31::-;17383:34;17327:110;;;;;;;17258:1242;18091:52;;18177:19;18091:52;;18166:31;18091:52;;;;;18177:19;;:::i;:::-;18166:31;;:::i;:::-;18222:14;;;;;;17258:1242;;;17218:1292;;;;;18215:271;18298:50;;;18373:16;;18369:68;;18459:8;;;:::i;:::-;18215:271;;18369:68;18422:15;;;;;;;:::i;24264:355::-;;1772:18501:194;;;;;;;;;;;24387:34:132;;;:::i;:::-;24452:35;;;;;24511:9;24522;24511;;;1772:18501:194;;;24522:9:132;;;:::i;:::-;1772:18501:194;;;;;;;;;24569:10:132;24452:35;24581:10;24569;;1772:18501:194;;;24581:10:132;;:::i;1772:18501:194:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;17469:436::-;1772:18501;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1772:18501:194;;;:::i;:::-;;;;;;;;;;-1:-1:-1;17659:13:194;;17674:24;;;;;;17888:12;;;;;;17469:436;:::o;17700:3::-;17729:16;17717:54;17729:16;17717:52;:29;17729:16;;17700:3;17729:16;;;;:::i;:::-;;:::i;17717:52::-;1772:18501;;-1:-1:-1;;;17717:54:194;;1772:18501;;;;;17717:54;;;;;;;17700:3;-1:-1:-1;17713:163:194;;17846:21;;;;;;:::i;:::-;1772:18501;17700:3;:::i;:::-;17659:13;;17713:163;17805:15;;;;;;:::i;:::-;-1:-1:-1;;;;;1772:18501:194;;;;;;17717:54;;;;;;;;;;;;;;;:::i;:::-;;;;;18425:259;;18566:1;18554:13;;18592:3;1772:18501;;18569:21;;;;;18592:3;;18621:21;-1:-1:-1;;;;;;18628:13:194;1772:18501;18628:13;;:::i;:::-;1772:18501;;18621:21;:::i;:::-;18605:37;;;;;;:::i;:::-;;18592:3;:::i;:::-;18554:13;;18569:21;-1:-1:-1;18569:21:194;-1:-1:-1;18425:259:194:o;19045:162::-;-1:-1:-1;;;;;;;;;1772:18501:194;;;19113:11;;;;;;:26;;19045:162;19109:77;;;19192:10;19045:162;:::o;19109:77::-;1772:18501;;;-1:-1:-1;;1772:18501:194;;;;;;;311:18:71;;19149:30:194;:::o;19113:26::-;-1:-1:-1;;;;19128:11:194;;-1:-1:-1;19113:26:194;;;19778:493;;1772:18501;;16247:1;19947:47;;;1772:18501;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;20100:13:194;20124:28;20154:30;;;;;;-1:-1:-1;20242:24:194;;-1:-1:-1;;;;19778:493:194:o;20186:3::-;;;-1:-1:-1;;;;;;20216:13:194;1772:18501;20216:13;;:::i;:::-;1772:18501;;20209:3;20199:30;20209:3;;;:::i;:::-;20199:30;;;;;;:::i;20186:3::-;20124:28;;1772:18501;;;;-1:-1:-1;1772:18501:194;;;;;-1:-1:-1;1772:18501:194;19778:493;;1772:18501;;;19947:47;;;1772:18501;;;;;;;;:::i;:::-;15699:28;1772:18501;;;;;;;;-1:-1:-1;20100:13:194;1772:18501;20154:30;;;;;;-1:-1:-1;20242:24:194;;-1:-1:-1;;;;19778:493:194:o;20186:3::-;;;-1:-1:-1;;;;;;20216:13:194;1772:18501;20216:13;;:::i;20186:3::-;20124:28;","linkReferences":{},"immutableReferences":{"32368":[{"start":2408,"length":32},{"start":4077,"length":32},{"start":8484,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","ENS_SETTER_ROLE()":"c2544987","STAKING_CONFIG_SETTER_ROLE()":"a4303a45","STAKING_INFO_SETTER_ROLE()":"265718b4","STAKING_STAT_SETTER_ADMIN_ROLE()":"29b4a590","STAKING_STAT_SETTER_ROLE()":"66951bc1","SWAP_POOL_SETTER_ROLE()":"363227e5","decreaseAmountStaked(address,address,uint256)":"cac7c65c","getDefaultPayee()":"10da95e6","getDeflationaryPercentage()":"f7ef8ead","getDiscountPercentage()":"111029b9","getPeriodLength()":"8469ddc7","getRareAddress()":"2210d525","getRewardAccumulatorAddressForUser(address)":"e286ef33","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","getStakingAddressForUser(address)":"81d0606b","getStakingInfoForUser(address)":"f24bd8a6","getSwapPool(address)":"039bcf8e","getTotalAmountStakedByUser(address)":"06c571d5","getTotalAmountStakedOnUser(address)":"3d867d95","getUsersForStakingAddresses(address[])":"18ab58ac","getWethAddress()":"23a7b42a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increaseAmountStaked(address,address,uint256)":"2608ff35","initialize(address,address,address,uint256,uint256,uint256,address,address,address)":"bb0544a1","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDefaultPayee(address)":"99247be7","setDeflationaryPercentage(uint256)":"cb8af2b5","setDiscountPercentage(uint256)":"b3428d15","setPeriodLength(uint256)":"1c5633d7","setResolver(address)":"4e543b26","setReverseRegistrar(address)":"557499ba","setStakingAddresses(address,address,address)":"76a250a7","setSwapPool(address,address)":"46ccbb40","supportsInterface(bytes4)":"01ffc9a7","transferRareFrom(address,address,uint256)":"81910e33","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InsufficientRareAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPool\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PercentageBeyondLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PeriodLengthBeyondLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RenouncingAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StakingContractAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"}],\"name\":\"DefaultPayeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"DeflationaryPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"DiscountPercentageUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"}],\"name\":\"PeriodLengthUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"ResolverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_percentage\",\"type\":\"address\"}],\"name\":\"ReverseRegistrarUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_uniswapPool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"SetSwapPool\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ENS_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_CONFIG_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_INFO_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_STAT_SETTER_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_STAT_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SWAP_POOL_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakedOn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"decreaseAmountStaked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultPayee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeflationaryPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDiscountPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPeriodLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRareAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRewardAccumulatorAddressForUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getStakingAddressForUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getStakingInfoForUser\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"stakingAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rewardAddress\",\"type\":\"address\"}],\"internalType\":\"struct IRareStakingRegistry.Info\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getSwapPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getTotalAmountStakedByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getTotalAmountStakedOnUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_stakingAddrs\",\"type\":\"address[]\"}],\"name\":\"getUsersForStakingAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakedOn\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increaseAmountStaked\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_reverseRegistrar\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_deflationaryPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_discountedPercent\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_rare\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_defaultPayee\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payee\",\"type\":\"address\"}],\"name\":\"setDefaultPayee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setDeflationaryPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentage\",\"type\":\"uint256\"}],\"name\":\"setDiscountPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_periodLength\",\"type\":\"uint256\"}],\"name\":\"setPeriodLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_reverseRegistrar\",\"type\":\"address\"}],\"name\":\"setReverseRegistrar\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardSwapAddress\",\"type\":\"address\"}],\"name\":\"setStakingAddresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_uniswapPool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setSwapPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferRareFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"details\":\"Made to be used with a UUPS Proxy.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"decreaseAmountStaked(address,address,uint256)\":{\"details\":\"Requires the caller to have the {STAKING_STAT_SETTER_ROLE} access control role.\",\"params\":{\"_amount\":\"The amount of $RARE that has been unstaked.\",\"_stakedOn\":\"The user who was being staked on.\",\"_staker\":\"The user who is unstaking.\"}},\"getDefaultPayee()\":{\"returns\":{\"_0\":\"address to send rewards to.\"}},\"getDeflationaryPercentage()\":{\"returns\":{\"_0\":\"uint256 deflationary percentage.\"}},\"getDiscountPercentage()\":{\"returns\":{\"_0\":\"uint256 discount percentage.\"}},\"getPeriodLength()\":{\"returns\":{\"_0\":\"uint256 period length.\"}},\"getRareAddress()\":{\"returns\":{\"_0\":\"address Address of $RARE (the staking token to be used).\"}},\"getRewardAccumulatorAddressForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"address Reward accumulator address.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"getStakingAddressForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"address staking address.\"}},\"getStakingInfoForUser(address)\":{\"params\":{\"_user\":\"Address of user being queried.\"},\"returns\":{\"_0\":\"Info struct containing name, symbol, staking address, and reward accumulator address.\"}},\"getSwapPool(address)\":{\"returns\":{\"_0\":\"address of the swap pool associated with the token.\"}},\"getTotalAmountStakedByUser(address)\":{\"params\":{\"_user\":\"Address of the user staking.\"},\"returns\":{\"amount\":\"uint256 Amount of rare the user is staking.\"}},\"getTotalAmountStakedOnUser(address)\":{\"params\":{\"_user\":\"Address of the user being staked on.\"},\"returns\":{\"amount\":\"uint256 Amount of rare being staked on the user.\"}},\"getUsersForStakingAddresses(address[])\":{\"details\":\"Order maintained and zero address returned if it doesnt exist.This function is intended to be called off chain.\",\"params\":{\"_stakingAddrs\":\"Addresses of staking contracts being queried.\"}},\"getWethAddress()\":{\"returns\":{\"_0\":\"address Address of Wrapped Ethereum.\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAmountStaked(address,address,uint256)\":{\"details\":\"Requires the caller to have the {STAKING_STAT_SETTER_ROLE} access control role.\",\"params\":{\"_amount\":\"The amount of $RARE that has been staked.\",\"_stakedOn\":\"The user who is being staked on.\",\"_staker\":\"The user who is staking.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setDefaultPayee(address)\":{\"details\":\"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.\",\"params\":{\"_payee\":\"Address of the account to be the new default payee.\"}},\"setDeflationaryPercentage(uint256)\":{\"details\":\"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.\",\"params\":{\"_percentage\":\"The new deflactionary percentage.\"}},\"setDiscountPercentage(uint256)\":{\"details\":\"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.\",\"params\":{\"_percentage\":\"The new discount percentage.\"}},\"setPeriodLength(uint256)\":{\"details\":\"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.\",\"params\":{\"_periodLength\":\"The new period start.\"}},\"setResolver(address)\":{\"details\":\"Requires the caller to have the {ENS_SETTER_ROLE} access control role.\",\"params\":{\"_resolver\":\"The new period start.\"}},\"setReverseRegistrar(address)\":{\"details\":\"Requires the caller to have the {ENS_SETTER_ROLE} access control role.\",\"params\":{\"_reverseRegistrar\":\"The new period start.\"}},\"setStakingAddresses(address,address,address)\":{\"details\":\"Requires the caller to have the {STAKING_INFO_SETTER_ROLE} access control role.\"},\"setSwapPool(address,address)\":{\"details\":\"Requires the caller to have the {SWAP_POOL_SETTER_ROLE} of the contract.\",\"params\":{\"_token\":\"Address of ERC20 contract.\",\"_uniswapPool\":\"Address of uniswap pool.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferRareFrom(address,address,uint256)\":{\"details\":\"Only staking pool contracts can call this.\",\"params\":{\"_amount\":\"uint256 amount to transfer.\",\"_from\":\"Address to transfer the tokens from.\",\"_to\":\"Address to transfer the tokens to.\"}},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"ENS_SETTER_ROLE\":{\"return\":\"bytes32 value of the ens setter role.\",\"returns\":{\"_0\":\"bytes32 value of the ens setter role.\"}},\"STAKING_CONFIG_SETTER_ROLE\":{\"return\":\"bytes32 value of the staking config setter role.\",\"returns\":{\"_0\":\"bytes32 value of the staking config setter role.\"}},\"STAKING_INFO_SETTER_ROLE\":{\"return\":\"bytes32 value of the staking info setter role.\",\"returns\":{\"_0\":\"bytes32 value of the staking info setter role.\"}},\"STAKING_STAT_SETTER_ADMIN_ROLE\":{\"return\":\"bytes32 value of the staking stat setter admin role.\",\"returns\":{\"_0\":\"bytes32 value of the staking stat setter admin role.\"}},\"STAKING_STAT_SETTER_ROLE\":{\"return\":\"bytes32 value of the stat setter role.\",\"returns\":{\"_0\":\"bytes32 value of the stat setter role.\"}},\"SWAP_POOL_SETTER_ROLE\":{\"return\":\"bytes32 value of the swap pool setter role.\",\"returns\":{\"_0\":\"bytes32 value of the swap pool setter role.\"}}},\"title\":\"RareStakingRegistry\",\"version\":1},\"userdoc\":{\"errors\":{\"InsufficientRareAllowance()\":[{\"notice\":\"Error emitted in {transferRareFrom} when a user performs an action that requires moving $RARE but has not made enough allowance for the registry.\"}],\"InvalidPool()\":[{\"notice\":\"Emitted via {setSwapPool} if the pool doesn't match the token and pairs with WETH.\"}],\"PercentageBeyondLimit()\":[{\"notice\":\"Emitted when a percentage is beyond the specified limit.\"}],\"PeriodLengthBeyondLimit()\":[{\"notice\":\"Emitted when a Period Length is beyond the specified limit.\"}],\"RenouncingAdmin()\":[{\"notice\":\"Emitted when renouncing the admin role and no other account has the role.\"}],\"StakingContractAlreadyExists()\":[{\"notice\":\"Emitted via {setStakingAddress} if the user already has a staking address.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when guarded functions are called by users without the necessary permissions.\"}],\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"DefaultPayeeUpdated(address)\":{\"notice\":\"Emitted via {setDefaultPayee} when the defaultPayee is updated.\"},\"DeflationaryPercentageUpdated(uint256)\":{\"notice\":\"Emitted via {setDeflationaryPercentage} when the deflationaryPercentage is updated.\"},\"DiscountPercentageUpdated(uint256)\":{\"notice\":\"Emitted via {setDiscountPercentage} when the discountedPercent is updated.\"},\"PeriodLengthUpdated(uint256)\":{\"notice\":\"Emitted via {setPeriodLength} when the periodLength is updated.\"},\"ResolverUpdated(address)\":{\"notice\":\"Emitted via {setResolver} when the ENS resolver is updated.\"},\"ReverseRegistrarUpdated(address)\":{\"notice\":\"Emitted via {setReverseRegistrar} when the ENS reverse registrar is updated.\"},\"SetSwapPool(address,address)\":{\"notice\":\"Emitted via {setSwapPool} when a new swap pool has been set.\"}},\"kind\":\"user\",\"methods\":{\"ENS_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating the ENS resolvers.\"},\"STAKING_CONFIG_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for period length, deflationary percentages, and the default payee.\"},\"STAKING_INFO_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for setting the staking address of a user.\"},\"STAKING_STAT_SETTER_ADMIN_ROLE()\":{\"notice\":\"Bytes32 representation of the admin role for granting the ability to set amount staked for a single user/total amount staked on a user.\"},\"STAKING_STAT_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating the amount being staked on a user/amount a user is staking globally.\"},\"SWAP_POOL_SETTER_ROLE()\":{\"notice\":\"Bytes32 representation of the role used for updating uniswap pools.\"},\"decreaseAmountStaked(address,address,uint256)\":{\"notice\":\"Decrease the amount staked when a user unstakes.\"},\"getDefaultPayee()\":{\"notice\":\"Get the address for sending rewards if there are no stakers.\"},\"getDeflationaryPercentage()\":{\"notice\":\"Get the unstake deflationary percentage.\"},\"getDiscountPercentage()\":{\"notice\":\"Get reward swap discount percentage.\"},\"getPeriodLength()\":{\"notice\":\"Get the round period length.\"},\"getRareAddress()\":{\"notice\":\"Retrieve the address of $RARE.\"},\"getRewardAccumulatorAddressForUser(address)\":{\"notice\":\"Retrieves the reward accumulator address for a given user.\"},\"getStakingAddressForUser(address)\":{\"notice\":\"Retrieves the staking address for a given user.\"},\"getStakingInfoForUser(address)\":{\"notice\":\"Retrieves the staking info for a given user.\"},\"getSwapPool(address)\":{\"notice\":\"Get the swap pool address for the ERC20 token.\"},\"getTotalAmountStakedByUser(address)\":{\"notice\":\"Retrieves the total amount of rare staked by a given user.\"},\"getTotalAmountStakedOnUser(address)\":{\"notice\":\"Retrieves the total amount of rare being staked on a given user.\"},\"getUsersForStakingAddresses(address[])\":{\"notice\":\"Query the users for the following staking addresseses.\"},\"getWethAddress()\":{\"notice\":\"Retrieve the address of Wrapped Ethereum.\"},\"increaseAmountStaked(address,address,uint256)\":{\"notice\":\"Increase amount staked when a user stakes.\"},\"setDefaultPayee(address)\":{\"notice\":\"Set the default payee.\"},\"setDeflationaryPercentage(uint256)\":{\"notice\":\"Set the unstake deflationary percentage.\"},\"setDiscountPercentage(uint256)\":{\"notice\":\"Set the reward swap discount percentage.\"},\"setPeriodLength(uint256)\":{\"notice\":\"Set the round period length time.\"},\"setResolver(address)\":{\"notice\":\"Set the ENS resolver address.\"},\"setReverseRegistrar(address)\":{\"notice\":\"Set the ENS reverse registrar address.\"},\"setSwapPool(address,address)\":{\"notice\":\"Set the uniswap pool address for the given ERC20 token.\"},\"transferRareFrom(address,address,uint256)\":{\"notice\":\"Pools to transfer $RARE tokens, usually into pools. This is so users only need to approve the registry when staking or performing reward swaps.\"}},\"notice\":\"The Staking Registry contract that holds info such as the staking contract for a given user and global staking stats.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/registry/RareStakingRegistry.sol\":\"RareStakingRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x7cb1158c7d268b63de1468e28e2711b28d686e2628ddb22da2149cd93ddeafda\",\"urls\":[\"bzz-raw://a7018309acca24b10ea1235b1c27828f29f2ddfabb653a794639baf620dc2314\",\"dweb:/ipfs/QmakFQT5NFvGs3g8xxwtgtWdddq28Wtm6MjNSpJNhV1YpR\"]},\"lib/ens-contracts/contracts/registry/IReverseRegistrar.sol\":{\"keccak256\":\"0x83adfcf6da72b1bcd1e3ac387afe5fc7fdf7f2ac28b7601544d2ca4b9d45d159\",\"urls\":[\"bzz-raw://ca4b52ebdeb0fcddedded0e0027e530df4468c25b438ce0d4699b188603a4560\",\"dweb:/ipfs/QmW3LPwkwcL84rBu8cbLagKQPMGunXnh6cZfm6RRyfXArb\"]},\"lib/ens-contracts/contracts/registry/ReverseRegistrar.sol\":{\"keccak256\":\"0x6c79056e7f564409e834619de2cf0511321dcbcf90b9f68d8ffed50fab070791\",\"urls\":[\"bzz-raw://881731d1a6e17885e3ea8eba31caae46d8ae5e266f7897666fcabf652f1d1b99\",\"dweb:/ipfs/QmReNiMnjyPRyLWRkcyFUSvL1vZ81MLtfuugGJRQZ5edzf\"]},\"lib/ens-contracts/contracts/resolvers/profiles/INameResolver.sol\":{\"keccak256\":\"0x9ec392b612447b1acbdc01114f2da2837a658d3f3157f60a99c5269f0b623346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b2cd9e5339b09f40e82bd91fed7d5f643dd031393eefb9aec588eaba8465049\",\"dweb:/ipfs/QmT2A8eswhJU9YadCs9BtwKNj6YGypntXmFepANQYyGw7x\"]},\"lib/ens-contracts/contracts/root/Controllable.sol\":{\"keccak256\":\"0xb19b8c0fafe9ca2b4bf8aaafee486fa31437672e1e1977bdf84bfe03464969db\",\"urls\":[\"bzz-raw://cd365d76a131b89fa0f6b4097e63032337d2c071c082f5b9ca4af85cd16b3350\",\"dweb:/ipfs/QmXcgvgArVaK9k4wfzEj2rGu86W6U3BAY8mw8jVaAwJpFH\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol\":{\"keccak256\":\"0xc2dfd6ba9449f61b6b03b262182faf302f093a8c05dd10792aeecb4ed1663c0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f79816b0fdc0a6f53173238932ef86e2d7089a6e87b6c5c9c27e6d60f3fe809a\",\"dweb:/ipfs/QmTtXQ8sw91q4n4nXZigNWH3YaGqsJjPXyWCgPGDC6s24j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol\":{\"keccak256\":\"0x7acbc538aad6eb4614e26612a8c5c0149bb8808db95e2638d245a8365f63e572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea07bdbf13b16d19ccf8a8f1a361c80bbfb6073e8b1d079b72f7a5f09dc642cd\",\"dweb:/ipfs/QmQh5YhCySYR5RSAEFTt3NaDhq6MCxvSTdFh56874JPxbY\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol\":{\"keccak256\":\"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622\",\"dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol\":{\"keccak256\":\"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8\",\"dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol\":{\"keccak256\":\"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca\",\"dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol\":{\"keccak256\":\"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f\",\"dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x9e064fd116cdd5ed4b0132d0606a372bd94ff243c0520bc723fb6b09e947c16e\",\"urls\":[\"bzz-raw://93d1a36262aa498a85ac7a275ead2cf410b9c674d6bef09d0972203cb33b724e\",\"dweb:/ipfs/QmY9T4HKDbPXEZPHzXaFbd2M86fV1Q68sBJYh8J9LDFApU\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b\",\"dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588\"]},\"lib/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97\",\"dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2\"]},\"lib/v3-periphery/contracts/libraries/OracleLibrary.sol\":{\"keccak256\":\"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313\",\"dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/registry/RareStakingRegistry.sol\":{\"keccak256\":\"0x59c1e348309fc54ba585807f6950af279da6000d0b69b350e104008ef79aa3eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f2fb4dcd47c5c84eaa0890204a35ec3b3e5020d34dc6832a5ea826c8f6e00bf\",\"dweb:/ipfs/QmSqkmQB7hjZWESL2mVDaPmYvKNRW3ikSRBYtwyhd6zhT8\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InsufficientRareAllowance"},{"inputs":[],"type":"error","name":"InvalidPool"},{"inputs":[],"type":"error","name":"PercentageBeyondLimit"},{"inputs":[],"type":"error","name":"PeriodLengthBeyondLimit"},{"inputs":[],"type":"error","name":"RenouncingAdmin"},{"inputs":[],"type":"error","name":"StakingContractAlreadyExists"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_payee","type":"address","indexed":false}],"type":"event","name":"DefaultPayeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256","indexed":false}],"type":"event","name":"DeflationaryPercentageUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256","indexed":false}],"type":"event","name":"DiscountPercentageUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_periodLength","type":"uint256","indexed":false}],"type":"event","name":"PeriodLengthUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_resolver","type":"address","indexed":false}],"type":"event","name":"ResolverUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_percentage","type":"address","indexed":false}],"type":"event","name":"ReverseRegistrarUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_uniswapPool","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false}],"type":"event","name":"SetSwapPool","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ENS_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_CONFIG_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_INFO_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_STAT_SETTER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_STAT_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SWAP_POOL_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_stakedOn","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAmountStaked"},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultPayee","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeflationaryPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDiscountPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPeriodLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRareAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getRewardAccumulatorAddressForUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getStakingAddressForUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getStakingInfoForUser","outputs":[{"internalType":"struct IRareStakingRegistry.Info","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"stakingAddress","type":"address"},{"internalType":"address","name":"rewardAddress","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"getSwapPool","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalAmountStakedByUser","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalAmountStakedOnUser","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_stakingAddrs","type":"address[]"}],"stateMutability":"view","type":"function","name":"getUsersForStakingAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWethAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_staker","type":"address"},{"internalType":"address","name":"_stakedOn","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAmountStaked"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_reverseRegistrar","type":"address"},{"internalType":"address","name":"_resolver","type":"address"},{"internalType":"uint256","name":"_periodLength","type":"uint256"},{"internalType":"uint256","name":"_deflationaryPercentage","type":"uint256"},{"internalType":"uint256","name":"_discountedPercent","type":"uint256"},{"internalType":"address","name":"_rare","type":"address"},{"internalType":"address","name":"_weth","type":"address"},{"internalType":"address","name":"_defaultPayee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"_payee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultPayee"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeflationaryPercentage"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDiscountPercentage"},{"inputs":[{"internalType":"uint256","name":"_periodLength","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setPeriodLength"},{"inputs":[{"internalType":"address","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setResolver"},{"inputs":[{"internalType":"address","name":"_reverseRegistrar","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReverseRegistrar"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_stakingAddress","type":"address"},{"internalType":"address","name":"_rewardSwapAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingAddresses"},{"inputs":[{"internalType":"address","name":"_uniswapPool","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSwapPool"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferRareFrom"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"decreaseAmountStaked(address,address,uint256)":{"details":"Requires the caller to have the {STAKING_STAT_SETTER_ROLE} access control role.","params":{"_amount":"The amount of $RARE that has been unstaked.","_stakedOn":"The user who was being staked on.","_staker":"The user who is unstaking."}},"getDefaultPayee()":{"returns":{"_0":"address to send rewards to."}},"getDeflationaryPercentage()":{"returns":{"_0":"uint256 deflationary percentage."}},"getDiscountPercentage()":{"returns":{"_0":"uint256 discount percentage."}},"getPeriodLength()":{"returns":{"_0":"uint256 period length."}},"getRareAddress()":{"returns":{"_0":"address Address of $RARE (the staking token to be used)."}},"getRewardAccumulatorAddressForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"address Reward accumulator address."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getRoleMember(bytes32,uint256)":{"details":"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information."},"getRoleMemberCount(bytes32)":{"details":"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role."},"getStakingAddressForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"address staking address."}},"getStakingInfoForUser(address)":{"params":{"_user":"Address of user being queried."},"returns":{"_0":"Info struct containing name, symbol, staking address, and reward accumulator address."}},"getSwapPool(address)":{"returns":{"_0":"address of the swap pool associated with the token."}},"getTotalAmountStakedByUser(address)":{"params":{"_user":"Address of the user staking."},"returns":{"amount":"uint256 Amount of rare the user is staking."}},"getTotalAmountStakedOnUser(address)":{"params":{"_user":"Address of the user being staked on."},"returns":{"amount":"uint256 Amount of rare being staked on the user."}},"getUsersForStakingAddresses(address[])":{"details":"Order maintained and zero address returned if it doesnt exist.This function is intended to be called off chain.","params":{"_stakingAddrs":"Addresses of staking contracts being queried."}},"getWethAddress()":{"returns":{"_0":"address Address of Wrapped Ethereum."}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"increaseAmountStaked(address,address,uint256)":{"details":"Requires the caller to have the {STAKING_STAT_SETTER_ROLE} access control role.","params":{"_amount":"The amount of $RARE that has been staked.","_stakedOn":"The user who is being staked on.","_staker":"The user who is staking."}},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setDefaultPayee(address)":{"details":"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.","params":{"_payee":"Address of the account to be the new default payee."}},"setDeflationaryPercentage(uint256)":{"details":"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.","params":{"_percentage":"The new deflactionary percentage."}},"setDiscountPercentage(uint256)":{"details":"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.","params":{"_percentage":"The new discount percentage."}},"setPeriodLength(uint256)":{"details":"Requires the caller to have the {STAKING_CONFIG_SETTER_ROLE} access control role.","params":{"_periodLength":"The new period start."}},"setResolver(address)":{"details":"Requires the caller to have the {ENS_SETTER_ROLE} access control role.","params":{"_resolver":"The new period start."}},"setReverseRegistrar(address)":{"details":"Requires the caller to have the {ENS_SETTER_ROLE} access control role.","params":{"_reverseRegistrar":"The new period start."}},"setStakingAddresses(address,address,address)":{"details":"Requires the caller to have the {STAKING_INFO_SETTER_ROLE} access control role."},"setSwapPool(address,address)":{"details":"Requires the caller to have the {SWAP_POOL_SETTER_ROLE} of the contract.","params":{"_token":"Address of ERC20 contract.","_uniswapPool":"Address of uniswap pool."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferRareFrom(address,address,uint256)":{"details":"Only staking pool contracts can call this.","params":{"_amount":"uint256 amount to transfer.","_from":"Address to transfer the tokens from.","_to":"Address to transfer the tokens to."}},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"ENS_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating the ENS resolvers."},"STAKING_CONFIG_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for period length, deflationary percentages, and the default payee."},"STAKING_INFO_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for setting the staking address of a user."},"STAKING_STAT_SETTER_ADMIN_ROLE()":{"notice":"Bytes32 representation of the admin role for granting the ability to set amount staked for a single user/total amount staked on a user."},"STAKING_STAT_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating the amount being staked on a user/amount a user is staking globally."},"SWAP_POOL_SETTER_ROLE()":{"notice":"Bytes32 representation of the role used for updating uniswap pools."},"decreaseAmountStaked(address,address,uint256)":{"notice":"Decrease the amount staked when a user unstakes."},"getDefaultPayee()":{"notice":"Get the address for sending rewards if there are no stakers."},"getDeflationaryPercentage()":{"notice":"Get the unstake deflationary percentage."},"getDiscountPercentage()":{"notice":"Get reward swap discount percentage."},"getPeriodLength()":{"notice":"Get the round period length."},"getRareAddress()":{"notice":"Retrieve the address of $RARE."},"getRewardAccumulatorAddressForUser(address)":{"notice":"Retrieves the reward accumulator address for a given user."},"getStakingAddressForUser(address)":{"notice":"Retrieves the staking address for a given user."},"getStakingInfoForUser(address)":{"notice":"Retrieves the staking info for a given user."},"getSwapPool(address)":{"notice":"Get the swap pool address for the ERC20 token."},"getTotalAmountStakedByUser(address)":{"notice":"Retrieves the total amount of rare staked by a given user."},"getTotalAmountStakedOnUser(address)":{"notice":"Retrieves the total amount of rare being staked on a given user."},"getUsersForStakingAddresses(address[])":{"notice":"Query the users for the following staking addresseses."},"getWethAddress()":{"notice":"Retrieve the address of Wrapped Ethereum."},"increaseAmountStaked(address,address,uint256)":{"notice":"Increase amount staked when a user stakes."},"setDefaultPayee(address)":{"notice":"Set the default payee."},"setDeflationaryPercentage(uint256)":{"notice":"Set the unstake deflationary percentage."},"setDiscountPercentage(uint256)":{"notice":"Set the reward swap discount percentage."},"setPeriodLength(uint256)":{"notice":"Set the round period length time."},"setResolver(address)":{"notice":"Set the ENS resolver address."},"setReverseRegistrar(address)":{"notice":"Set the ENS reverse registrar address."},"setSwapPool(address,address)":{"notice":"Set the uniswap pool address for the given ERC20 token."},"transferRareFrom(address,address,uint256)":{"notice":"Pools to transfer $RARE tokens, usually into pools. This is so users only need to approve the registry when staking or performing reward swaps."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/registry/RareStakingRegistry.sol":"RareStakingRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/ens-contracts/contracts/registry/ENS.sol":{"keccak256":"0x7cb1158c7d268b63de1468e28e2711b28d686e2628ddb22da2149cd93ddeafda","urls":["bzz-raw://a7018309acca24b10ea1235b1c27828f29f2ddfabb653a794639baf620dc2314","dweb:/ipfs/QmakFQT5NFvGs3g8xxwtgtWdddq28Wtm6MjNSpJNhV1YpR"],"license":null},"lib/ens-contracts/contracts/registry/IReverseRegistrar.sol":{"keccak256":"0x83adfcf6da72b1bcd1e3ac387afe5fc7fdf7f2ac28b7601544d2ca4b9d45d159","urls":["bzz-raw://ca4b52ebdeb0fcddedded0e0027e530df4468c25b438ce0d4699b188603a4560","dweb:/ipfs/QmW3LPwkwcL84rBu8cbLagKQPMGunXnh6cZfm6RRyfXArb"],"license":null},"lib/ens-contracts/contracts/registry/ReverseRegistrar.sol":{"keccak256":"0x6c79056e7f564409e834619de2cf0511321dcbcf90b9f68d8ffed50fab070791","urls":["bzz-raw://881731d1a6e17885e3ea8eba31caae46d8ae5e266f7897666fcabf652f1d1b99","dweb:/ipfs/QmReNiMnjyPRyLWRkcyFUSvL1vZ81MLtfuugGJRQZ5edzf"],"license":null},"lib/ens-contracts/contracts/resolvers/profiles/INameResolver.sol":{"keccak256":"0x9ec392b612447b1acbdc01114f2da2837a658d3f3157f60a99c5269f0b623346","urls":["bzz-raw://5b2cd9e5339b09f40e82bd91fed7d5f643dd031393eefb9aec588eaba8465049","dweb:/ipfs/QmT2A8eswhJU9YadCs9BtwKNj6YGypntXmFepANQYyGw7x"],"license":"MIT"},"lib/ens-contracts/contracts/root/Controllable.sol":{"keccak256":"0xb19b8c0fafe9ca2b4bf8aaafee486fa31437672e1e1977bdf84bfe03464969db","urls":["bzz-raw://cd365d76a131b89fa0f6b4097e63032337d2c071c082f5b9ca4af85cd16b3350","dweb:/ipfs/QmXcgvgArVaK9k4wfzEj2rGu86W6U3BAY8mw8jVaAwJpFH"],"license":null},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol":{"keccak256":"0xc2dfd6ba9449f61b6b03b262182faf302f093a8c05dd10792aeecb4ed1663c0c","urls":["bzz-raw://f79816b0fdc0a6f53173238932ef86e2d7089a6e87b6c5c9c27e6d60f3fe809a","dweb:/ipfs/QmTtXQ8sw91q4n4nXZigNWH3YaGqsJjPXyWCgPGDC6s24j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol":{"keccak256":"0x7acbc538aad6eb4614e26612a8c5c0149bb8808db95e2638d245a8365f63e572","urls":["bzz-raw://ea07bdbf13b16d19ccf8a8f1a361c80bbfb6073e8b1d079b72f7a5f09dc642cd","dweb:/ipfs/QmQh5YhCySYR5RSAEFTt3NaDhq6MCxvSTdFh56874JPxbY"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol":{"keccak256":"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3","urls":["bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622","dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol":{"keccak256":"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c","urls":["bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8","dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol":{"keccak256":"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447","urls":["bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca","dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol":{"keccak256":"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f","urls":["bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f","dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x9e064fd116cdd5ed4b0132d0606a372bd94ff243c0520bc723fb6b09e947c16e","urls":["bzz-raw://93d1a36262aa498a85ac7a275ead2cf410b9c674d6bef09d0972203cb33b724e","dweb:/ipfs/QmY9T4HKDbPXEZPHzXaFbd2M86fV1Q68sBJYh8J9LDFApU"],"license":null},"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19","urls":["bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b","dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588"],"license":"MIT"},"lib/v3-core/contracts/libraries/TickMath.sol":{"keccak256":"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347","urls":["bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97","dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/libraries/OracleLibrary.sol":{"keccak256":"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a","urls":["bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313","dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR"],"license":"GPL-2.0-or-later"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/registry/RareStakingRegistry.sol":{"keccak256":"0x59c1e348309fc54ba585807f6950af279da6000d0b69b350e104008ef79aa3eb","urls":["bzz-raw://3f2fb4dcd47c5c84eaa0890204a35ec3b3e5020d34dc6832a5ea826c8f6e00bf","dweb:/ipfs/QmSqkmQB7hjZWESL2mVDaPmYvKNRW3ikSRBYtwyhd6zhT8"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":194} \ No newline at end of file diff --git a/abis/RarestOfFaucets.json b/abis/RarestOfFaucets.json index 8f03c2a..62d4b40 100644 --- a/abis/RarestOfFaucets.json +++ b/abis/RarestOfFaucets.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_rare","type":"address","internalType":"address"},{"name":"_distributor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"claimEth","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimRare","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCooldownEth","inputs":[{"name":"_cooldown","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCooldownRare","inputs":[{"name":"_cooldown","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDistributor","inputs":[{"name":"_distributor","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEthAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRareAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawAll","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ChillOut","inputs":[]},{"type":"error","name":"DontBeGreedy","inputs":[]},{"type":"error","name":"YUNoWork","inputs":[]}],"bytecode":{"object":"0x6080346100e757601f61079d38819003918201601f19168301916001600160401b038311848410176100ec5780849260409485528339810103126100e757610052602061004b83610102565b9201610102565b60008054336001600160a01b0319808316821784556040519590946001600160a01b03949093859391908416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a316836008541617600855620151808060035560045567016345785d8a0000600555683635c9adc5dea000006006551690600754161760075561068690816101178239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e75756fe6080604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816342c96d6c146104795750806360e7fa0614610457578063715018a6146103fa57806375619ab5146103b15780637b56ad661461038f578063841722821461036d578063853828b61461022f5780638da5cb5b14610207578063b7cdddcb14610196578063b87c7d43146101705763f2fde38b03610012573461016c57602036600319011261016c576001600160a01b03823581811693919290849003610168576100d5610540565b831561011657505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b5050346101925760203660031901126101925761018b610540565b3560055580f35b5080fd5b503461016c578260031936011261016c5733835260026020528083205442106101fa576101c560035442610598565b33845260026020528184205582808080600554335af16101e3610610565b50156101ed578280f35b51635bc1837760e01b8152fd5b5163566544c960e01b8152fd5b838234610192578160031936011261019257905490516001600160a01b039091168152602090f35b503461016c578260031936011261016c5782546001600160a01b03908116330361035f578380808047335af1610263610610565b501561035157600854169080516370a0823160e01b815230848201526020938482602481875afa91821561034757908592918792610310575b50835163a9059cbb60e01b8152339181019182526020820192909252909384918290889082906040015b03925af190811561030757506102da578280f35b816102f992903d10610300575b6102f181836105bb565b8101906105f3565b5038808280f35b503d6102e7565b513d85823e3d90fd5b8381949293503d8311610340575b61032881836105bb565b8101031261033c57905184916102c661029c565b8580fd5b503d61031e565b83513d88823e3d90fd5b5051635bc1837760e01b8152fd5b50516306b6632960e41b8152fd5b50503461019257602036600319011261019257610388610540565b8035905580f35b505034610192576020366003190112610192576103aa610540565b3560035580f35b50503461019257602036600319011261019257356001600160a01b03811690819003610192576103df610540565b6bffffffffffffffffffffffff60a01b600754161760075580f35b8334610454578060031936011261045457610413610540565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50503461019257602036600319011261019257610472610540565b3560065580f35b849291503461016c578260031936011261016c57338352600160205281832054421061053257506020836104b26104fa94955442610598565b338087526001845284872091909155600854600654855163a9059cbb60e01b81529384019283526020830152919485926001600160a01b031691839188918391604090910190565b03925af1908115610529575061050e575080f35b6105259060203d8111610300576102f181836105bb565b5080f35b513d84823e3d90fd5b63566544c960e01b81528390fd5b6000546001600160a01b0316330361055457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b919082018092116105a557565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105dd57604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261060b5751801515810361060b5790565b600080fd5b3d1561064b573d9067ffffffffffffffff82116105dd576040519161063f601f8201601f1916602001846105bb565b82523d6000602084013e565b60609056fea2646970667358221220c79be39cffb72742664c12cbf5d499c20979ab5765d6935c60528d6cff7226a164736f6c63430008120033","sourceMap":"194:2013:159:-:0;;;;;;;;;;;;;-1:-1:-1;;194:2013:159;;;;-1:-1:-1;;;;;194:2013:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;194:2013:159;;719:10:99;-1:-1:-1;;;;;;194:2013:159;;;;;;;;;;;;-1:-1:-1;;;;;194:2013:159;;;;;719:10:99;194:2013:159;;;;2566:40:78;;-1:-1:-1;2566:40:78;194:2013:159;;660:20;194:2013;;;660:20;194:2013;704:6;194:2013;690:20;194:2013;720:21;194:2013;763:9;751:21;194:2013;795:10;782:23;194:2013;;;815:26;194:2013;;;815:26;194:2013;;;;;;;;;-1:-1:-1;194:2013:159;;;;;;-1:-1:-1;194:2013:159;;;;;-1:-1:-1;194:2013:159;;;;-1:-1:-1;;;;;194:2013:159;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816342c96d6c146104795750806360e7fa0614610457578063715018a6146103fa57806375619ab5146103b15780637b56ad661461038f578063841722821461036d578063853828b61461022f5780638da5cb5b14610207578063b7cdddcb14610196578063b87c7d43146101705763f2fde38b03610012573461016c57602036600319011261016c576001600160a01b03823581811693919290849003610168576100d5610540565b831561011657505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b5050346101925760203660031901126101925761018b610540565b3560055580f35b5080fd5b503461016c578260031936011261016c5733835260026020528083205442106101fa576101c560035442610598565b33845260026020528184205582808080600554335af16101e3610610565b50156101ed578280f35b51635bc1837760e01b8152fd5b5163566544c960e01b8152fd5b838234610192578160031936011261019257905490516001600160a01b039091168152602090f35b503461016c578260031936011261016c5782546001600160a01b03908116330361035f578380808047335af1610263610610565b501561035157600854169080516370a0823160e01b815230848201526020938482602481875afa91821561034757908592918792610310575b50835163a9059cbb60e01b8152339181019182526020820192909252909384918290889082906040015b03925af190811561030757506102da578280f35b816102f992903d10610300575b6102f181836105bb565b8101906105f3565b5038808280f35b503d6102e7565b513d85823e3d90fd5b8381949293503d8311610340575b61032881836105bb565b8101031261033c57905184916102c661029c565b8580fd5b503d61031e565b83513d88823e3d90fd5b5051635bc1837760e01b8152fd5b50516306b6632960e41b8152fd5b50503461019257602036600319011261019257610388610540565b8035905580f35b505034610192576020366003190112610192576103aa610540565b3560035580f35b50503461019257602036600319011261019257356001600160a01b03811690819003610192576103df610540565b6bffffffffffffffffffffffff60a01b600754161760075580f35b8334610454578060031936011261045457610413610540565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50503461019257602036600319011261019257610472610540565b3560065580f35b849291503461016c578260031936011261016c57338352600160205281832054421061053257506020836104b26104fa94955442610598565b338087526001845284872091909155600854600654855163a9059cbb60e01b81529384019283526020830152919485926001600160a01b031691839188918391604090910190565b03925af1908115610529575061050e575080f35b6105259060203d8111610300576102f181836105bb565b5080f35b513d84823e3d90fd5b63566544c960e01b81528390fd5b6000546001600160a01b0316330361055457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b919082018092116105a557565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105dd57604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261060b5751801515810361060b5790565b600080fd5b3d1561064b573d9067ffffffffffffffff82116105dd576040519161063f601f8201601f1916602001846105bb565b82523d6000602084013e565b60609056fea2646970667358221220c79be39cffb72742664c12cbf5d499c20979ab5765d6935c60528d6cff7226a164736f6c63430008120033","sourceMap":"194:2013:159:-:0;;;;;;;;;;;;;-1:-1:-1;194:2013:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;194:2013:159;;;;-1:-1:-1;;;;;194:2013:159;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;2162:22;;194:2013:159;;-1:-1:-1;;194:2013:159;;-1:-1:-1;;;;;;194:2013:159;;;;;;;2566:40:78;194:2013:159;;2566:40:78;194:2013:159;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;194:2013:159;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;194:2013:159;;;;1063:62:78;;:::i;:::-;194:2013:159;1140:19;194:2013;;;;;;;;;;;;;;;;;;;;1678:10;194:2013;;1665:12;194:2013;;;;;;1692:15;-1:-1:-1;1661:65:159;;1763:29;194:2013;;1692:15;1763:29;:::i;:::-;1678:10;194:2013;;1665:12;194:2013;;;;;;;;;;1838:9;194:2013;1678:10;1815:37;;;;:::i;:::-;;1866:2;1862:25;;194:2013;;;1862:25;194:2013;-1:-1:-1;;;1877:10:159;;;1661:65;194:2013;-1:-1:-1;;;1716:10:159;;;194:2013;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;194:2013:159;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;194:2013:159;;;1946:10;:21;1942:48;;2036:21;;;;;1946:10;2013:49;;;;:::i;:::-;;2076:2;2072:25;;2107:4;194:2013;;;;;;;;2133:29;;2044:4;2133:29;;;194:2013;2133:29;;;;194:2013;2133:29;;;;;;;;;;;;;;;;;194:2013;-1:-1:-1;194:2013:159;;-1:-1:-1;;;2107:56:159;;1946:10;2107:56;;;194:2013;;;;;;;;;;;;;;;;;;;;;;2107:56;;;;;;;;;;;;;194:2013;;;2107:56;;;;;;-1:-1:-1;2107:56:159;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;194:2013;;;2107:56;;;;;;194:2013;;;;;;;;2133:29;;;;;;;;;;;;;;;;;:::i;:::-;;;194:2013;;;;;;;;2107:56;2133:29;;194:2013;;;;2133:29;;;;;;194:2013;;;;;;;;;2072:25;-1:-1:-1;194:2013:159;-1:-1:-1;;;2087:10:159;;;1942:48;-1:-1:-1;194:2013:159;-1:-1:-1;;;1976:14:159;;;194:2013;;;;;;;;-1:-1:-1;;194:2013:159;;;;1063:62:78;;:::i;:::-;194:2013:159;;;;;;;;;;;;;;-1:-1:-1;;194:2013:159;;;;1063:62:78;;:::i;:::-;194:2013:159;;;;;;;;;;;;;-1:-1:-1;;194:2013:159;;;;;-1:-1:-1;;;;;194:2013:159;;;;;;;;1063:62:78;;:::i;:::-;194:2013:159;;;1349:26;194:2013;;;1349:26;194:2013;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;194:2013:159;;-1:-1:-1;;;;;;194:2013:159;;;;;;-1:-1:-1;;;;;194:2013:159;2566:40:78;194:2013:159;;2566:40:78;194:2013:159;;;;;;;;;;;;;-1:-1:-1;;194:2013:159;;;;1063:62:78;;:::i;:::-;194:2013:159;1241:20;194:2013;;;;;;;;;;;;;;;;;;;1446:10;194:2013;;1432:13;194:2013;;;;;;1460:15;-1:-1:-1;1428:66:159;;194:2013;;;1532:30;1572:37;194:2013;;;1460:15;1532:30;:::i;:::-;1446:10;194:2013;;;1432:13;194:2013;;;;;;;;;1572:4;194:2013;1598:10;194:2013;;;-1:-1:-1;;;1572:37:159;;;;;194:2013;;;;;;;;;;;-1:-1:-1;;;;;194:2013:159;;;;;;;;;;;;;;1572:37;;;;;;;;;;;;;194:2013;;;1572:37;;;194:2013;1572:37;;;;;;;;;:::i;:::-;;194:2013;;1572:37;194:2013;;;;;;;;1428:66;-1:-1:-1;;;1484:10:159;;;;;1359:130:78;1273:6;194:2013:159;-1:-1:-1;;;;;194:2013:159;719:10:99;1422:23:78;194:2013:159;;1359:130:78:o;194:2013:159:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;194:2013:159;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;194:2013:159;;;;;:::i;:::-;;;;-1:-1:-1;194:2013:159;;;;:::o;:::-;;;:::o","linkReferences":{}},"methodIdentifiers":{"claimEth()":"b7cdddcb","claimRare()":"42c96d6c","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setCooldownEth(uint256)":"7b56ad66","setCooldownRare(uint256)":"84172282","setDistributor(address)":"75619ab5","setEthAmount(uint256)":"b87c7d43","setRareAmount(uint256)":"60e7fa06","transferOwnership(address)":"f2fde38b","withdrawAll()":"853828b6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rare\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_distributor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ChillOut\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DontBeGreedy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"YUNoWork\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"claimEth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimRare\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cooldown\",\"type\":\"uint256\"}],\"name\":\"setCooldownEth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cooldown\",\"type\":\"uint256\"}],\"name\":\"setCooldownRare\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_distributor\",\"type\":\"address\"}],\"name\":\"setDistributor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"setEthAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"setRareAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/faucet/RarestOfFaucets.sol\":\"RarestOfFaucets\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/faucet/RarestOfFaucets.sol\":{\"keccak256\":\"0x597adf0bd5eef316570c166733e3e5a422bfee6fccc37320952356b1747d1f36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dc31dae4535fd95019aea451f66c8b5d72eed8f8d9c334129a062bd1441bd27\",\"dweb:/ipfs/QmTBhAhFjxZX7dBH5j9iis1KjsTTRGw49Uw6P4Ka7zmY8t\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_rare","type":"address"},{"internalType":"address","name":"_distributor","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ChillOut"},{"inputs":[],"type":"error","name":"DontBeGreedy"},{"inputs":[],"type":"error","name":"YUNoWork"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"claimEth"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"claimRare"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_cooldown","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCooldownEth"},{"inputs":[{"internalType":"uint256","name":"_cooldown","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCooldownRare"},{"inputs":[{"internalType":"address","name":"_distributor","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDistributor"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setEthAmount"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRareAmount"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"withdrawAll"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/faucet/RarestOfFaucets.sol":"RarestOfFaucets"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/faucet/RarestOfFaucets.sol":{"keccak256":"0x597adf0bd5eef316570c166733e3e5a422bfee6fccc37320952356b1747d1f36","urls":["bzz-raw://0dc31dae4535fd95019aea451f66c8b5d72eed8f8d9c334129a062bd1441bd27","dweb:/ipfs/QmTBhAhFjxZX7dBH5j9iis1KjsTTRGw49Uw6P4Ka7zmY8t"],"license":"MIT"}},"version":1},"id":159} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_rare","type":"address","internalType":"address"},{"name":"_distributor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"claimEth","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimRare","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCooldownEth","inputs":[{"name":"_cooldown","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCooldownRare","inputs":[{"name":"_cooldown","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDistributor","inputs":[{"name":"_distributor","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEthAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRareAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawAll","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ChillOut","inputs":[]},{"type":"error","name":"DontBeGreedy","inputs":[]},{"type":"error","name":"YUNoWork","inputs":[]}],"bytecode":{"object":"0x6080346100e757601f61079d38819003918201601f19168301916001600160401b038311848410176100ec5780849260409485528339810103126100e757610052602061004b83610102565b9201610102565b60008054336001600160a01b0319808316821784556040519590946001600160a01b03949093859391908416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a316836008541617600855620151808060035560045567016345785d8a0000600555683635c9adc5dea000006006551690600754161760075561068690816101178239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e75756fe6080604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816342c96d6c146104795750806360e7fa0614610457578063715018a6146103fa57806375619ab5146103b15780637b56ad661461038f578063841722821461036d578063853828b61461022f5780638da5cb5b14610207578063b7cdddcb14610196578063b87c7d43146101705763f2fde38b03610012573461016c57602036600319011261016c576001600160a01b03823581811693919290849003610168576100d5610540565b831561011657505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b5050346101925760203660031901126101925761018b610540565b3560055580f35b5080fd5b503461016c578260031936011261016c5733835260026020528083205442106101fa576101c560035442610598565b33845260026020528184205582808080600554335af16101e3610610565b50156101ed578280f35b51635bc1837760e01b8152fd5b5163566544c960e01b8152fd5b838234610192578160031936011261019257905490516001600160a01b039091168152602090f35b503461016c578260031936011261016c5782546001600160a01b03908116330361035f578380808047335af1610263610610565b501561035157600854169080516370a0823160e01b815230848201526020938482602481875afa91821561034757908592918792610310575b50835163a9059cbb60e01b8152339181019182526020820192909252909384918290889082906040015b03925af190811561030757506102da578280f35b816102f992903d10610300575b6102f181836105bb565b8101906105f3565b5038808280f35b503d6102e7565b513d85823e3d90fd5b8381949293503d8311610340575b61032881836105bb565b8101031261033c57905184916102c661029c565b8580fd5b503d61031e565b83513d88823e3d90fd5b5051635bc1837760e01b8152fd5b50516306b6632960e41b8152fd5b50503461019257602036600319011261019257610388610540565b8035905580f35b505034610192576020366003190112610192576103aa610540565b3560035580f35b50503461019257602036600319011261019257356001600160a01b03811690819003610192576103df610540565b6bffffffffffffffffffffffff60a01b600754161760075580f35b8334610454578060031936011261045457610413610540565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50503461019257602036600319011261019257610472610540565b3560065580f35b849291503461016c578260031936011261016c57338352600160205281832054421061053257506020836104b26104fa94955442610598565b338087526001845284872091909155600854600654855163a9059cbb60e01b81529384019283526020830152919485926001600160a01b031691839188918391604090910190565b03925af1908115610529575061050e575080f35b6105259060203d8111610300576102f181836105bb565b5080f35b513d84823e3d90fd5b63566544c960e01b81528390fd5b6000546001600160a01b0316330361055457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b919082018092116105a557565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105dd57604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261060b5751801515810361060b5790565b600080fd5b3d1561064b573d9067ffffffffffffffff82116105dd576040519161063f601f8201601f1916602001846105bb565b82523d6000602084013e565b60609056fea2646970667358221220e0000bbe2a93aed13af27656cbde0de751cad3cd21f329431831d04728946cf364736f6c63430008120033","sourceMap":"194:2013:170:-:0;;;;;;;;;;;;;-1:-1:-1;;194:2013:170;;;;-1:-1:-1;;;;;194:2013:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;194:2013:170;;719:10:102;-1:-1:-1;;;;;;194:2013:170;;;;;;;;;;;;-1:-1:-1;;;;;194:2013:170;;;;;719:10:102;194:2013:170;;;;2566:40:81;;-1:-1:-1;2566:40:81;194:2013:170;;660:20;194:2013;;;660:20;194:2013;704:6;194:2013;690:20;194:2013;720:21;194:2013;763:9;751:21;194:2013;795:10;782:23;194:2013;;;815:26;194:2013;;;815:26;194:2013;;;;;;;;;-1:-1:-1;194:2013:170;;;;;;-1:-1:-1;194:2013:170;;;;;-1:-1:-1;194:2013:170;;;;-1:-1:-1;;;;;194:2013:170;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816342c96d6c146104795750806360e7fa0614610457578063715018a6146103fa57806375619ab5146103b15780637b56ad661461038f578063841722821461036d578063853828b61461022f5780638da5cb5b14610207578063b7cdddcb14610196578063b87c7d43146101705763f2fde38b03610012573461016c57602036600319011261016c576001600160a01b03823581811693919290849003610168576100d5610540565b831561011657505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b5050346101925760203660031901126101925761018b610540565b3560055580f35b5080fd5b503461016c578260031936011261016c5733835260026020528083205442106101fa576101c560035442610598565b33845260026020528184205582808080600554335af16101e3610610565b50156101ed578280f35b51635bc1837760e01b8152fd5b5163566544c960e01b8152fd5b838234610192578160031936011261019257905490516001600160a01b039091168152602090f35b503461016c578260031936011261016c5782546001600160a01b03908116330361035f578380808047335af1610263610610565b501561035157600854169080516370a0823160e01b815230848201526020938482602481875afa91821561034757908592918792610310575b50835163a9059cbb60e01b8152339181019182526020820192909252909384918290889082906040015b03925af190811561030757506102da578280f35b816102f992903d10610300575b6102f181836105bb565b8101906105f3565b5038808280f35b503d6102e7565b513d85823e3d90fd5b8381949293503d8311610340575b61032881836105bb565b8101031261033c57905184916102c661029c565b8580fd5b503d61031e565b83513d88823e3d90fd5b5051635bc1837760e01b8152fd5b50516306b6632960e41b8152fd5b50503461019257602036600319011261019257610388610540565b8035905580f35b505034610192576020366003190112610192576103aa610540565b3560035580f35b50503461019257602036600319011261019257356001600160a01b03811690819003610192576103df610540565b6bffffffffffffffffffffffff60a01b600754161760075580f35b8334610454578060031936011261045457610413610540565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50503461019257602036600319011261019257610472610540565b3560065580f35b849291503461016c578260031936011261016c57338352600160205281832054421061053257506020836104b26104fa94955442610598565b338087526001845284872091909155600854600654855163a9059cbb60e01b81529384019283526020830152919485926001600160a01b031691839188918391604090910190565b03925af1908115610529575061050e575080f35b6105259060203d8111610300576102f181836105bb565b5080f35b513d84823e3d90fd5b63566544c960e01b81528390fd5b6000546001600160a01b0316330361055457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b919082018092116105a557565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105dd57604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261060b5751801515810361060b5790565b600080fd5b3d1561064b573d9067ffffffffffffffff82116105dd576040519161063f601f8201601f1916602001846105bb565b82523d6000602084013e565b60609056fea2646970667358221220e0000bbe2a93aed13af27656cbde0de751cad3cd21f329431831d04728946cf364736f6c63430008120033","sourceMap":"194:2013:170:-:0;;;;;;;;;;;;;-1:-1:-1;194:2013:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;194:2013:170;;;;-1:-1:-1;;;;;194:2013:170;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;2162:22;;194:2013:170;;-1:-1:-1;;194:2013:170;;-1:-1:-1;;;;;;194:2013:170;;;;;;;2566:40:81;194:2013:170;;2566:40:81;194:2013:170;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;194:2013:170;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;194:2013:170;;;;1063:62:81;;:::i;:::-;194:2013:170;1140:19;194:2013;;;;;;;;;;;;;;;;;;;;1678:10;194:2013;;1665:12;194:2013;;;;;;1692:15;-1:-1:-1;1661:65:170;;1763:29;194:2013;;1692:15;1763:29;:::i;:::-;1678:10;194:2013;;1665:12;194:2013;;;;;;;;;;1838:9;194:2013;1678:10;1815:37;;;;:::i;:::-;;1866:2;1862:25;;194:2013;;;1862:25;194:2013;-1:-1:-1;;;1877:10:170;;;1661:65;194:2013;-1:-1:-1;;;1716:10:170;;;194:2013;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;194:2013:170;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;194:2013:170;;;1946:10;:21;1942:48;;2036:21;;;;;1946:10;2013:49;;;;:::i;:::-;;2076:2;2072:25;;2107:4;194:2013;;;;;;;;2133:29;;2044:4;2133:29;;;194:2013;2133:29;;;;194:2013;2133:29;;;;;;;;;;;;;;;;;194:2013;-1:-1:-1;194:2013:170;;-1:-1:-1;;;2107:56:170;;1946:10;2107:56;;;194:2013;;;;;;;;;;;;;;;;;;;;;;2107:56;;;;;;;;;;;;;194:2013;;;2107:56;;;;;;-1:-1:-1;2107:56:170;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;194:2013;;;2107:56;;;;;;194:2013;;;;;;;;2133:29;;;;;;;;;;;;;;;;;:::i;:::-;;;194:2013;;;;;;;;2107:56;2133:29;;194:2013;;;;2133:29;;;;;;194:2013;;;;;;;;;2072:25;-1:-1:-1;194:2013:170;-1:-1:-1;;;2087:10:170;;;1942:48;-1:-1:-1;194:2013:170;-1:-1:-1;;;1976:14:170;;;194:2013;;;;;;;;-1:-1:-1;;194:2013:170;;;;1063:62:81;;:::i;:::-;194:2013:170;;;;;;;;;;;;;;-1:-1:-1;;194:2013:170;;;;1063:62:81;;:::i;:::-;194:2013:170;;;;;;;;;;;;;-1:-1:-1;;194:2013:170;;;;;-1:-1:-1;;;;;194:2013:170;;;;;;;;1063:62:81;;:::i;:::-;194:2013:170;;;1349:26;194:2013;;;1349:26;194:2013;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;194:2013:170;;-1:-1:-1;;;;;;194:2013:170;;;;;;-1:-1:-1;;;;;194:2013:170;2566:40:81;194:2013:170;;2566:40:81;194:2013:170;;;;;;;;;;;;;-1:-1:-1;;194:2013:170;;;;1063:62:81;;:::i;:::-;194:2013:170;1241:20;194:2013;;;;;;;;;;;;;;;;;;;1446:10;194:2013;;1432:13;194:2013;;;;;;1460:15;-1:-1:-1;1428:66:170;;194:2013;;;1532:30;1572:37;194:2013;;;1460:15;1532:30;:::i;:::-;1446:10;194:2013;;;1432:13;194:2013;;;;;;;;;1572:4;194:2013;1598:10;194:2013;;;-1:-1:-1;;;1572:37:170;;;;;194:2013;;;;;;;;;;;-1:-1:-1;;;;;194:2013:170;;;;;;;;;;;;;;1572:37;;;;;;;;;;;;;194:2013;;;1572:37;;;194:2013;1572:37;;;;;;;;;:::i;:::-;;194:2013;;1572:37;194:2013;;;;;;;;1428:66;-1:-1:-1;;;1484:10:170;;;;;1359:130:81;1273:6;194:2013:170;-1:-1:-1;;;;;194:2013:170;719:10:102;1422:23:81;194:2013:170;;1359:130:81:o;194:2013:170:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;194:2013:170;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;194:2013:170;;;;;:::i;:::-;;;;-1:-1:-1;194:2013:170;;;;:::o;:::-;;;:::o","linkReferences":{}},"methodIdentifiers":{"claimEth()":"b7cdddcb","claimRare()":"42c96d6c","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setCooldownEth(uint256)":"7b56ad66","setCooldownRare(uint256)":"84172282","setDistributor(address)":"75619ab5","setEthAmount(uint256)":"b87c7d43","setRareAmount(uint256)":"60e7fa06","transferOwnership(address)":"f2fde38b","withdrawAll()":"853828b6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rare\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_distributor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ChillOut\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DontBeGreedy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"YUNoWork\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"claimEth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimRare\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cooldown\",\"type\":\"uint256\"}],\"name\":\"setCooldownEth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cooldown\",\"type\":\"uint256\"}],\"name\":\"setCooldownRare\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_distributor\",\"type\":\"address\"}],\"name\":\"setDistributor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"setEthAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"setRareAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/faucet/RarestOfFaucets.sol\":\"RarestOfFaucets\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/faucet/RarestOfFaucets.sol\":{\"keccak256\":\"0x597adf0bd5eef316570c166733e3e5a422bfee6fccc37320952356b1747d1f36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dc31dae4535fd95019aea451f66c8b5d72eed8f8d9c334129a062bd1441bd27\",\"dweb:/ipfs/QmTBhAhFjxZX7dBH5j9iis1KjsTTRGw49Uw6P4Ka7zmY8t\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_rare","type":"address"},{"internalType":"address","name":"_distributor","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ChillOut"},{"inputs":[],"type":"error","name":"DontBeGreedy"},{"inputs":[],"type":"error","name":"YUNoWork"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"claimEth"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"claimRare"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_cooldown","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCooldownEth"},{"inputs":[{"internalType":"uint256","name":"_cooldown","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCooldownRare"},{"inputs":[{"internalType":"address","name":"_distributor","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDistributor"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setEthAmount"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRareAmount"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"withdrawAll"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/faucet/RarestOfFaucets.sol":"RarestOfFaucets"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/faucet/RarestOfFaucets.sol":{"keccak256":"0x597adf0bd5eef316570c166733e3e5a422bfee6fccc37320952356b1747d1f36","urls":["bzz-raw://0dc31dae4535fd95019aea451f66c8b5d72eed8f8d9c334129a062bd1441bd27","dweb:/ipfs/QmTBhAhFjxZX7dBH5j9iis1KjsTTRGw49Uw6P4Ka7zmY8t"],"license":"MIT"}},"version":1},"id":170} \ No newline at end of file diff --git a/abis/RarityPool.json b/abis/RarityPool.json index 3a76fcb..a23db5f 100644 --- a/abis/RarityPool.json +++ b/abis/RarityPool.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addRewards","inputs":[{"name":"_donor","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"balanceOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePurchaseReturn","inputs":[{"name":"_totalSRare","type":"uint120","internalType":"uint120"},{"name":"_stakedAmount","type":"uint120","internalType":"uint120"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"calculateSaleReturn","inputs":[{"name":"_totalSRareByUser","type":"uint256","internalType":"uint256"},{"name":"_totalRareStakedByUser","type":"uint256","internalType":"uint256"},{"name":"_unstakeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"claimRewards","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_numRounds","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getAllTimeRewards","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getAmountStakedByUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getClaimableRewardsForUser","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_numRounds","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCreationTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentRound","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getHistoricalRewardsForUserForRounds","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_rounds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastSnapshotTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoundRewards","inputs":[{"name":"_round","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSumOfAllClaimed","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTargetBeingStakedOn","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_userStakedTo","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_creator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"stake","inputs":[{"name":"_amount","type":"uint120","internalType":"uint120"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"takeSnapshot","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyAt","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"unstake","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddRewards","inputs":[{"name":"_donor","type":"address","indexed":true,"internalType":"address"},{"name":"_round","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountAdded","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newRoundRewardAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"RewardClaimed","inputs":[{"name":"_msgSender","type":"address","indexed":true,"internalType":"address"},{"name":"_claimer","type":"address","indexed":true,"internalType":"address"},{"name":"_amountToStaker","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Snapshot","inputs":[{"name":"id","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Stake","inputs":[{"name":"_staker","type":"address","indexed":true,"internalType":"address"},{"name":"_amountStaking","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountSRareReceived","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakingSnapshot","inputs":[{"name":"_lastSnapshotTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_currentSnapshotTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_round","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unstake","inputs":[{"name":"_staker","type":"address","indexed":true,"internalType":"address"},{"name":"_amountUnstaking","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountRareBurned","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountSRareSold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CannotAddZeroRewards","inputs":[]},{"type":"error","name":"CannotClaimCurrentRound","inputs":[]},{"type":"error","name":"ClaimingTooManyRounds","inputs":[]},{"type":"error","name":"ClaimingZeroRounds","inputs":[]},{"type":"error","name":"InsufficientStakedRare","inputs":[]},{"type":"error","name":"InsufficientSyntheticRare","inputs":[]},{"type":"error","name":"RewardAlreadyClaimed","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x608080604052346100c1576000549060ff8260081c1661006f575060ff80821603610034575b60405161291c90816100c78239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c9184836306fdde03146114435750508163095ea7b31461141957816318160ddd146113fa57816323b872dd1461132e5781632e17de7814610f9d578163313ce56714610f815781633950935114610f32578163399d99ec14610efa5781633b1c612e14610edb5781633b248c7614610eb25781634ee2cd7e14610e895781636134778214610e60578163636f5b2714610d8657816370a0823114610d4e57816374293bf814610d265781637c27ff8614610d0757816391e2057e14610cdf5781639461642014610cc057816395d89b4114610c26578163981b24d014610c065781639ca92dec14610939578163a32bf5971461091c578163a457c2d714610875578163a9059cbb14610844578163a9fc507b1461081f578163b3d3d37e14610803578163b5fc2f85146105d8578163c0c53b8b14610354578163cae069441461024057508063d775a4c7146101f5578063dd62ed3e146101a85763e6519a351461018757600080fd5b346101a457816003193601126101a45760209060d0549051908152f35b5080fd5b50346101a457806003193601126101a4576020916101c461150d565b826101cd611523565b6001600160a01b03928316845260348652922091166000908152908352819020549051908152f35b50903461023d578160031936011261023d5750610210611539565b90602435916001600160781b03831683036102385760209261023191612569565b9051908152f35b600080fd5b80fd5b82843461023d578160031936011261023d5761025a61150d565b9260249384359067ffffffffffffffff908183116103505736602384011215610350578284013591821161033e5760059180831b938751946020926102a184830188611579565b865289838701918301019136831161033a578a849101915b83831061032a575050505085936068549387955b825160ff88161015610321576102f9906102f38786611fe08b871b168701015188612767565b9061159b565b9560ff80911690811461030f57600101956102cd565b634e487b7160e01b8952601188528a89fd5b83908a51908152f35b82358152918101918491016102b9565b8880fd5b634e487b7160e01b8552604184528685fd5b8480fd5b9050346105d45760603660031901126105d45761036f61150d565b90610378611523565b6044356001600160a01b038181169392908483036102385787549560ff8760081c1615968780986105c7575b80156105b0575b156105565760ff1981166001178a5582919088610545575b501691821561053557169081156105255784156105255760ff885460081c16156104ce579061041c92916bffffffffffffffffffffffff60a01b908160cc54161760cc5560cd54161760cd554260d0558660d155611a8c565b610424611adb565b603554670de0b6b3a7640000918282018092116104b9575060206000926000805160206128c783398151915292603555848452603382528684208181540190558651908152a3610472611a55565b5061047b6120c5565b610483575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b601190634e487b7160e01b6000525260246000fd5b865162461bcd60e51b8152602081860152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b8651637827912560e01b81528490fd5b8751637827912560e01b81528590fd5b61ffff1916610101178a55386103c3565b885162461bcd60e51b8152602081880152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103ab5750600160ff8216146103ab565b50600160ff8216106103a4565b8280fd5b9050346105d457816003193601126105d4576105f261150d565b60243560ff8116809103610350576106086121a4565b6106106120c5565b80156107f35761061e612411565b6000198101949085116107e05760018060a01b038084169586885260209360ca855281848a205410156107d05787895260ca855280610660858b2054846118b1565b116107b55750945b8795606854888a5260ca8652848a2054600181018091116107a257905b8282111561078257505087895260ca855283892055838260cd5416845192838092632210d52560e01b82525afa90811561077857908692918991610711575b50946106f392917f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7961661220d565b6106ff8460cf5461159b565b60cf55519283523392a3600160975580f35b80929350858092503d8311610771575b61072b8183611579565b8101031261076d577f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7946106f3926107638893611c3c565b91965091926106c4565b8780fd5b503d610721565b83513d8a823e3d90fd5b909761079661079c916102f3848c8c612767565b98612402565b90610685565b634e487b7160e01b8b526011845260248bfd5b6107ca915087895260ca85528389205461159b565b94610668565b8351632cfe303760e21b81528790fd5b634e487b7160e01b865260118452602486fd5b8351631520048160e21b81528390fd5b833461023d578060031936011261023d5761081c6120c5565b80f35b5050346101a45736600319011261023d5761081c61083b61150d565b60243590611ce7565b5050346101a457806003193601126101a45760209061086e61086461150d565b60243590336125ed565b5160018152f35b9050823461023d578260031936011261023d5761089061150d565b91836024359233815260346020522060018060a01b0384166000526020528360002054908282106108cb5760208561086e85850387336115be565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b5050346101a457816003193601126101a457602090610231612411565b9050346105d45760209182600319360112610b6e57610956611539565b9261095f6121a4565b6109676120c5565b338552603381528185205415610be2575b603554926001600160781b0393848111610b90576109998686899316612569565b60cd546001600160a01b039791969088169190823b15610b6e5786516381910e3360e01b8152338682019081523060208201526001600160781b0384166040820152859082908190606001038183885af18015610b8657908591610b72575b505081169733845260cb8652868420610a128a825461159b565b905560cc541690823b15610b6e578651632608ff3560e01b8152338682019081526001600160a01b0390931660208401526001600160781b03909116604083015291839183919082908490829060600103925af18015610b6457610b4c575b50503315610b0b5750610a8333611a8c565b610a8b611adb565b610a978360355461159b565b603555336000526033815281600020838154019055815183815260006000805160206128c7833981519152833393a333855260cb8152818520549082519485528401528201527ff556991011e831bcfac4f406d547e5e32cdd98267efab83935230d5f8d02c44660603392a2600160975580f35b915162461bcd60e51b815291820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b610b559061154f565b610b60578538610a71565b8580fd5b85513d84823e3d90fd5b8380fd5b610b7b9061154f565b610b6e5783386109f8565b88513d87823e3d90fd5b50915162461bcd60e51b815291820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663230206269747360c81b6064820152608490fd5b610bea612411565b60001981019081116107e05733865260ca825282862055610978565b82843461023d57602036600319011261023d575061023160209235611701565b9050346105d457826003193601126105d45760cd5460cc548351637925ec5360e11b81526001600160a01b0391821693810193909352849183916024918391165afa908115610cb4579060209184610c8d9592610c91575b505001519051918291826114e1565b0390f35b610cad92503d8091833e610ca58183611579565b810190611c50565b3880610c7e565b505051903d90823e3d90fd5b5050346101a457816003193601126101a45760209060ce549051908152f35b9050346105d45760203660031901126105d457602092829135815260c9845220549051908152f35b5050346101a457816003193601126101a45760209060d1549051908152f35b82843461023d57606036600319011261023d57506102316020926044359060243590356125c6565b5050346101a45760203660031901126101a45760209181906001600160a01b03610d7661150d565b1681526033845220549051908152f35b9050823461023d578260031936011261023d57610da161150d565b90602435918193610db0612411565b926068549360018060a01b0384169586835260ca60205280610dd58a852054846118b1565b1115610e5957610df1915086835260ca6020528883205461159b565b945b815260ca602052868120549160018301809311610e465750509291905b82841115610e22576020858751908152f35b90919293610e38610e3e916102f3858886612767565b94612402565b929190610e10565b634e487b7160e01b825260119052602490fd5b5094610df3565b5050346101a457816003193601126101a45760cd5490516001600160a01b039091168152602090f35b5050346101a457806003193601126101a457602090610231610ea961150d565b602435906116c0565b5050346101a457816003193601126101a45760cc5490516001600160a01b039091168152602090f35b5050346101a457816003193601126101a45760209060cf549051908152f35b5050346101a45760203660031901126101a45760209181906001600160a01b03610f2261150d565b16815260cb845220549051908152f35b5050346101a457806003193601126101a45761086e60209282610f5361150d565b91338152603486522060018060a01b0382166000528452610f7a602435846000205461159b565b90336115be565b5050346101a457816003193601126101a4576020905160128152f35b919050346105d45760209182600319360112610b6e57803591610fbe6121a4565b610fc66120c5565b338552603384528085205483116113215733855260cb8452808520549360338152610ff58486848920546125c6565b948086116113125761100786826118b1565b33885260cb83528388205560cd5460cc546001600160a01b039182169089908316823b156101a45786516332b1f19760e21b815233818a019081526001600160a01b039092166020830152604082018b905292839182908490829060600103925af18015611308576112f5575b5033156112a85761108433611a8c565b61108c611adb565b338852603383528388205486811061125a578690338a5260338552038489205585603554036035558784518781526000805160206128c7833981519152853392a3878160cd5416918551632210d52560e01b815285818981875afa9081156112505791869189938591611215575b50169387519283809263f7ef8ead60e01b82525afa9081156111d85782916111e2575b5061112b612710918a6121fa565b0495823b156101a4578551630852cd8d60e31b8152908101879052818160248183875af180156111d85790899392916111bf575b50509161117b6111809361117388856118b1565b90339061220d565b6118b1565b90825195865285015283015260608201527f05b744e3e9358bc00ba3cc0c6606a4d6536134dba00b2d2ee4b5de169acd642760803392a2600160975580f35b6111cb9192935061154f565b61076d578690883861115f565b86513d84823e3d90fd5b809250858092503d831161120e575b6111fb8183611579565b810103126102385751889061112b61111d565b503d6111f1565b92809294508391503d8311611249575b61122f8183611579565b810103126105d45787916112438792611c3c565b386110fa565b503d611225565b87513d85823e3d90fd5b845162461bcd60e51b8152808701859052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b835162461bcd60e51b8152808601849052602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b6113019098919861154f565b9638611074565b85513d8b823e3d90fd5b505051631360e97760e21b8152fd5b51631694941360e11b8152fd5b839150346101a45760603660031901126101a45761134a61150d565b611352611523565b6001600160a01b0382168452603460209081528585203386529052928490205460443593926001820161138e575b60208661086e8787876125ed565b8482106113b757509183916113ac6020969561086e950333836115be565b919394819350611380565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346101a457816003193601126101a4576020906035549051908152f35b5050346101a457806003193601126101a45760209061086e61143961150d565b60243590336115be565b91909250346101a457816003193601126101a45760cd5460cc54637925ec5360e11b85526001600160a01b039081169285019290925283916024918391165afa908115610cb45783610c8d94926114a3575b5050519051918291826114e1565b6114b792503d8091833e610ca58183611579565b3880611495565b60005b8381106114d15750506000910152565b81810151838201526020016114c1565b6040916020825261150181518092816020860152602086860191016114be565b601f01601f1916010190565b600435906001600160a01b038216820361023857565b602435906001600160a01b038216820361023857565b600435906001600160781b038216820361023857565b67ffffffffffffffff811161156357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761156357604052565b919082018092116115a857565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0390811691821561166f571691821561161f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260348252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6001600160a01b0316600081815260656020526040902090916116e3919061187a565b91600091156116f157505090565b6040925081526033602052205490565b61170a906117b6565b90156117135790565b5060355490565b6067548110156117515760676000527f9787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae0190600090565b634e487b7160e01b600052603260045260246000fd5b6066548110156117515760666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540190600090565b80548210156117515760005260206000200190600090565b801561183c5760685481116117f7576117ce906118be565b60665481036117e05750600090600090565b6117e99061171a565b90549060031b1c9060019190565b60405162461bcd60e51b815260206004820152601d60248201527f4552433230536e617073686f743a206e6f6e6578697374656e742069640000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527504552433230536e617073686f743a20696420697320360541b6044820152606490fd5b801561183c5760685481116117f757611893908261199b565b815481036118a5575050600090600090565b60016117e9920161179e565b919082039182116115a857565b60668054918215611993576000925b808410611935575082151591826118f8575b5050156118f55760001981019081116115a85790565b90565b909150826000198101116115a8576000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943538201541438806118df565b600190611948818618831c82871661159b565b918460005283837f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540154116000146119815750506118cd565b90945081018091116115a857926118cd565b505050600090565b8054918215611993576000925b8084106119f3575082151591826119cf575050156118f55760001981019081116115a85790565b9091506000199083828101116115a8576000528260206000200101541438806118df565b600190611a06818618831c82871661159b565b918460005283836020600020015411600014611a235750506119a8565b90945081018091116115a857926119a8565b8115611a3f570490565b634e487b7160e01b600052601260045260246000fd5b600160685401806068557f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb676020604051838152a190565b60018060a01b031660005260656020526040600020603360205260406000205460685480611ab984611bbb565b10611ac357505050565b82611ad3600192611ad995611b59565b01611b59565b565b6035546068549081611aeb611b8e565b10611af4575050565b606654600160401b908181101561156357806001611b159201606655611767565b81549060031b906000198096831b921b19161790556067549081101561156357806001611b45920160675561171a565b909283549160031b92831b921b1916179055565b8054600160401b81101561156357611b769160018201815561179e565b819291549060031b91821b91600019901b1916179055565b60665480611b9c5750600090565b60001981019081116115a857611bb190611767565b90549060031b1c90565b805480611bc9575050600090565b60001981019081116115a857611bb19161179e565b67ffffffffffffffff811161156357601f01601f191660200190565b81601f82011215610238578051611c1081611bde565b92611c1e6040519485611579565b81845260208284010111610238576118f591602080850191016114be565b51906001600160a01b038216820361023857565b60208183031261023857805167ffffffffffffffff91828211610238570191608083820312610238576040519260808401848110848211176115635760405280518381116102385782611ca4918301611bfa565b8452602081015192831161023857611cc3606092611cdf948301611bfa565b6020850152611cd460408201611c3c565b604085015201611c3c565b606082015290565b906001600160a01b03808316913383141580612059575b61204857600093811561203657611d136120c5565b611d1b612411565b94611d2586611701565b15611f5a578360cd5416604092835191632210d52560e01b83526020928381600481855afa908115611eec57889185918791611f23575b5060248851809481936370a0823160e01b8352306004840152165afa908115611eec578591611ef6575b50838860cc54166024885180958193633d867d9560e01b835260048301525afa908115611eec578591611ebb575b611dbe92506118b1565b95611deb611de4611dde60ce5499611dd860cf548c6118b1565b906118b1565b8861159b565b809861159b565b60ce5588845260c98352848420611e0388825461159b565b905560cd541690813b15610b6e5784516381910e3360e01b81526001600160a01b03919091166004820152306024820152604481018690529083908290606490829084905af18015611eb157611e9d575b5086825260c99052819020549051918252602082019290925260408101919091527f8f1f72719a43990ee22667a803313283dbcb7402f1ab7dbf4ab92527e7414aa190606090a3565b611ea7839161154f565b6101a45738611e54565b84513d85823e3d90fd5b90508382813d8311611ee5575b611ed28183611579565b8101031261023857611dbe915190611db4565b503d611ec8565b86513d87823e3d90fd5b90508381813d8311611f1c575b611f0d8183611579565b81010312610238575138611d86565b503d611f03565b92505081813d8311611f53575b611f3a8183611579565b810103126103505783611f4d8992611c3c565b38611d5c565b503d611f30565b94509190925060cd5416906040519063086d4af360e11b8252602082600481865afa91821561202b578592611ff0575b50823b15610350576040516381910e3360e01b81526001600160a01b03918216600482015291166024820152604481019290925282908290606490829084905af18015611fe557611fd9575050565b611fe29061154f565b50565b6040513d84823e3d90fd5b9091506020813d8211612023575b8161200b60209383611579565b810103126103505761201c90611c3c565b9038611f8a565b3d9150611ffe565b6040513d87823e3d90fd5b604051631b6330bf60e31b8152600490fd5b6040516282b42960e81b8152600490fd5b508160cd541660008360cc5416602460405180948193637925ec5360e11b835260048301525afa9081156120b95783916060916000916120a0575b50015116331415611cfe565b6120b3913d8091833e610ca58183611579565b38612094565b6040513d6000823e3d90fd5b60d15460cd54604051638469ddc760e01b815290602090829060049082906001600160a01b03165afa80156120b957600090612171575b61210791508261159b565b4210156121115750565b7ff93143fb49fc8d2b453d1e417424c14ace8efd210d63494dbaa7998e5affe025904260d15561213f611a55565b5060d1549061216c61214f612411565b604051938493846040919493926060820195825260208201520152565b0390a1565b6020823d821161219c575b8161218960209383611579565b8101031261023d575061210790516120fc565b3d915061217c565b6002609754146121b5576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b818102929181159184041417156115a857565b60405163a9059cbb60e01b60208083019182526001600160a01b0394851660248401526044808401969096529482529267ffffffffffffffff92608083019291908484118385101761156357169060c081019383851090851117611563576122d3936040528583527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152600080958192519082855af13d15612369573d916122b883611bde565b926122c66040519485611579565b83523d868885013e61236d565b805191821591848315612345575b5050509050156122ee5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b9193818094500103126101a45782015190811515820361023d5750803880846122e1565b6060915b919290156123cf5750815115612381575090565b3b1561238a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156123e25750805190602001fd5b60405162461bcd60e51b81529081906123fe90600483016114e1565b0390fd5b60001981146115a85760010190565b60d15460cd54604051638469ddc760e01b8152929190602090849060049082906001600160a01b03165afa9283156120b957600093612474575b5091612457919261159b565b421061246e57606854600181018091116115a85790565b60685490565b6020813d821161249f575b8161248c60209383611579565b81010312610b6e5751925061245761244b565b3d915061247f565b600090801561256557808060011461255d57600214612555576001918261013383101683600b841016176125455760028392935b808211612508575050826000190482116124f457500290565b634e487b7160e01b81526011600452602490fd5b90938060001904811161253157818516612528575b800293811c906124db565b8093029261251d565b634e487b7160e01b83526011600452602483fd5b929150600283910a926124f45750565b509060049150565b505050600190565b5090565b6001600160781b0380911691166b409f9cbc7c4a04c2200000009080820291820481036115a8576125bc6125b68461117b6125b16125c2966102f36509184e72a000996124a7565b612800565b91612800565b906121fa565b0490565b6064830292808404606414901517156115a8576125e86125c2926064946121fa565b611a35565b9091303303612048576001600160a01b03828116929083156127145784169384156126c35761261e61262392611a8c565b611a8c565b6000828152603360205260408120549180831061266f57604082826000805160206128c783398151915295876020965260338652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b909182119081156127f157603554915b82156127e8578390156127d957506001600160a01b0316600090815260336020526040902054905b6a084595161401484a00000092838302928084048514901517156115a8576125c2926125e89160005260c9602052604060002054906121fa565b6127e2916116c0565b9061279f565b50505050600090565b6127fa83611701565b91612777565b9060b582600160881b8110156128af575b806901000000000000000000620100009210156128a2575b65010000000000811015612895575b6301000000811015612888575b010260121c60019080840401811c80840401811c80840401811c80840401811c80840401811c80840401811c80840401901c8092048281106128845750565b9150565b60101c9160081b91612845565b60201c9160101b91612838565b60401c9160201b91612829565b5068b500000000000000009050608083901c61281156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122042fe264aa9e1313d78df50602cf75997d5be0aa43e76269676b1a72b89d8645664736f6c63430008120033","sourceMap":"1495:17291:187:-:0;;;;;;;6007:13:45;1495:17291:187;;;;;;;;;;;;;;6078:31:45;6074:139;;-1:-1:-1;1495:17291:187;;;;;;;;;6074:139:45;1495:17291:187;;;;;;6007:13:45;1495:17291:187;6174:28:45;1495:17291:187;;;;;;6174:28:45;6074:139;;;1495:17291:187;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c9184836306fdde03146114435750508163095ea7b31461141957816318160ddd146113fa57816323b872dd1461132e5781632e17de7814610f9d578163313ce56714610f815781633950935114610f32578163399d99ec14610efa5781633b1c612e14610edb5781633b248c7614610eb25781634ee2cd7e14610e895781636134778214610e60578163636f5b2714610d8657816370a0823114610d4e57816374293bf814610d265781637c27ff8614610d0757816391e2057e14610cdf5781639461642014610cc057816395d89b4114610c26578163981b24d014610c065781639ca92dec14610939578163a32bf5971461091c578163a457c2d714610875578163a9059cbb14610844578163a9fc507b1461081f578163b3d3d37e14610803578163b5fc2f85146105d8578163c0c53b8b14610354578163cae069441461024057508063d775a4c7146101f5578063dd62ed3e146101a85763e6519a351461018757600080fd5b346101a457816003193601126101a45760209060d0549051908152f35b5080fd5b50346101a457806003193601126101a4576020916101c461150d565b826101cd611523565b6001600160a01b03928316845260348652922091166000908152908352819020549051908152f35b50903461023d578160031936011261023d5750610210611539565b90602435916001600160781b03831683036102385760209261023191612569565b9051908152f35b600080fd5b80fd5b82843461023d578160031936011261023d5761025a61150d565b9260249384359067ffffffffffffffff908183116103505736602384011215610350578284013591821161033e5760059180831b938751946020926102a184830188611579565b865289838701918301019136831161033a578a849101915b83831061032a575050505085936068549387955b825160ff88161015610321576102f9906102f38786611fe08b871b168701015188612767565b9061159b565b9560ff80911690811461030f57600101956102cd565b634e487b7160e01b8952601188528a89fd5b83908a51908152f35b82358152918101918491016102b9565b8880fd5b634e487b7160e01b8552604184528685fd5b8480fd5b9050346105d45760603660031901126105d45761036f61150d565b90610378611523565b6044356001600160a01b038181169392908483036102385787549560ff8760081c1615968780986105c7575b80156105b0575b156105565760ff1981166001178a5582919088610545575b501691821561053557169081156105255784156105255760ff885460081c16156104ce579061041c92916bffffffffffffffffffffffff60a01b908160cc54161760cc5560cd54161760cd554260d0558660d155611a8c565b610424611adb565b603554670de0b6b3a7640000918282018092116104b9575060206000926000805160206128c783398151915292603555848452603382528684208181540190558651908152a3610472611a55565b5061047b6120c5565b610483575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b601190634e487b7160e01b6000525260246000fd5b865162461bcd60e51b8152602081860152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b8651637827912560e01b81528490fd5b8751637827912560e01b81528590fd5b61ffff1916610101178a55386103c3565b885162461bcd60e51b8152602081880152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103ab5750600160ff8216146103ab565b50600160ff8216106103a4565b8280fd5b9050346105d457816003193601126105d4576105f261150d565b60243560ff8116809103610350576106086121a4565b6106106120c5565b80156107f35761061e612411565b6000198101949085116107e05760018060a01b038084169586885260209360ca855281848a205410156107d05787895260ca855280610660858b2054846118b1565b116107b55750945b8795606854888a5260ca8652848a2054600181018091116107a257905b8282111561078257505087895260ca855283892055838260cd5416845192838092632210d52560e01b82525afa90811561077857908692918991610711575b50946106f392917f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7961661220d565b6106ff8460cf5461159b565b60cf55519283523392a3600160975580f35b80929350858092503d8311610771575b61072b8183611579565b8101031261076d577f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7946106f3926107638893611c3c565b91965091926106c4565b8780fd5b503d610721565b83513d8a823e3d90fd5b909761079661079c916102f3848c8c612767565b98612402565b90610685565b634e487b7160e01b8b526011845260248bfd5b6107ca915087895260ca85528389205461159b565b94610668565b8351632cfe303760e21b81528790fd5b634e487b7160e01b865260118452602486fd5b8351631520048160e21b81528390fd5b833461023d578060031936011261023d5761081c6120c5565b80f35b5050346101a45736600319011261023d5761081c61083b61150d565b60243590611ce7565b5050346101a457806003193601126101a45760209061086e61086461150d565b60243590336125ed565b5160018152f35b9050823461023d578260031936011261023d5761089061150d565b91836024359233815260346020522060018060a01b0384166000526020528360002054908282106108cb5760208561086e85850387336115be565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b5050346101a457816003193601126101a457602090610231612411565b9050346105d45760209182600319360112610b6e57610956611539565b9261095f6121a4565b6109676120c5565b338552603381528185205415610be2575b603554926001600160781b0393848111610b90576109998686899316612569565b60cd546001600160a01b039791969088169190823b15610b6e5786516381910e3360e01b8152338682019081523060208201526001600160781b0384166040820152859082908190606001038183885af18015610b8657908591610b72575b505081169733845260cb8652868420610a128a825461159b565b905560cc541690823b15610b6e578651632608ff3560e01b8152338682019081526001600160a01b0390931660208401526001600160781b03909116604083015291839183919082908490829060600103925af18015610b6457610b4c575b50503315610b0b5750610a8333611a8c565b610a8b611adb565b610a978360355461159b565b603555336000526033815281600020838154019055815183815260006000805160206128c7833981519152833393a333855260cb8152818520549082519485528401528201527ff556991011e831bcfac4f406d547e5e32cdd98267efab83935230d5f8d02c44660603392a2600160975580f35b915162461bcd60e51b815291820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b610b559061154f565b610b60578538610a71565b8580fd5b85513d84823e3d90fd5b8380fd5b610b7b9061154f565b610b6e5783386109f8565b88513d87823e3d90fd5b50915162461bcd60e51b815291820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663230206269747360c81b6064820152608490fd5b610bea612411565b60001981019081116107e05733865260ca825282862055610978565b82843461023d57602036600319011261023d575061023160209235611701565b9050346105d457826003193601126105d45760cd5460cc548351637925ec5360e11b81526001600160a01b0391821693810193909352849183916024918391165afa908115610cb4579060209184610c8d9592610c91575b505001519051918291826114e1565b0390f35b610cad92503d8091833e610ca58183611579565b810190611c50565b3880610c7e565b505051903d90823e3d90fd5b5050346101a457816003193601126101a45760209060ce549051908152f35b9050346105d45760203660031901126105d457602092829135815260c9845220549051908152f35b5050346101a457816003193601126101a45760209060d1549051908152f35b82843461023d57606036600319011261023d57506102316020926044359060243590356125c6565b5050346101a45760203660031901126101a45760209181906001600160a01b03610d7661150d565b1681526033845220549051908152f35b9050823461023d578260031936011261023d57610da161150d565b90602435918193610db0612411565b926068549360018060a01b0384169586835260ca60205280610dd58a852054846118b1565b1115610e5957610df1915086835260ca6020528883205461159b565b945b815260ca602052868120549160018301809311610e465750509291905b82841115610e22576020858751908152f35b90919293610e38610e3e916102f3858886612767565b94612402565b929190610e10565b634e487b7160e01b825260119052602490fd5b5094610df3565b5050346101a457816003193601126101a45760cd5490516001600160a01b039091168152602090f35b5050346101a457806003193601126101a457602090610231610ea961150d565b602435906116c0565b5050346101a457816003193601126101a45760cc5490516001600160a01b039091168152602090f35b5050346101a457816003193601126101a45760209060cf549051908152f35b5050346101a45760203660031901126101a45760209181906001600160a01b03610f2261150d565b16815260cb845220549051908152f35b5050346101a457806003193601126101a45761086e60209282610f5361150d565b91338152603486522060018060a01b0382166000528452610f7a602435846000205461159b565b90336115be565b5050346101a457816003193601126101a4576020905160128152f35b919050346105d45760209182600319360112610b6e57803591610fbe6121a4565b610fc66120c5565b338552603384528085205483116113215733855260cb8452808520549360338152610ff58486848920546125c6565b948086116113125761100786826118b1565b33885260cb83528388205560cd5460cc546001600160a01b039182169089908316823b156101a45786516332b1f19760e21b815233818a019081526001600160a01b039092166020830152604082018b905292839182908490829060600103925af18015611308576112f5575b5033156112a85761108433611a8c565b61108c611adb565b338852603383528388205486811061125a578690338a5260338552038489205585603554036035558784518781526000805160206128c7833981519152853392a3878160cd5416918551632210d52560e01b815285818981875afa9081156112505791869189938591611215575b50169387519283809263f7ef8ead60e01b82525afa9081156111d85782916111e2575b5061112b612710918a6121fa565b0495823b156101a4578551630852cd8d60e31b8152908101879052818160248183875af180156111d85790899392916111bf575b50509161117b6111809361117388856118b1565b90339061220d565b6118b1565b90825195865285015283015260608201527f05b744e3e9358bc00ba3cc0c6606a4d6536134dba00b2d2ee4b5de169acd642760803392a2600160975580f35b6111cb9192935061154f565b61076d578690883861115f565b86513d84823e3d90fd5b809250858092503d831161120e575b6111fb8183611579565b810103126102385751889061112b61111d565b503d6111f1565b92809294508391503d8311611249575b61122f8183611579565b810103126105d45787916112438792611c3c565b386110fa565b503d611225565b87513d85823e3d90fd5b845162461bcd60e51b8152808701859052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b835162461bcd60e51b8152808601849052602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b6113019098919861154f565b9638611074565b85513d8b823e3d90fd5b505051631360e97760e21b8152fd5b51631694941360e11b8152fd5b839150346101a45760603660031901126101a45761134a61150d565b611352611523565b6001600160a01b0382168452603460209081528585203386529052928490205460443593926001820161138e575b60208661086e8787876125ed565b8482106113b757509183916113ac6020969561086e950333836115be565b919394819350611380565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346101a457816003193601126101a4576020906035549051908152f35b5050346101a457806003193601126101a45760209061086e61143961150d565b60243590336115be565b91909250346101a457816003193601126101a45760cd5460cc54637925ec5360e11b85526001600160a01b039081169285019290925283916024918391165afa908115610cb45783610c8d94926114a3575b5050519051918291826114e1565b6114b792503d8091833e610ca58183611579565b3880611495565b60005b8381106114d15750506000910152565b81810151838201526020016114c1565b6040916020825261150181518092816020860152602086860191016114be565b601f01601f1916010190565b600435906001600160a01b038216820361023857565b602435906001600160a01b038216820361023857565b600435906001600160781b038216820361023857565b67ffffffffffffffff811161156357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761156357604052565b919082018092116115a857565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0390811691821561166f571691821561161f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260348252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6001600160a01b0316600081815260656020526040902090916116e3919061187a565b91600091156116f157505090565b6040925081526033602052205490565b61170a906117b6565b90156117135790565b5060355490565b6067548110156117515760676000527f9787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae0190600090565b634e487b7160e01b600052603260045260246000fd5b6066548110156117515760666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540190600090565b80548210156117515760005260206000200190600090565b801561183c5760685481116117f7576117ce906118be565b60665481036117e05750600090600090565b6117e99061171a565b90549060031b1c9060019190565b60405162461bcd60e51b815260206004820152601d60248201527f4552433230536e617073686f743a206e6f6e6578697374656e742069640000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527504552433230536e617073686f743a20696420697320360541b6044820152606490fd5b801561183c5760685481116117f757611893908261199b565b815481036118a5575050600090600090565b60016117e9920161179e565b919082039182116115a857565b60668054918215611993576000925b808410611935575082151591826118f8575b5050156118f55760001981019081116115a85790565b90565b909150826000198101116115a8576000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943538201541438806118df565b600190611948818618831c82871661159b565b918460005283837f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540154116000146119815750506118cd565b90945081018091116115a857926118cd565b505050600090565b8054918215611993576000925b8084106119f3575082151591826119cf575050156118f55760001981019081116115a85790565b9091506000199083828101116115a8576000528260206000200101541438806118df565b600190611a06818618831c82871661159b565b918460005283836020600020015411600014611a235750506119a8565b90945081018091116115a857926119a8565b8115611a3f570490565b634e487b7160e01b600052601260045260246000fd5b600160685401806068557f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb676020604051838152a190565b60018060a01b031660005260656020526040600020603360205260406000205460685480611ab984611bbb565b10611ac357505050565b82611ad3600192611ad995611b59565b01611b59565b565b6035546068549081611aeb611b8e565b10611af4575050565b606654600160401b908181101561156357806001611b159201606655611767565b81549060031b906000198096831b921b19161790556067549081101561156357806001611b45920160675561171a565b909283549160031b92831b921b1916179055565b8054600160401b81101561156357611b769160018201815561179e565b819291549060031b91821b91600019901b1916179055565b60665480611b9c5750600090565b60001981019081116115a857611bb190611767565b90549060031b1c90565b805480611bc9575050600090565b60001981019081116115a857611bb19161179e565b67ffffffffffffffff811161156357601f01601f191660200190565b81601f82011215610238578051611c1081611bde565b92611c1e6040519485611579565b81845260208284010111610238576118f591602080850191016114be565b51906001600160a01b038216820361023857565b60208183031261023857805167ffffffffffffffff91828211610238570191608083820312610238576040519260808401848110848211176115635760405280518381116102385782611ca4918301611bfa565b8452602081015192831161023857611cc3606092611cdf948301611bfa565b6020850152611cd460408201611c3c565b604085015201611c3c565b606082015290565b906001600160a01b03808316913383141580612059575b61204857600093811561203657611d136120c5565b611d1b612411565b94611d2586611701565b15611f5a578360cd5416604092835191632210d52560e01b83526020928381600481855afa908115611eec57889185918791611f23575b5060248851809481936370a0823160e01b8352306004840152165afa908115611eec578591611ef6575b50838860cc54166024885180958193633d867d9560e01b835260048301525afa908115611eec578591611ebb575b611dbe92506118b1565b95611deb611de4611dde60ce5499611dd860cf548c6118b1565b906118b1565b8861159b565b809861159b565b60ce5588845260c98352848420611e0388825461159b565b905560cd541690813b15610b6e5784516381910e3360e01b81526001600160a01b03919091166004820152306024820152604481018690529083908290606490829084905af18015611eb157611e9d575b5086825260c99052819020549051918252602082019290925260408101919091527f8f1f72719a43990ee22667a803313283dbcb7402f1ab7dbf4ab92527e7414aa190606090a3565b611ea7839161154f565b6101a45738611e54565b84513d85823e3d90fd5b90508382813d8311611ee5575b611ed28183611579565b8101031261023857611dbe915190611db4565b503d611ec8565b86513d87823e3d90fd5b90508381813d8311611f1c575b611f0d8183611579565b81010312610238575138611d86565b503d611f03565b92505081813d8311611f53575b611f3a8183611579565b810103126103505783611f4d8992611c3c565b38611d5c565b503d611f30565b94509190925060cd5416906040519063086d4af360e11b8252602082600481865afa91821561202b578592611ff0575b50823b15610350576040516381910e3360e01b81526001600160a01b03918216600482015291166024820152604481019290925282908290606490829084905af18015611fe557611fd9575050565b611fe29061154f565b50565b6040513d84823e3d90fd5b9091506020813d8211612023575b8161200b60209383611579565b810103126103505761201c90611c3c565b9038611f8a565b3d9150611ffe565b6040513d87823e3d90fd5b604051631b6330bf60e31b8152600490fd5b6040516282b42960e81b8152600490fd5b508160cd541660008360cc5416602460405180948193637925ec5360e11b835260048301525afa9081156120b95783916060916000916120a0575b50015116331415611cfe565b6120b3913d8091833e610ca58183611579565b38612094565b6040513d6000823e3d90fd5b60d15460cd54604051638469ddc760e01b815290602090829060049082906001600160a01b03165afa80156120b957600090612171575b61210791508261159b565b4210156121115750565b7ff93143fb49fc8d2b453d1e417424c14ace8efd210d63494dbaa7998e5affe025904260d15561213f611a55565b5060d1549061216c61214f612411565b604051938493846040919493926060820195825260208201520152565b0390a1565b6020823d821161219c575b8161218960209383611579565b8101031261023d575061210790516120fc565b3d915061217c565b6002609754146121b5576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b818102929181159184041417156115a857565b60405163a9059cbb60e01b60208083019182526001600160a01b0394851660248401526044808401969096529482529267ffffffffffffffff92608083019291908484118385101761156357169060c081019383851090851117611563576122d3936040528583527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152600080958192519082855af13d15612369573d916122b883611bde565b926122c66040519485611579565b83523d868885013e61236d565b805191821591848315612345575b5050509050156122ee5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b9193818094500103126101a45782015190811515820361023d5750803880846122e1565b6060915b919290156123cf5750815115612381575090565b3b1561238a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156123e25750805190602001fd5b60405162461bcd60e51b81529081906123fe90600483016114e1565b0390fd5b60001981146115a85760010190565b60d15460cd54604051638469ddc760e01b8152929190602090849060049082906001600160a01b03165afa9283156120b957600093612474575b5091612457919261159b565b421061246e57606854600181018091116115a85790565b60685490565b6020813d821161249f575b8161248c60209383611579565b81010312610b6e5751925061245761244b565b3d915061247f565b600090801561256557808060011461255d57600214612555576001918261013383101683600b841016176125455760028392935b808211612508575050826000190482116124f457500290565b634e487b7160e01b81526011600452602490fd5b90938060001904811161253157818516612528575b800293811c906124db565b8093029261251d565b634e487b7160e01b83526011600452602483fd5b929150600283910a926124f45750565b509060049150565b505050600190565b5090565b6001600160781b0380911691166b409f9cbc7c4a04c2200000009080820291820481036115a8576125bc6125b68461117b6125b16125c2966102f36509184e72a000996124a7565b612800565b91612800565b906121fa565b0490565b6064830292808404606414901517156115a8576125e86125c2926064946121fa565b611a35565b9091303303612048576001600160a01b03828116929083156127145784169384156126c35761261e61262392611a8c565b611a8c565b6000828152603360205260408120549180831061266f57604082826000805160206128c783398151915295876020965260338652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b909182119081156127f157603554915b82156127e8578390156127d957506001600160a01b0316600090815260336020526040902054905b6a084595161401484a00000092838302928084048514901517156115a8576125c2926125e89160005260c9602052604060002054906121fa565b6127e2916116c0565b9061279f565b50505050600090565b6127fa83611701565b91612777565b9060b582600160881b8110156128af575b806901000000000000000000620100009210156128a2575b65010000000000811015612895575b6301000000811015612888575b010260121c60019080840401811c80840401811c80840401811c80840401811c80840401811c80840401811c80840401901c8092048281106128845750565b9150565b60101c9160081b91612845565b60201c9160101b91612838565b60401c9160201b91612829565b5068b500000000000000009050608083901c61281156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122042fe264aa9e1313d78df50602cf75997d5be0aa43e76269676b1a72b89d8645664736f6c63430008120033","sourceMap":"1495:17291:187:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13723:11;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;1495:17291:187;;;;;4439:11:49;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1495:17291:187;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;11612:19;;;;;1495:17291;5170:18:53;1495:17291:187;11699:11;;11694:133;11732:3;1495:17291;;;;;11712:18;;;;11745:75;1495:17291;11756:64;1495:17291;;;;;;;;;;;11756:64;;:::i;:::-;11745:75;;:::i;:::-;11732:3;1495:17291;;;;;;;;;;;11699:11;;;1495:17291;-1:-1:-1;;;1495:17291:187;;;;;;;;11712:18;;;;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1495:17291:187;;;;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;;;1495:17291:187;;;;;;;;;;;;;;;;;;;3301:14:45;3347:34;;;;;;1495:17291:187;3346:108:45;;;;1495:17291:187;;;;-1:-1:-1;;1495:17291:187;;;;;;;;;;3562:65:45;;1495:17291:187;;;3267:27;;;3263:64;;1495:17291;3337:30;;;3333:67;;3410:22;;3406:59;;1495:17291;;;;;;;;;;6360:2:53;1495:17291:187;;;;;;;3499:30;1495:17291;;;3499:30;1495:17291;3535:56;1495:17291;;;3535:56;1495:17291;3611:15;3597:29;1495:17291;;3632:25;1495:17291;6360:2:53;:::i;:::-;;;:::i;:::-;9068:22:49;1495:17291:187;3679:7;1495:17291;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1495:17291:187;9068:22:49;1495:17291:187;;;;9236:9:49;1495:17291:187;;;;;;;;;;;;;;;;9289:37:49;3693:11:187;;:::i;:::-;;;;:::i;:::-;3647:99:45;;1495:17291:187;;;3647:99:45;1495:17291:187;3721:14:45;1495:17291:187;;;;;;;;;;;;3721:14:45;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;3406:59;1495:17291;;-1:-1:-1;;;3441:24:187;;1495:17291;;3441:24;3263:64;1495:17291;;-1:-1:-1;;;3303:24:187;;1495:17291;;3303:24;3562:65:45;-1:-1:-1;;1495:17291:187;;;;;3562:65:45;;;1495:17291:187;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;1495:17291:187;;;;;3436:17:45;3346:108;;3347:34;1495:17291:187;;;;;3365:16:45;3347:34;;1495:17291:187;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;2471:103:48;;:::i;:::-;8864:1418:187;;:::i;:::-;9006:15;;9002:60;;9094:17;;:::i;:::-;-1:-1:-1;;1495:17291:187;;;11601:17:49;1495:17291:187;;;;;;;;;;;;;;;;;;9227:22;1495:17291;;;;;;;9227:47;;9223:94;;1495:17291;;;9227:22;1495:17291;;;9470:46;1495:17291;;;;9470:46;;:::i;:::-;:60;:134;;;;;9648:19;1495:17291;5170:18:53;1495:17291:187;;;;9227:22;1495:17291;;;;;;;;;;;;;;9730:159;9782:19;;;;;;;1495:17291;;;;;9227:22;1495:17291;;;;;;;;10108:15;1495:17291;;;;;;;;;;;10108:32;;;;;;;;;;;;;;;;;9730:159;1495:17291;;10048:110;1495:17291;;10236:41;1495:17291;;10048:110;:::i;:::-;10199:26;1495:17291;10199:26;1495:17291;10199:26;:::i;:::-;;1495:17291;;;;;10250:10;10236:41;;1495:17291;3053:22:48;1495:17291:187;;;10108:32;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;10236:41;1495:17291;10048:110;1495:17291;;;;;:::i;:::-;10108:32;;;;;;;1495:17291;;;;10108:32;;;;;;1495:17291;;;;;;;;;9803:3;9827:55;;9816:66;9803:3;9827:55;;;;;;:::i;9816:66::-;9803:3;;:::i;:::-;9735:45;;;1495:17291;-1:-1:-1;;;1495:17291:187;;;;;;;;9470:134;9562:42;1495:17291;;;;;9227:22;1495:17291;;;;;;9562:42;:::i;:::-;9470:134;;;9223:94;1495:17291;;-1:-1:-1;;;9283:34:187;;1495:17291;;9283:34;1495:17291;-1:-1:-1;;;1495:17291:187;;;;;;;;9002:60;1495:17291;;-1:-1:-1;;;9030:32:187;;1495:17291;;9030:32;1495:17291;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1495:17291:187;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;4231:6:49;1495:17291:187;;:::i;:::-;;;929:10:65;;4231:6:49;:::i;:::-;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;929:10:65;;1495:17291:187;;4439:11:49;1495:17291:187;;;;;;;;;;;;;;;;;;7129:35:49;;;;1495:17291:187;;;;7265:34:49;1495:17291:187;;;;929:10:65;7265:34:49;:::i;1495:17291:187:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;2471:103:48;;;:::i;:::-;6239:916:187;;:::i;:::-;6454:10;1495:17291;;3856:9:49;1495:17291:187;;;;;;6444:26;6440:105;;1495:17291;3679:12:49;1495:17291:187;;-1:-1:-1;;;;;9693:26:107;;;;1495:17291:187;;6603:59;1495:17291;;;;;6603:59;:::i;:::-;6737:15;1495:17291;-1:-1:-1;;;;;1495:17291:187;;;;;;;;6758:61;;;;;1495:17291;;-1:-1:-1;;;6758:61:187;;6454:10;6758:61;;;1495:17291;;;6804:4;1495:17291;;;;-1:-1:-1;;;;;1495:17291:187;;;;;;6804:4;;1495:17291;;;;;;6758:61;;;;;;;;;;;;;;;1495:17291;;;;;6454:10;;1495:17291;;6886:18;1495:17291;;;;;6886:41;1495:17291;;;6886:41;:::i;:::-;1495:17291;;6975:14;1495:17291;;6933:66;;;;;;1495:17291;;-1:-1:-1;;;6933:66:187;;6454:10;6933:66;;;1495:17291;;;-1:-1:-1;;;;;1495:17291:187;;;;;;;-1:-1:-1;;;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;6933:66;;;;;;;;;;1495:17291;6454:10;;;8940:21:49;1495:17291:187;;6454:10;6360:2:53;6454:10:187;6360:2:53;:::i;:::-;;;:::i;:::-;9068:22:49;1495:17291:187;3679:12:49;1495:17291:187;9068:22:49;:::i;:::-;3679:12;1495:17291:187;6454:10;1495:17291;;3856:9:49;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6454:10:187;;9289:37:49;;6454:10:187;1495:17291;;6886:18;1495:17291;;;;;;;;;;;;;;;;;;7079:71;1495:17291;6454:10;7079:71;;1495:17291;3053:22:48;1495:17291:187;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;;;6933:66;;;;:::i;:::-;1495:17291;;6933:66;;;;1495:17291;;;;6933:66;1495:17291;;;;;;;;;6933:66;1495:17291;;;6758:61;;;;:::i;:::-;1495:17291;;6758:61;;;;;1495:17291;;;;;;;;;;-1:-1:-1;1495:17291:187;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;6440:105;6517:17;;:::i;:::-;-1:-1:-1;;1495:17291:187;;;;;;;6454:10;1495:17291;;6480:22;1495:17291;;;;;;6440:105;;1495:17291;;;;;;;;-1:-1:-1;;1495:17291:187;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;11079:15;1495:17291;11117:14;1495:17291;;;-1:-1:-1;;;11079:53:187;;-1:-1:-1;;;;;1495:17291:187;;;11079:53;;;1495:17291;;;;;;;;;;;;;11079:53;;;;;;;;1495:17291;11079:53;;1495:17291;11079:53;;;;1495:17291;11145:11;;;;1495:17291;;;;;;;:::i;:::-;;;;11079:53;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;;;13597:15;1495:17291;;;;;;;;;;;;;;;-1:-1:-1;;1495:17291:187;;;;;;;;;;;11411:17;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;;13854:21;1495:17291;;;;;;;;;;;;;;;-1:-1:-1;;1495:17291:187;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;1495:17291:187;;;;;;;;-1:-1:-1;;;;;1495:17291:187;;:::i;:::-;;;;3856:9:49;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11992:19;;12040:17;;;:::i;:::-;1495:17291;5170:18:53;1495:17291:187;;;;;;;;;;;;;12160:22;1495:17291;;;12145:44;1495:17291;;;;12145:44;;:::i;:::-;:57;:129;;;12211:42;1495:17291;;;;;12160:22;1495:17291;;;;;;12211:42;:::i;:::-;12145:129;;1495:17291;;12160:22;1495:17291;;;;;;;;;;;;;;;12286:45;;;;;12333:19;;;;;;;1495:17291;;;;;;;;12354:3;12378:55;;;;12367:66;12354:3;12378:55;;;;;;:::i;12367:66::-;12354:3;;:::i;:::-;12286:45;;;;;1495:17291;-1:-1:-1;;;1495:17291:187;;;;;;;;12145:129;;;;;1495:17291;;;;;;;;;;;;;;14124:15;1495:17291;;;-1:-1:-1;;;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;11274:14;1495:17291;;;-1:-1:-1;;;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;;13989:15;1495:17291;;;;;;;;;;;;;;;-1:-1:-1;;1495:17291:187;;;;;;;;-1:-1:-1;;;;;1495:17291:187;;:::i;:::-;;;;10623:18;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;6358:38:49;1495:17291:187;;;;;:::i;:::-;929:10:65;;1495:17291:187;;4439:11:49;1495:17291:187;;;;;;;;;;;;;;6358:38:49;1495:17291:187;;;;;;6358:38:49;:::i;:::-;929:10:65;;6358:38:49;:::i;1495:17291:187:-;;;;;;;;;;;;;;;;;3523:2:49;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;2471:103:48;;;:::i;:::-;7414:1366:187;;:::i;:::-;7567:10;1495:17291;;3856:9:49;1495:17291:187;;;;;;7588:22;;7584:77;;7567:10;1495:17291;;7746:18;1495:17291;;;;;;;3856:9:49;1495:17291:187;;7811:62;1495:17291;;;;;;7811:62;:::i;:::-;7883:30;;;;7879:82;;8054:30;;;;:::i;:::-;7567:10;1495:17291;;7746:18;1495:17291;;;;;;8090:15;1495:17291;8139:14;1495:17291;-1:-1:-1;;;;;1495:17291:187;;;;;;;;8090:84;;;;;1495:17291;;-1:-1:-1;;;8090:84:187;;7567:10;8090:84;;;1495:17291;;;-1:-1:-1;;;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;;8090:84;;;;;;;;;;1495:17291;7567:10;;9795:21:49;1495:17291:187;;6501:4:53;7567:10:187;6501:4:53;:::i;:::-;;;:::i;:::-;7567:10:187;1495:17291;;3856:9:49;1495:17291:187;;;;;;9986:24:49;;;1495:17291:187;;7567:10;;;1495:17291;;3856:9:49;1495:17291:187;;;;;;;;10220:22:49;1495:17291:187;;10220:22:49;1495:17291:187;;;;;;;-1:-1:-1;;;;;;;;;;;7567:10:187;;10268:37:49;;1495:17291:187;;8090:15;1495:17291;;;;;;;;8371:25;;;;;;;;;;;;;;;;;;;;;;;1495:17291;;;;;;;;;;;;;8446:36;;;;;;;;;;;;;1495:17291;8425:57;;8486:6;8425:57;;;:::i;:::-;1495:17291;8498:21;;;;;;1495:17291;;-1:-1:-1;;;8498:21:187;;;;;1495:17291;;;8498:21;1495:17291;;;8498:21;;;;;;;;;;;;;;;1495:17291;8572:31;;;8609:62;8723:30;8572:31;;;;;:::i;:::-;7567:10;;8609:62;;:::i;:::-;8723:30;:::i;:::-;1495:17291;;;;;;;;;;;;;;;;8683:92;1495:17291;7567:10;8683:92;;1495:17291;3053:22:48;1495:17291:187;;;8498:21;;;;;;;:::i;:::-;1495:17291;;8498:21;;;;;;;1495:17291;;;;;;;;;8446:36;;;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;;8425:57;8446:36;;;;;;;8371:25;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;;;;;:::i;:::-;8371:25;;;;;;;;;1495:17291;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;8090:84;;;;;;;:::i;:::-;;;;;;1495:17291;;;;;;;;;7879:82;-1:-1:-1;;1495:17291:187;-1:-1:-1;;;7930:24:187;;;7584:77;1495:17291;-1:-1:-1;;;7627:27:187;;;1495:17291;;;;;;;;;-1:-1:-1;;1495:17291:187;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1495:17291:187;;;;4439:11:49;1495:17291:187;;;;;;;929:10:65;1495:17291:187;;;;;;;;;;;;;;11581:37:49;;11577:243;;1495:17291:187;;5761:6:49;;;;;;:::i;11577:243::-;11642:26;;;1495:17291:187;;;;;;11769:25:49;1495:17291:187;;;5761:6:49;1495:17291:187;;929:10:65;11769:25:49;;:::i;:::-;11577:243;;;;;;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3679:12:49;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;4943:6:49;1495:17291:187;;:::i;:::-;;;929:10:65;;4943:6:49;:::i;1495:17291:187:-;;;;;;;;;;;;;;;;10825:15;1495:17291;10863:14;1495:17291;-1:-1:-1;;;10825:53:187;;-1:-1:-1;;;;;1495:17291:187;;;10825:53;;;1495:17291;;;;;;;;;;;10825:53;;;;;;;;1495:17291;10825:53;;;;1495:17291;10891:9;;;1495:17291;;;;;;;:::i;10825:53::-;;;;;;;;;;;;;:::i;:::-;;;;;1495:17291;;;;;;;;-1:-1:-1;;1495:17291:187;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1495:17291:187;;;;:::o;:::-;;;;-1:-1:-1;;;;;1495:17291:187;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1495:17291:187;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1495:17291:187;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;10794:340:49;-1:-1:-1;;;;;1495:17291:187;;;;10895:19:49;;1495:17291:187;;;10973:21:49;;;1495:17291:187;;;11095:32:49;1495:17291:187;;10912:1:49;1495:17291:187;11044:11:49;1495:17291:187;;;10912:1:49;1495:17291:187;;10912:1:49;1495:17291:187;;;;;10912:1:49;1495:17291:187;;;;;;;11095:32:49;10794:340::o;1495:17291:187:-;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;5312:262:53;-1:-1:-1;;;;;1495:17291:187;-1:-1:-1;1495:17291:187;;;5475:24:53;1495:17291:187;;;;;;;5454:55:53;;1495:17291:187;5454:55:53;:::i;:::-;5527:40;-1:-1:-1;;5527:40:53;;;;;5312:262;:::o;5527:40::-;1495:17291:187;;;;;3856:9:49;1495:17291:187;;;;5312:262:53;:::o;5673:230::-;5800:43;5673:230;5800:43;:::i;:::-;5861:35;;;;5673:230;:::o;5861:35::-;1495:17291:187;3679:12:49;1495:17291:187;5673:230:53;:::o;1495:17291:187:-;8247:16:53;1495:17291:187;;;;;;8247:16:53;-1:-1:-1;1495:17291:187;;;;-1:-1:-1;1495:17291:187;:::o;:::-;;;;;;;;;;;;;8516:21:53;1495:17291:187;;;;;;8516:21:53;-1:-1:-1;1495:17291:187;;;;-1:-1:-1;1495:17291:187;:::o;:::-;;;;;;;;-1:-1:-1;1495:17291:187;;-1:-1:-1;1495:17291:187;;;-1:-1:-1;1495:17291:187;:::o;6694:1594:53:-;6816:14;;1495:17291:187;;5170:18:53;1495:17291:187;6875:37:53;;1495:17291:187;;8085:40:53;;;:::i;:::-;5821:21;1495:17291:187;8140:29:53;;5821:21;;8185:17;6829:1;8185:17;6829:1;8185:17;:::o;8136:146::-;8247:23;;;:::i;:::-;1495:17291:187;;;;;;8233:38:53;8241:4;8233:38;;:::o;1495:17291:187:-;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;6694:1594:53;6816:14;;1495:17291:187;;5170:18:53;1495:17291:187;6875:37:53;;1495:17291:187;;8085:40:53;;;;:::i;:::-;1495:17291:187;;8140:29:53;;8149:20;;8185:17;;6829:1;8185:17;6829:1;8185:17;:::o;8136:146::-;8241:4;8247:23;:16;;:23;:::i;1495:17291:187:-;;;;;;;;;;:::o;757:943:64:-;5821:21:53;1495:17291:187;;869:17:64;;;865:56;;885:1;956:27;1001:10;;;;;;1556:7;;;;:56;;;;994:445;-1:-1:-1;;1552:142:64;;;-1:-1:-1;;1495:17291:187;;;;;;;1628:14:64;:::o;1552:142::-;1673:10;:::o;1556:56::-;11601:17:49;;;;;;1495:17291:187;;;;;885:1:64;3913:101;;;;1495:17291:187;1567:45:64;1556:56;;;;994:445;1495:17291:187;952:5:71;941:21;952:5;;;1495:17291:187;;942:5:71;;;941:21;:::i;:::-;3913:101:64;;885:1;3913:101;;;;;1495:17291:187;1292:40:64;1288:141;1292:40;;;1352:10;;994:445;;1288:141;1495:17291:187;;;;;;;;;;1288:141:64;994:445;;865:56;902:8;;;885:1;902:8;:::o;757:943::-;1495:17291:187;;869:17:64;;;865:56;;885:1;956:27;1001:10;;;;;;1556:7;;;;:56;;;;-1:-1:-1;;1552:142:64;;;-1:-1:-1;;1495:17291:187;;;;;;;1628:14:64;:::o;1556:56::-;11601:17:49;;;;;1495:17291:187;;;;;;;;885:1:64;3913:101;;;885:1;3913:101;;;1495:17291:187;1567:45:64;1556:56;;;;994:445;1495:17291:187;952:5:71;941:21;952:5;;;1495:17291:187;;942:5:71;;;941:21;:::i;:::-;3913:101:64;;885:1;3913:101;;;;885:1;3913:101;;1495:17291:187;1292:40:64;1288:141;1292:40;;;1352:10;;994:445;;1288:141;1495:17291:187;;;;;;;;;;1288:141:64;994:445;;1495:17291:187;;;;;;;:::o;:::-;;;;;;;;;;;;4802:217:53;1061:1:66;4868:18:53;1495:17291:187;;;4868:18:53;1495:17291:187;4967:19:53;1495:17291:187;;;;;;4967:19:53;4802:217;:::o;8294:144::-;1495:17291:187;;;;;;-1:-1:-1;1495:17291:187;8377:24:53;1495:17291:187;;;-1:-1:-1;1495:17291:187;3856:9:49;1495:17291:187;;;-1:-1:-1;1495:17291:187;;5170:18:53;1495:17291:187;8717:30:53;;;;:::i;:::-;:42;8713:151;;8294:144;;;:::o;8713:151::-;8775:29;;1495:17291:187;8775:29:53;8818:35;8775:29;;:::i;:::-;8818:16;:35;:::i;:::-;8294:144::o;8444:116::-;3679:12:49;1495:17291:187;5170:18:53;1495:17291:187;8717:30:53;;;;:::i;:::-;:42;8713:151;;8444:116;;:::o;8713:151::-;8516:21;1495:17291:187;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;8516:21:53;1495:17291:187;;:::i;:::-;;;;;;11601:17:49;;;1495:17291:187;;;;;;;;;;;8818:16:53;1495:17291:187;;;;;;;;;;;;8818:16:53;1495:17291:187;;:::i;:::-;;;;;;;;;;;;;;;;;;8444:116:53:o;1495:17291:187:-;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;11601:17:49;;;1495:17291:187;;;;;;;:::o;8876:206:53:-;8516:21;1495:17291:187;8969:15:53;;;9000:8;8983:1;9000:8;:::o;8965:111::-;-1:-1:-1;;1495:17291:187;;;;;;;9046:19:53;;;:::i;:::-;1495:17291:187;;;;;;9039:26:53;:::o;8876:206::-;1495:17291:187;;8969:15:53;;;9000:8;;8983:1;9000:8;:::o;8965:111::-;-1:-1:-1;;1495:17291:187;;;;;;;9046:19:53;;;:::i;1495:17291:187:-;;;;;;;;-1:-1:-1;;1495:17291:187;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1495:17291:187;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::o;4045:1433::-;;-1:-1:-1;;;;;1495:17291:187;;;;4125:10;4115:20;;;;:105;;4045:1433;4111:159;;4320:1;4309:12;;;4305:59;;;;:::i;:::-;4441:17;;:::i;:::-;4543:28;;;;:::i;:::-;:33;4539:152;;1495:17291;4947:15;1495:17291;;;;;;;;;;4947:32;;;;;;;;;;;;;;;;;;;;;;;;4045:1433;1495:17291;;;;;;;;;;;4922:83;;4999:4;4947:32;4922:83;;1495:17291;;4922:83;;;;;;;;;;;4045:1433;1495:17291;;;5059:14;1495:17291;;;;;;;;;;;;5016:58;;4947:32;5016:58;;1495:17291;5016:58;;;;;;;;;;;4045:1433;4922:152;;;;:::i;:::-;1495:17291;5157:41;4905:216;4922:198;5086:15;1495:17291;;5086:33;5104:15;1495:17291;5086:33;;:::i;:::-;4922:198;;:::i;:::-;4905:216;;:::i;:::-;5157:41;;;:::i;:::-;5086:15;1495:17291;;;;5204:17;1495:17291;;;;;5204:58;1495:17291;;;5204:58;:::i;:::-;1495:17291;;4947:15;1495:17291;;5297:64;;;;;;1495:17291;;-1:-1:-1;;;5297:64:187;;-1:-1:-1;;;;;1495:17291:187;;;;4947:32;5297:64;;1495:17291;4999:4;1495:17291;;;;;;;;;;;;;;;;;;;;;5297:64;;;;;;;;4045:1433;-1:-1:-1;1495:17291:187;;;5204:17;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;5373:100;;1495:17291;;5373:100;4045:1433::o;5297:64::-;;;;;:::i;:::-;1495:17291;;5297:64;;;;1495:17291;;;;;;;;;5016:58;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;4922:152;1495:17291;;5016:58;;;;;;;;;1495:17291;;;;;;;;;4922:83;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;4922:83;;;;;;;;4947:32;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;;;;:::i;:::-;4947:32;;;;;;;;4539:152;1495:17291;;;;;;4586:15;1495:17291;;;;;;;;;4627:33;;;;;;;;;;;;;;;;;;4539:152;4586:84;;;;;;1495:17291;;-1:-1:-1;;;4586:84:187;;-1:-1:-1;;;;;1495:17291:187;;;4627:33;4586:84;;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;4586:84;;;;;;;;4678:7;;:::o;4586:84::-;;;;:::i;:::-;4678:7;:::o;4586:84::-;1495:17291;;;;;;;;;4627:33;;;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;;:::i;:::-;4627:33;;;;;;;-1:-1:-1;4627:33:187;;;1495:17291;;;;;;;;;4305:59;1495:17291;;-1:-1:-1;;;4330:34:187;;;;;4111:159;1495:17291;;-1:-1:-1;;;4237:26:187;;;;;4115:105;1495:17291;;4153:15;1495:17291;;-1:-1:-1;1495:17291:187;4191:14;1495:17291;;;;;;;;;;;;4153:53;;;;;1495:17291;4153:53;;;;;;;;;:67;:53;-1:-1:-1;4153:53:187;;;4115:105;4153:67;;1495:17291;;4125:10;4139:81;;4115:105;;4153:53;;;;;;;;;;;;:::i;:::-;;;;;1495:17291;;;-1:-1:-1;1495:17291:187;;;;;5550:411;5654:21;1495:17291;5678:15;1495:17291;;;-1:-1:-1;;;5678:33:187;;1495:17291;5678:33;;1495:17291;;5678:33;;1495:17291;;-1:-1:-1;;;;;1495:17291:187;5678:33;;;;;;-1:-1:-1;5678:33:187;;;5550:411;5654:57;;;;;:::i;:::-;5715:15;-1:-1:-1;5654:76:187;5650:307;;5550:411;:::o;5650:307::-;5871:79;5715:15;;5654:21;1495:17291;5847:11;;:::i;:::-;;5654:21;1495:17291;5932:17;5871:79;5932:17;;:::i;:::-;1495:17291;;5871:79;;;;1495:17291;;;;;;;;;;;;;;;;;;5871:79;;;;5550:411::o;5678:33::-;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;5654:57;1495:17291;;5678:33;;;;;-1:-1:-1;5678:33:187;;2580:287:48;1830:1;2712:7;1495:17291:187;2712:19:48;1830:1;;;2712:7;1495:17291:187;2580:287:48:o;1830:1::-;1495:17291:187;;-1:-1:-1;;;1830:1:48;;;;;;;;;;;1495:17291:187;1830:1:48;1495:17291:187;;;1830:1:48;;;;1495:17291:187;;;;;;;;;;;;;;;;:::o;996:186:57:-;1495:17291:187;;-1:-1:-1;;;1116:58:57;;;;;;;-1:-1:-1;;;;;1495:17291:187;;;1116:58:57;;;1495:17291:187;;;;;;;;;1116:58:57;;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5546:69:63;1495:17291:187;;;;;;;;;;;-1:-1:-1;5498:31:63;;;;;;;;;;1495:17291:187;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;5546:69:63;:::i;:::-;1495:17291:187;;5848:22:57;;;:56;;;;;;1495:17291:187;;;;;;;;;996:186:57;:::o;1495:17291:187:-;;;;;;;;;;;;;;;;1116:58:57;1495:17291:187;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;5848:56:57;5874:30;;;;;;;1495:17291:187;;;;5874:30:57;;1495:17291:187;;;;;;;;;5848:56:57;;;;;;;1495:17291:187;;;7682:628:63;;;;7886:418;;;1495:17291:187;;;7917:22:63;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;1495:17291:187;;8212:17:63;:::o;1495:17291:187:-;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;7886:418:63;1495:17291:187;;;;-1:-1:-1;8991:21:63;:17;;9163:142;;;;;;;8987:379;1495:17291:187;;-1:-1:-1;;;9335:20:63;;1495:17291:187;;;9335:20:63;;;;;;:::i;:::-;;;;1495:17291:187;-1:-1:-1;;1495:17291:187;;;;;;;:::o;12498:233::-;12583:21;1495:17291;12607:15;1495:17291;;;-1:-1:-1;;;12607:33:187;;1495:17291;12498:233;1495:17291;12607:33;;1495:17291;;12607:33;;1495:17291;;-1:-1:-1;;;;;1495:17291:187;12607:33;;;;;;;-1:-1:-1;12607:33:187;;;12498:233;12583:57;;;;;;:::i;:::-;12565:15;:75;12561:126;;5170:18:53;1495:17291:187;;;;;;;;;12498:233;:::o;12561:126::-;5170:18:53;1495:17291:187;12650:30;:::o;12607:33::-;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;-1:-1:-1;12583:57:187;12607:33;;;;;-1:-1:-1;12607:33:187;;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11601:17:49;;;;;1495:17291:187;;;;;;;;:::o;:::-;-1:-1:-1;;;1495:17291:187;;;;;;;;;11601:17:49;;;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::o;:::-;;;;;;:::o;:::-;;;:::o;12824:316::-;-1:-1:-1;;;;;1495:17291:187;;;;;13051:4;1495:17291;;;;;;;;;;;13106:19;13045:57;1495:17291;13045:44;13051:37;13044:81;1495:17291;;13129:4;1495:17291;;:::i;13051:37::-;13045:44;:::i;:57::-;13106:19;;:::i;:::-;13044:81;;:::i;:::-;1495:17291;12824:316;:::o;13238:251::-;13428:3;1495:17291;;;;;;13428:3;1495:17291;;;;;;;13411:45;13410:67;13411:45;13428:3;13411:45;;:::i;:::-;13410:67;:::i;14418:203::-;;;14537:4;14515:10;:27;14511:66;;-1:-1:-1;;;;;1495:17291:187;;;;;7889:18:49;;1495:17291:187;;;;7967:16:49;;;1495:17291:187;;6626:4:53;6668:2;6626:4;;:::i;:::-;6668:2;:::i;:::-;6279:403;1495:17291:187;;;8105:9:49;1495:17291:187;;;;;;8138:21:49;;;;1495:17291:187;;;;;-1:-1:-1;;;;;;;;;;;1495:17291:187;;;;;8105:9:49;1495:17291:187;;;;;;;;;;;;;;;;;;;;;;8500:26:49;14418:203:187:o;1495:17291::-;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:187;;;;;;;14797:792;;;15074:27;;;:67;;;;3679:12:49;1495:17291:187;15074:67;;15197:21;;15193:35;;15360:75;;;;;-1:-1:-1;;;;;;1495:17291:187;-1:-1:-1;1495:17291:187;;;3856:9:49;1495:17291:187;;;;;;;15360:75;15526:4;1495:17291;;;;;;;;;;;;;;;;15509:67;1495:17291;15510:46;1495:17291;-1:-1:-1;1495:17291:187;11411:17;1495:17291;;;-1:-1:-1;1495:17291:187;;15510:46;;:::i;15360:75::-;15409:26;;;:::i;:::-;15360:75;;;15193:35;15220:8;;;;-1:-1:-1;15220:8:187;:::o;15074:67::-;15120:21;;;:::i;:::-;15074:67;;;15909:2875;;15975:2805;15909:2875;-1:-1:-1;;;15975:2805:187;;;;;15909:2875;15975:2805;;;;;;;;15909:2875;15975:2805;;;;;;15909:2875;15975:2805;;;;;;15909:2875;15975:2805;;;;1495:17291;15975:2805;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15909:2875;:::o;15975:2805::-;;-1:-1:-1;15909:2875:187:o;15975:2805::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15975:2805:187;;-1:-1:-1;15975:2805:187;;;;;","linkReferences":{}},"methodIdentifiers":{"addRewards(address,uint256)":"a9fc507b","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","balanceOfAt(address,uint256)":"4ee2cd7e","calculatePurchaseReturn(uint120,uint120)":"d775a4c7","calculateSaleReturn(uint256,uint256,uint256)":"74293bf8","claimRewards(address,uint8)":"b5fc2f85","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","getAllTimeRewards()":"94616420","getAmountStakedByUser(address)":"399d99ec","getClaimableRewardsForUser(address,uint256)":"636f5b27","getCreationTime()":"e6519a35","getCurrentRound()":"a32bf597","getHistoricalRewardsForUserForRounds(address,uint256[])":"cae06944","getLastSnapshotTimestamp()":"7c27ff86","getRoundRewards(uint256)":"91e2057e","getStakingRegistry()":"61347782","getSumOfAllClaimed()":"3b1c612e","getTargetBeingStakedOn()":"3b248c76","increaseAllowance(address,uint256)":"39509351","initialize(address,address,address)":"c0c53b8b","name()":"06fdde03","stake(uint120)":"9ca92dec","symbol()":"95d89b41","takeSnapshot()":"b3d3d37e","totalSupply()":"18160ddd","totalSupplyAt(uint256)":"981b24d0","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","unstake(uint256)":"2e17de78"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CannotAddZeroRewards\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotClaimCurrentRound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimingTooManyRounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimingZeroRounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientStakedRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientSyntheticRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_donor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountAdded\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newRoundRewardAmount\",\"type\":\"uint256\"}],\"name\":\"AddRewards\",\"type\":\"event\"},{\"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\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_msgSender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountToStaker\",\"type\":\"uint256\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Snapshot\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaking\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountSRareReceived\",\"type\":\"uint256\"}],\"name\":\"Stake\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lastSnapshotTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_currentSnapshotTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"}],\"name\":\"StakingSnapshot\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountUnstaking\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountRareBurned\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountSRareSold\",\"type\":\"uint256\"}],\"name\":\"Unstake\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_donor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"addRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"balanceOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint120\",\"name\":\"_totalSRare\",\"type\":\"uint120\"},{\"internalType\":\"uint120\",\"name\":\"_stakedAmount\",\"type\":\"uint120\"}],\"name\":\"calculatePurchaseReturn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalSRareByUser\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRareStakedByUser\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_unstakeAmount\",\"type\":\"uint256\"}],\"name\":\"calculateSaleReturn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_numRounds\",\"type\":\"uint8\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllTimeRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getAmountStakedByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_numRounds\",\"type\":\"uint256\"}],\"name\":\"getClaimableRewardsForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreationTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_rounds\",\"type\":\"uint256[]\"}],\"name\":\"getHistoricalRewardsForUserForRounds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastSnapshotTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"}],\"name\":\"getRoundRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSumOfAllClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTargetBeingStakedOn\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_userStakedTo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint120\",\"name\":\"_amount\",\"type\":\"uint120\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"takeSnapshot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"totalSupplyAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"details\":\"It is one base user per contract. This is the implementation contract for a beacon proxy.\",\"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.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Snapshot(uint256)\":{\"details\":\"Emitted by {_snapshot} when a snapshot identified by `id` is created.\"},\"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\":{\"addRewards(address,uint256)\":{\"params\":{\"_amount\":\"Amount of $RARE being staked.\",\"_donor\":\"Address of the account donating the $RARE.\"}},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` 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\":\"See {IERC20-balanceOf}.\"},\"balanceOfAt(address,uint256)\":{\"details\":\"Retrieves the balance of `account` at the time `snapshotId` was created.\"},\"calculatePurchaseReturn(uint120,uint120)\":{\"details\":\"Calculated based on a sqrt token bonding curve.\",\"params\":{\"_stakedAmount\":\"Amount of RARE being staked.\",\"_totalSRare\":\"Current supply of sRare.\"},\"returns\":{\"_0\":\"uint256 Amount of synthetic tokens one would get for staking {_stakedAmount} given a totalSupply of {_totalSRare}.\"}},\"calculateSaleReturn(uint256,uint256,uint256)\":{\"details\":\"Calculated based on percentage sRARE being unstaked.\",\"params\":{\"_totalRareStakedByUser\":\"Total Amount of RARE staked by the given user.\",\"_totalSRareByUser\":\"Current balance of sRARE held by the given user.\",\"_unstakeAmount\":\"Amount of sRare being traded in.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens one would get for unstaking {_unstakeAmount} given {_totalSRareByUser} and {_totalRareStakedByUser}.\"}},\"claimRewards(address,uint8)\":{\"details\":\"Will snapshot a new round if possible.\",\"params\":{\"_numRounds\":\"uint256 number of rounds to claim since last claim.\",\"_user\":\"Address of user to claim on behalf of.\"}},\"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}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getAllTimeRewards()\":{\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens allocated as rewards.\"}},\"getAmountStakedByUser(address)\":{\"params\":{\"_user\":\"Address of staker.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE staked.\"}},\"getClaimableRewardsForUser(address,uint256)\":{\"params\":{\"_numRounds\":\"Address of the user to get rewards.\",\"_user\":\"Address of the user to get rewards.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens rewarded.\"}},\"getCreationTime()\":{\"returns\":{\"_0\":\"uint256 unix creation time of the contract.\"}},\"getCurrentRound()\":{\"returns\":{\"_0\":\"uint256 Claim round id.\"}},\"getHistoricalRewardsForUserForRounds(address,uint256[])\":{\"params\":{\"_rounds\":\"List of uint256 round ids to look up the rewards.\",\"_user\":\"Address of the user to get rewards.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens rewarded.\"}},\"getLastSnapshotTimestamp()\":{\"returns\":{\"_0\":\"uint256 unix time of the most recent snapshot.\"}},\"getRoundRewards(uint256)\":{\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens allocated as rewards for round.\"}},\"getStakingRegistry()\":{\"returns\":{\"_0\":\"address of the staking registry.\"}},\"getSumOfAllClaimed()\":{\"returns\":{\"_0\":\"uint256 amount of rewards claimed.\"}},\"getTargetBeingStakedOn()\":{\"returns\":{\"_0\":\"Address of target being staked on;\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"returns\":{\"_0\":\"Name of the synthetic asset.\"}},\"stake(uint120)\":{\"details\":\"Caller must have given this contract allowance for their $RARE tokens.On each call will check to see if the period needs to be updated.Amount of synthetic token received is determined by a sqrt bonding curve.\",\"params\":{\"_amount\":\"Amount of $RARE being staked.\"}},\"symbol()\":{\"returns\":{\"_0\":\"Symbol of the synthetic asset.\"}},\"takeSnapshot()\":{\"details\":\"Anyone can make this call.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"totalSupplyAt(uint256)\":{\"details\":\"Retrieves the total supply at the time `snapshotId` was created.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"unstake(uint256)\":{\"details\":\"On each call will check to see if the period needs to be updated.Amount of $RARE received is the % of your synthetic tokens unstaked.{deflationaryPercentage} of the unstaked rare is burned.\",\"params\":{\"_amount\":\"Amount of synthetic tokens to unstake.\"}}},\"title\":\"RarityPool\",\"version\":1},\"userdoc\":{\"errors\":{\"CannotAddZeroRewards()\":[{\"notice\":\"Error emitted via {addRewards} if adding 0 rewards.\"}],\"CannotClaimCurrentRound()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if claiming current round.\"}],\"ClaimingTooManyRounds()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if too many rounds are supplied.\"}],\"ClaimingZeroRounds()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if claiming no rounds.\"}],\"InsufficientStakedRare()\":[{\"notice\":\"Error emitted via {unstake} when the sale return proves greater than the amount staked. This should be impossible.\"}],\"InsufficientSyntheticRare()\":[{\"notice\":\"Error emitted via {unstake} when unstaking more synthetic tokens than is in their balance.\"}],\"RewardAlreadyClaimed()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if sender has already claimed their reward one of the supplied rounds.\"}],\"Unauthorized()\":[{\"notice\":\"Error emitted when user doesnt meet the criteria for call.\"}],\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"kind\":\"user\",\"methods\":{\"addRewards(address,uint256)\":{\"notice\":\"Allocates rewards for the current round with the given amount.\"},\"calculatePurchaseReturn(uint120,uint120)\":{\"notice\":\"Calculates the number of sRare yielded from staking.\"},\"calculateSaleReturn(uint256,uint256,uint256)\":{\"notice\":\"Calculates the number of rare yielded from unstaking.\"},\"claimRewards(address,uint8)\":{\"notice\":\"Claim rewards for the _user for the number of rounds supplied since last claim. Rewards are proportional to the synthetic tokens held during the snapshot associated with each round. Throws if user has already claimed the latest round. Throws if current round is being claimed.\"},\"getAllTimeRewards()\":{\"notice\":\"Total rewards snapshotted since con.\"},\"getAmountStakedByUser(address)\":{\"notice\":\"Query total amount of $RARE a user has staked on this contract.\"},\"getClaimableRewardsForUser(address,uint256)\":{\"notice\":\"Query the available rewards for claim of the supplied user address for the number of rounds supplied. \"},\"getCreationTime()\":{\"notice\":\"Get the unix creation time of the staking contract.\"},\"getCurrentRound()\":{\"notice\":\"Query current round. The current round is accumulating rewards.\"},\"getHistoricalRewardsForUserForRounds(address,uint256[])\":{\"notice\":\"Query rewards for the supplied user address for the round supplied rounds. Does not omit rewards for rounds that have already been claimed. Allows for easier historical lookups.\"},\"getLastSnapshotTimestamp()\":{\"notice\":\"Get the unix time of the most recent snapshot.\"},\"getRoundRewards(uint256)\":{\"notice\":\"Total rewards available for the supplied round.\"},\"getStakingRegistry()\":{\"notice\":\"Return the staking registry of the pool\"},\"getSumOfAllClaimed()\":{\"notice\":\"Total amount of Rewards claimed.\"},\"getTargetBeingStakedOn()\":{\"notice\":\"Query the target being staked on by this contract.\"},\"name()\":{\"notice\":\"Name of the synthetic asset.\"},\"stake(uint120)\":{\"notice\":\"Stake $RARE tokens to the target associated with the contract and receive synthetic tokens in return.\"},\"symbol()\":{\"notice\":\"Symbol of the synthetic asset.\"},\"takeSnapshot()\":{\"notice\":\"Snapshots the rewards for the current round. Anyone can call this.\"},\"unstake(uint256)\":{\"notice\":\"Unstake by returning synthetic tokens and receiving previously staked $RARE in return.\"}},\"notice\":\"The Staked ERC20 contract that allows users to stake/unstake/claim rewards/reward swaps.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/token/RarityPool.sol\":\"RarityPool\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xd14a627157b9a411d2410713e5dd3a377e9064bd5c194a90748bbf27ea625784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29d6a502187e88fdb4ac51319b6cfc82e7ba886a435480e229e5f838d2da55ee\",\"dweb:/ipfs/QmQNWKr3axXvQowZi31ydXRdeZ7UnE7oN8XAz9FCkx1JhN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol\":{\"keccak256\":\"0xea2c6f9d434127bf36b1e3e5ebaaf6d28a64dbaeea560508e570014e905a5ad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3483370aa549810a946ace621a225616bb6d0b9ed22c3a99bbcf80dc4866ec39\",\"dweb:/ipfs/QmdgFnm6X2oQ574eJFLghVXVckwyC3SbiAUxXs934N1qvf\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol\":{\"keccak256\":\"0xde37069fee260aebc3d205b6efac1c5c6d2271805f0a5035e3d626a23d33264c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cb3fc98ee9933b15b1369ab1cab47df7a3978a78c1ff830caa29daf2615b7a\",\"dweb:/ipfs/QmQ2xnoPdWicferXuTYLmQVQrJMDBEqUkJfizmkZk8WF2V\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol\":{\"keccak256\":\"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d\",\"dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol\":{\"keccak256\":\"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622\",\"dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol\":{\"keccak256\":\"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8\",\"dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol\":{\"keccak256\":\"0xfc2b592af54cefb457ee96f7e1336d883a5dc02f04d462c6a3bb6c1f1e7865ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://203d64e7c51f2c27e7a0c07338a6ab2cefc3bacf99c416415e57038933ece767\",\"dweb:/ipfs/QmQBU4dFzaXv2pX76TQeTaRVMsPyyN7owuGK3zZXA5y9kj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol\":{\"keccak256\":\"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca\",\"dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol\":{\"keccak256\":\"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f\",\"dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]},\"src/staking/token/RarityPool.sol\":{\"keccak256\":\"0x9d2a4416a919b9a5790e49bf17f678c750bee98970678d1a699b0a3bcf9fba91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3029388baf7af0e6d3e926b8f01d887b1791ce09d2ddaacaa9683269dfb8ab5c\",\"dweb:/ipfs/QmXpVyd4uvWYz3DTURJHexU5NW5XNcwzBcEHTDPyTHyjzP\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CannotAddZeroRewards"},{"inputs":[],"type":"error","name":"CannotClaimCurrentRound"},{"inputs":[],"type":"error","name":"ClaimingTooManyRounds"},{"inputs":[],"type":"error","name":"ClaimingZeroRounds"},{"inputs":[],"type":"error","name":"InsufficientStakedRare"},{"inputs":[],"type":"error","name":"InsufficientSyntheticRare"},{"inputs":[],"type":"error","name":"RewardAlreadyClaimed"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"_donor","type":"address","indexed":true},{"internalType":"uint256","name":"_round","type":"uint256","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountAdded","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newRoundRewardAmount","type":"uint256","indexed":false}],"type":"event","name":"AddRewards","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_msgSender","type":"address","indexed":true},{"internalType":"address","name":"_claimer","type":"address","indexed":true},{"internalType":"uint256","name":"_amountToStaker","type":"uint256","indexed":false}],"type":"event","name":"RewardClaimed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256","indexed":false}],"type":"event","name":"Snapshot","anonymous":false},{"inputs":[{"internalType":"address","name":"_staker","type":"address","indexed":true},{"internalType":"uint256","name":"_amountStaking","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountSRareReceived","type":"uint256","indexed":false}],"type":"event","name":"Stake","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_lastSnapshotTimestamp","type":"uint256","indexed":false},{"internalType":"uint256","name":"_currentSnapshotTimestamp","type":"uint256","indexed":false},{"internalType":"uint256","name":"_round","type":"uint256","indexed":false}],"type":"event","name":"StakingSnapshot","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_staker","type":"address","indexed":true},{"internalType":"uint256","name":"_amountUnstaking","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountRareBurned","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountSRareSold","type":"uint256","indexed":false}],"type":"event","name":"Unstake","anonymous":false},{"inputs":[{"internalType":"address","name":"_donor","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addRewards"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint120","name":"_totalSRare","type":"uint120"},{"internalType":"uint120","name":"_stakedAmount","type":"uint120"}],"stateMutability":"pure","type":"function","name":"calculatePurchaseReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_totalSRareByUser","type":"uint256"},{"internalType":"uint256","name":"_totalRareStakedByUser","type":"uint256"},{"internalType":"uint256","name":"_unstakeAmount","type":"uint256"}],"stateMutability":"pure","type":"function","name":"calculateSaleReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint8","name":"_numRounds","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"claimRewards"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllTimeRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getAmountStakedByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_numRounds","type":"uint256"}],"stateMutability":"view","type":"function","name":"getClaimableRewardsForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCreationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256[]","name":"_rounds","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"getHistoricalRewardsForUserForRounds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLastSnapshotTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_round","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRoundRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSumOfAllClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTargetBeingStakedOn","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_userStakedTo","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_creator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint120","name":"_amount","type":"uint120"}],"stateMutability":"nonpayable","type":"function","name":"stake"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"takeSnapshot"},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupplyAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unstake"}],"devdoc":{"kind":"dev","methods":{"addRewards(address,uint256)":{"params":{"_amount":"Amount of $RARE being staked.","_donor":"Address of the account donating the $RARE."}},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` 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":"See {IERC20-balanceOf}."},"balanceOfAt(address,uint256)":{"details":"Retrieves the balance of `account` at the time `snapshotId` was created."},"calculatePurchaseReturn(uint120,uint120)":{"details":"Calculated based on a sqrt token bonding curve.","params":{"_stakedAmount":"Amount of RARE being staked.","_totalSRare":"Current supply of sRare."},"returns":{"_0":"uint256 Amount of synthetic tokens one would get for staking {_stakedAmount} given a totalSupply of {_totalSRare}."}},"calculateSaleReturn(uint256,uint256,uint256)":{"details":"Calculated based on percentage sRARE being unstaked.","params":{"_totalRareStakedByUser":"Total Amount of RARE staked by the given user.","_totalSRareByUser":"Current balance of sRARE held by the given user.","_unstakeAmount":"Amount of sRare being traded in."},"returns":{"_0":"uint256 Amount of $RARE tokens one would get for unstaking {_unstakeAmount} given {_totalSRareByUser} and {_totalRareStakedByUser}."}},"claimRewards(address,uint8)":{"details":"Will snapshot a new round if possible.","params":{"_numRounds":"uint256 number of rounds to claim since last claim.","_user":"Address of user to claim on behalf of."}},"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}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"getAllTimeRewards()":{"returns":{"_0":"uint256 Amount of $RARE tokens allocated as rewards."}},"getAmountStakedByUser(address)":{"params":{"_user":"Address of staker."},"returns":{"_0":"uint256 Amount of $RARE staked."}},"getClaimableRewardsForUser(address,uint256)":{"params":{"_numRounds":"Address of the user to get rewards.","_user":"Address of the user to get rewards."},"returns":{"_0":"uint256 Amount of $RARE tokens rewarded."}},"getCreationTime()":{"returns":{"_0":"uint256 unix creation time of the contract."}},"getCurrentRound()":{"returns":{"_0":"uint256 Claim round id."}},"getHistoricalRewardsForUserForRounds(address,uint256[])":{"params":{"_rounds":"List of uint256 round ids to look up the rewards.","_user":"Address of the user to get rewards."},"returns":{"_0":"uint256 Amount of $RARE tokens rewarded."}},"getLastSnapshotTimestamp()":{"returns":{"_0":"uint256 unix time of the most recent snapshot."}},"getRoundRewards(uint256)":{"returns":{"_0":"uint256 Amount of $RARE tokens allocated as rewards for round."}},"getStakingRegistry()":{"returns":{"_0":"address of the staking registry."}},"getSumOfAllClaimed()":{"returns":{"_0":"uint256 amount of rewards claimed."}},"getTargetBeingStakedOn()":{"returns":{"_0":"Address of target being staked on;"}},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"returns":{"_0":"Name of the synthetic asset."}},"stake(uint120)":{"details":"Caller must have given this contract allowance for their $RARE tokens.On each call will check to see if the period needs to be updated.Amount of synthetic token received is determined by a sqrt bonding curve.","params":{"_amount":"Amount of $RARE being staked."}},"symbol()":{"returns":{"_0":"Symbol of the synthetic asset."}},"takeSnapshot()":{"details":"Anyone can make this call."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"totalSupplyAt(uint256)":{"details":"Retrieves the total supply at the time `snapshotId` was created."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."},"unstake(uint256)":{"details":"On each call will check to see if the period needs to be updated.Amount of $RARE received is the % of your synthetic tokens unstaked.{deflationaryPercentage} of the unstaked rare is burned.","params":{"_amount":"Amount of synthetic tokens to unstake."}}},"version":1},"userdoc":{"kind":"user","methods":{"addRewards(address,uint256)":{"notice":"Allocates rewards for the current round with the given amount."},"calculatePurchaseReturn(uint120,uint120)":{"notice":"Calculates the number of sRare yielded from staking."},"calculateSaleReturn(uint256,uint256,uint256)":{"notice":"Calculates the number of rare yielded from unstaking."},"claimRewards(address,uint8)":{"notice":"Claim rewards for the _user for the number of rounds supplied since last claim. Rewards are proportional to the synthetic tokens held during the snapshot associated with each round. Throws if user has already claimed the latest round. Throws if current round is being claimed."},"getAllTimeRewards()":{"notice":"Total rewards snapshotted since con."},"getAmountStakedByUser(address)":{"notice":"Query total amount of $RARE a user has staked on this contract."},"getClaimableRewardsForUser(address,uint256)":{"notice":"Query the available rewards for claim of the supplied user address for the number of rounds supplied. "},"getCreationTime()":{"notice":"Get the unix creation time of the staking contract."},"getCurrentRound()":{"notice":"Query current round. The current round is accumulating rewards."},"getHistoricalRewardsForUserForRounds(address,uint256[])":{"notice":"Query rewards for the supplied user address for the round supplied rounds. Does not omit rewards for rounds that have already been claimed. Allows for easier historical lookups."},"getLastSnapshotTimestamp()":{"notice":"Get the unix time of the most recent snapshot."},"getRoundRewards(uint256)":{"notice":"Total rewards available for the supplied round."},"getStakingRegistry()":{"notice":"Return the staking registry of the pool"},"getSumOfAllClaimed()":{"notice":"Total amount of Rewards claimed."},"getTargetBeingStakedOn()":{"notice":"Query the target being staked on by this contract."},"name()":{"notice":"Name of the synthetic asset."},"stake(uint120)":{"notice":"Stake $RARE tokens to the target associated with the contract and receive synthetic tokens in return."},"symbol()":{"notice":"Symbol of the synthetic asset."},"takeSnapshot()":{"notice":"Snapshots the rewards for the current round. Anyone can call this."},"unstake(uint256)":{"notice":"Unstake by returning synthetic tokens and receiving previously staked $RARE in return."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/token/RarityPool.sol":"RarityPool"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xd14a627157b9a411d2410713e5dd3a377e9064bd5c194a90748bbf27ea625784","urls":["bzz-raw://29d6a502187e88fdb4ac51319b6cfc82e7ba886a435480e229e5f838d2da55ee","dweb:/ipfs/QmQNWKr3axXvQowZi31ydXRdeZ7UnE7oN8XAz9FCkx1JhN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol":{"keccak256":"0xea2c6f9d434127bf36b1e3e5ebaaf6d28a64dbaeea560508e570014e905a5ad2","urls":["bzz-raw://3483370aa549810a946ace621a225616bb6d0b9ed22c3a99bbcf80dc4866ec39","dweb:/ipfs/QmdgFnm6X2oQ574eJFLghVXVckwyC3SbiAUxXs934N1qvf"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol":{"keccak256":"0xde37069fee260aebc3d205b6efac1c5c6d2271805f0a5035e3d626a23d33264c","urls":["bzz-raw://40cb3fc98ee9933b15b1369ab1cab47df7a3978a78c1ff830caa29daf2615b7a","dweb:/ipfs/QmQ2xnoPdWicferXuTYLmQVQrJMDBEqUkJfizmkZk8WF2V"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol":{"keccak256":"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb","urls":["bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d","dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol":{"keccak256":"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3","urls":["bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622","dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol":{"keccak256":"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c","urls":["bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8","dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol":{"keccak256":"0xfc2b592af54cefb457ee96f7e1336d883a5dc02f04d462c6a3bb6c1f1e7865ae","urls":["bzz-raw://203d64e7c51f2c27e7a0c07338a6ab2cefc3bacf99c416415e57038933ece767","dweb:/ipfs/QmQBU4dFzaXv2pX76TQeTaRVMsPyyN7owuGK3zZXA5y9kj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol":{"keccak256":"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447","urls":["bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca","dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol":{"keccak256":"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f","urls":["bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f","dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"},"src/staking/token/RarityPool.sol":{"keccak256":"0x9d2a4416a919b9a5790e49bf17f678c750bee98970678d1a699b0a3bcf9fba91","urls":["bzz-raw://3029388baf7af0e6d3e926b8f01d887b1791ce09d2ddaacaa9683269dfb8ab5c","dweb:/ipfs/QmXpVyd4uvWYz3DTURJHexU5NW5XNcwzBcEHTDPyTHyjzP"],"license":"MIT"}},"version":1},"id":187} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addRewards","inputs":[{"name":"_donor","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"balanceOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculatePurchaseReturn","inputs":[{"name":"_totalSRare","type":"uint120","internalType":"uint120"},{"name":"_stakedAmount","type":"uint120","internalType":"uint120"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"calculateSaleReturn","inputs":[{"name":"_totalSRareByUser","type":"uint256","internalType":"uint256"},{"name":"_totalRareStakedByUser","type":"uint256","internalType":"uint256"},{"name":"_unstakeAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"claimRewards","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_numRounds","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getAllTimeRewards","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getAmountStakedByUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getClaimableRewardsForUser","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_numRounds","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCreationTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentRound","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getHistoricalRewardsForUserForRounds","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_rounds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastSnapshotTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoundRewards","inputs":[{"name":"_round","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getStakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSumOfAllClaimed","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getTargetBeingStakedOn","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_userStakedTo","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_creator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"stake","inputs":[{"name":"_amount","type":"uint120","internalType":"uint120"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"takeSnapshot","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyAt","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"unstake","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddRewards","inputs":[{"name":"_donor","type":"address","indexed":true,"internalType":"address"},{"name":"_round","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountAdded","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newRoundRewardAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"RewardClaimed","inputs":[{"name":"_msgSender","type":"address","indexed":true,"internalType":"address"},{"name":"_claimer","type":"address","indexed":true,"internalType":"address"},{"name":"_amountToStaker","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Snapshot","inputs":[{"name":"id","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Stake","inputs":[{"name":"_staker","type":"address","indexed":true,"internalType":"address"},{"name":"_amountStaking","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountSRareReceived","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakingSnapshot","inputs":[{"name":"_lastSnapshotTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_currentSnapshotTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_round","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unstake","inputs":[{"name":"_staker","type":"address","indexed":true,"internalType":"address"},{"name":"_amountUnstaking","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_totalAmountStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountRareBurned","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_amountSRareSold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CannotAddZeroRewards","inputs":[]},{"type":"error","name":"CannotClaimCurrentRound","inputs":[]},{"type":"error","name":"ClaimingTooManyRounds","inputs":[]},{"type":"error","name":"ClaimingZeroRounds","inputs":[]},{"type":"error","name":"InsufficientStakedRare","inputs":[]},{"type":"error","name":"InsufficientSyntheticRare","inputs":[]},{"type":"error","name":"RewardAlreadyClaimed","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x608080604052346100c1576000549060ff8260081c1661006f575060ff80821603610034575b60405161291c90816100c78239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c9184836306fdde03146114435750508163095ea7b31461141957816318160ddd146113fa57816323b872dd1461132e5781632e17de7814610f9d578163313ce56714610f815781633950935114610f32578163399d99ec14610efa5781633b1c612e14610edb5781633b248c7614610eb25781634ee2cd7e14610e895781636134778214610e60578163636f5b2714610d8657816370a0823114610d4e57816374293bf814610d265781637c27ff8614610d0757816391e2057e14610cdf5781639461642014610cc057816395d89b4114610c26578163981b24d014610c065781639ca92dec14610939578163a32bf5971461091c578163a457c2d714610875578163a9059cbb14610844578163a9fc507b1461081f578163b3d3d37e14610803578163b5fc2f85146105d8578163c0c53b8b14610354578163cae069441461024057508063d775a4c7146101f5578063dd62ed3e146101a85763e6519a351461018757600080fd5b346101a457816003193601126101a45760209060d0549051908152f35b5080fd5b50346101a457806003193601126101a4576020916101c461150d565b826101cd611523565b6001600160a01b03928316845260348652922091166000908152908352819020549051908152f35b50903461023d578160031936011261023d5750610210611539565b90602435916001600160781b03831683036102385760209261023191612569565b9051908152f35b600080fd5b80fd5b82843461023d578160031936011261023d5761025a61150d565b9260249384359067ffffffffffffffff908183116103505736602384011215610350578284013591821161033e5760059180831b938751946020926102a184830188611579565b865289838701918301019136831161033a578a849101915b83831061032a575050505085936068549387955b825160ff88161015610321576102f9906102f38786611fe08b871b168701015188612767565b9061159b565b9560ff80911690811461030f57600101956102cd565b634e487b7160e01b8952601188528a89fd5b83908a51908152f35b82358152918101918491016102b9565b8880fd5b634e487b7160e01b8552604184528685fd5b8480fd5b9050346105d45760603660031901126105d45761036f61150d565b90610378611523565b6044356001600160a01b038181169392908483036102385787549560ff8760081c1615968780986105c7575b80156105b0575b156105565760ff1981166001178a5582919088610545575b501691821561053557169081156105255784156105255760ff885460081c16156104ce579061041c92916bffffffffffffffffffffffff60a01b908160cc54161760cc5560cd54161760cd554260d0558660d155611a8c565b610424611adb565b603554670de0b6b3a7640000918282018092116104b9575060206000926000805160206128c783398151915292603555848452603382528684208181540190558651908152a3610472611a55565b5061047b6120c5565b610483575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b601190634e487b7160e01b6000525260246000fd5b865162461bcd60e51b8152602081860152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b8651637827912560e01b81528490fd5b8751637827912560e01b81528590fd5b61ffff1916610101178a55386103c3565b885162461bcd60e51b8152602081880152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103ab5750600160ff8216146103ab565b50600160ff8216106103a4565b8280fd5b9050346105d457816003193601126105d4576105f261150d565b60243560ff8116809103610350576106086121a4565b6106106120c5565b80156107f35761061e612411565b6000198101949085116107e05760018060a01b038084169586885260209360ca855281848a205410156107d05787895260ca855280610660858b2054846118b1565b116107b55750945b8795606854888a5260ca8652848a2054600181018091116107a257905b8282111561078257505087895260ca855283892055838260cd5416845192838092632210d52560e01b82525afa90811561077857908692918991610711575b50946106f392917f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7961661220d565b6106ff8460cf5461159b565b60cf55519283523392a3600160975580f35b80929350858092503d8311610771575b61072b8183611579565b8101031261076d577f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7946106f3926107638893611c3c565b91965091926106c4565b8780fd5b503d610721565b83513d8a823e3d90fd5b909761079661079c916102f3848c8c612767565b98612402565b90610685565b634e487b7160e01b8b526011845260248bfd5b6107ca915087895260ca85528389205461159b565b94610668565b8351632cfe303760e21b81528790fd5b634e487b7160e01b865260118452602486fd5b8351631520048160e21b81528390fd5b833461023d578060031936011261023d5761081c6120c5565b80f35b5050346101a45736600319011261023d5761081c61083b61150d565b60243590611ce7565b5050346101a457806003193601126101a45760209061086e61086461150d565b60243590336125ed565b5160018152f35b9050823461023d578260031936011261023d5761089061150d565b91836024359233815260346020522060018060a01b0384166000526020528360002054908282106108cb5760208561086e85850387336115be565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b5050346101a457816003193601126101a457602090610231612411565b9050346105d45760209182600319360112610b6e57610956611539565b9261095f6121a4565b6109676120c5565b338552603381528185205415610be2575b603554926001600160781b0393848111610b90576109998686899316612569565b60cd546001600160a01b039791969088169190823b15610b6e5786516381910e3360e01b8152338682019081523060208201526001600160781b0384166040820152859082908190606001038183885af18015610b8657908591610b72575b505081169733845260cb8652868420610a128a825461159b565b905560cc541690823b15610b6e578651632608ff3560e01b8152338682019081526001600160a01b0390931660208401526001600160781b03909116604083015291839183919082908490829060600103925af18015610b6457610b4c575b50503315610b0b5750610a8333611a8c565b610a8b611adb565b610a978360355461159b565b603555336000526033815281600020838154019055815183815260006000805160206128c7833981519152833393a333855260cb8152818520549082519485528401528201527ff556991011e831bcfac4f406d547e5e32cdd98267efab83935230d5f8d02c44660603392a2600160975580f35b915162461bcd60e51b815291820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b610b559061154f565b610b60578538610a71565b8580fd5b85513d84823e3d90fd5b8380fd5b610b7b9061154f565b610b6e5783386109f8565b88513d87823e3d90fd5b50915162461bcd60e51b815291820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663230206269747360c81b6064820152608490fd5b610bea612411565b60001981019081116107e05733865260ca825282862055610978565b82843461023d57602036600319011261023d575061023160209235611701565b9050346105d457826003193601126105d45760cd5460cc548351637925ec5360e11b81526001600160a01b0391821693810193909352849183916024918391165afa908115610cb4579060209184610c8d9592610c91575b505001519051918291826114e1565b0390f35b610cad92503d8091833e610ca58183611579565b810190611c50565b3880610c7e565b505051903d90823e3d90fd5b5050346101a457816003193601126101a45760209060ce549051908152f35b9050346105d45760203660031901126105d457602092829135815260c9845220549051908152f35b5050346101a457816003193601126101a45760209060d1549051908152f35b82843461023d57606036600319011261023d57506102316020926044359060243590356125c6565b5050346101a45760203660031901126101a45760209181906001600160a01b03610d7661150d565b1681526033845220549051908152f35b9050823461023d578260031936011261023d57610da161150d565b90602435918193610db0612411565b926068549360018060a01b0384169586835260ca60205280610dd58a852054846118b1565b1115610e5957610df1915086835260ca6020528883205461159b565b945b815260ca602052868120549160018301809311610e465750509291905b82841115610e22576020858751908152f35b90919293610e38610e3e916102f3858886612767565b94612402565b929190610e10565b634e487b7160e01b825260119052602490fd5b5094610df3565b5050346101a457816003193601126101a45760cd5490516001600160a01b039091168152602090f35b5050346101a457806003193601126101a457602090610231610ea961150d565b602435906116c0565b5050346101a457816003193601126101a45760cc5490516001600160a01b039091168152602090f35b5050346101a457816003193601126101a45760209060cf549051908152f35b5050346101a45760203660031901126101a45760209181906001600160a01b03610f2261150d565b16815260cb845220549051908152f35b5050346101a457806003193601126101a45761086e60209282610f5361150d565b91338152603486522060018060a01b0382166000528452610f7a602435846000205461159b565b90336115be565b5050346101a457816003193601126101a4576020905160128152f35b919050346105d45760209182600319360112610b6e57803591610fbe6121a4565b610fc66120c5565b338552603384528085205483116113215733855260cb8452808520549360338152610ff58486848920546125c6565b948086116113125761100786826118b1565b33885260cb83528388205560cd5460cc546001600160a01b039182169089908316823b156101a45786516332b1f19760e21b815233818a019081526001600160a01b039092166020830152604082018b905292839182908490829060600103925af18015611308576112f5575b5033156112a85761108433611a8c565b61108c611adb565b338852603383528388205486811061125a578690338a5260338552038489205585603554036035558784518781526000805160206128c7833981519152853392a3878160cd5416918551632210d52560e01b815285818981875afa9081156112505791869189938591611215575b50169387519283809263f7ef8ead60e01b82525afa9081156111d85782916111e2575b5061112b612710918a6121fa565b0495823b156101a4578551630852cd8d60e31b8152908101879052818160248183875af180156111d85790899392916111bf575b50509161117b6111809361117388856118b1565b90339061220d565b6118b1565b90825195865285015283015260608201527f05b744e3e9358bc00ba3cc0c6606a4d6536134dba00b2d2ee4b5de169acd642760803392a2600160975580f35b6111cb9192935061154f565b61076d578690883861115f565b86513d84823e3d90fd5b809250858092503d831161120e575b6111fb8183611579565b810103126102385751889061112b61111d565b503d6111f1565b92809294508391503d8311611249575b61122f8183611579565b810103126105d45787916112438792611c3c565b386110fa565b503d611225565b87513d85823e3d90fd5b845162461bcd60e51b8152808701859052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b835162461bcd60e51b8152808601849052602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b6113019098919861154f565b9638611074565b85513d8b823e3d90fd5b505051631360e97760e21b8152fd5b51631694941360e11b8152fd5b839150346101a45760603660031901126101a45761134a61150d565b611352611523565b6001600160a01b0382168452603460209081528585203386529052928490205460443593926001820161138e575b60208661086e8787876125ed565b8482106113b757509183916113ac6020969561086e950333836115be565b919394819350611380565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346101a457816003193601126101a4576020906035549051908152f35b5050346101a457806003193601126101a45760209061086e61143961150d565b60243590336115be565b91909250346101a457816003193601126101a45760cd5460cc54637925ec5360e11b85526001600160a01b039081169285019290925283916024918391165afa908115610cb45783610c8d94926114a3575b5050519051918291826114e1565b6114b792503d8091833e610ca58183611579565b3880611495565b60005b8381106114d15750506000910152565b81810151838201526020016114c1565b6040916020825261150181518092816020860152602086860191016114be565b601f01601f1916010190565b600435906001600160a01b038216820361023857565b602435906001600160a01b038216820361023857565b600435906001600160781b038216820361023857565b67ffffffffffffffff811161156357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761156357604052565b919082018092116115a857565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0390811691821561166f571691821561161f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260348252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6001600160a01b0316600081815260656020526040902090916116e3919061187a565b91600091156116f157505090565b6040925081526033602052205490565b61170a906117b6565b90156117135790565b5060355490565b6067548110156117515760676000527f9787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae0190600090565b634e487b7160e01b600052603260045260246000fd5b6066548110156117515760666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540190600090565b80548210156117515760005260206000200190600090565b801561183c5760685481116117f7576117ce906118be565b60665481036117e05750600090600090565b6117e99061171a565b90549060031b1c9060019190565b60405162461bcd60e51b815260206004820152601d60248201527f4552433230536e617073686f743a206e6f6e6578697374656e742069640000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527504552433230536e617073686f743a20696420697320360541b6044820152606490fd5b801561183c5760685481116117f757611893908261199b565b815481036118a5575050600090600090565b60016117e9920161179e565b919082039182116115a857565b60668054918215611993576000925b808410611935575082151591826118f8575b5050156118f55760001981019081116115a85790565b90565b909150826000198101116115a8576000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943538201541438806118df565b600190611948818618831c82871661159b565b918460005283837f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540154116000146119815750506118cd565b90945081018091116115a857926118cd565b505050600090565b8054918215611993576000925b8084106119f3575082151591826119cf575050156118f55760001981019081116115a85790565b9091506000199083828101116115a8576000528260206000200101541438806118df565b600190611a06818618831c82871661159b565b918460005283836020600020015411600014611a235750506119a8565b90945081018091116115a857926119a8565b8115611a3f570490565b634e487b7160e01b600052601260045260246000fd5b600160685401806068557f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb676020604051838152a190565b60018060a01b031660005260656020526040600020603360205260406000205460685480611ab984611bbb565b10611ac357505050565b82611ad3600192611ad995611b59565b01611b59565b565b6035546068549081611aeb611b8e565b10611af4575050565b606654600160401b908181101561156357806001611b159201606655611767565b81549060031b906000198096831b921b19161790556067549081101561156357806001611b45920160675561171a565b909283549160031b92831b921b1916179055565b8054600160401b81101561156357611b769160018201815561179e565b819291549060031b91821b91600019901b1916179055565b60665480611b9c5750600090565b60001981019081116115a857611bb190611767565b90549060031b1c90565b805480611bc9575050600090565b60001981019081116115a857611bb19161179e565b67ffffffffffffffff811161156357601f01601f191660200190565b81601f82011215610238578051611c1081611bde565b92611c1e6040519485611579565b81845260208284010111610238576118f591602080850191016114be565b51906001600160a01b038216820361023857565b60208183031261023857805167ffffffffffffffff91828211610238570191608083820312610238576040519260808401848110848211176115635760405280518381116102385782611ca4918301611bfa565b8452602081015192831161023857611cc3606092611cdf948301611bfa565b6020850152611cd460408201611c3c565b604085015201611c3c565b606082015290565b906001600160a01b03808316913383141580612059575b61204857600093811561203657611d136120c5565b611d1b612411565b94611d2586611701565b15611f5a578360cd5416604092835191632210d52560e01b83526020928381600481855afa908115611eec57889185918791611f23575b5060248851809481936370a0823160e01b8352306004840152165afa908115611eec578591611ef6575b50838860cc54166024885180958193633d867d9560e01b835260048301525afa908115611eec578591611ebb575b611dbe92506118b1565b95611deb611de4611dde60ce5499611dd860cf548c6118b1565b906118b1565b8861159b565b809861159b565b60ce5588845260c98352848420611e0388825461159b565b905560cd541690813b15610b6e5784516381910e3360e01b81526001600160a01b03919091166004820152306024820152604481018690529083908290606490829084905af18015611eb157611e9d575b5086825260c99052819020549051918252602082019290925260408101919091527f8f1f72719a43990ee22667a803313283dbcb7402f1ab7dbf4ab92527e7414aa190606090a3565b611ea7839161154f565b6101a45738611e54565b84513d85823e3d90fd5b90508382813d8311611ee5575b611ed28183611579565b8101031261023857611dbe915190611db4565b503d611ec8565b86513d87823e3d90fd5b90508381813d8311611f1c575b611f0d8183611579565b81010312610238575138611d86565b503d611f03565b92505081813d8311611f53575b611f3a8183611579565b810103126103505783611f4d8992611c3c565b38611d5c565b503d611f30565b94509190925060cd5416906040519063086d4af360e11b8252602082600481865afa91821561202b578592611ff0575b50823b15610350576040516381910e3360e01b81526001600160a01b03918216600482015291166024820152604481019290925282908290606490829084905af18015611fe557611fd9575050565b611fe29061154f565b50565b6040513d84823e3d90fd5b9091506020813d8211612023575b8161200b60209383611579565b810103126103505761201c90611c3c565b9038611f8a565b3d9150611ffe565b6040513d87823e3d90fd5b604051631b6330bf60e31b8152600490fd5b6040516282b42960e81b8152600490fd5b508160cd541660008360cc5416602460405180948193637925ec5360e11b835260048301525afa9081156120b95783916060916000916120a0575b50015116331415611cfe565b6120b3913d8091833e610ca58183611579565b38612094565b6040513d6000823e3d90fd5b60d15460cd54604051638469ddc760e01b815290602090829060049082906001600160a01b03165afa80156120b957600090612171575b61210791508261159b565b4210156121115750565b7ff93143fb49fc8d2b453d1e417424c14ace8efd210d63494dbaa7998e5affe025904260d15561213f611a55565b5060d1549061216c61214f612411565b604051938493846040919493926060820195825260208201520152565b0390a1565b6020823d821161219c575b8161218960209383611579565b8101031261023d575061210790516120fc565b3d915061217c565b6002609754146121b5576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b818102929181159184041417156115a857565b60405163a9059cbb60e01b60208083019182526001600160a01b0394851660248401526044808401969096529482529267ffffffffffffffff92608083019291908484118385101761156357169060c081019383851090851117611563576122d3936040528583527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152600080958192519082855af13d15612369573d916122b883611bde565b926122c66040519485611579565b83523d868885013e61236d565b805191821591848315612345575b5050509050156122ee5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b9193818094500103126101a45782015190811515820361023d5750803880846122e1565b6060915b919290156123cf5750815115612381575090565b3b1561238a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156123e25750805190602001fd5b60405162461bcd60e51b81529081906123fe90600483016114e1565b0390fd5b60001981146115a85760010190565b60d15460cd54604051638469ddc760e01b8152929190602090849060049082906001600160a01b03165afa9283156120b957600093612474575b5091612457919261159b565b421061246e57606854600181018091116115a85790565b60685490565b6020813d821161249f575b8161248c60209383611579565b81010312610b6e5751925061245761244b565b3d915061247f565b600090801561256557808060011461255d57600214612555576001918261013383101683600b841016176125455760028392935b808211612508575050826000190482116124f457500290565b634e487b7160e01b81526011600452602490fd5b90938060001904811161253157818516612528575b800293811c906124db565b8093029261251d565b634e487b7160e01b83526011600452602483fd5b929150600283910a926124f45750565b509060049150565b505050600190565b5090565b6001600160781b0380911691166b409f9cbc7c4a04c2200000009080820291820481036115a8576125bc6125b68461117b6125b16125c2966102f36509184e72a000996124a7565b612800565b91612800565b906121fa565b0490565b6064830292808404606414901517156115a8576125e86125c2926064946121fa565b611a35565b9091303303612048576001600160a01b03828116929083156127145784169384156126c35761261e61262392611a8c565b611a8c565b6000828152603360205260408120549180831061266f57604082826000805160206128c783398151915295876020965260338652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b909182119081156127f157603554915b82156127e8578390156127d957506001600160a01b0316600090815260336020526040902054905b6a084595161401484a00000092838302928084048514901517156115a8576125c2926125e89160005260c9602052604060002054906121fa565b6127e2916116c0565b9061279f565b50505050600090565b6127fa83611701565b91612777565b9060b582600160881b8110156128af575b806901000000000000000000620100009210156128a2575b65010000000000811015612895575b6301000000811015612888575b010260121c60019080840401811c80840401811c80840401811c80840401811c80840401811c80840401811c80840401901c8092048281106128845750565b9150565b60101c9160081b91612845565b60201c9160101b91612838565b60401c9160201b91612829565b5068b500000000000000009050608083901c61281156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207a16701d115378b8010573b3c94b5efa6c94516f11f8181df2f30f272f09a0a364736f6c63430008120033","sourceMap":"1495:17291:198:-:0;;;;;;;6007:13:48;1495:17291:198;;;;;;;;;;;;;;6078:31:48;6074:139;;-1:-1:-1;1495:17291:198;;;;;;;;;6074:139:48;1495:17291:198;;;;;;6007:13:48;1495:17291:198;6174:28:48;1495:17291:198;;;;;;6174:28:48;6074:139;;;1495:17291:198;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c9184836306fdde03146114435750508163095ea7b31461141957816318160ddd146113fa57816323b872dd1461132e5781632e17de7814610f9d578163313ce56714610f815781633950935114610f32578163399d99ec14610efa5781633b1c612e14610edb5781633b248c7614610eb25781634ee2cd7e14610e895781636134778214610e60578163636f5b2714610d8657816370a0823114610d4e57816374293bf814610d265781637c27ff8614610d0757816391e2057e14610cdf5781639461642014610cc057816395d89b4114610c26578163981b24d014610c065781639ca92dec14610939578163a32bf5971461091c578163a457c2d714610875578163a9059cbb14610844578163a9fc507b1461081f578163b3d3d37e14610803578163b5fc2f85146105d8578163c0c53b8b14610354578163cae069441461024057508063d775a4c7146101f5578063dd62ed3e146101a85763e6519a351461018757600080fd5b346101a457816003193601126101a45760209060d0549051908152f35b5080fd5b50346101a457806003193601126101a4576020916101c461150d565b826101cd611523565b6001600160a01b03928316845260348652922091166000908152908352819020549051908152f35b50903461023d578160031936011261023d5750610210611539565b90602435916001600160781b03831683036102385760209261023191612569565b9051908152f35b600080fd5b80fd5b82843461023d578160031936011261023d5761025a61150d565b9260249384359067ffffffffffffffff908183116103505736602384011215610350578284013591821161033e5760059180831b938751946020926102a184830188611579565b865289838701918301019136831161033a578a849101915b83831061032a575050505085936068549387955b825160ff88161015610321576102f9906102f38786611fe08b871b168701015188612767565b9061159b565b9560ff80911690811461030f57600101956102cd565b634e487b7160e01b8952601188528a89fd5b83908a51908152f35b82358152918101918491016102b9565b8880fd5b634e487b7160e01b8552604184528685fd5b8480fd5b9050346105d45760603660031901126105d45761036f61150d565b90610378611523565b6044356001600160a01b038181169392908483036102385787549560ff8760081c1615968780986105c7575b80156105b0575b156105565760ff1981166001178a5582919088610545575b501691821561053557169081156105255784156105255760ff885460081c16156104ce579061041c92916bffffffffffffffffffffffff60a01b908160cc54161760cc5560cd54161760cd554260d0558660d155611a8c565b610424611adb565b603554670de0b6b3a7640000918282018092116104b9575060206000926000805160206128c783398151915292603555848452603382528684208181540190558651908152a3610472611a55565b5061047b6120c5565b610483575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b601190634e487b7160e01b6000525260246000fd5b865162461bcd60e51b8152602081860152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b8651637827912560e01b81528490fd5b8751637827912560e01b81528590fd5b61ffff1916610101178a55386103c3565b885162461bcd60e51b8152602081880152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103ab5750600160ff8216146103ab565b50600160ff8216106103a4565b8280fd5b9050346105d457816003193601126105d4576105f261150d565b60243560ff8116809103610350576106086121a4565b6106106120c5565b80156107f35761061e612411565b6000198101949085116107e05760018060a01b038084169586885260209360ca855281848a205410156107d05787895260ca855280610660858b2054846118b1565b116107b55750945b8795606854888a5260ca8652848a2054600181018091116107a257905b8282111561078257505087895260ca855283892055838260cd5416845192838092632210d52560e01b82525afa90811561077857908692918991610711575b50946106f392917f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7961661220d565b6106ff8460cf5461159b565b60cf55519283523392a3600160975580f35b80929350858092503d8311610771575b61072b8183611579565b8101031261076d577f0aa4d283470c904c551d18bb894d37e17674920f3261a7f854be501e25f421b7946106f3926107638893611c3c565b91965091926106c4565b8780fd5b503d610721565b83513d8a823e3d90fd5b909761079661079c916102f3848c8c612767565b98612402565b90610685565b634e487b7160e01b8b526011845260248bfd5b6107ca915087895260ca85528389205461159b565b94610668565b8351632cfe303760e21b81528790fd5b634e487b7160e01b865260118452602486fd5b8351631520048160e21b81528390fd5b833461023d578060031936011261023d5761081c6120c5565b80f35b5050346101a45736600319011261023d5761081c61083b61150d565b60243590611ce7565b5050346101a457806003193601126101a45760209061086e61086461150d565b60243590336125ed565b5160018152f35b9050823461023d578260031936011261023d5761089061150d565b91836024359233815260346020522060018060a01b0384166000526020528360002054908282106108cb5760208561086e85850387336115be565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b5050346101a457816003193601126101a457602090610231612411565b9050346105d45760209182600319360112610b6e57610956611539565b9261095f6121a4565b6109676120c5565b338552603381528185205415610be2575b603554926001600160781b0393848111610b90576109998686899316612569565b60cd546001600160a01b039791969088169190823b15610b6e5786516381910e3360e01b8152338682019081523060208201526001600160781b0384166040820152859082908190606001038183885af18015610b8657908591610b72575b505081169733845260cb8652868420610a128a825461159b565b905560cc541690823b15610b6e578651632608ff3560e01b8152338682019081526001600160a01b0390931660208401526001600160781b03909116604083015291839183919082908490829060600103925af18015610b6457610b4c575b50503315610b0b5750610a8333611a8c565b610a8b611adb565b610a978360355461159b565b603555336000526033815281600020838154019055815183815260006000805160206128c7833981519152833393a333855260cb8152818520549082519485528401528201527ff556991011e831bcfac4f406d547e5e32cdd98267efab83935230d5f8d02c44660603392a2600160975580f35b915162461bcd60e51b815291820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b610b559061154f565b610b60578538610a71565b8580fd5b85513d84823e3d90fd5b8380fd5b610b7b9061154f565b610b6e5783386109f8565b88513d87823e3d90fd5b50915162461bcd60e51b815291820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663230206269747360c81b6064820152608490fd5b610bea612411565b60001981019081116107e05733865260ca825282862055610978565b82843461023d57602036600319011261023d575061023160209235611701565b9050346105d457826003193601126105d45760cd5460cc548351637925ec5360e11b81526001600160a01b0391821693810193909352849183916024918391165afa908115610cb4579060209184610c8d9592610c91575b505001519051918291826114e1565b0390f35b610cad92503d8091833e610ca58183611579565b810190611c50565b3880610c7e565b505051903d90823e3d90fd5b5050346101a457816003193601126101a45760209060ce549051908152f35b9050346105d45760203660031901126105d457602092829135815260c9845220549051908152f35b5050346101a457816003193601126101a45760209060d1549051908152f35b82843461023d57606036600319011261023d57506102316020926044359060243590356125c6565b5050346101a45760203660031901126101a45760209181906001600160a01b03610d7661150d565b1681526033845220549051908152f35b9050823461023d578260031936011261023d57610da161150d565b90602435918193610db0612411565b926068549360018060a01b0384169586835260ca60205280610dd58a852054846118b1565b1115610e5957610df1915086835260ca6020528883205461159b565b945b815260ca602052868120549160018301809311610e465750509291905b82841115610e22576020858751908152f35b90919293610e38610e3e916102f3858886612767565b94612402565b929190610e10565b634e487b7160e01b825260119052602490fd5b5094610df3565b5050346101a457816003193601126101a45760cd5490516001600160a01b039091168152602090f35b5050346101a457806003193601126101a457602090610231610ea961150d565b602435906116c0565b5050346101a457816003193601126101a45760cc5490516001600160a01b039091168152602090f35b5050346101a457816003193601126101a45760209060cf549051908152f35b5050346101a45760203660031901126101a45760209181906001600160a01b03610f2261150d565b16815260cb845220549051908152f35b5050346101a457806003193601126101a45761086e60209282610f5361150d565b91338152603486522060018060a01b0382166000528452610f7a602435846000205461159b565b90336115be565b5050346101a457816003193601126101a4576020905160128152f35b919050346105d45760209182600319360112610b6e57803591610fbe6121a4565b610fc66120c5565b338552603384528085205483116113215733855260cb8452808520549360338152610ff58486848920546125c6565b948086116113125761100786826118b1565b33885260cb83528388205560cd5460cc546001600160a01b039182169089908316823b156101a45786516332b1f19760e21b815233818a019081526001600160a01b039092166020830152604082018b905292839182908490829060600103925af18015611308576112f5575b5033156112a85761108433611a8c565b61108c611adb565b338852603383528388205486811061125a578690338a5260338552038489205585603554036035558784518781526000805160206128c7833981519152853392a3878160cd5416918551632210d52560e01b815285818981875afa9081156112505791869189938591611215575b50169387519283809263f7ef8ead60e01b82525afa9081156111d85782916111e2575b5061112b612710918a6121fa565b0495823b156101a4578551630852cd8d60e31b8152908101879052818160248183875af180156111d85790899392916111bf575b50509161117b6111809361117388856118b1565b90339061220d565b6118b1565b90825195865285015283015260608201527f05b744e3e9358bc00ba3cc0c6606a4d6536134dba00b2d2ee4b5de169acd642760803392a2600160975580f35b6111cb9192935061154f565b61076d578690883861115f565b86513d84823e3d90fd5b809250858092503d831161120e575b6111fb8183611579565b810103126102385751889061112b61111d565b503d6111f1565b92809294508391503d8311611249575b61122f8183611579565b810103126105d45787916112438792611c3c565b386110fa565b503d611225565b87513d85823e3d90fd5b845162461bcd60e51b8152808701859052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b835162461bcd60e51b8152808601849052602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b6113019098919861154f565b9638611074565b85513d8b823e3d90fd5b505051631360e97760e21b8152fd5b51631694941360e11b8152fd5b839150346101a45760603660031901126101a45761134a61150d565b611352611523565b6001600160a01b0382168452603460209081528585203386529052928490205460443593926001820161138e575b60208661086e8787876125ed565b8482106113b757509183916113ac6020969561086e950333836115be565b919394819350611380565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346101a457816003193601126101a4576020906035549051908152f35b5050346101a457806003193601126101a45760209061086e61143961150d565b60243590336115be565b91909250346101a457816003193601126101a45760cd5460cc54637925ec5360e11b85526001600160a01b039081169285019290925283916024918391165afa908115610cb45783610c8d94926114a3575b5050519051918291826114e1565b6114b792503d8091833e610ca58183611579565b3880611495565b60005b8381106114d15750506000910152565b81810151838201526020016114c1565b6040916020825261150181518092816020860152602086860191016114be565b601f01601f1916010190565b600435906001600160a01b038216820361023857565b602435906001600160a01b038216820361023857565b600435906001600160781b038216820361023857565b67ffffffffffffffff811161156357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761156357604052565b919082018092116115a857565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0390811691821561166f571691821561161f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260348252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6001600160a01b0316600081815260656020526040902090916116e3919061187a565b91600091156116f157505090565b6040925081526033602052205490565b61170a906117b6565b90156117135790565b5060355490565b6067548110156117515760676000527f9787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae0190600090565b634e487b7160e01b600052603260045260246000fd5b6066548110156117515760666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540190600090565b80548210156117515760005260206000200190600090565b801561183c5760685481116117f7576117ce906118be565b60665481036117e05750600090600090565b6117e99061171a565b90549060031b1c9060019190565b60405162461bcd60e51b815260206004820152601d60248201527f4552433230536e617073686f743a206e6f6e6578697374656e742069640000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527504552433230536e617073686f743a20696420697320360541b6044820152606490fd5b801561183c5760685481116117f757611893908261199b565b815481036118a5575050600090600090565b60016117e9920161179e565b919082039182116115a857565b60668054918215611993576000925b808410611935575082151591826118f8575b5050156118f55760001981019081116115a85790565b90565b909150826000198101116115a8576000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943538201541438806118df565b600190611948818618831c82871661159b565b918460005283837f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540154116000146119815750506118cd565b90945081018091116115a857926118cd565b505050600090565b8054918215611993576000925b8084106119f3575082151591826119cf575050156118f55760001981019081116115a85790565b9091506000199083828101116115a8576000528260206000200101541438806118df565b600190611a06818618831c82871661159b565b918460005283836020600020015411600014611a235750506119a8565b90945081018091116115a857926119a8565b8115611a3f570490565b634e487b7160e01b600052601260045260246000fd5b600160685401806068557f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb676020604051838152a190565b60018060a01b031660005260656020526040600020603360205260406000205460685480611ab984611bbb565b10611ac357505050565b82611ad3600192611ad995611b59565b01611b59565b565b6035546068549081611aeb611b8e565b10611af4575050565b606654600160401b908181101561156357806001611b159201606655611767565b81549060031b906000198096831b921b19161790556067549081101561156357806001611b45920160675561171a565b909283549160031b92831b921b1916179055565b8054600160401b81101561156357611b769160018201815561179e565b819291549060031b91821b91600019901b1916179055565b60665480611b9c5750600090565b60001981019081116115a857611bb190611767565b90549060031b1c90565b805480611bc9575050600090565b60001981019081116115a857611bb19161179e565b67ffffffffffffffff811161156357601f01601f191660200190565b81601f82011215610238578051611c1081611bde565b92611c1e6040519485611579565b81845260208284010111610238576118f591602080850191016114be565b51906001600160a01b038216820361023857565b60208183031261023857805167ffffffffffffffff91828211610238570191608083820312610238576040519260808401848110848211176115635760405280518381116102385782611ca4918301611bfa565b8452602081015192831161023857611cc3606092611cdf948301611bfa565b6020850152611cd460408201611c3c565b604085015201611c3c565b606082015290565b906001600160a01b03808316913383141580612059575b61204857600093811561203657611d136120c5565b611d1b612411565b94611d2586611701565b15611f5a578360cd5416604092835191632210d52560e01b83526020928381600481855afa908115611eec57889185918791611f23575b5060248851809481936370a0823160e01b8352306004840152165afa908115611eec578591611ef6575b50838860cc54166024885180958193633d867d9560e01b835260048301525afa908115611eec578591611ebb575b611dbe92506118b1565b95611deb611de4611dde60ce5499611dd860cf548c6118b1565b906118b1565b8861159b565b809861159b565b60ce5588845260c98352848420611e0388825461159b565b905560cd541690813b15610b6e5784516381910e3360e01b81526001600160a01b03919091166004820152306024820152604481018690529083908290606490829084905af18015611eb157611e9d575b5086825260c99052819020549051918252602082019290925260408101919091527f8f1f72719a43990ee22667a803313283dbcb7402f1ab7dbf4ab92527e7414aa190606090a3565b611ea7839161154f565b6101a45738611e54565b84513d85823e3d90fd5b90508382813d8311611ee5575b611ed28183611579565b8101031261023857611dbe915190611db4565b503d611ec8565b86513d87823e3d90fd5b90508381813d8311611f1c575b611f0d8183611579565b81010312610238575138611d86565b503d611f03565b92505081813d8311611f53575b611f3a8183611579565b810103126103505783611f4d8992611c3c565b38611d5c565b503d611f30565b94509190925060cd5416906040519063086d4af360e11b8252602082600481865afa91821561202b578592611ff0575b50823b15610350576040516381910e3360e01b81526001600160a01b03918216600482015291166024820152604481019290925282908290606490829084905af18015611fe557611fd9575050565b611fe29061154f565b50565b6040513d84823e3d90fd5b9091506020813d8211612023575b8161200b60209383611579565b810103126103505761201c90611c3c565b9038611f8a565b3d9150611ffe565b6040513d87823e3d90fd5b604051631b6330bf60e31b8152600490fd5b6040516282b42960e81b8152600490fd5b508160cd541660008360cc5416602460405180948193637925ec5360e11b835260048301525afa9081156120b95783916060916000916120a0575b50015116331415611cfe565b6120b3913d8091833e610ca58183611579565b38612094565b6040513d6000823e3d90fd5b60d15460cd54604051638469ddc760e01b815290602090829060049082906001600160a01b03165afa80156120b957600090612171575b61210791508261159b565b4210156121115750565b7ff93143fb49fc8d2b453d1e417424c14ace8efd210d63494dbaa7998e5affe025904260d15561213f611a55565b5060d1549061216c61214f612411565b604051938493846040919493926060820195825260208201520152565b0390a1565b6020823d821161219c575b8161218960209383611579565b8101031261023d575061210790516120fc565b3d915061217c565b6002609754146121b5576002609755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b818102929181159184041417156115a857565b60405163a9059cbb60e01b60208083019182526001600160a01b0394851660248401526044808401969096529482529267ffffffffffffffff92608083019291908484118385101761156357169060c081019383851090851117611563576122d3936040528583527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152600080958192519082855af13d15612369573d916122b883611bde565b926122c66040519485611579565b83523d868885013e61236d565b805191821591848315612345575b5050509050156122ee5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b9193818094500103126101a45782015190811515820361023d5750803880846122e1565b6060915b919290156123cf5750815115612381575090565b3b1561238a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156123e25750805190602001fd5b60405162461bcd60e51b81529081906123fe90600483016114e1565b0390fd5b60001981146115a85760010190565b60d15460cd54604051638469ddc760e01b8152929190602090849060049082906001600160a01b03165afa9283156120b957600093612474575b5091612457919261159b565b421061246e57606854600181018091116115a85790565b60685490565b6020813d821161249f575b8161248c60209383611579565b81010312610b6e5751925061245761244b565b3d915061247f565b600090801561256557808060011461255d57600214612555576001918261013383101683600b841016176125455760028392935b808211612508575050826000190482116124f457500290565b634e487b7160e01b81526011600452602490fd5b90938060001904811161253157818516612528575b800293811c906124db565b8093029261251d565b634e487b7160e01b83526011600452602483fd5b929150600283910a926124f45750565b509060049150565b505050600190565b5090565b6001600160781b0380911691166b409f9cbc7c4a04c2200000009080820291820481036115a8576125bc6125b68461117b6125b16125c2966102f36509184e72a000996124a7565b612800565b91612800565b906121fa565b0490565b6064830292808404606414901517156115a8576125e86125c2926064946121fa565b611a35565b9091303303612048576001600160a01b03828116929083156127145784169384156126c35761261e61262392611a8c565b611a8c565b6000828152603360205260408120549180831061266f57604082826000805160206128c783398151915295876020965260338652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b909182119081156127f157603554915b82156127e8578390156127d957506001600160a01b0316600090815260336020526040902054905b6a084595161401484a00000092838302928084048514901517156115a8576125c2926125e89160005260c9602052604060002054906121fa565b6127e2916116c0565b9061279f565b50505050600090565b6127fa83611701565b91612777565b9060b582600160881b8110156128af575b806901000000000000000000620100009210156128a2575b65010000000000811015612895575b6301000000811015612888575b010260121c60019080840401811c80840401811c80840401811c80840401811c80840401811c80840401811c80840401901c8092048281106128845750565b9150565b60101c9160081b91612845565b60201c9160101b91612838565b60401c9160201b91612829565b5068b500000000000000009050608083901c61281156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207a16701d115378b8010573b3c94b5efa6c94516f11f8181df2f30f272f09a0a364736f6c63430008120033","sourceMap":"1495:17291:198:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13723:11;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;1495:17291:198;;;;;4439:11:52;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1495:17291:198;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;11612:19;;;;;1495:17291;5170:18:56;1495:17291:198;11699:11;;11694:133;11732:3;1495:17291;;;;;11712:18;;;;11745:75;1495:17291;11756:64;1495:17291;;;;;;;;;;;11756:64;;:::i;:::-;11745:75;;:::i;:::-;11732:3;1495:17291;;;;;;;;;;;11699:11;;;1495:17291;-1:-1:-1;;;1495:17291:198;;;;;;;;11712:18;;;;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1495:17291:198;;;;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;;;;;1495:17291:198;;;;;;;;;;;;;;;;;;;3301:14:48;3347:34;;;;;;1495:17291:198;3346:108:48;;;;1495:17291:198;;;;-1:-1:-1;;1495:17291:198;;;;;;;;;;3562:65:48;;1495:17291:198;;;3267:27;;;3263:64;;1495:17291;3337:30;;;3333:67;;3410:22;;3406:59;;1495:17291;;;;;;;;;;6360:2:56;1495:17291:198;;;;;;;3499:30;1495:17291;;;3499:30;1495:17291;3535:56;1495:17291;;;3535:56;1495:17291;3611:15;3597:29;1495:17291;;3632:25;1495:17291;6360:2:56;:::i;:::-;;;:::i;:::-;9068:22:52;1495:17291:198;3679:7;1495:17291;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1495:17291:198;9068:22:52;1495:17291:198;;;;9236:9:52;1495:17291:198;;;;;;;;;;;;;;;;9289:37:52;3693:11:198;;:::i;:::-;;;;:::i;:::-;3647:99:48;;1495:17291:198;;;3647:99:48;1495:17291:198;3721:14:48;1495:17291:198;;;;;;;;;;;;3721:14:48;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;3406:59;1495:17291;;-1:-1:-1;;;3441:24:198;;1495:17291;;3441:24;3263:64;1495:17291;;-1:-1:-1;;;3303:24:198;;1495:17291;;3303:24;3562:65:48;-1:-1:-1;;1495:17291:198;;;;;3562:65:48;;;1495:17291:198;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;1495:17291:198;;;;;3436:17:48;3346:108;;3347:34;1495:17291:198;;;;;3365:16:48;3347:34;;1495:17291:198;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;2471:103:51;;:::i;:::-;8864:1418:198;;:::i;:::-;9006:15;;9002:60;;9094:17;;:::i;:::-;-1:-1:-1;;1495:17291:198;;;11601:17:52;1495:17291:198;;;;;;;;;;;;;;;;;;9227:22;1495:17291;;;;;;;9227:47;;9223:94;;1495:17291;;;9227:22;1495:17291;;;9470:46;1495:17291;;;;9470:46;;:::i;:::-;:60;:134;;;;;9648:19;1495:17291;5170:18:56;1495:17291:198;;;;9227:22;1495:17291;;;;;;;;;;;;;;9730:159;9782:19;;;;;;;1495:17291;;;;;9227:22;1495:17291;;;;;;;;10108:15;1495:17291;;;;;;;;;;;10108:32;;;;;;;;;;;;;;;;;9730:159;1495:17291;;10048:110;1495:17291;;10236:41;1495:17291;;10048:110;:::i;:::-;10199:26;1495:17291;10199:26;1495:17291;10199:26;:::i;:::-;;1495:17291;;;;;10250:10;10236:41;;1495:17291;3053:22:51;1495:17291:198;;;10108:32;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;10236:41;1495:17291;10048:110;1495:17291;;;;;:::i;:::-;10108:32;;;;;;;1495:17291;;;;10108:32;;;;;;1495:17291;;;;;;;;;9803:3;9827:55;;9816:66;9803:3;9827:55;;;;;;:::i;9816:66::-;9803:3;;:::i;:::-;9735:45;;;1495:17291;-1:-1:-1;;;1495:17291:198;;;;;;;;9470:134;9562:42;1495:17291;;;;;9227:22;1495:17291;;;;;;9562:42;:::i;:::-;9470:134;;;9223:94;1495:17291;;-1:-1:-1;;;9283:34:198;;1495:17291;;9283:34;1495:17291;-1:-1:-1;;;1495:17291:198;;;;;;;;9002:60;1495:17291;;-1:-1:-1;;;9030:32:198;;1495:17291;;9030:32;1495:17291;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1495:17291:198;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;4231:6:52;1495:17291:198;;:::i;:::-;;;929:10:68;;4231:6:52;:::i;:::-;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;929:10:68;;1495:17291:198;;4439:11:52;1495:17291:198;;;;;;;;;;;;;;;;;;7129:35:52;;;;1495:17291:198;;;;7265:34:52;1495:17291:198;;;;929:10:68;7265:34:52;:::i;1495:17291:198:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;2471:103:51;;;:::i;:::-;6239:916:198;;:::i;:::-;6454:10;1495:17291;;3856:9:52;1495:17291:198;;;;;;6444:26;6440:105;;1495:17291;3679:12:52;1495:17291:198;;-1:-1:-1;;;;;9693:26:111;;;;1495:17291:198;;6603:59;1495:17291;;;;;6603:59;:::i;:::-;6737:15;1495:17291;-1:-1:-1;;;;;1495:17291:198;;;;;;;;6758:61;;;;;1495:17291;;-1:-1:-1;;;6758:61:198;;6454:10;6758:61;;;1495:17291;;;6804:4;1495:17291;;;;-1:-1:-1;;;;;1495:17291:198;;;;;;6804:4;;1495:17291;;;;;;6758:61;;;;;;;;;;;;;;;1495:17291;;;;;6454:10;;1495:17291;;6886:18;1495:17291;;;;;6886:41;1495:17291;;;6886:41;:::i;:::-;1495:17291;;6975:14;1495:17291;;6933:66;;;;;;1495:17291;;-1:-1:-1;;;6933:66:198;;6454:10;6933:66;;;1495:17291;;;-1:-1:-1;;;;;1495:17291:198;;;;;;;-1:-1:-1;;;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;6933:66;;;;;;;;;;1495:17291;6454:10;;;8940:21:52;1495:17291:198;;6454:10;6360:2:56;6454:10:198;6360:2:56;:::i;:::-;;;:::i;:::-;9068:22:52;1495:17291:198;3679:12:52;1495:17291:198;9068:22:52;:::i;:::-;3679:12;1495:17291:198;6454:10;1495:17291;;3856:9:52;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6454:10:198;;9289:37:52;;6454:10:198;1495:17291;;6886:18;1495:17291;;;;;;;;;;;;;;;;;;7079:71;1495:17291;6454:10;7079:71;;1495:17291;3053:22:51;1495:17291:198;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;;;6933:66;;;;:::i;:::-;1495:17291;;6933:66;;;;1495:17291;;;;6933:66;1495:17291;;;;;;;;;6933:66;1495:17291;;;6758:61;;;;:::i;:::-;1495:17291;;6758:61;;;;;1495:17291;;;;;;;;;;-1:-1:-1;1495:17291:198;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;6440:105;6517:17;;:::i;:::-;-1:-1:-1;;1495:17291:198;;;;;;;6454:10;1495:17291;;6480:22;1495:17291;;;;;;6440:105;;1495:17291;;;;;;;;-1:-1:-1;;1495:17291:198;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;11079:15;1495:17291;11117:14;1495:17291;;;-1:-1:-1;;;11079:53:198;;-1:-1:-1;;;;;1495:17291:198;;;11079:53;;;1495:17291;;;;;;;;;;;;;11079:53;;;;;;;;1495:17291;11079:53;;1495:17291;11079:53;;;;1495:17291;11145:11;;;;1495:17291;;;;;;;:::i;:::-;;;;11079:53;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;;;13597:15;1495:17291;;;;;;;;;;;;;;;-1:-1:-1;;1495:17291:198;;;;;;;;;;;11411:17;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;;13854:21;1495:17291;;;;;;;;;;;;;;;-1:-1:-1;;1495:17291:198;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;1495:17291:198;;;;;;;;-1:-1:-1;;;;;1495:17291:198;;:::i;:::-;;;;3856:9:52;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11992:19;;12040:17;;;:::i;:::-;1495:17291;5170:18:56;1495:17291:198;;;;;;;;;;;;;12160:22;1495:17291;;;12145:44;1495:17291;;;;12145:44;;:::i;:::-;:57;:129;;;12211:42;1495:17291;;;;;12160:22;1495:17291;;;;;;12211:42;:::i;:::-;12145:129;;1495:17291;;12160:22;1495:17291;;;;;;;;;;;;;;;12286:45;;;;;12333:19;;;;;;;1495:17291;;;;;;;;12354:3;12378:55;;;;12367:66;12354:3;12378:55;;;;;;:::i;12367:66::-;12354:3;;:::i;:::-;12286:45;;;;;1495:17291;-1:-1:-1;;;1495:17291:198;;;;;;;;12145:129;;;;;1495:17291;;;;;;;;;;;;;;14124:15;1495:17291;;;-1:-1:-1;;;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;11274:14;1495:17291;;;-1:-1:-1;;;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;;13989:15;1495:17291;;;;;;;;;;;;;;;-1:-1:-1;;1495:17291:198;;;;;;;;-1:-1:-1;;;;;1495:17291:198;;:::i;:::-;;;;10623:18;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;6358:38:52;1495:17291:198;;;;;:::i;:::-;929:10:68;;1495:17291:198;;4439:11:52;1495:17291:198;;;;;;;;;;;;;;6358:38:52;1495:17291:198;;;;;;6358:38:52;:::i;:::-;929:10:68;;6358:38:52;:::i;1495:17291:198:-;;;;;;;;;;;;;;;;;3523:2:52;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;2471:103:51;;;:::i;:::-;7414:1366:198;;:::i;:::-;7567:10;1495:17291;;3856:9:52;1495:17291:198;;;;;;7588:22;;7584:77;;7567:10;1495:17291;;7746:18;1495:17291;;;;;;;3856:9:52;1495:17291:198;;7811:62;1495:17291;;;;;;7811:62;:::i;:::-;7883:30;;;;7879:82;;8054:30;;;;:::i;:::-;7567:10;1495:17291;;7746:18;1495:17291;;;;;;8090:15;1495:17291;8139:14;1495:17291;-1:-1:-1;;;;;1495:17291:198;;;;;;;;8090:84;;;;;1495:17291;;-1:-1:-1;;;8090:84:198;;7567:10;8090:84;;;1495:17291;;;-1:-1:-1;;;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;;8090:84;;;;;;;;;;1495:17291;7567:10;;9795:21:52;1495:17291:198;;6501:4:56;7567:10:198;6501:4:56;:::i;:::-;;;:::i;:::-;7567:10:198;1495:17291;;3856:9:52;1495:17291:198;;;;;;9986:24:52;;;1495:17291:198;;7567:10;;;1495:17291;;3856:9:52;1495:17291:198;;;;;;;;10220:22:52;1495:17291:198;;10220:22:52;1495:17291:198;;;;;;;-1:-1:-1;;;;;;;;;;;7567:10:198;;10268:37:52;;1495:17291:198;;8090:15;1495:17291;;;;;;;;8371:25;;;;;;;;;;;;;;;;;;;;;;;1495:17291;;;;;;;;;;;;;8446:36;;;;;;;;;;;;;1495:17291;8425:57;;8486:6;8425:57;;;:::i;:::-;1495:17291;8498:21;;;;;;1495:17291;;-1:-1:-1;;;8498:21:198;;;;;1495:17291;;;8498:21;1495:17291;;;8498:21;;;;;;;;;;;;;;;1495:17291;8572:31;;;8609:62;8723:30;8572:31;;;;;:::i;:::-;7567:10;;8609:62;;:::i;:::-;8723:30;:::i;:::-;1495:17291;;;;;;;;;;;;;;;;8683:92;1495:17291;7567:10;8683:92;;1495:17291;3053:22:51;1495:17291:198;;;8498:21;;;;;;;:::i;:::-;1495:17291;;8498:21;;;;;;;1495:17291;;;;;;;;;8446:36;;;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;;8425:57;8446:36;;;;;;;8371:25;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;;;;;:::i;:::-;8371:25;;;;;;;;;1495:17291;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;8090:84;;;;;;;:::i;:::-;;;;;;1495:17291;;;;;;;;;7879:82;-1:-1:-1;;1495:17291:198;-1:-1:-1;;;7930:24:198;;;7584:77;1495:17291;-1:-1:-1;;;7627:27:198;;;1495:17291;;;;;;;;;-1:-1:-1;;1495:17291:198;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1495:17291:198;;;;4439:11:52;1495:17291:198;;;;;;;929:10:68;1495:17291:198;;;;;;;;;;;;;;11581:37:52;;11577:243;;1495:17291:198;;5761:6:52;;;;;;:::i;11577:243::-;11642:26;;;1495:17291:198;;;;;;11769:25:52;1495:17291:198;;;5761:6:52;1495:17291:198;;929:10:68;11769:25:52;;:::i;:::-;11577:243;;;;;;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3679:12:52;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;4943:6:52;1495:17291:198;;:::i;:::-;;;929:10:68;;4943:6:52;:::i;1495:17291:198:-;;;;;;;;;;;;;;;;10825:15;1495:17291;10863:14;1495:17291;-1:-1:-1;;;10825:53:198;;-1:-1:-1;;;;;1495:17291:198;;;10825:53;;;1495:17291;;;;;;;;;;;10825:53;;;;;;;;1495:17291;10825:53;;;;1495:17291;10891:9;;;1495:17291;;;;;;;:::i;10825:53::-;;;;;;;;;;;;;:::i;:::-;;;;;1495:17291;;;;;;;;-1:-1:-1;;1495:17291:198;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1495:17291:198;;;;:::o;:::-;;;;-1:-1:-1;;;;;1495:17291:198;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1495:17291:198;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1495:17291:198;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;10794:340:52;-1:-1:-1;;;;;1495:17291:198;;;;10895:19:52;;1495:17291:198;;;10973:21:52;;;1495:17291:198;;;11095:32:52;1495:17291:198;;10912:1:52;1495:17291:198;11044:11:52;1495:17291:198;;;10912:1:52;1495:17291:198;;10912:1:52;1495:17291:198;;;;;10912:1:52;1495:17291:198;;;;;;;11095:32:52;10794:340::o;1495:17291:198:-;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;5312:262:56;-1:-1:-1;;;;;1495:17291:198;-1:-1:-1;1495:17291:198;;;5475:24:56;1495:17291:198;;;;;;;5454:55:56;;1495:17291:198;5454:55:56;:::i;:::-;5527:40;-1:-1:-1;;5527:40:56;;;;;5312:262;:::o;5527:40::-;1495:17291:198;;;;;3856:9:52;1495:17291:198;;;;5312:262:56;:::o;5673:230::-;5800:43;5673:230;5800:43;:::i;:::-;5861:35;;;;5673:230;:::o;5861:35::-;1495:17291:198;3679:12:52;1495:17291:198;5673:230:56;:::o;1495:17291:198:-;8247:16:56;1495:17291:198;;;;;;8247:16:56;-1:-1:-1;1495:17291:198;;;;-1:-1:-1;1495:17291:198;:::o;:::-;;;;;;;;;;;;;8516:21:56;1495:17291:198;;;;;;8516:21:56;-1:-1:-1;1495:17291:198;;;;-1:-1:-1;1495:17291:198;:::o;:::-;;;;;;;;-1:-1:-1;1495:17291:198;;-1:-1:-1;1495:17291:198;;;-1:-1:-1;1495:17291:198;:::o;6694:1594:56:-;6816:14;;1495:17291:198;;5170:18:56;1495:17291:198;6875:37:56;;1495:17291:198;;8085:40:56;;;:::i;:::-;5821:21;1495:17291:198;8140:29:56;;5821:21;;8185:17;6829:1;8185:17;6829:1;8185:17;:::o;8136:146::-;8247:23;;;:::i;:::-;1495:17291:198;;;;;;8233:38:56;8241:4;8233:38;;:::o;1495:17291:198:-;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;6694:1594:56;6816:14;;1495:17291:198;;5170:18:56;1495:17291:198;6875:37:56;;1495:17291:198;;8085:40:56;;;;:::i;:::-;1495:17291:198;;8140:29:56;;8149:20;;8185:17;;6829:1;8185:17;6829:1;8185:17;:::o;8136:146::-;8241:4;8247:23;:16;;:23;:::i;1495:17291:198:-;;;;;;;;;;:::o;757:943:67:-;5821:21:56;1495:17291:198;;869:17:67;;;865:56;;885:1;956:27;1001:10;;;;;;1556:7;;;;:56;;;;994:445;-1:-1:-1;;1552:142:67;;;-1:-1:-1;;1495:17291:198;;;;;;;1628:14:67;:::o;1552:142::-;1673:10;:::o;1556:56::-;11601:17:52;;;;;;1495:17291:198;;;;;885:1:67;3913:101;;;;1495:17291:198;1567:45:67;1556:56;;;;994:445;1495:17291:198;952:5:74;941:21;952:5;;;1495:17291:198;;942:5:74;;;941:21;:::i;:::-;3913:101:67;;885:1;3913:101;;;;;1495:17291:198;1292:40:67;1288:141;1292:40;;;1352:10;;994:445;;1288:141;1495:17291:198;;;;;;;;;;1288:141:67;994:445;;865:56;902:8;;;885:1;902:8;:::o;757:943::-;1495:17291:198;;869:17:67;;;865:56;;885:1;956:27;1001:10;;;;;;1556:7;;;;:56;;;;-1:-1:-1;;1552:142:67;;;-1:-1:-1;;1495:17291:198;;;;;;;1628:14:67;:::o;1556:56::-;11601:17:52;;;;;1495:17291:198;;;;;;;;885:1:67;3913:101;;;885:1;3913:101;;;1495:17291:198;1567:45:67;1556:56;;;;994:445;1495:17291:198;952:5:74;941:21;952:5;;;1495:17291:198;;942:5:74;;;941:21;:::i;:::-;3913:101:67;;885:1;3913:101;;;;885:1;3913:101;;1495:17291:198;1292:40:67;1288:141;1292:40;;;1352:10;;994:445;;1288:141;1495:17291:198;;;;;;;;;;1288:141:67;994:445;;1495:17291:198;;;;;;;:::o;:::-;;;;;;;;;;;;4802:217:56;1061:1:69;4868:18:56;1495:17291:198;;;4868:18:56;1495:17291:198;4967:19:56;1495:17291:198;;;;;;4967:19:56;4802:217;:::o;8294:144::-;1495:17291:198;;;;;;-1:-1:-1;1495:17291:198;8377:24:56;1495:17291:198;;;-1:-1:-1;1495:17291:198;3856:9:52;1495:17291:198;;;-1:-1:-1;1495:17291:198;;5170:18:56;1495:17291:198;8717:30:56;;;;:::i;:::-;:42;8713:151;;8294:144;;;:::o;8713:151::-;8775:29;;1495:17291:198;8775:29:56;8818:35;8775:29;;:::i;:::-;8818:16;:35;:::i;:::-;8294:144::o;8444:116::-;3679:12:52;1495:17291:198;5170:18:56;1495:17291:198;8717:30:56;;;;:::i;:::-;:42;8713:151;;8444:116;;:::o;8713:151::-;8516:21;1495:17291:198;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;8516:21:56;1495:17291:198;;:::i;:::-;;;;;;11601:17:52;;;1495:17291:198;;;;;;;;;;;8818:16:56;1495:17291:198;;;;;;;;;;;;8818:16:56;1495:17291:198;;:::i;:::-;;;;;;;;;;;;;;;;;;8444:116:56:o;1495:17291:198:-;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;11601:17:52;;;1495:17291:198;;;;;;;:::o;8876:206:56:-;8516:21;1495:17291:198;8969:15:56;;;9000:8;8983:1;9000:8;:::o;8965:111::-;-1:-1:-1;;1495:17291:198;;;;;;;9046:19:56;;;:::i;:::-;1495:17291:198;;;;;;9039:26:56;:::o;8876:206::-;1495:17291:198;;8969:15:56;;;9000:8;;8983:1;9000:8;:::o;8965:111::-;-1:-1:-1;;1495:17291:198;;;;;;;9046:19:56;;;:::i;1495:17291:198:-;;;;;;;;-1:-1:-1;;1495:17291:198;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1495:17291:198;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::o;4045:1433::-;;-1:-1:-1;;;;;1495:17291:198;;;;4125:10;4115:20;;;;:105;;4045:1433;4111:159;;4320:1;4309:12;;;4305:59;;;;:::i;:::-;4441:17;;:::i;:::-;4543:28;;;;:::i;:::-;:33;4539:152;;1495:17291;4947:15;1495:17291;;;;;;;;;;4947:32;;;;;;;;;;;;;;;;;;;;;;;;4045:1433;1495:17291;;;;;;;;;;;4922:83;;4999:4;4947:32;4922:83;;1495:17291;;4922:83;;;;;;;;;;;4045:1433;1495:17291;;;5059:14;1495:17291;;;;;;;;;;;;5016:58;;4947:32;5016:58;;1495:17291;5016:58;;;;;;;;;;;4045:1433;4922:152;;;;:::i;:::-;1495:17291;5157:41;4905:216;4922:198;5086:15;1495:17291;;5086:33;5104:15;1495:17291;5086:33;;:::i;:::-;4922:198;;:::i;:::-;4905:216;;:::i;:::-;5157:41;;;:::i;:::-;5086:15;1495:17291;;;;5204:17;1495:17291;;;;;5204:58;1495:17291;;;5204:58;:::i;:::-;1495:17291;;4947:15;1495:17291;;5297:64;;;;;;1495:17291;;-1:-1:-1;;;5297:64:198;;-1:-1:-1;;;;;1495:17291:198;;;;4947:32;5297:64;;1495:17291;4999:4;1495:17291;;;;;;;;;;;;;;;;;;;;;5297:64;;;;;;;;4045:1433;-1:-1:-1;1495:17291:198;;;5204:17;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;5373:100;;1495:17291;;5373:100;4045:1433::o;5297:64::-;;;;;:::i;:::-;1495:17291;;5297:64;;;;1495:17291;;;;;;;;;5016:58;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;4922:152;1495:17291;;5016:58;;;;;;;;;1495:17291;;;;;;;;;4922:83;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;4922:83;;;;;;;;4947:32;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;;;;:::i;:::-;4947:32;;;;;;;;4539:152;1495:17291;;;;;;4586:15;1495:17291;;;;;;;;;4627:33;;;;;;;;;;;;;;;;;;4539:152;4586:84;;;;;;1495:17291;;-1:-1:-1;;;4586:84:198;;-1:-1:-1;;;;;1495:17291:198;;;4627:33;4586:84;;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;4586:84;;;;;;;;4678:7;;:::o;4586:84::-;;;;:::i;:::-;4678:7;:::o;4586:84::-;1495:17291;;;;;;;;;4627:33;;;;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;;:::i;:::-;4627:33;;;;;;;-1:-1:-1;4627:33:198;;;1495:17291;;;;;;;;;4305:59;1495:17291;;-1:-1:-1;;;4330:34:198;;;;;4111:159;1495:17291;;-1:-1:-1;;;4237:26:198;;;;;4115:105;1495:17291;;4153:15;1495:17291;;-1:-1:-1;1495:17291:198;4191:14;1495:17291;;;;;;;;;;;;4153:53;;;;;1495:17291;4153:53;;;;;;;;;:67;:53;-1:-1:-1;4153:53:198;;;4115:105;4153:67;;1495:17291;;4125:10;4139:81;;4115:105;;4153:53;;;;;;;;;;;;:::i;:::-;;;;;1495:17291;;;-1:-1:-1;1495:17291:198;;;;;5550:411;5654:21;1495:17291;5678:15;1495:17291;;;-1:-1:-1;;;5678:33:198;;1495:17291;5678:33;;1495:17291;;5678:33;;1495:17291;;-1:-1:-1;;;;;1495:17291:198;5678:33;;;;;;-1:-1:-1;5678:33:198;;;5550:411;5654:57;;;;;:::i;:::-;5715:15;-1:-1:-1;5654:76:198;5650:307;;5550:411;:::o;5650:307::-;5871:79;5715:15;;5654:21;1495:17291;5847:11;;:::i;:::-;;5654:21;1495:17291;5932:17;5871:79;5932:17;;:::i;:::-;1495:17291;;5871:79;;;;1495:17291;;;;;;;;;;;;;;;;;;5871:79;;;;5550:411::o;5678:33::-;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;5654:57;1495:17291;;5678:33;;;;;-1:-1:-1;5678:33:198;;2580:287:51;1830:1;2712:7;1495:17291:198;2712:19:51;1830:1;;;2712:7;1495:17291:198;2580:287:51:o;1830:1::-;1495:17291:198;;-1:-1:-1;;;1830:1:51;;;;;;;;;;;1495:17291:198;1830:1:51;1495:17291:198;;;1830:1:51;;;;1495:17291:198;;;;;;;;;;;;;;;;:::o;996:186:60:-;1495:17291:198;;-1:-1:-1;;;1116:58:60;;;;;;;-1:-1:-1;;;;;1495:17291:198;;;1116:58:60;;;1495:17291:198;;;;;;;;;1116:58:60;;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5546:69:66;1495:17291:198;;;;;;;;;;;-1:-1:-1;5498:31:66;;;;;;;;;;1495:17291:198;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;5546:69:66;:::i;:::-;1495:17291:198;;5848:22:60;;;:56;;;;;;1495:17291:198;;;;;;;;;996:186:60;:::o;1495:17291:198:-;;;;;;;;;;;;;;;;1116:58:60;1495:17291:198;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;5848:56:60;5874:30;;;;;;;1495:17291:198;;;;5874:30:60;;1495:17291:198;;;;;;;;;5848:56:60;;;;;;;1495:17291:198;;;7682:628:66;;;;7886:418;;;1495:17291:198;;;7917:22:66;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;1495:17291:198;;8212:17:66;:::o;1495:17291:198:-;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;7886:418:66;1495:17291:198;;;;-1:-1:-1;8991:21:66;:17;;9163:142;;;;;;;8987:379;1495:17291:198;;-1:-1:-1;;;9335:20:66;;1495:17291:198;;;9335:20:66;;;;;;:::i;:::-;;;;1495:17291:198;-1:-1:-1;;1495:17291:198;;;;;;;:::o;12498:233::-;12583:21;1495:17291;12607:15;1495:17291;;;-1:-1:-1;;;12607:33:198;;1495:17291;12498:233;1495:17291;12607:33;;1495:17291;;12607:33;;1495:17291;;-1:-1:-1;;;;;1495:17291:198;12607:33;;;;;;;-1:-1:-1;12607:33:198;;;12498:233;12583:57;;;;;;:::i;:::-;12565:15;:75;12561:126;;5170:18:56;1495:17291:198;;;;;;;;;12498:233;:::o;12561:126::-;5170:18:56;1495:17291:198;12650:30;:::o;12607:33::-;;;;;;;;;;;;;;;:::i;:::-;;;1495:17291;;;;;;-1:-1:-1;12583:57:198;12607:33;;;;;-1:-1:-1;12607:33:198;;1495:17291;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11601:17:52;;;;;1495:17291:198;;;;;;;;:::o;:::-;-1:-1:-1;;;1495:17291:198;;;;;;;;;11601:17:52;;;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::o;:::-;;;;;;:::o;:::-;;;:::o;12824:316::-;-1:-1:-1;;;;;1495:17291:198;;;;;13051:4;1495:17291;;;;;;;;;;;13106:19;13045:57;1495:17291;13045:44;13051:37;13044:81;1495:17291;;13129:4;1495:17291;;:::i;13051:37::-;13045:44;:::i;:57::-;13106:19;;:::i;:::-;13044:81;;:::i;:::-;1495:17291;12824:316;:::o;13238:251::-;13428:3;1495:17291;;;;;;13428:3;1495:17291;;;;;;;13411:45;13410:67;13411:45;13428:3;13411:45;;:::i;:::-;13410:67;:::i;14418:203::-;;;14537:4;14515:10;:27;14511:66;;-1:-1:-1;;;;;1495:17291:198;;;;;7889:18:52;;1495:17291:198;;;;7967:16:52;;;1495:17291:198;;6626:4:56;6668:2;6626:4;;:::i;:::-;6668:2;:::i;:::-;6279:403;1495:17291:198;;;8105:9:52;1495:17291:198;;;;;;8138:21:52;;;;1495:17291:198;;;;;-1:-1:-1;;;;;;;;;;;1495:17291:198;;;;;8105:9:52;1495:17291:198;;;;;;;;;;;;;;;;;;;;;;8500:26:52;14418:203:198:o;1495:17291::-;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;;;;;;;;;;;-1:-1:-1;;;1495:17291:198;;;;;;;14797:792;;;15074:27;;;:67;;;;3679:12:52;1495:17291:198;15074:67;;15197:21;;15193:35;;15360:75;;;;;-1:-1:-1;;;;;;1495:17291:198;-1:-1:-1;1495:17291:198;;;3856:9:52;1495:17291:198;;;;;;;15360:75;15526:4;1495:17291;;;;;;;;;;;;;;;;15509:67;1495:17291;15510:46;1495:17291;-1:-1:-1;1495:17291:198;11411:17;1495:17291;;;-1:-1:-1;1495:17291:198;;15510:46;;:::i;15360:75::-;15409:26;;;:::i;:::-;15360:75;;;15193:35;15220:8;;;;-1:-1:-1;15220:8:198;:::o;15074:67::-;15120:21;;;:::i;:::-;15074:67;;;15909:2875;;15975:2805;15909:2875;-1:-1:-1;;;15975:2805:198;;;;;15909:2875;15975:2805;;;;;;;;15909:2875;15975:2805;;;;;;15909:2875;15975:2805;;;;;;15909:2875;15975:2805;;;;1495:17291;15975:2805;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15909:2875;:::o;15975:2805::-;;-1:-1:-1;15909:2875:198:o;15975:2805::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15975:2805:198;;-1:-1:-1;15975:2805:198;;;;;","linkReferences":{}},"methodIdentifiers":{"addRewards(address,uint256)":"a9fc507b","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","balanceOfAt(address,uint256)":"4ee2cd7e","calculatePurchaseReturn(uint120,uint120)":"d775a4c7","calculateSaleReturn(uint256,uint256,uint256)":"74293bf8","claimRewards(address,uint8)":"b5fc2f85","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","getAllTimeRewards()":"94616420","getAmountStakedByUser(address)":"399d99ec","getClaimableRewardsForUser(address,uint256)":"636f5b27","getCreationTime()":"e6519a35","getCurrentRound()":"a32bf597","getHistoricalRewardsForUserForRounds(address,uint256[])":"cae06944","getLastSnapshotTimestamp()":"7c27ff86","getRoundRewards(uint256)":"91e2057e","getStakingRegistry()":"61347782","getSumOfAllClaimed()":"3b1c612e","getTargetBeingStakedOn()":"3b248c76","increaseAllowance(address,uint256)":"39509351","initialize(address,address,address)":"c0c53b8b","name()":"06fdde03","stake(uint120)":"9ca92dec","symbol()":"95d89b41","takeSnapshot()":"b3d3d37e","totalSupply()":"18160ddd","totalSupplyAt(uint256)":"981b24d0","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","unstake(uint256)":"2e17de78"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CannotAddZeroRewards\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotClaimCurrentRound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimingTooManyRounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ClaimingZeroRounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientStakedRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientSyntheticRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardAlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_donor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountAdded\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newRoundRewardAmount\",\"type\":\"uint256\"}],\"name\":\"AddRewards\",\"type\":\"event\"},{\"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\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_msgSender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountToStaker\",\"type\":\"uint256\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"Snapshot\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaking\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountSRareReceived\",\"type\":\"uint256\"}],\"name\":\"Stake\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lastSnapshotTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_currentSnapshotTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"}],\"name\":\"StakingSnapshot\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountUnstaking\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_totalAmountStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountRareBurned\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountSRareSold\",\"type\":\"uint256\"}],\"name\":\"Unstake\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_donor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"addRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"balanceOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint120\",\"name\":\"_totalSRare\",\"type\":\"uint120\"},{\"internalType\":\"uint120\",\"name\":\"_stakedAmount\",\"type\":\"uint120\"}],\"name\":\"calculatePurchaseReturn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalSRareByUser\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRareStakedByUser\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_unstakeAmount\",\"type\":\"uint256\"}],\"name\":\"calculateSaleReturn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_numRounds\",\"type\":\"uint8\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllTimeRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getAmountStakedByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_numRounds\",\"type\":\"uint256\"}],\"name\":\"getClaimableRewardsForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreationTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_rounds\",\"type\":\"uint256[]\"}],\"name\":\"getHistoricalRewardsForUserForRounds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastSnapshotTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_round\",\"type\":\"uint256\"}],\"name\":\"getRoundRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSumOfAllClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTargetBeingStakedOn\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_userStakedTo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint120\",\"name\":\"_amount\",\"type\":\"uint120\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"takeSnapshot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"totalSupplyAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"details\":\"It is one base user per contract. This is the implementation contract for a beacon proxy.\",\"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.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Snapshot(uint256)\":{\"details\":\"Emitted by {_snapshot} when a snapshot identified by `id` is created.\"},\"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\":{\"addRewards(address,uint256)\":{\"params\":{\"_amount\":\"Amount of $RARE being staked.\",\"_donor\":\"Address of the account donating the $RARE.\"}},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` 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\":\"See {IERC20-balanceOf}.\"},\"balanceOfAt(address,uint256)\":{\"details\":\"Retrieves the balance of `account` at the time `snapshotId` was created.\"},\"calculatePurchaseReturn(uint120,uint120)\":{\"details\":\"Calculated based on a sqrt token bonding curve.\",\"params\":{\"_stakedAmount\":\"Amount of RARE being staked.\",\"_totalSRare\":\"Current supply of sRare.\"},\"returns\":{\"_0\":\"uint256 Amount of synthetic tokens one would get for staking {_stakedAmount} given a totalSupply of {_totalSRare}.\"}},\"calculateSaleReturn(uint256,uint256,uint256)\":{\"details\":\"Calculated based on percentage sRARE being unstaked.\",\"params\":{\"_totalRareStakedByUser\":\"Total Amount of RARE staked by the given user.\",\"_totalSRareByUser\":\"Current balance of sRARE held by the given user.\",\"_unstakeAmount\":\"Amount of sRare being traded in.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens one would get for unstaking {_unstakeAmount} given {_totalSRareByUser} and {_totalRareStakedByUser}.\"}},\"claimRewards(address,uint8)\":{\"details\":\"Will snapshot a new round if possible.\",\"params\":{\"_numRounds\":\"uint256 number of rounds to claim since last claim.\",\"_user\":\"Address of user to claim on behalf of.\"}},\"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}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"getAllTimeRewards()\":{\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens allocated as rewards.\"}},\"getAmountStakedByUser(address)\":{\"params\":{\"_user\":\"Address of staker.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE staked.\"}},\"getClaimableRewardsForUser(address,uint256)\":{\"params\":{\"_numRounds\":\"Address of the user to get rewards.\",\"_user\":\"Address of the user to get rewards.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens rewarded.\"}},\"getCreationTime()\":{\"returns\":{\"_0\":\"uint256 unix creation time of the contract.\"}},\"getCurrentRound()\":{\"returns\":{\"_0\":\"uint256 Claim round id.\"}},\"getHistoricalRewardsForUserForRounds(address,uint256[])\":{\"params\":{\"_rounds\":\"List of uint256 round ids to look up the rewards.\",\"_user\":\"Address of the user to get rewards.\"},\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens rewarded.\"}},\"getLastSnapshotTimestamp()\":{\"returns\":{\"_0\":\"uint256 unix time of the most recent snapshot.\"}},\"getRoundRewards(uint256)\":{\"returns\":{\"_0\":\"uint256 Amount of $RARE tokens allocated as rewards for round.\"}},\"getStakingRegistry()\":{\"returns\":{\"_0\":\"address of the staking registry.\"}},\"getSumOfAllClaimed()\":{\"returns\":{\"_0\":\"uint256 amount of rewards claimed.\"}},\"getTargetBeingStakedOn()\":{\"returns\":{\"_0\":\"Address of target being staked on;\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"returns\":{\"_0\":\"Name of the synthetic asset.\"}},\"stake(uint120)\":{\"details\":\"Caller must have given this contract allowance for their $RARE tokens.On each call will check to see if the period needs to be updated.Amount of synthetic token received is determined by a sqrt bonding curve.\",\"params\":{\"_amount\":\"Amount of $RARE being staked.\"}},\"symbol()\":{\"returns\":{\"_0\":\"Symbol of the synthetic asset.\"}},\"takeSnapshot()\":{\"details\":\"Anyone can make this call.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"totalSupplyAt(uint256)\":{\"details\":\"Retrieves the total supply at the time `snapshotId` was created.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"unstake(uint256)\":{\"details\":\"On each call will check to see if the period needs to be updated.Amount of $RARE received is the % of your synthetic tokens unstaked.{deflationaryPercentage} of the unstaked rare is burned.\",\"params\":{\"_amount\":\"Amount of synthetic tokens to unstake.\"}}},\"title\":\"RarityPool\",\"version\":1},\"userdoc\":{\"errors\":{\"CannotAddZeroRewards()\":[{\"notice\":\"Error emitted via {addRewards} if adding 0 rewards.\"}],\"CannotClaimCurrentRound()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if claiming current round.\"}],\"ClaimingTooManyRounds()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if too many rounds are supplied.\"}],\"ClaimingZeroRounds()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if claiming no rounds.\"}],\"InsufficientStakedRare()\":[{\"notice\":\"Error emitted via {unstake} when the sale return proves greater than the amount staked. This should be impossible.\"}],\"InsufficientSyntheticRare()\":[{\"notice\":\"Error emitted via {unstake} when unstaking more synthetic tokens than is in their balance.\"}],\"RewardAlreadyClaimed()\":[{\"notice\":\"Error emitted via {claimRewardsForRounds} if sender has already claimed their reward one of the supplied rounds.\"}],\"Unauthorized()\":[{\"notice\":\"Error emitted when user doesnt meet the criteria for call.\"}],\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"kind\":\"user\",\"methods\":{\"addRewards(address,uint256)\":{\"notice\":\"Allocates rewards for the current round with the given amount.\"},\"calculatePurchaseReturn(uint120,uint120)\":{\"notice\":\"Calculates the number of sRare yielded from staking.\"},\"calculateSaleReturn(uint256,uint256,uint256)\":{\"notice\":\"Calculates the number of rare yielded from unstaking.\"},\"claimRewards(address,uint8)\":{\"notice\":\"Claim rewards for the _user for the number of rounds supplied since last claim. Rewards are proportional to the synthetic tokens held during the snapshot associated with each round. Throws if user has already claimed the latest round. Throws if current round is being claimed.\"},\"getAllTimeRewards()\":{\"notice\":\"Total rewards snapshotted since con.\"},\"getAmountStakedByUser(address)\":{\"notice\":\"Query total amount of $RARE a user has staked on this contract.\"},\"getClaimableRewardsForUser(address,uint256)\":{\"notice\":\"Query the available rewards for claim of the supplied user address for the number of rounds supplied. \"},\"getCreationTime()\":{\"notice\":\"Get the unix creation time of the staking contract.\"},\"getCurrentRound()\":{\"notice\":\"Query current round. The current round is accumulating rewards.\"},\"getHistoricalRewardsForUserForRounds(address,uint256[])\":{\"notice\":\"Query rewards for the supplied user address for the round supplied rounds. Does not omit rewards for rounds that have already been claimed. Allows for easier historical lookups.\"},\"getLastSnapshotTimestamp()\":{\"notice\":\"Get the unix time of the most recent snapshot.\"},\"getRoundRewards(uint256)\":{\"notice\":\"Total rewards available for the supplied round.\"},\"getStakingRegistry()\":{\"notice\":\"Return the staking registry of the pool\"},\"getSumOfAllClaimed()\":{\"notice\":\"Total amount of Rewards claimed.\"},\"getTargetBeingStakedOn()\":{\"notice\":\"Query the target being staked on by this contract.\"},\"name()\":{\"notice\":\"Name of the synthetic asset.\"},\"stake(uint120)\":{\"notice\":\"Stake $RARE tokens to the target associated with the contract and receive synthetic tokens in return.\"},\"symbol()\":{\"notice\":\"Symbol of the synthetic asset.\"},\"takeSnapshot()\":{\"notice\":\"Snapshots the rewards for the current round. Anyone can call this.\"},\"unstake(uint256)\":{\"notice\":\"Unstake by returning synthetic tokens and receiving previously staked $RARE in return.\"}},\"notice\":\"The Staked ERC20 contract that allows users to stake/unstake/claim rewards/reward swaps.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/token/RarityPool.sol\":\"RarityPool\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xd14a627157b9a411d2410713e5dd3a377e9064bd5c194a90748bbf27ea625784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29d6a502187e88fdb4ac51319b6cfc82e7ba886a435480e229e5f838d2da55ee\",\"dweb:/ipfs/QmQNWKr3axXvQowZi31ydXRdeZ7UnE7oN8XAz9FCkx1JhN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol\":{\"keccak256\":\"0xea2c6f9d434127bf36b1e3e5ebaaf6d28a64dbaeea560508e570014e905a5ad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3483370aa549810a946ace621a225616bb6d0b9ed22c3a99bbcf80dc4866ec39\",\"dweb:/ipfs/QmdgFnm6X2oQ574eJFLghVXVckwyC3SbiAUxXs934N1qvf\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol\":{\"keccak256\":\"0xde37069fee260aebc3d205b6efac1c5c6d2271805f0a5035e3d626a23d33264c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cb3fc98ee9933b15b1369ab1cab47df7a3978a78c1ff830caa29daf2615b7a\",\"dweb:/ipfs/QmQ2xnoPdWicferXuTYLmQVQrJMDBEqUkJfizmkZk8WF2V\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol\":{\"keccak256\":\"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d\",\"dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol\":{\"keccak256\":\"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622\",\"dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol\":{\"keccak256\":\"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8\",\"dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol\":{\"keccak256\":\"0xfc2b592af54cefb457ee96f7e1336d883a5dc02f04d462c6a3bb6c1f1e7865ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://203d64e7c51f2c27e7a0c07338a6ab2cefc3bacf99c416415e57038933ece767\",\"dweb:/ipfs/QmQBU4dFzaXv2pX76TQeTaRVMsPyyN7owuGK3zZXA5y9kj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol\":{\"keccak256\":\"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca\",\"dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol\":{\"keccak256\":\"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f\",\"dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]},\"src/staking/token/RarityPool.sol\":{\"keccak256\":\"0x9d2a4416a919b9a5790e49bf17f678c750bee98970678d1a699b0a3bcf9fba91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3029388baf7af0e6d3e926b8f01d887b1791ce09d2ddaacaa9683269dfb8ab5c\",\"dweb:/ipfs/QmXpVyd4uvWYz3DTURJHexU5NW5XNcwzBcEHTDPyTHyjzP\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CannotAddZeroRewards"},{"inputs":[],"type":"error","name":"CannotClaimCurrentRound"},{"inputs":[],"type":"error","name":"ClaimingTooManyRounds"},{"inputs":[],"type":"error","name":"ClaimingZeroRounds"},{"inputs":[],"type":"error","name":"InsufficientStakedRare"},{"inputs":[],"type":"error","name":"InsufficientSyntheticRare"},{"inputs":[],"type":"error","name":"RewardAlreadyClaimed"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"_donor","type":"address","indexed":true},{"internalType":"uint256","name":"_round","type":"uint256","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountAdded","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newRoundRewardAmount","type":"uint256","indexed":false}],"type":"event","name":"AddRewards","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_msgSender","type":"address","indexed":true},{"internalType":"address","name":"_claimer","type":"address","indexed":true},{"internalType":"uint256","name":"_amountToStaker","type":"uint256","indexed":false}],"type":"event","name":"RewardClaimed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256","indexed":false}],"type":"event","name":"Snapshot","anonymous":false},{"inputs":[{"internalType":"address","name":"_staker","type":"address","indexed":true},{"internalType":"uint256","name":"_amountStaking","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountSRareReceived","type":"uint256","indexed":false}],"type":"event","name":"Stake","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_lastSnapshotTimestamp","type":"uint256","indexed":false},{"internalType":"uint256","name":"_currentSnapshotTimestamp","type":"uint256","indexed":false},{"internalType":"uint256","name":"_round","type":"uint256","indexed":false}],"type":"event","name":"StakingSnapshot","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_staker","type":"address","indexed":true},{"internalType":"uint256","name":"_amountUnstaking","type":"uint256","indexed":false},{"internalType":"uint256","name":"_totalAmountStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountRareBurned","type":"uint256","indexed":false},{"internalType":"uint256","name":"_amountSRareSold","type":"uint256","indexed":false}],"type":"event","name":"Unstake","anonymous":false},{"inputs":[{"internalType":"address","name":"_donor","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addRewards"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint120","name":"_totalSRare","type":"uint120"},{"internalType":"uint120","name":"_stakedAmount","type":"uint120"}],"stateMutability":"pure","type":"function","name":"calculatePurchaseReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_totalSRareByUser","type":"uint256"},{"internalType":"uint256","name":"_totalRareStakedByUser","type":"uint256"},{"internalType":"uint256","name":"_unstakeAmount","type":"uint256"}],"stateMutability":"pure","type":"function","name":"calculateSaleReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint8","name":"_numRounds","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"claimRewards"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllTimeRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getAmountStakedByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_numRounds","type":"uint256"}],"stateMutability":"view","type":"function","name":"getClaimableRewardsForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCreationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256[]","name":"_rounds","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"getHistoricalRewardsForUserForRounds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLastSnapshotTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_round","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRoundRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSumOfAllClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTargetBeingStakedOn","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_userStakedTo","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_creator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint120","name":"_amount","type":"uint120"}],"stateMutability":"nonpayable","type":"function","name":"stake"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"takeSnapshot"},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupplyAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unstake"}],"devdoc":{"kind":"dev","methods":{"addRewards(address,uint256)":{"params":{"_amount":"Amount of $RARE being staked.","_donor":"Address of the account donating the $RARE."}},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` 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":"See {IERC20-balanceOf}."},"balanceOfAt(address,uint256)":{"details":"Retrieves the balance of `account` at the time `snapshotId` was created."},"calculatePurchaseReturn(uint120,uint120)":{"details":"Calculated based on a sqrt token bonding curve.","params":{"_stakedAmount":"Amount of RARE being staked.","_totalSRare":"Current supply of sRare."},"returns":{"_0":"uint256 Amount of synthetic tokens one would get for staking {_stakedAmount} given a totalSupply of {_totalSRare}."}},"calculateSaleReturn(uint256,uint256,uint256)":{"details":"Calculated based on percentage sRARE being unstaked.","params":{"_totalRareStakedByUser":"Total Amount of RARE staked by the given user.","_totalSRareByUser":"Current balance of sRARE held by the given user.","_unstakeAmount":"Amount of sRare being traded in."},"returns":{"_0":"uint256 Amount of $RARE tokens one would get for unstaking {_unstakeAmount} given {_totalSRareByUser} and {_totalRareStakedByUser}."}},"claimRewards(address,uint8)":{"details":"Will snapshot a new round if possible.","params":{"_numRounds":"uint256 number of rounds to claim since last claim.","_user":"Address of user to claim on behalf of."}},"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}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"getAllTimeRewards()":{"returns":{"_0":"uint256 Amount of $RARE tokens allocated as rewards."}},"getAmountStakedByUser(address)":{"params":{"_user":"Address of staker."},"returns":{"_0":"uint256 Amount of $RARE staked."}},"getClaimableRewardsForUser(address,uint256)":{"params":{"_numRounds":"Address of the user to get rewards.","_user":"Address of the user to get rewards."},"returns":{"_0":"uint256 Amount of $RARE tokens rewarded."}},"getCreationTime()":{"returns":{"_0":"uint256 unix creation time of the contract."}},"getCurrentRound()":{"returns":{"_0":"uint256 Claim round id."}},"getHistoricalRewardsForUserForRounds(address,uint256[])":{"params":{"_rounds":"List of uint256 round ids to look up the rewards.","_user":"Address of the user to get rewards."},"returns":{"_0":"uint256 Amount of $RARE tokens rewarded."}},"getLastSnapshotTimestamp()":{"returns":{"_0":"uint256 unix time of the most recent snapshot."}},"getRoundRewards(uint256)":{"returns":{"_0":"uint256 Amount of $RARE tokens allocated as rewards for round."}},"getStakingRegistry()":{"returns":{"_0":"address of the staking registry."}},"getSumOfAllClaimed()":{"returns":{"_0":"uint256 amount of rewards claimed."}},"getTargetBeingStakedOn()":{"returns":{"_0":"Address of target being staked on;"}},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"returns":{"_0":"Name of the synthetic asset."}},"stake(uint120)":{"details":"Caller must have given this contract allowance for their $RARE tokens.On each call will check to see if the period needs to be updated.Amount of synthetic token received is determined by a sqrt bonding curve.","params":{"_amount":"Amount of $RARE being staked."}},"symbol()":{"returns":{"_0":"Symbol of the synthetic asset."}},"takeSnapshot()":{"details":"Anyone can make this call."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"totalSupplyAt(uint256)":{"details":"Retrieves the total supply at the time `snapshotId` was created."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."},"unstake(uint256)":{"details":"On each call will check to see if the period needs to be updated.Amount of $RARE received is the % of your synthetic tokens unstaked.{deflationaryPercentage} of the unstaked rare is burned.","params":{"_amount":"Amount of synthetic tokens to unstake."}}},"version":1},"userdoc":{"kind":"user","methods":{"addRewards(address,uint256)":{"notice":"Allocates rewards for the current round with the given amount."},"calculatePurchaseReturn(uint120,uint120)":{"notice":"Calculates the number of sRare yielded from staking."},"calculateSaleReturn(uint256,uint256,uint256)":{"notice":"Calculates the number of rare yielded from unstaking."},"claimRewards(address,uint8)":{"notice":"Claim rewards for the _user for the number of rounds supplied since last claim. Rewards are proportional to the synthetic tokens held during the snapshot associated with each round. Throws if user has already claimed the latest round. Throws if current round is being claimed."},"getAllTimeRewards()":{"notice":"Total rewards snapshotted since con."},"getAmountStakedByUser(address)":{"notice":"Query total amount of $RARE a user has staked on this contract."},"getClaimableRewardsForUser(address,uint256)":{"notice":"Query the available rewards for claim of the supplied user address for the number of rounds supplied. "},"getCreationTime()":{"notice":"Get the unix creation time of the staking contract."},"getCurrentRound()":{"notice":"Query current round. The current round is accumulating rewards."},"getHistoricalRewardsForUserForRounds(address,uint256[])":{"notice":"Query rewards for the supplied user address for the round supplied rounds. Does not omit rewards for rounds that have already been claimed. Allows for easier historical lookups."},"getLastSnapshotTimestamp()":{"notice":"Get the unix time of the most recent snapshot."},"getRoundRewards(uint256)":{"notice":"Total rewards available for the supplied round."},"getStakingRegistry()":{"notice":"Return the staking registry of the pool"},"getSumOfAllClaimed()":{"notice":"Total amount of Rewards claimed."},"getTargetBeingStakedOn()":{"notice":"Query the target being staked on by this contract."},"name()":{"notice":"Name of the synthetic asset."},"stake(uint120)":{"notice":"Stake $RARE tokens to the target associated with the contract and receive synthetic tokens in return."},"symbol()":{"notice":"Symbol of the synthetic asset."},"takeSnapshot()":{"notice":"Snapshots the rewards for the current round. Anyone can call this."},"unstake(uint256)":{"notice":"Unstake by returning synthetic tokens and receiving previously staked $RARE in return."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/token/RarityPool.sol":"RarityPool"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xd14a627157b9a411d2410713e5dd3a377e9064bd5c194a90748bbf27ea625784","urls":["bzz-raw://29d6a502187e88fdb4ac51319b6cfc82e7ba886a435480e229e5f838d2da55ee","dweb:/ipfs/QmQNWKr3axXvQowZi31ydXRdeZ7UnE7oN8XAz9FCkx1JhN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol":{"keccak256":"0xea2c6f9d434127bf36b1e3e5ebaaf6d28a64dbaeea560508e570014e905a5ad2","urls":["bzz-raw://3483370aa549810a946ace621a225616bb6d0b9ed22c3a99bbcf80dc4866ec39","dweb:/ipfs/QmdgFnm6X2oQ574eJFLghVXVckwyC3SbiAUxXs934N1qvf"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol":{"keccak256":"0xde37069fee260aebc3d205b6efac1c5c6d2271805f0a5035e3d626a23d33264c","urls":["bzz-raw://40cb3fc98ee9933b15b1369ab1cab47df7a3978a78c1ff830caa29daf2615b7a","dweb:/ipfs/QmQ2xnoPdWicferXuTYLmQVQrJMDBEqUkJfizmkZk8WF2V"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol":{"keccak256":"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb","urls":["bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d","dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol":{"keccak256":"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3","urls":["bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622","dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol":{"keccak256":"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c","urls":["bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8","dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol":{"keccak256":"0xfc2b592af54cefb457ee96f7e1336d883a5dc02f04d462c6a3bb6c1f1e7865ae","urls":["bzz-raw://203d64e7c51f2c27e7a0c07338a6ab2cefc3bacf99c416415e57038933ece767","dweb:/ipfs/QmQBU4dFzaXv2pX76TQeTaRVMsPyyN7owuGK3zZXA5y9kj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol":{"keccak256":"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447","urls":["bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca","dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol":{"keccak256":"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f","urls":["bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f","dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"},"src/staking/token/RarityPool.sol":{"keccak256":"0x9d2a4416a919b9a5790e49bf17f678c750bee98970678d1a699b0a3bcf9fba91","urls":["bzz-raw://3029388baf7af0e6d3e926b8f01d887b1791ce09d2ddaacaa9683269dfb8ab5c","dweb:/ipfs/QmXpVyd4uvWYz3DTURJHexU5NW5XNcwzBcEHTDPyTHyjzP"],"license":"MIT"}},"version":1},"id":198} \ No newline at end of file diff --git a/abis/RarityPoolFactory.json b/abis/RarityPoolFactory.json index 78b80e9..25cbc11 100644 --- a/abis/RarityPoolFactory.json +++ b/abis/RarityPoolFactory.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployStaking","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRareStakingTemplateAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingRegistryAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_rareStakingTemplate","type":"address","internalType":"address"},{"name":"_rewardSwapFactory","type":"address","internalType":"address"},{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRareStakingTemplate","inputs":[{"name":"_rareStakingTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingRegistry","inputs":[{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RareStakingTemplateUpdated","inputs":[{"name":"newRareStakingTemplate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingContractCreated","inputs":[{"name":"_deployingUser","type":"address","indexed":true,"internalType":"address"},{"name":"_userStakedOn","type":"address","indexed":true,"internalType":"address"},{"name":"_stakingAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingRegistryUpdated","inputs":[{"name":"newStakingRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x60a080604052346100dc57306080526000549060ff8260081c1661008a575060ff8082160361004f575b6040516119b990816100e2823960805181818161057d015281816106b0015261099a0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610029565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe608060408181526004803610156200001657600080fd5b600092833560e01c9081631249ed231462000c0f575080632c7408441462000b9b5780633659cfe6146200096f5780634f1ef286146200062c57806352d1902d14620005665780635c60da1b1462000390578063715018a614620004fa57806379ba5097146200046d5780637ed155de14620003ec5780638da5cb5b14620003c15780639f997eb01462000396578063c8cb01d81462000390578063e30c39781462000361578063f2fde38b14620002ea5763f8c8765e14620000d857600080fd5b34620002e6576080366003190112620002e657620000f562000edf565b906001600160a01b0360243581811690819003620002e15760443590828216809203620002e1576064359383851693848603620002e15788549660ff8860081c161597888099620002d3575b8015620002ba575b15620002605760ff1981166001178b55886200024e575b50169384156200023f5782156200023f5783156200023f571562000231575090620001f29392916bffffffffffffffffffffffff60a01b918260fc54161760fc558160fd54161760fd5560fb54161760fb55620001cf60ff865460081c16620001c98162001293565b62001293565b620001da3362000fa9565b620001ec60ff865460081c1662001293565b62000fa9565b620001fb575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b8651637827912560e01b8152fd5b508651637827912560e01b8152fd5b61ffff1916610101178a553862000160565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620001495750600160ff82161462000149565b50600160ff82161062000141565b600080fd5b8280fd5b83346200035e5760203660031901126200035e576200030862000edf565b6200031262000fff565b606580546001600160a01b0319166001600160a01b039283169081179091556033549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b80fd5b5050346200038c57816003193601126200038c5760655490516001600160a01b039091168152602090f35b5080fd5b62000f7e565b5050346200038c57816003193601126200038c5760fb5490516001600160a01b039091168152602090f35b5050346200038c57816003193601126200038c5760335490516001600160a01b039091168152602090f35b5034620002e6576020366003190112620002e6576200040a62000edf565b6200041462000fff565b6001600160a01b03169182156200046057505060fd80546001600160a01b031916821790557f2b022c4b56a6b8adae778a141c22e90aead2a46d1655c4ef94ced0acfae9ed258280a280f35b51637827912560e01b8152fd5b509034620002e65782600319360112620002e657606554336001600160a01b0390911603620004a55782620004a23362000fa9565b80f35b906020608492519162461bcd60e51b8352820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152fd5b83346200035e57806003193601126200035e576200051762000fff565b606580546001600160a01b03199081169091556033805491821690556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5082346200035e57806003193601126200035e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003620005c45760208251600080516020620019648339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b509080600319360112620002e6576200064462000edf565b906024359067ffffffffffffffff82116200096b57366023830112156200096b5781840135620006748162000f61565b620006828351918262000f3e565b81815286602094858301933660248284010111620002e6578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690620006e03083141562001058565b6200070060008051602062001964833981519152928284541614620010ba565b6200070a62000fff565b86169081156200095b577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200075157505050505050620004a291506200111c565b849596929394516352d1902d60e01b815287818a81865afa6000918162000926575b50620007d357865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703620008d15750620007ed826200111c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590620008c8575b6200082c575b505050505080f35b600080620008b196845196620008428862000f21565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15620008bd573d620008a1620008978262000f61565b9251928362000f3e565b8152600081943d92013e620011ae565b50388080808062000824565b5060609250620011ae565b5060016200081e565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918982813d831162000953575b62000940818362000f3e565b810103126200035e575051903862000773565b503d62000934565b8451637827912560e01b81528890fd5b8480fd5b509034620002e65760208060031936011262000b97576200098f62000edf565b916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690620009ca3083141562001058565b620009ea60008051602062001964833981519152928284541614620010ba565b620009f462000fff565b8416801562000b87578251908482019282841067ffffffffffffffff85111762000b72578385528883527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000a5b57505050505050620004a291506200111c565b849596929394516352d1902d60e01b815287818a81865afa6000918162000b3d575b5062000add57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703620008d1575062000af7826200111c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159062000b34576200082c57505050505080f35b5060006200081e565b90918982813d831162000b6a575b62000b57818362000f3e565b810103126200035e575051903862000a7d565b503d62000b4b565b604188634e487b7160e01b6000525260246000fd5b8251637827912560e01b81528690fd5b8380fd5b5034620002e6576020366003190112620002e65762000bb962000edf565b62000bc362000fff565b6001600160a01b03169182156200046057505060fb80546001600160a01b031916821790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf8280a280f35b8492915034620002e6576020938460031936011262000b975762000c3262000edf565b60fb5490936001600160a01b038086169492811692851562000ed15750835163c0c53b8b60e01b898201526001600160a01b0387811660248301528416604482015233606480830191909152815262000c8d60848262000f3e565b84519061066f8083019083821067ffffffffffffffff83111762000ebe57918762000cca92818e8796620012f58839308352820152019062001251565b039088f095861562000e5157879089838060fc5416991698602488518095819363399fe9a160e11b83528d8a8401525af191821562000eb457899262000e75575b50843b1562000e715785516376a250a760e01b81526001600160a01b03918216858201908152828a16602082015292909316166040820152879082908190606001038183875af1801562000e515762000e5b575b5082516366951bc160e01b81529087828281865afa91821562000e5157879262000e1c575b50823b1562000e185790604487928386519586948593632f2ff15d60e01b85528401528960248401525af1801562000e0e5784939291869162000def575b505051937f4a2dd45842063d5cdb0ba4ccb3b677af33701f706cdfa90ddf5fe291e6f99878339180a48152f35b62000dfe919293945062000ef6565b62000b9757908291848762000dc2565b82513d87823e3d90fd5b8680fd5b9091508781813d831162000e49575b62000e37818362000f3e565b81010312620002e15751908862000d84565b503d62000e2b565b84513d89823e3d90fd5b62000e699096919662000ef6565b948762000d5f565b8880fd5b9091508981813d831162000eac575b62000e90818362000f3e565b8101031262000e715751828116810362000e7157908a62000d0b565b503d62000e84565b86513d8b823e3d90fd5b634e487b7160e01b8b526041865260248bfd5b637827912560e01b81529050fd5b600435906001600160a01b0382168203620002e157565b67ffffffffffffffff811162000f0b57604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff82111762000f0b57604052565b90601f8019910116810190811067ffffffffffffffff82111762000f0b57604052565b67ffffffffffffffff811162000f0b57601f01601f191660200190565b34620002e1576000366003190112620002e15760fd546040516001600160a01b039091168152602090f35b6bffffffffffffffffffffffff60a01b90816065541660655560335460018060a01b038092168093821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6033546001600160a01b031633036200101457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b156200106057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620010c257565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562001153576000805160206200196483398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620012135750815115620011c4575090565b3b15620011ce5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620012275750805190602001fd5b60405162461bcd60e51b8152602060048201529081906200124d90602483019062001251565b0390fd5b919082519283825260005b8481106200127e575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200125c565b156200129b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe608060409080825261066f80380380916100198285610350565b8339810190828183031261034b5761003081610373565b6020828101516001600160401b039391929184821161034b57019084601f8301121561034b5781519161006283610387565b9261006f88519485610350565b8084528484019685828401011161034b57868561008c93016103a2565b803b156102f9578551635c60da1b60e01b80825292916001600160a01b0316908481600481855afa9081156102ee576000916102b9575b503b1561025c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b03191682179055865192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a2825115801590610254575b610142575b87516101f690816104798239f35b6004848693819382525afa9182156102495760009261020f575b5085519360608501908111858210176101f9578652602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c83850152660819985a5b195960ca1b84870152516101e3946000918291845af4903d156101f0573d6101c781610387565b906101d488519283610350565b8152600081943d92013e6103c5565b5038808080808080610134565b606092506103c5565b634e487b7160e01b600052604160045260246000fd5b90918382813d8311610242575b6102268183610350565b8101031261023f575061023890610373565b903861015c565b80fd5b503d61021c565b86513d6000823e3d90fd5b50600061012f565b865162461bcd60e51b815260048101859052603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b908582813d83116102e7575b6102cf8183610350565b8101031261023f57506102e190610373565b386100c3565b503d6102c5565b88513d6000823e3d90fd5b855162461bcd60e51b815260048101849052602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101f957604052565b51906001600160a01b038216820361034b57565b6001600160401b0381116101f957601f01601f191660200190565b60005b8381106103b55750506000910152565b81810151838201526020016103a5565b9192901561042757508151156103d9575090565b3b156103e25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561043a5750805190602001fd5b6044604051809262461bcd60e51b82526020600483015261046a81518092816024860152602086860191016103a2565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea2646970667358221220282abf688b062a839a4662d551dabcadaac92addb7cebf18c13322630af9222464736f6c63430008120033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220f6836763579abd7fbca9a04bd426e7210a76b5beedfe063cd6bdc42976732aaa64736f6c63430008120033","sourceMap":"1050:4926:180:-:0;;;;;;;1332:4:46;1324:13;;6007::45;1050:4926:180;;;;;;;;;;;;;;6078:31:45;6074:139;;-1:-1:-1;1050:4926:180;;;;;;;;1324:13:46;1050:4926:180;;;;;;;;;;;;;;;;6074:139:45;1050:4926:180;;;;;;6007:13:45;1050:4926:180;6174:28:45;1050:4926:180;;;;;;6174:28:45;6074:139;;;1050:4926:180;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004803610156200001657600080fd5b600092833560e01c9081631249ed231462000c0f575080632c7408441462000b9b5780633659cfe6146200096f5780634f1ef286146200062c57806352d1902d14620005665780635c60da1b1462000390578063715018a614620004fa57806379ba5097146200046d5780637ed155de14620003ec5780638da5cb5b14620003c15780639f997eb01462000396578063c8cb01d81462000390578063e30c39781462000361578063f2fde38b14620002ea5763f8c8765e14620000d857600080fd5b34620002e6576080366003190112620002e657620000f562000edf565b906001600160a01b0360243581811690819003620002e15760443590828216809203620002e1576064359383851693848603620002e15788549660ff8860081c161597888099620002d3575b8015620002ba575b15620002605760ff1981166001178b55886200024e575b50169384156200023f5782156200023f5783156200023f571562000231575090620001f29392916bffffffffffffffffffffffff60a01b918260fc54161760fc558160fd54161760fd5560fb54161760fb55620001cf60ff865460081c16620001c98162001293565b62001293565b620001da3362000fa9565b620001ec60ff865460081c1662001293565b62000fa9565b620001fb575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b8651637827912560e01b8152fd5b508651637827912560e01b8152fd5b61ffff1916610101178a553862000160565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620001495750600160ff82161462000149565b50600160ff82161062000141565b600080fd5b8280fd5b83346200035e5760203660031901126200035e576200030862000edf565b6200031262000fff565b606580546001600160a01b0319166001600160a01b039283169081179091556033549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b80fd5b5050346200038c57816003193601126200038c5760655490516001600160a01b039091168152602090f35b5080fd5b62000f7e565b5050346200038c57816003193601126200038c5760fb5490516001600160a01b039091168152602090f35b5050346200038c57816003193601126200038c5760335490516001600160a01b039091168152602090f35b5034620002e6576020366003190112620002e6576200040a62000edf565b6200041462000fff565b6001600160a01b03169182156200046057505060fd80546001600160a01b031916821790557f2b022c4b56a6b8adae778a141c22e90aead2a46d1655c4ef94ced0acfae9ed258280a280f35b51637827912560e01b8152fd5b509034620002e65782600319360112620002e657606554336001600160a01b0390911603620004a55782620004a23362000fa9565b80f35b906020608492519162461bcd60e51b8352820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152fd5b83346200035e57806003193601126200035e576200051762000fff565b606580546001600160a01b03199081169091556033805491821690556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5082346200035e57806003193601126200035e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003620005c45760208251600080516020620019648339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b509080600319360112620002e6576200064462000edf565b906024359067ffffffffffffffff82116200096b57366023830112156200096b5781840135620006748162000f61565b620006828351918262000f3e565b81815286602094858301933660248284010111620002e6578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690620006e03083141562001058565b6200070060008051602062001964833981519152928284541614620010ba565b6200070a62000fff565b86169081156200095b577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200075157505050505050620004a291506200111c565b849596929394516352d1902d60e01b815287818a81865afa6000918162000926575b50620007d357865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703620008d15750620007ed826200111c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590620008c8575b6200082c575b505050505080f35b600080620008b196845196620008428862000f21565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15620008bd573d620008a1620008978262000f61565b9251928362000f3e565b8152600081943d92013e620011ae565b50388080808062000824565b5060609250620011ae565b5060016200081e565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918982813d831162000953575b62000940818362000f3e565b810103126200035e575051903862000773565b503d62000934565b8451637827912560e01b81528890fd5b8480fd5b509034620002e65760208060031936011262000b97576200098f62000edf565b916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690620009ca3083141562001058565b620009ea60008051602062001964833981519152928284541614620010ba565b620009f462000fff565b8416801562000b87578251908482019282841067ffffffffffffffff85111762000b72578385528883527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000a5b57505050505050620004a291506200111c565b849596929394516352d1902d60e01b815287818a81865afa6000918162000b3d575b5062000add57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703620008d1575062000af7826200111c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159062000b34576200082c57505050505080f35b5060006200081e565b90918982813d831162000b6a575b62000b57818362000f3e565b810103126200035e575051903862000a7d565b503d62000b4b565b604188634e487b7160e01b6000525260246000fd5b8251637827912560e01b81528690fd5b8380fd5b5034620002e6576020366003190112620002e65762000bb962000edf565b62000bc362000fff565b6001600160a01b03169182156200046057505060fb80546001600160a01b031916821790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf8280a280f35b8492915034620002e6576020938460031936011262000b975762000c3262000edf565b60fb5490936001600160a01b038086169492811692851562000ed15750835163c0c53b8b60e01b898201526001600160a01b0387811660248301528416604482015233606480830191909152815262000c8d60848262000f3e565b84519061066f8083019083821067ffffffffffffffff83111762000ebe57918762000cca92818e8796620012f58839308352820152019062001251565b039088f095861562000e5157879089838060fc5416991698602488518095819363399fe9a160e11b83528d8a8401525af191821562000eb457899262000e75575b50843b1562000e715785516376a250a760e01b81526001600160a01b03918216858201908152828a16602082015292909316166040820152879082908190606001038183875af1801562000e515762000e5b575b5082516366951bc160e01b81529087828281865afa91821562000e5157879262000e1c575b50823b1562000e185790604487928386519586948593632f2ff15d60e01b85528401528960248401525af1801562000e0e5784939291869162000def575b505051937f4a2dd45842063d5cdb0ba4ccb3b677af33701f706cdfa90ddf5fe291e6f99878339180a48152f35b62000dfe919293945062000ef6565b62000b9757908291848762000dc2565b82513d87823e3d90fd5b8680fd5b9091508781813d831162000e49575b62000e37818362000f3e565b81010312620002e15751908862000d84565b503d62000e2b565b84513d89823e3d90fd5b62000e699096919662000ef6565b948762000d5f565b8880fd5b9091508981813d831162000eac575b62000e90818362000f3e565b8101031262000e715751828116810362000e7157908a62000d0b565b503d62000e84565b86513d8b823e3d90fd5b634e487b7160e01b8b526041865260248bfd5b637827912560e01b81529050fd5b600435906001600160a01b0382168203620002e157565b67ffffffffffffffff811162000f0b57604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff82111762000f0b57604052565b90601f8019910116810190811067ffffffffffffffff82111762000f0b57604052565b67ffffffffffffffff811162000f0b57601f01601f191660200190565b34620002e1576000366003190112620002e15760fd546040516001600160a01b039091168152602090f35b6bffffffffffffffffffffffff60a01b90816065541660655560335460018060a01b038092168093821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6033546001600160a01b031633036200101457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b156200106057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620010c257565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562001153576000805160206200196483398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620012135750815115620011c4575090565b3b15620011ce5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620012275750805190602001fd5b60405162461bcd60e51b8152602060048201529081906200124d90602483019062001251565b0390fd5b919082519283825260005b8481106200127e575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200125c565b156200129b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe608060409080825261066f80380380916100198285610350565b8339810190828183031261034b5761003081610373565b6020828101516001600160401b039391929184821161034b57019084601f8301121561034b5781519161006283610387565b9261006f88519485610350565b8084528484019685828401011161034b57868561008c93016103a2565b803b156102f9578551635c60da1b60e01b80825292916001600160a01b0316908481600481855afa9081156102ee576000916102b9575b503b1561025c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b03191682179055865192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a2825115801590610254575b610142575b87516101f690816104798239f35b6004848693819382525afa9182156102495760009261020f575b5085519360608501908111858210176101f9578652602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c83850152660819985a5b195960ca1b84870152516101e3946000918291845af4903d156101f0573d6101c781610387565b906101d488519283610350565b8152600081943d92013e6103c5565b5038808080808080610134565b606092506103c5565b634e487b7160e01b600052604160045260246000fd5b90918382813d8311610242575b6102268183610350565b8101031261023f575061023890610373565b903861015c565b80fd5b503d61021c565b86513d6000823e3d90fd5b50600061012f565b865162461bcd60e51b815260048101859052603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b908582813d83116102e7575b6102cf8183610350565b8101031261023f57506102e190610373565b386100c3565b503d6102c5565b88513d6000823e3d90fd5b855162461bcd60e51b815260048101849052602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101f957604052565b51906001600160a01b038216820361034b57565b6001600160401b0381116101f957601f01601f191660200190565b60005b8381106103b55750506000910152565b81810151838201526020016103a5565b9192901561042757508151156103d9575090565b3b156103e25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561043a5750805190602001fd5b6044604051809262461bcd60e51b82526020600483015261046a81518092816024860152602086860191016103a2565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea2646970667358221220282abf688b062a839a4662d551dabcadaac92addb7cebf18c13322630af9222464736f6c63430008120033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220f6836763579abd7fbca9a04bd426e7210a76b5beedfe063cd6bdc42976732aaa64736f6c63430008120033","sourceMap":"1050:4926:180:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1050:4926:180;;;;;;:::i;:::-;;-1:-1:-1;;;;;1050:4926:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;971:66:43;1050:4926:180;;;971:66:43;3301:14:45;3347:34;;;;;;1050:4926:180;3346:108:45;;;;1050:4926:180;;;;-1:-1:-1;;1050:4926:180;;;;;;;3562:65:45;;1050:4926:180;;;2265:30;;;2261:67;;2338:34;;2334:71;;2415:32;;2411:69;;2490:23;2486:60;;1050:4926;;2804:9;1050:4926;;;;;;;;2552:65;1050:4926;;;2552:65;1050:4926;;2623:42;1050:4926;;;2623:42;1050:4926;2671:56;1050:4926;;;2671:56;1050:4926;5366:69:45;971:66:43;1050:4926:180;;;;971:66:43;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;5366:69:45;971:66:43;1050:4926:180;;;;971:66:43;5366:69:45;:::i;:::-;2804:9:180;:::i;:::-;3647:99:45;;1050:4926:180;;;3647:99:45;1050:4926:180;3721:14:45;1050:4926:180;;;;;;;;;;;;3721:14:45;1050:4926:180;;2486:60;1050:4926;;-1:-1:-1;;;2522:24:180;;;2411:69;-1:-1:-1;1050:4926:180;;-1:-1:-1;;;2456:24:180;;;3562:65:45;-1:-1:-1;;1050:4926:180;;;;;3562:65:45;;;1050:4926:180;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:180;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;971::43;1050:4926:180;971:66:43;;;3436:17:45;3346:108;;3347:34;971:66:43;1050:4926:180;971:66:43;;;3365:16:45;3347:34;;1050:4926:180;;;;;;;;;;;;;;;-1:-1:-1;;1050:4926:180;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;1504:24:38;1050:4926:180;;-1:-1:-1;;;;;;1050:4926:180;-1:-1:-1;;;;;1050:4926:180;;;;;;;;;1513:6:39;1050:4926:180;;;;1543:43:38;;;;1050:4926:180;;;;;;;;;;;;;;;;;;;1202:13:38;1050:4926:180;;;-1:-1:-1;;;;;1050:4926:180;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;5666:15;1050:4926;;;-1:-1:-1;;;;;1050:4926:180;;;;;;;;;;;;;;;;;;;;;;1513:6:39;1050:4926:180;;;-1:-1:-1;;;;;1050:4926:180;;;;;;;;;;;;;;;-1:-1:-1;;1050:4926:180;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1050:4926:180;;3995:34;;3991:71;;-1:-1:-1;;4068:42:180;1050:4926;;-1:-1:-1;;;;;;1050:4926:180;;;;;4121:48;;;;1050:4926;;3991:71;1050:4926;-1:-1:-1;;;4038:24:180;;;1050:4926;;;;;;;;;;;;;;1202:13:38;1050:4926:180;929:10:65;-1:-1:-1;;;;;1050:4926:180;;;2109:24:38;1050:4926:180;;929:10:65;2208:6:38;929:10:65;2208:6:38;:::i;:::-;1050:4926:180;;;;;;;;971:66:43;;;;1050:4926:180;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;1859:20:38;1050:4926:180;;-1:-1:-1;;;;;;1050:4926:180;;;;;;2758:6:39;1050:4926:180;;;;;;;;;-1:-1:-1;;;;;1050:4926:180;2806:40:39;1050:4926:180;;2806:40:39;1050:4926:180;;;;;;;;;;;;;;;;-1:-1:-1;2333:6:46;-1:-1:-1;;;;;1050:4926:180;2324:4:46;2316:23;1050:4926:180;;;;;-1:-1:-1;;;;;;;;;;;1050:4926:180;;;;;;;;971:66:43;;;;1050:4926:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:46;1050:4926:180;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;1050:4926:180;;;;;1971:30:46;1963:87;:::i;:::-;1303:62:39;;:::i;:::-;1050:4926:180;;3156:29;;;3152:66;;971::43;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;1050:4926:180;;;;;;;971:66:43;;;3383:63;;;;;;;;;1050:4926:180;;3383:63:43;;;3232:526;-1:-1:-1;3379:302:43;;1050:4926:180;;-1:-1:-1;;;3610:56:43;;;;;971:66;;;;1050:4926:180;971:66:43;;1050:4926:180;971:66:43;1050:4926:180;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;3610:56;3379:302;3496:28;;;;;;;;;971:66;;3379:302;2171:17;;;:::i;:::-;2204:27;1050:4926:180;2204:27:43;;1050:4926:180;;2523:15:43;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;;1050:4926:180;;2519:123:43;1050:4926:180;;7318:69:63;1050:4926:180;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;1050:4926:180;;;;7276:25:63;;;;;;1050:4926:180;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;7318:69:63;:::i;:::-;;2519:123:43;;;;;;;1050:4926:180;-1:-1:-1;1050:4926:180;;-1:-1:-1;7318:69:63;:::i;2523:28:43:-;;1050:4926:180;2523:28:43;;971:66;1050:4926:180;;-1:-1:-1;;;971:66:43;;;;;;;;;1050:4926:180;971:66:43;;1050:4926:180;971:66:43;1050:4926:180;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;3152:66:180;1050:4926;;-1:-1:-1;;;3194:24:180;;1050:4926;;3194:24;1050:4926;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1898:6:46;1050:4926:180;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;1050:4926:180;;;;;1971:30:46;1963:87;:::i;:::-;1303:62:39;;:::i;:::-;1050:4926:180;;3156:29;;3152:66;;1050:4926;;;;;;;;;;;;;;;;;;;;;;971:66:43;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;1050:4926:180;;;;;;;971:66:43;;;3383:63;;;;;;;;;1050:4926:180;;3383:63:43;;;3232:526;-1:-1:-1;3379:302:43;;1050:4926:180;;-1:-1:-1;;;3610:56:43;;;;;971:66;;;;;;;1050:4926:180;971:66:43;1050:4926:180;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;3610:56;3379:302;3496:28;;;;;;;;;971:66;;3379:302;2171:17;;;:::i;:::-;2204:27;1050:4926:180;2204:27:43;;1050:4926:180;;2523:15:43;;;:28;;;2519:123;;3232:526;;;;;1050:4926:180;;2523:28:43;;1050:4926:180;2523:28:43;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;1050:4926:180;;;;;;;;;;;;3152:66;1050:4926;;-1:-1:-1;;;3194:24:180;;1050:4926;;3194:24;1050:4926;;;;;;;;;;;-1:-1:-1;;1050:4926:180;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1050:4926:180;;3618:30;;3614:67;;-1:-1:-1;;3687:56:180;1050:4926;;-1:-1:-1;;;;;;1050:4926:180;;;;;3754:40;;;;1050:4926;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4623:15;1050:4926;;;-1:-1:-1;;;;;1050:4926:180;;;;;;;;4648:19;;4644:56;;-1:-1:-1;1050:4926:180;;-1:-1:-1;;;4775:93:180;;;;-1:-1:-1;;;;;1050:4926:180;;;4775:93;;;1050:4926;;;;;;;4857:10;1050:4926;;;;;;;;4775:93;;;1050:4926;;4775:93;:::i;:::-;1050:4926;;4731:143;;;;;;;;;;;;;;;;;1050:4926;4731:143;;;;;;;;4762:4;1050:4926;;;;;;;;:::i;:::-;4731:143;;;;;;;;;1050:4926;;;;;4901:17;1050:4926;;;;;4775:93;1050:4926;;971:66:43;;;;;;;4901:55:180;;;;;;1050:4926;4901:55;;;;;;;;;;;1050:4926;4962:68;;;;;;1050:4926;;-1:-1:-1;;;4962:68:180;;-1:-1:-1;;;;;1050:4926:180;;;4962:68;;;1050:4926;;;;;;;;;;;;;;;;;;;;;;;;;;;4962:68;;;;;;;;;;;;1050:4926;-1:-1:-1;1050:4926:180;;-1:-1:-1;;;5062:35:180;;1050:4926;5062:35;1050:4926;971:66:43;1050:4926:180;5062:35;;;;;;;;;;;;1050:4926;5104:91;;;;;;1050:4926;;;;;;;971:66:43;;;;;;;;5104:91:180;;;;1050:4926;;4775:93;1050:4926;;;5104:91;;;;;;;;;;;;;;1050:4926;;;;4857:10;5207:81;4857:10;5207:81;;;1050:4926;;;5104:91;;;;;;;;:::i;:::-;1050:4926;;5104:91;;;;;;;;1050:4926;;971:66:43;1050:4926:180;;971:66:43;;;;5104:91:180;1050:4926;;;5062:35;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66:43;;;;;5062:35:180;;;;;;;;;;1050:4926;;971:66:43;1050:4926:180;;971:66:43;;;;4962:68:180;;;;;;;:::i;:::-;;;;;;1050:4926;;;4901:55;;;;;;;;;;;;;;;;;:::i;:::-;;;1050:4926;;;;;;;;;;;;4901:55;;;;;;;;;;1050:4926;;971:66:43;1050:4926:180;;971:66:43;;;;4731:143:180;-1:-1:-1;;;1050:4926:180;;;;;4775:93;1050:4926;;4644:56;-1:-1:-1;;;4676:24:180;;;-1:-1:-1;4676:24:180;1050:4926;;;;-1:-1:-1;;;;;1050:4926:180;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;4775:93;;;1050:4926;;;;;;;;;;;;;;;;:::o;:::-;;;;;;4775:93;1050:4926;-1:-1:-1;;1050:4926:180;;;;:::o;:::-;;;;;;-1:-1:-1;;1050:4926:180;;;;5814:19;1050:4926;;;-1:-1:-1;;;;;1050:4926:180;;;;;;;;1777:153:38;1050:4926:180;;;;;1859:20:38;1050:4926:180;;1859:20:38;1050:4926:180;2758:6:39;1050:4926:180;;;;;;;;;;;;;;2758:6:39;1050:4926:180;;2806:40:39;1859:20:38;2806:40:39;;1777:153:38:o;1599:130:39:-;1513:6;1050:4926:180;-1:-1:-1;;;;;1050:4926:180;929:10:65;1662:23:39;1050:4926:180;;1599:130:39:o;1050:4926:180:-;;;;971:66:43;;;1050:4926:180;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:180;;;;;;;1699:281:43;1713:19:63;;:23;1050:4926:180;;-1:-1:-1;;;;;;;;;;;1050:4926:180;;-1:-1:-1;;;;;;1050:4926:180;-1:-1:-1;;;;;1050:4926:180;;;;;;;;;1699:281:43:o;1050:4926:180:-;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:180;;;;;;;7682:628:63;;;;7886:418;;;1050:4926:180;;;7917:22:63;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;1050:4926:180;;8212:17:63;:::o;1050:4926:180:-;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;;;;;;;;;;7886:418:63;1050:4926:180;;;;-1:-1:-1;8991:21:63;:17;;9163:142;;;;;;;8987:379;1050:4926:180;;-1:-1:-1;;;9335:20:63;;1050:4926:180;9335:20:63;;;1050:4926:180;;;;;;;;;;;:::i;:::-;9335:20:63;;;1050:4926:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;4775:93;;;1050:4926;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1050:4926:180;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:180;;;;;;","linkReferences":{},"immutableReferences":{"31740":[{"start":1405,"length":32},{"start":1712,"length":32},{"start":2458,"length":32}]}},"methodIdentifiers":{"acceptOwnership()":"79ba5097","deployStaking(address)":"1249ed23","getRareStakingTemplateAddress()":"c8cb01d8","getStakingRegistryAddress()":"9f997eb0","implementation()":"5c60da1b","initialize(address,address,address,address)":"f8c8765e","owner()":"8da5cb5b","pendingOwner()":"e30c3978","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setRareStakingTemplate(address)":"7ed155de","setStakingRegistry(address)":"2c740844","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRareStakingTemplate\",\"type\":\"address\"}],\"name\":\"RareStakingTemplateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_deployingUser\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_userStakedOn\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"StakingContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingRegistry\",\"type\":\"address\"}],\"name\":\"StakingRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"deployStaking\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRareStakingTemplateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingRegistryAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rareStakingTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardSwapFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rareStakingTemplate\",\"type\":\"address\"}],\"name\":\"setRareStakingTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"setStakingRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"details\":\"Made to be used with a UUPS Proxy.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"deployStaking(address)\":{\"details\":\"This contract must have the {STAKING_INFO_SETTER_ROLE} role on {RareStakingRegistry}.\",\"params\":{\"_user\":\"Address of the target to deploy staking contract for.\"},\"returns\":{\"_0\":\"address Address of the staking contract.\"}},\"getRareStakingTemplateAddress()\":{\"returns\":{\"_0\":\"address Address of the staking ERC20 template to be used.\"}},\"getStakingRegistryAddress()\":{\"returns\":{\"_0\":\"address Address of the staking registry contract.\"}},\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setRareStakingTemplate(address)\":{\"details\":\"Requires the caller to be the owner of the contract.\",\"params\":{\"_rareStakingTemplate\":\"Address of the staking ERC20 template.\"}},\"setStakingRegistry(address)\":{\"details\":\"Requires the caller to be the owner of the contract.\",\"params\":{\"_stakingRegistry\":\"Address of the new staking registry contract.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"RarityPoolFactory\",\"version\":1},\"userdoc\":{\"errors\":{\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"RareStakingTemplateUpdated(address)\":{\"notice\":\"Emitted via {setRareStakingTemplate} when the staking template is updated.\"},\"StakingContractCreated(address,address,address)\":{\"notice\":\"Emitted via {deployStaking} when a new staking contract is deployed.\"},\"StakingRegistryUpdated(address)\":{\"notice\":\"Emitted via {setStakingRegistry} when the staking registry is updated.\"}},\"kind\":\"user\",\"methods\":{\"deployStaking(address)\":{\"notice\":\"Deploys a staking contract for the supplied target address. Reverts if address exists.\"},\"getRareStakingTemplateAddress()\":{\"notice\":\"Retrieve the currently template of the staking ERC20 contract.\"},\"getStakingRegistryAddress()\":{\"notice\":\"Retrieve the currently used staking registry address.\"},\"setRareStakingTemplate(address)\":{\"notice\":\"Set the rare staking ERC20 template address to be used.\"},\"setStakingRegistry(address)\":{\"notice\":\"Set the staking registry address field to be used.\"}},\"notice\":\"The Staking Factory Contract used to deploy new staking ERC20 contracts pertaining to a user.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/factory/RarityPoolFactory.sol\":\"RarityPoolFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol\":{\"keccak256\":\"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e\",\"dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2\",\"dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054\",\"dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c\",\"dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b\",\"dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC\"]},\"src/staking/factory/IRarityPoolFactory.sol\":{\"keccak256\":\"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f\",\"dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq\"]},\"src/staking/factory/IRewardAccumulatorFactory.sol\":{\"keccak256\":\"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1\",\"dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA\"]},\"src/staking/factory/RarityPoolFactory.sol\":{\"keccak256\":\"0x1f91aeb2e2911dc030bd65d42b13067855114516d4c06baa3a26a4ab9b27e931\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b492542b2946434e154ac860b2ac45940de8a1e1c519f23bafdd23eff2cd45c\",\"dweb:/ipfs/QmRq85ZfsuFWdKhwkX1gfRFfwAm24ExNJkxh2PNQU3SwuB\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"newRareStakingTemplate","type":"address","indexed":true}],"type":"event","name":"RareStakingTemplateUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_deployingUser","type":"address","indexed":true},{"internalType":"address","name":"_userStakedOn","type":"address","indexed":true},{"internalType":"address","name":"_stakingAddress","type":"address","indexed":true}],"type":"event","name":"StakingContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingRegistry","type":"address","indexed":true}],"type":"event","name":"StakingRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptOwnership"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployStaking","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRareStakingTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingRegistryAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_rareStakingTemplate","type":"address"},{"internalType":"address","name":"_rewardSwapFactory","type":"address"},{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_rareStakingTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRareStakingTemplate"},{"inputs":[{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingRegistry"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"acceptOwnership()":{"details":"The new owner accepts the ownership transfer."},"deployStaking(address)":{"details":"This contract must have the {STAKING_INFO_SETTER_ROLE} role on {RareStakingRegistry}.","params":{"_user":"Address of the target to deploy staking contract for."},"returns":{"_0":"address Address of the staking contract."}},"getRareStakingTemplateAddress()":{"returns":{"_0":"address Address of the staking ERC20 template to be used."}},"getStakingRegistryAddress()":{"returns":{"_0":"address Address of the staking registry contract."}},"implementation()":{"details":"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract."},"owner()":{"details":"Returns the address of the current owner."},"pendingOwner()":{"details":"Returns the address of the pending owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setRareStakingTemplate(address)":{"details":"Requires the caller to be the owner of the contract.","params":{"_rareStakingTemplate":"Address of the staking ERC20 template."}},"setStakingRegistry(address)":{"details":"Requires the caller to be the owner of the contract.","params":{"_stakingRegistry":"Address of the new staking registry contract."}},"transferOwnership(address)":{"details":"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"deployStaking(address)":{"notice":"Deploys a staking contract for the supplied target address. Reverts if address exists."},"getRareStakingTemplateAddress()":{"notice":"Retrieve the currently template of the staking ERC20 contract."},"getStakingRegistryAddress()":{"notice":"Retrieve the currently used staking registry address."},"setRareStakingTemplate(address)":{"notice":"Set the rare staking ERC20 template address to be used."},"setStakingRegistry(address)":{"notice":"Set the staking registry address field to be used."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/factory/RarityPoolFactory.sol":"RarityPoolFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol":{"keccak256":"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63","urls":["bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e","dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98","urls":["bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2","dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803","urls":["bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054","dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"keccak256":"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95","urls":["bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c","dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae","urls":["bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b","dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC"],"license":"MIT"},"src/staking/factory/IRarityPoolFactory.sol":{"keccak256":"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159","urls":["bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f","dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq"],"license":"MIT"},"src/staking/factory/IRewardAccumulatorFactory.sol":{"keccak256":"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6","urls":["bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1","dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA"],"license":"MIT"},"src/staking/factory/RarityPoolFactory.sol":{"keccak256":"0x1f91aeb2e2911dc030bd65d42b13067855114516d4c06baa3a26a4ab9b27e931","urls":["bzz-raw://1b492542b2946434e154ac860b2ac45940de8a1e1c519f23bafdd23eff2cd45c","dweb:/ipfs/QmRq85ZfsuFWdKhwkX1gfRFfwAm24ExNJkxh2PNQU3SwuB"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":180} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployStaking","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRareStakingTemplateAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getStakingRegistryAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_rareStakingTemplate","type":"address","internalType":"address"},{"name":"_rewardSwapFactory","type":"address","internalType":"address"},{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRareStakingTemplate","inputs":[{"name":"_rareStakingTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingRegistry","inputs":[{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RareStakingTemplateUpdated","inputs":[{"name":"newRareStakingTemplate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingContractCreated","inputs":[{"name":"_deployingUser","type":"address","indexed":true,"internalType":"address"},{"name":"_userStakedOn","type":"address","indexed":true,"internalType":"address"},{"name":"_stakingAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakingRegistryUpdated","inputs":[{"name":"newStakingRegistry","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x60a080604052346100dc57306080526000549060ff8260081c1661008a575060ff8082160361004f575b6040516119b990816100e2823960805181818161057d015281816106b0015261099a0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610029565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe608060408181526004803610156200001657600080fd5b600092833560e01c9081631249ed231462000c0f575080632c7408441462000b9b5780633659cfe6146200096f5780634f1ef286146200062c57806352d1902d14620005665780635c60da1b1462000390578063715018a614620004fa57806379ba5097146200046d5780637ed155de14620003ec5780638da5cb5b14620003c15780639f997eb01462000396578063c8cb01d81462000390578063e30c39781462000361578063f2fde38b14620002ea5763f8c8765e14620000d857600080fd5b34620002e6576080366003190112620002e657620000f562000edf565b906001600160a01b0360243581811690819003620002e15760443590828216809203620002e1576064359383851693848603620002e15788549660ff8860081c161597888099620002d3575b8015620002ba575b15620002605760ff1981166001178b55886200024e575b50169384156200023f5782156200023f5783156200023f571562000231575090620001f29392916bffffffffffffffffffffffff60a01b918260fc54161760fc558160fd54161760fd5560fb54161760fb55620001cf60ff865460081c16620001c98162001293565b62001293565b620001da3362000fa9565b620001ec60ff865460081c1662001293565b62000fa9565b620001fb575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b8651637827912560e01b8152fd5b508651637827912560e01b8152fd5b61ffff1916610101178a553862000160565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620001495750600160ff82161462000149565b50600160ff82161062000141565b600080fd5b8280fd5b83346200035e5760203660031901126200035e576200030862000edf565b6200031262000fff565b606580546001600160a01b0319166001600160a01b039283169081179091556033549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b80fd5b5050346200038c57816003193601126200038c5760655490516001600160a01b039091168152602090f35b5080fd5b62000f7e565b5050346200038c57816003193601126200038c5760fb5490516001600160a01b039091168152602090f35b5050346200038c57816003193601126200038c5760335490516001600160a01b039091168152602090f35b5034620002e6576020366003190112620002e6576200040a62000edf565b6200041462000fff565b6001600160a01b03169182156200046057505060fd80546001600160a01b031916821790557f2b022c4b56a6b8adae778a141c22e90aead2a46d1655c4ef94ced0acfae9ed258280a280f35b51637827912560e01b8152fd5b509034620002e65782600319360112620002e657606554336001600160a01b0390911603620004a55782620004a23362000fa9565b80f35b906020608492519162461bcd60e51b8352820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152fd5b83346200035e57806003193601126200035e576200051762000fff565b606580546001600160a01b03199081169091556033805491821690556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5082346200035e57806003193601126200035e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003620005c45760208251600080516020620019648339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b509080600319360112620002e6576200064462000edf565b906024359067ffffffffffffffff82116200096b57366023830112156200096b5781840135620006748162000f61565b620006828351918262000f3e565b81815286602094858301933660248284010111620002e6578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690620006e03083141562001058565b6200070060008051602062001964833981519152928284541614620010ba565b6200070a62000fff565b86169081156200095b577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200075157505050505050620004a291506200111c565b849596929394516352d1902d60e01b815287818a81865afa6000918162000926575b50620007d357865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703620008d15750620007ed826200111c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590620008c8575b6200082c575b505050505080f35b600080620008b196845196620008428862000f21565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15620008bd573d620008a1620008978262000f61565b9251928362000f3e565b8152600081943d92013e620011ae565b50388080808062000824565b5060609250620011ae565b5060016200081e565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918982813d831162000953575b62000940818362000f3e565b810103126200035e575051903862000773565b503d62000934565b8451637827912560e01b81528890fd5b8480fd5b509034620002e65760208060031936011262000b97576200098f62000edf565b916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690620009ca3083141562001058565b620009ea60008051602062001964833981519152928284541614620010ba565b620009f462000fff565b8416801562000b87578251908482019282841067ffffffffffffffff85111762000b72578385528883527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000a5b57505050505050620004a291506200111c565b849596929394516352d1902d60e01b815287818a81865afa6000918162000b3d575b5062000add57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703620008d1575062000af7826200111c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159062000b34576200082c57505050505080f35b5060006200081e565b90918982813d831162000b6a575b62000b57818362000f3e565b810103126200035e575051903862000a7d565b503d62000b4b565b604188634e487b7160e01b6000525260246000fd5b8251637827912560e01b81528690fd5b8380fd5b5034620002e6576020366003190112620002e65762000bb962000edf565b62000bc362000fff565b6001600160a01b03169182156200046057505060fb80546001600160a01b031916821790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf8280a280f35b8492915034620002e6576020938460031936011262000b975762000c3262000edf565b60fb5490936001600160a01b038086169492811692851562000ed15750835163c0c53b8b60e01b898201526001600160a01b0387811660248301528416604482015233606480830191909152815262000c8d60848262000f3e565b84519061066f8083019083821067ffffffffffffffff83111762000ebe57918762000cca92818e8796620012f58839308352820152019062001251565b039088f095861562000e5157879089838060fc5416991698602488518095819363399fe9a160e11b83528d8a8401525af191821562000eb457899262000e75575b50843b1562000e715785516376a250a760e01b81526001600160a01b03918216858201908152828a16602082015292909316166040820152879082908190606001038183875af1801562000e515762000e5b575b5082516366951bc160e01b81529087828281865afa91821562000e5157879262000e1c575b50823b1562000e185790604487928386519586948593632f2ff15d60e01b85528401528960248401525af1801562000e0e5784939291869162000def575b505051937f4a2dd45842063d5cdb0ba4ccb3b677af33701f706cdfa90ddf5fe291e6f99878339180a48152f35b62000dfe919293945062000ef6565b62000b9757908291848762000dc2565b82513d87823e3d90fd5b8680fd5b9091508781813d831162000e49575b62000e37818362000f3e565b81010312620002e15751908862000d84565b503d62000e2b565b84513d89823e3d90fd5b62000e699096919662000ef6565b948762000d5f565b8880fd5b9091508981813d831162000eac575b62000e90818362000f3e565b8101031262000e715751828116810362000e7157908a62000d0b565b503d62000e84565b86513d8b823e3d90fd5b634e487b7160e01b8b526041865260248bfd5b637827912560e01b81529050fd5b600435906001600160a01b0382168203620002e157565b67ffffffffffffffff811162000f0b57604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff82111762000f0b57604052565b90601f8019910116810190811067ffffffffffffffff82111762000f0b57604052565b67ffffffffffffffff811162000f0b57601f01601f191660200190565b34620002e1576000366003190112620002e15760fd546040516001600160a01b039091168152602090f35b6bffffffffffffffffffffffff60a01b90816065541660655560335460018060a01b038092168093821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6033546001600160a01b031633036200101457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b156200106057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620010c257565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562001153576000805160206200196483398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620012135750815115620011c4575090565b3b15620011ce5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620012275750805190602001fd5b60405162461bcd60e51b8152602060048201529081906200124d90602483019062001251565b0390fd5b919082519283825260005b8481106200127e575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200125c565b156200129b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe608060409080825261066f80380380916100198285610350565b8339810190828183031261034b5761003081610373565b6020828101516001600160401b039391929184821161034b57019084601f8301121561034b5781519161006283610387565b9261006f88519485610350565b8084528484019685828401011161034b57868561008c93016103a2565b803b156102f9578551635c60da1b60e01b80825292916001600160a01b0316908481600481855afa9081156102ee576000916102b9575b503b1561025c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b03191682179055865192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a2825115801590610254575b610142575b87516101f690816104798239f35b6004848693819382525afa9182156102495760009261020f575b5085519360608501908111858210176101f9578652602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c83850152660819985a5b195960ca1b84870152516101e3946000918291845af4903d156101f0573d6101c781610387565b906101d488519283610350565b8152600081943d92013e6103c5565b5038808080808080610134565b606092506103c5565b634e487b7160e01b600052604160045260246000fd5b90918382813d8311610242575b6102268183610350565b8101031261023f575061023890610373565b903861015c565b80fd5b503d61021c565b86513d6000823e3d90fd5b50600061012f565b865162461bcd60e51b815260048101859052603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b908582813d83116102e7575b6102cf8183610350565b8101031261023f57506102e190610373565b386100c3565b503d6102c5565b88513d6000823e3d90fd5b855162461bcd60e51b815260048101849052602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101f957604052565b51906001600160a01b038216820361034b57565b6001600160401b0381116101f957601f01601f191660200190565b60005b8381106103b55750506000910152565b81810151838201526020016103a5565b9192901561042757508151156103d9575090565b3b156103e25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561043a5750805190602001fd5b6044604051809262461bcd60e51b82526020600483015261046a81518092816024860152602086860191016103a2565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea26469706673582212207418485f5d6818dabcfb3ede8e113569fe9411b0369991d132c722e182abcd1a64736f6c63430008120033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122025f75c3278ad87a3541a7f09a303ddf24fea065f1d262aa73a63f7d899cddfa964736f6c63430008120033","sourceMap":"1050:4926:191:-:0;;;;;;;1332:4:49;1324:13;;6007::48;1050:4926:191;;;;;;;;;;;;;;6078:31:48;6074:139;;-1:-1:-1;1050:4926:191;;;;;;;;1324:13:49;1050:4926:191;;;;;;;;;;;;;;;;6074:139:48;1050:4926:191;;;;;;6007:13:48;1050:4926:191;6174:28:48;1050:4926:191;;;;;;6174:28:48;6074:139;;;1050:4926:191;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004803610156200001657600080fd5b600092833560e01c9081631249ed231462000c0f575080632c7408441462000b9b5780633659cfe6146200096f5780634f1ef286146200062c57806352d1902d14620005665780635c60da1b1462000390578063715018a614620004fa57806379ba5097146200046d5780637ed155de14620003ec5780638da5cb5b14620003c15780639f997eb01462000396578063c8cb01d81462000390578063e30c39781462000361578063f2fde38b14620002ea5763f8c8765e14620000d857600080fd5b34620002e6576080366003190112620002e657620000f562000edf565b906001600160a01b0360243581811690819003620002e15760443590828216809203620002e1576064359383851693848603620002e15788549660ff8860081c161597888099620002d3575b8015620002ba575b15620002605760ff1981166001178b55886200024e575b50169384156200023f5782156200023f5783156200023f571562000231575090620001f29392916bffffffffffffffffffffffff60a01b918260fc54161760fc558160fd54161760fd5560fb54161760fb55620001cf60ff865460081c16620001c98162001293565b62001293565b620001da3362000fa9565b620001ec60ff865460081c1662001293565b62000fa9565b620001fb575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b8651637827912560e01b8152fd5b508651637827912560e01b8152fd5b61ffff1916610101178a553862000160565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620001495750600160ff82161462000149565b50600160ff82161062000141565b600080fd5b8280fd5b83346200035e5760203660031901126200035e576200030862000edf565b6200031262000fff565b606580546001600160a01b0319166001600160a01b039283169081179091556033549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b80fd5b5050346200038c57816003193601126200038c5760655490516001600160a01b039091168152602090f35b5080fd5b62000f7e565b5050346200038c57816003193601126200038c5760fb5490516001600160a01b039091168152602090f35b5050346200038c57816003193601126200038c5760335490516001600160a01b039091168152602090f35b5034620002e6576020366003190112620002e6576200040a62000edf565b6200041462000fff565b6001600160a01b03169182156200046057505060fd80546001600160a01b031916821790557f2b022c4b56a6b8adae778a141c22e90aead2a46d1655c4ef94ced0acfae9ed258280a280f35b51637827912560e01b8152fd5b509034620002e65782600319360112620002e657606554336001600160a01b0390911603620004a55782620004a23362000fa9565b80f35b906020608492519162461bcd60e51b8352820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152fd5b83346200035e57806003193601126200035e576200051762000fff565b606580546001600160a01b03199081169091556033805491821690556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5082346200035e57806003193601126200035e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003620005c45760208251600080516020620019648339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b509080600319360112620002e6576200064462000edf565b906024359067ffffffffffffffff82116200096b57366023830112156200096b5781840135620006748162000f61565b620006828351918262000f3e565b81815286602094858301933660248284010111620002e6578060248893018637830101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690620006e03083141562001058565b6200070060008051602062001964833981519152928284541614620010ba565b6200070a62000fff565b86169081156200095b577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200075157505050505050620004a291506200111c565b849596929394516352d1902d60e01b815287818a81865afa6000918162000926575b50620007d357865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703620008d15750620007ed826200111c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2835115801590620008c8575b6200082c575b505050505080f35b600080620008b196845196620008428862000f21565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d15620008bd573d620008a1620008978262000f61565b9251928362000f3e565b8152600081943d92013e620011ae565b50388080808062000824565b5060609250620011ae565b5060016200081e565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918982813d831162000953575b62000940818362000f3e565b810103126200035e575051903862000773565b503d62000934565b8451637827912560e01b81528890fd5b8480fd5b509034620002e65760208060031936011262000b97576200098f62000edf565b916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690620009ca3083141562001058565b620009ea60008051602062001964833981519152928284541614620010ba565b620009f462000fff565b8416801562000b87578251908482019282841067ffffffffffffffff85111762000b72578385528883527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000a5b57505050505050620004a291506200111c565b849596929394516352d1902d60e01b815287818a81865afa6000918162000b3d575b5062000add57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939695949703620008d1575062000af7826200111c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a283511580159062000b34576200082c57505050505080f35b5060006200081e565b90918982813d831162000b6a575b62000b57818362000f3e565b810103126200035e575051903862000a7d565b503d62000b4b565b604188634e487b7160e01b6000525260246000fd5b8251637827912560e01b81528690fd5b8380fd5b5034620002e6576020366003190112620002e65762000bb962000edf565b62000bc362000fff565b6001600160a01b03169182156200046057505060fb80546001600160a01b031916821790557fa5aa720af23083cb0a3e835e4c10666ab0ac4eee7a4396df3ec359de6fc53abf8280a280f35b8492915034620002e6576020938460031936011262000b975762000c3262000edf565b60fb5490936001600160a01b038086169492811692851562000ed15750835163c0c53b8b60e01b898201526001600160a01b0387811660248301528416604482015233606480830191909152815262000c8d60848262000f3e565b84519061066f8083019083821067ffffffffffffffff83111762000ebe57918762000cca92818e8796620012f58839308352820152019062001251565b039088f095861562000e5157879089838060fc5416991698602488518095819363399fe9a160e11b83528d8a8401525af191821562000eb457899262000e75575b50843b1562000e715785516376a250a760e01b81526001600160a01b03918216858201908152828a16602082015292909316166040820152879082908190606001038183875af1801562000e515762000e5b575b5082516366951bc160e01b81529087828281865afa91821562000e5157879262000e1c575b50823b1562000e185790604487928386519586948593632f2ff15d60e01b85528401528960248401525af1801562000e0e5784939291869162000def575b505051937f4a2dd45842063d5cdb0ba4ccb3b677af33701f706cdfa90ddf5fe291e6f99878339180a48152f35b62000dfe919293945062000ef6565b62000b9757908291848762000dc2565b82513d87823e3d90fd5b8680fd5b9091508781813d831162000e49575b62000e37818362000f3e565b81010312620002e15751908862000d84565b503d62000e2b565b84513d89823e3d90fd5b62000e699096919662000ef6565b948762000d5f565b8880fd5b9091508981813d831162000eac575b62000e90818362000f3e565b8101031262000e715751828116810362000e7157908a62000d0b565b503d62000e84565b86513d8b823e3d90fd5b634e487b7160e01b8b526041865260248bfd5b637827912560e01b81529050fd5b600435906001600160a01b0382168203620002e157565b67ffffffffffffffff811162000f0b57604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff82111762000f0b57604052565b90601f8019910116810190811067ffffffffffffffff82111762000f0b57604052565b67ffffffffffffffff811162000f0b57601f01601f191660200190565b34620002e1576000366003190112620002e15760fd546040516001600160a01b039091168152602090f35b6bffffffffffffffffffffffff60a01b90816065541660655560335460018060a01b038092168093821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6033546001600160a01b031633036200101457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b156200106057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15620010c257565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562001153576000805160206200196483398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b91929015620012135750815115620011c4575090565b3b15620011ce5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015620012275750805190602001fd5b60405162461bcd60e51b8152602060048201529081906200124d90602483019062001251565b0390fd5b919082519283825260005b8481106200127e575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200125c565b156200129b57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe608060409080825261066f80380380916100198285610350565b8339810190828183031261034b5761003081610373565b6020828101516001600160401b039391929184821161034b57019084601f8301121561034b5781519161006283610387565b9261006f88519485610350565b8084528484019685828401011161034b57868561008c93016103a2565b803b156102f9578551635c60da1b60e01b80825292916001600160a01b0316908481600481855afa9081156102ee576000916102b9575b503b1561025c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b03191682179055865192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a2825115801590610254575b610142575b87516101f690816104798239f35b6004848693819382525afa9182156102495760009261020f575b5085519360608501908111858210176101f9578652602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c83850152660819985a5b195960ca1b84870152516101e3946000918291845af4903d156101f0573d6101c781610387565b906101d488519283610350565b8152600081943d92013e6103c5565b5038808080808080610134565b606092506103c5565b634e487b7160e01b600052604160045260246000fd5b90918382813d8311610242575b6102268183610350565b8101031261023f575061023890610373565b903861015c565b80fd5b503d61021c565b86513d6000823e3d90fd5b50600061012f565b865162461bcd60e51b815260048101859052603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b908582813d83116102e7575b6102cf8183610350565b8101031261023f57506102e190610373565b386100c3565b503d6102c5565b88513d6000823e3d90fd5b855162461bcd60e51b815260048101849052602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101f957604052565b51906001600160a01b038216820361034b57565b6001600160401b0381116101f957601f01601f191660200190565b60005b8381106103b55750506000910152565b81810151838201526020016103a5565b9192901561042757508151156103d9575090565b3b156103e25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561043a5750805190602001fd5b6044604051809262461bcd60e51b82526020600483015261046a81518092816024860152602086860191016103a2565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea26469706673582212207418485f5d6818dabcfb3ede8e113569fe9411b0369991d132c722e182abcd1a64736f6c63430008120033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122025f75c3278ad87a3541a7f09a303ddf24fea065f1d262aa73a63f7d899cddfa964736f6c63430008120033","sourceMap":"1050:4926:191:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1050:4926:191;;;;;;:::i;:::-;;-1:-1:-1;;;;;1050:4926:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;971:66:46;1050:4926:191;;;971:66:46;3301:14:48;3347:34;;;;;;1050:4926:191;3346:108:48;;;;1050:4926:191;;;;-1:-1:-1;;1050:4926:191;;;;;;;3562:65:48;;1050:4926:191;;;2265:30;;;2261:67;;2338:34;;2334:71;;2415:32;;2411:69;;2490:23;2486:60;;1050:4926;;2804:9;1050:4926;;;;;;;;2552:65;1050:4926;;;2552:65;1050:4926;;2623:42;1050:4926;;;2623:42;1050:4926;2671:56;1050:4926;;;2671:56;1050:4926;5366:69:48;971:66:46;1050:4926:191;;;;971:66:46;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;5366:69:48;971:66:46;1050:4926:191;;;;971:66:46;5366:69:48;:::i;:::-;2804:9:191;:::i;:::-;3647:99:48;;1050:4926:191;;;3647:99:48;1050:4926:191;3721:14:48;1050:4926:191;;;;;;;;;;;;3721:14:48;1050:4926:191;;2486:60;1050:4926;;-1:-1:-1;;;2522:24:191;;;2411:69;-1:-1:-1;1050:4926:191;;-1:-1:-1;;;2456:24:191;;;3562:65:48;-1:-1:-1;;1050:4926:191;;;;;3562:65:48;;;1050:4926:191;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:191;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;971::46;1050:4926:191;971:66:46;;;3436:17:48;3346:108;;3347:34;971:66:46;1050:4926:191;971:66:46;;;3365:16:48;3347:34;;1050:4926:191;;;;;;;;;;;;;;;-1:-1:-1;;1050:4926:191;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;1504:24:41;1050:4926:191;;-1:-1:-1;;;;;;1050:4926:191;-1:-1:-1;;;;;1050:4926:191;;;;;;;;;1513:6:42;1050:4926:191;;;;1543:43:41;;;;1050:4926:191;;;;;;;;;;;;;;;;;;;1202:13:41;1050:4926:191;;;-1:-1:-1;;;;;1050:4926:191;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;5666:15;1050:4926;;;-1:-1:-1;;;;;1050:4926:191;;;;;;;;;;;;;;;;;;;;;;1513:6:42;1050:4926:191;;;-1:-1:-1;;;;;1050:4926:191;;;;;;;;;;;;;;;-1:-1:-1;;1050:4926:191;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;-1:-1:-1;;;;;1050:4926:191;;3995:34;;3991:71;;-1:-1:-1;;4068:42:191;1050:4926;;-1:-1:-1;;;;;;1050:4926:191;;;;;4121:48;;;;1050:4926;;3991:71;1050:4926;-1:-1:-1;;;4038:24:191;;;1050:4926;;;;;;;;;;;;;;1202:13:41;1050:4926:191;929:10:68;-1:-1:-1;;;;;1050:4926:191;;;2109:24:41;1050:4926:191;;929:10:68;2208:6:41;929:10:68;2208:6:41;:::i;:::-;1050:4926:191;;;;;;;;971:66:46;;;;1050:4926:191;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;1859:20:41;1050:4926:191;;-1:-1:-1;;;;;;1050:4926:191;;;;;;2758:6:42;1050:4926:191;;;;;;;;;-1:-1:-1;;;;;1050:4926:191;2806:40:42;1050:4926:191;;2806:40:42;1050:4926:191;;;;;;;;;;;;;;;;-1:-1:-1;2333:6:49;-1:-1:-1;;;;;1050:4926:191;2324:4:49;2316:23;1050:4926:191;;;;;-1:-1:-1;;;;;;;;;;;1050:4926:191;;;;;;;;971:66:46;;;;1050:4926:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:49;1050:4926:191;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;1050:4926:191;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;1050:4926:191;;3156:29;;;3152:66;;971::46;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;1050:4926:191;;;;;;;971:66:46;;;3383:63;;;;;;;;;1050:4926:191;;3383:63:46;;;3232:526;-1:-1:-1;3379:302:46;;1050:4926:191;;-1:-1:-1;;;3610:56:46;;;;;971:66;;;;1050:4926:191;971:66:46;;1050:4926:191;971:66:46;1050:4926:191;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;;;;;;971:66;;3379:302;2171:17;;;:::i;:::-;2204:27;1050:4926:191;2204:27:46;;1050:4926:191;;2523:15:46;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;;1050:4926:191;;2519:123:46;1050:4926:191;;7318:69:66;1050:4926:191;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;1050:4926:191;;;;7276:25:66;;;;;;1050:4926:191;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;7318:69:66;:::i;:::-;;2519:123:46;;;;;;;1050:4926:191;-1:-1:-1;1050:4926:191;;-1:-1:-1;7318:69:66;:::i;2523:28:46:-;;1050:4926:191;2523:28:46;;971:66;1050:4926:191;;-1:-1:-1;;;971:66:46;;;;;;;;;1050:4926:191;971:66:46;;1050:4926:191;971:66:46;1050:4926:191;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;3152:66:191;1050:4926;;-1:-1:-1;;;3194:24:191;;1050:4926;;3194:24;1050:4926;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1898:6:49;1050:4926:191;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;1050:4926:191;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;1050:4926:191;;3156:29;;3152:66;;1050:4926;;;;;;;;;;;;;;;;;;;;;;971:66:46;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;1050:4926:191;;;;;;;971:66:46;;;3383:63;;;;;;;;;1050:4926:191;;3383:63:46;;;3232:526;-1:-1:-1;3379:302:46;;1050:4926:191;;-1:-1:-1;;;3610:56:46;;;;;971:66;;;;;;;1050:4926:191;971:66:46;1050:4926:191;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;;;;;;971:66;;3379:302;2171:17;;;:::i;:::-;2204:27;1050:4926:191;2204:27:46;;1050:4926:191;;2523:15:46;;;:28;;;2519:123;;3232:526;;;;;1050:4926:191;;2523:28:46;;1050:4926:191;2523:28:46;;3383:63;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;;3383:63;;;;;;;;;1050:4926:191;;;;;;;;;;;;3152:66;1050:4926;;-1:-1:-1;;;3194:24:191;;1050:4926;;3194:24;1050:4926;;;;;;;;;;;-1:-1:-1;;1050:4926:191;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;-1:-1:-1;;;;;1050:4926:191;;3618:30;;3614:67;;-1:-1:-1;;3687:56:191;1050:4926;;-1:-1:-1;;;;;;1050:4926:191;;;;;3754:40;;;;1050:4926;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4623:15;1050:4926;;;-1:-1:-1;;;;;1050:4926:191;;;;;;;;4648:19;;4644:56;;-1:-1:-1;1050:4926:191;;-1:-1:-1;;;4775:93:191;;;;-1:-1:-1;;;;;1050:4926:191;;;4775:93;;;1050:4926;;;;;;;4857:10;1050:4926;;;;;;;;4775:93;;;1050:4926;;4775:93;:::i;:::-;1050:4926;;4731:143;;;;;;;;;;;;;;;;;1050:4926;4731:143;;;;;;;;4762:4;1050:4926;;;;;;;;:::i;:::-;4731:143;;;;;;;;;1050:4926;;;;;4901:17;1050:4926;;;;;4775:93;1050:4926;;971:66:46;;;;;;;4901:55:191;;;;;;1050:4926;4901:55;;;;;;;;;;;1050:4926;4962:68;;;;;;1050:4926;;-1:-1:-1;;;4962:68:191;;-1:-1:-1;;;;;1050:4926:191;;;4962:68;;;1050:4926;;;;;;;;;;;;;;;;;;;;;;;;;;;4962:68;;;;;;;;;;;;1050:4926;-1:-1:-1;1050:4926:191;;-1:-1:-1;;;5062:35:191;;1050:4926;5062:35;1050:4926;971:66:46;1050:4926:191;5062:35;;;;;;;;;;;;1050:4926;5104:91;;;;;;1050:4926;;;;;;;971:66:46;;;;;;;;5104:91:191;;;;1050:4926;;4775:93;1050:4926;;;5104:91;;;;;;;;;;;;;;1050:4926;;;;4857:10;5207:81;4857:10;5207:81;;;1050:4926;;;5104:91;;;;;;;;:::i;:::-;1050:4926;;5104:91;;;;;;;;1050:4926;;971:66:46;1050:4926:191;;971:66:46;;;;5104:91:191;1050:4926;;;5062:35;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66:46;;;;;5062:35:191;;;;;;;;;;1050:4926;;971:66:46;1050:4926:191;;971:66:46;;;;4962:68:191;;;;;;;:::i;:::-;;;;;;1050:4926;;;4901:55;;;;;;;;;;;;;;;;;:::i;:::-;;;1050:4926;;;;;;;;;;;;4901:55;;;;;;;;;;1050:4926;;971:66:46;1050:4926:191;;971:66:46;;;;4731:143:191;-1:-1:-1;;;1050:4926:191;;;;;4775:93;1050:4926;;4644:56;-1:-1:-1;;;4676:24:191;;;-1:-1:-1;4676:24:191;1050:4926;;;;-1:-1:-1;;;;;1050:4926:191;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;4775:93;;;1050:4926;;;;;;;;;;;;;;;;:::o;:::-;;;;;;4775:93;1050:4926;-1:-1:-1;;1050:4926:191;;;;:::o;:::-;;;;;;-1:-1:-1;;1050:4926:191;;;;5814:19;1050:4926;;;-1:-1:-1;;;;;1050:4926:191;;;;;;;;1777:153:41;1050:4926:191;;;;;1859:20:41;1050:4926:191;;1859:20:41;1050:4926:191;2758:6:42;1050:4926:191;;;;;;;;;;;;;;2758:6:42;1050:4926:191;;2806:40:42;1859:20:41;2806:40:42;;1777:153:41:o;1599:130:42:-;1513:6;1050:4926:191;-1:-1:-1;;;;;1050:4926:191;929:10:68;1662:23:42;1050:4926:191;;1599:130:42:o;1050:4926:191:-;;;;971:66:46;;;1050:4926:191;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:191;;;;;;;1699:281:46;1713:19:66;;:23;1050:4926:191;;-1:-1:-1;;;;;;;;;;;1050:4926:191;;-1:-1:-1;;;;;;1050:4926:191;-1:-1:-1;;;;;1050:4926:191;;;;;;;;;1699:281:46:o;1050:4926:191:-;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:191;;;;;;;7682:628:66;;;;7886:418;;;1050:4926:191;;;7917:22:66;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;1050:4926:191;;8212:17:66;:::o;1050:4926:191:-;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;;;;;;;;;;7886:418:66;1050:4926:191;;;;-1:-1:-1;8991:21:66;:17;;9163:142;;;;;;;8987:379;1050:4926:191;;-1:-1:-1;;;9335:20:66;;1050:4926:191;9335:20:66;;;1050:4926:191;;;;;;;;;;;:::i;:::-;9335:20:66;;;1050:4926:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;4775:93;;;1050:4926;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1050:4926:191;;;;;;;;;;;;;;;;;-1:-1:-1;;;1050:4926:191;;;;;;","linkReferences":{},"immutableReferences":{"32368":[{"start":1405,"length":32},{"start":1712,"length":32},{"start":2458,"length":32}]}},"methodIdentifiers":{"acceptOwnership()":"79ba5097","deployStaking(address)":"1249ed23","getRareStakingTemplateAddress()":"c8cb01d8","getStakingRegistryAddress()":"9f997eb0","implementation()":"5c60da1b","initialize(address,address,address,address)":"f8c8765e","owner()":"8da5cb5b","pendingOwner()":"e30c3978","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setRareStakingTemplate(address)":"7ed155de","setStakingRegistry(address)":"2c740844","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRareStakingTemplate\",\"type\":\"address\"}],\"name\":\"RareStakingTemplateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_deployingUser\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_userStakedOn\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"StakingContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newStakingRegistry\",\"type\":\"address\"}],\"name\":\"StakingRegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"deployStaking\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRareStakingTemplateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakingRegistryAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rareStakingTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardSwapFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rareStakingTemplate\",\"type\":\"address\"}],\"name\":\"setRareStakingTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"setStakingRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz, charlescrain\",\"details\":\"Made to be used with a UUPS Proxy.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"deployStaking(address)\":{\"details\":\"This contract must have the {STAKING_INFO_SETTER_ROLE} role on {RareStakingRegistry}.\",\"params\":{\"_user\":\"Address of the target to deploy staking contract for.\"},\"returns\":{\"_0\":\"address Address of the staking contract.\"}},\"getRareStakingTemplateAddress()\":{\"returns\":{\"_0\":\"address Address of the staking ERC20 template to be used.\"}},\"getStakingRegistryAddress()\":{\"returns\":{\"_0\":\"address Address of the staking registry contract.\"}},\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setRareStakingTemplate(address)\":{\"details\":\"Requires the caller to be the owner of the contract.\",\"params\":{\"_rareStakingTemplate\":\"Address of the staking ERC20 template.\"}},\"setStakingRegistry(address)\":{\"details\":\"Requires the caller to be the owner of the contract.\",\"params\":{\"_stakingRegistry\":\"Address of the new staking registry contract.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"RarityPoolFactory\",\"version\":1},\"userdoc\":{\"errors\":{\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"RareStakingTemplateUpdated(address)\":{\"notice\":\"Emitted via {setRareStakingTemplate} when the staking template is updated.\"},\"StakingContractCreated(address,address,address)\":{\"notice\":\"Emitted via {deployStaking} when a new staking contract is deployed.\"},\"StakingRegistryUpdated(address)\":{\"notice\":\"Emitted via {setStakingRegistry} when the staking registry is updated.\"}},\"kind\":\"user\",\"methods\":{\"deployStaking(address)\":{\"notice\":\"Deploys a staking contract for the supplied target address. Reverts if address exists.\"},\"getRareStakingTemplateAddress()\":{\"notice\":\"Retrieve the currently template of the staking ERC20 contract.\"},\"getStakingRegistryAddress()\":{\"notice\":\"Retrieve the currently used staking registry address.\"},\"setRareStakingTemplate(address)\":{\"notice\":\"Set the rare staking ERC20 template address to be used.\"},\"setStakingRegistry(address)\":{\"notice\":\"Set the staking registry address field to be used.\"}},\"notice\":\"The Staking Factory Contract used to deploy new staking ERC20 contracts pertaining to a user.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/factory/RarityPoolFactory.sol\":\"RarityPoolFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol\":{\"keccak256\":\"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e\",\"dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2\",\"dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054\",\"dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c\",\"dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b\",\"dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC\"]},\"src/staking/factory/IRarityPoolFactory.sol\":{\"keccak256\":\"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f\",\"dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq\"]},\"src/staking/factory/IRewardAccumulatorFactory.sol\":{\"keccak256\":\"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1\",\"dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA\"]},\"src/staking/factory/RarityPoolFactory.sol\":{\"keccak256\":\"0x1f91aeb2e2911dc030bd65d42b13067855114516d4c06baa3a26a4ab9b27e931\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b492542b2946434e154ac860b2ac45940de8a1e1c519f23bafdd23eff2cd45c\",\"dweb:/ipfs/QmRq85ZfsuFWdKhwkX1gfRFfwAm24ExNJkxh2PNQU3SwuB\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"newRareStakingTemplate","type":"address","indexed":true}],"type":"event","name":"RareStakingTemplateUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_deployingUser","type":"address","indexed":true},{"internalType":"address","name":"_userStakedOn","type":"address","indexed":true},{"internalType":"address","name":"_stakingAddress","type":"address","indexed":true}],"type":"event","name":"StakingContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"newStakingRegistry","type":"address","indexed":true}],"type":"event","name":"StakingRegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptOwnership"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployStaking","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRareStakingTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakingRegistryAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_rareStakingTemplate","type":"address"},{"internalType":"address","name":"_rewardSwapFactory","type":"address"},{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_rareStakingTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRareStakingTemplate"},{"inputs":[{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingRegistry"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"acceptOwnership()":{"details":"The new owner accepts the ownership transfer."},"deployStaking(address)":{"details":"This contract must have the {STAKING_INFO_SETTER_ROLE} role on {RareStakingRegistry}.","params":{"_user":"Address of the target to deploy staking contract for."},"returns":{"_0":"address Address of the staking contract."}},"getRareStakingTemplateAddress()":{"returns":{"_0":"address Address of the staking ERC20 template to be used."}},"getStakingRegistryAddress()":{"returns":{"_0":"address Address of the staking registry contract."}},"implementation()":{"details":"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract."},"owner()":{"details":"Returns the address of the current owner."},"pendingOwner()":{"details":"Returns the address of the pending owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setRareStakingTemplate(address)":{"details":"Requires the caller to be the owner of the contract.","params":{"_rareStakingTemplate":"Address of the staking ERC20 template."}},"setStakingRegistry(address)":{"details":"Requires the caller to be the owner of the contract.","params":{"_stakingRegistry":"Address of the new staking registry contract."}},"transferOwnership(address)":{"details":"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"deployStaking(address)":{"notice":"Deploys a staking contract for the supplied target address. Reverts if address exists."},"getRareStakingTemplateAddress()":{"notice":"Retrieve the currently template of the staking ERC20 contract."},"getStakingRegistryAddress()":{"notice":"Retrieve the currently used staking registry address."},"setRareStakingTemplate(address)":{"notice":"Set the rare staking ERC20 template address to be used."},"setStakingRegistry(address)":{"notice":"Set the staking registry address field to be used."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/factory/RarityPoolFactory.sol":"RarityPoolFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol":{"keccak256":"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63","urls":["bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e","dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98","urls":["bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2","dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803","urls":["bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054","dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"keccak256":"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95","urls":["bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c","dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae","urls":["bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b","dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC"],"license":"MIT"},"src/staking/factory/IRarityPoolFactory.sol":{"keccak256":"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159","urls":["bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f","dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq"],"license":"MIT"},"src/staking/factory/IRewardAccumulatorFactory.sol":{"keccak256":"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6","urls":["bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1","dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA"],"license":"MIT"},"src/staking/factory/RarityPoolFactory.sol":{"keccak256":"0x1f91aeb2e2911dc030bd65d42b13067855114516d4c06baa3a26a4ab9b27e931","urls":["bzz-raw://1b492542b2946434e154ac860b2ac45940de8a1e1c519f23bafdd23eff2cd45c","dweb:/ipfs/QmRq85ZfsuFWdKhwkX1gfRFfwAm24ExNJkxh2PNQU3SwuB"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":191} \ No newline at end of file diff --git a/abis/RewardAccumulator.json b/abis/RewardAccumulator.json index 57077b5..bfd0b4e 100644 --- a/abis/RewardAccumulator.json +++ b/abis/RewardAccumulator.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"estimateRarePrice","inputs":[{"name":"_tokenOut","type":"address","internalType":"address"},{"name":"_rareAmountIn","type":"uint128","internalType":"uint128"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_stakingPool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardSwap","inputs":[{"name":"_tokenOut","type":"address","internalType":"address"},{"name":"_minAmountOut","type":"uint256","internalType":"uint256"},{"name":"_rareIn","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"RewardAccumulator","inputs":[{"name":"_msgSender","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenOut","type":"address","indexed":true,"internalType":"address"},{"name":"_amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_rareIn","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CannotSwapRareForRare","inputs":[]},{"type":"error","name":"InsufficientFunds","inputs":[]},{"type":"error","name":"ParameterValueTooLow","inputs":[]},{"type":"error","name":"RarePriceTooLow","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"UnsupportedERC20Token","inputs":[]}],"bytecode":{"object":"0x608080604052346100c1576000549060ff8260081c1661006f575060ff80821603610034575b60405161198990816100c78239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c8063442471f01461066f57806394a5a29d146101895763c4d66de81461004e5750610011565b34610185576020366003190112610185576100676106b4565b835460ff8160081c161592838094610178575b8015610161575b15610107575060ff1981166001178555826100f6575b5060018060a01b03166bffffffffffffffffffffffff60a01b60335416176033556100c0575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610097565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156100815750600160ff831614610081565b50600160ff83161061007a565b8280fd5b50919034610467576060366003190112610467576101a56106b4565b906024803592604435956001600160801b0387169283880361066b57600260015414610629576002600155851561061a57831561061a57603354855163309a3bc160e11b8152979889986020956001600160a01b0393841693929187818881885afa9081156105f357849189918e916105fd575b50888c5180948193632210d52560e01b8352165afa9081156105f3579084918d916105c6575b50169a8b948a51898189816370a0823160e01b9a8b82528d30908301525afa9081156105bc578e8493928c928b969161058a575b50610526575b50505050508281169a8b159485809661051d575b61050d578d8d8a8d938a8a15958661049b575b50505050505061048b578b1461047b57906102ba91610b4f565b97881061046b57899060335416803b15610467578190604489518094819363a9fc507b60e01b8352338a8401528b898401525af1801561045d57610431575b50156103fb578547106103bb578780808089335af1610316610862565b5015610355575050907ffde313859edf8a78b1e1c10c6dbe0584a219be6af8d4914fdb8548652310339792915b82519485528401523392a36001805580f35b603a9060849386519362461bcd60e51b85528401528201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b601d9060649386519362461bcd60e51b85528401528201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b5050907ffde313859edf8a78b1e1c10c6dbe0584a219be6af8d4914fdb85486523103397929161042c853388610726565b610343565b67ffffffffffffffff819a929a1161044c57865297386102f9565b50634e487b7160e01b815260418352fd5b87513d8c823e3d90fd5b5080fd5b86516390981e6d60e01b81528490fd5b8851630cdece4960e21b81528690fd5b895163356680b760e01b81528790fd5b90919293949550518094819382528d30908301525afa91821561050257908d926104cd575b50108d8d8a388a8f6102a0565b8092508a8092503d83116104fb575b6104e681836106cf565b810103126104f7578b9051386104c0565b8d80fd5b503d6104dc565b8c51903d90823e3d90fd5b8a5163356680b760e01b81528890fd5b508b471061028d565b8d51948580928b82528d30908301525afa9182156105025791610559575b61054f92508d610726565b848c38898e610279565b90508882813d8311610583575b61057081836106cf565b810103126104f75761054f915190610544565b503d610566565b9550505083813d83116105b5575b6105a281836106cf565b8101031261046757898e89945138610273565b503d610598565b8c513d85823e3d90fd5b6105e69150893d8b116105ec575b6105de81836106cf565b810190610707565b3861023f565b503d6105d4565b8a513d8e823e3d90fd5b6106149150823d84116105ec576105de81836106cf565b38610219565b508351631d01a37160e01b8152fd5b90601f606492602087519362461bcd60e51b85528401528201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b8680fd5b5050346104675780600319360112610467576106896106b4565b602435926001600160801b03841684036106b157506020926106aa91610b4f565b9051908152f35b80fd5b600435906001600160a01b03821682036106ca57565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176106f157604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126106ca57516001600160a01b03811681036106ca5790565b60405163a9059cbb60e01b602082019081526001600160a01b03938416602483015260448083019590955293815267ffffffffffffffff926080820192848411838510176106f157169060c0810193838510908511176106f1576107cb93604052602083527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152600080958192519082855af16107c5610862565b916108a2565b90815191821592831561083b575b505050156107e357565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b81929350906020918101031261046757602001519081151582036106b157503880806107d9565b3d1561089d573d9067ffffffffffffffff82116106f15760405191610891601f8201601f1916602001846106cf565b82523d6000602084013e565b606090565b9192901561090457508151156108b6575090565b3b156108bf5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156109175750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061095d575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061093a565b67ffffffffffffffff81116106f15760051b60200190565b80511561099b5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561099b5760400190565b91906040838203126106ca57825167ffffffffffffffff908181116106ca5784019082601f830112156106ca578151916109fa83610976565b90610a0860405192836106cf565b838252602093848084019160051b830101918683116106ca578501905b828210610aa75750505094828101519182116106ca57019180601f840112156106ca578251610a5381610976565b93610a6160405195866106cf565b818552838086019260051b8201019283116106ca578301905b828210610a88575050505090565b81516001600160a01b03811681036106ca578152908301908301610a7a565b81518060060b81036106ca578152908501908501610a25565b6020908160408183019282815285518094520193019160005b828110610ae7575050505090565b835163ffffffff1685529381019392810192600101610ad9565b600691820b910b0390667fffffffffffff198212667fffffffffffff831317610b2657565b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715610b2657565b6033546040805163309a3bc160e11b815290949392916001600160a01b039160049160209190829082908590829088165afa801561103a57849160009161101d575b5016918751946311d3da1560e11b865282868381875afa95861561101257600096610ff3575b50808516610fed575084955b8851916301cde7c760e11b9586845280891693848382015285816024818a5afa8015610fe2578291600091610fc5575b50161580610fb9575b610faa578a51936060850185811067ffffffffffffffff821117610f95578c52600285528b3687870137610708610c328661098e565b526000610c3e866109b1565b528b5193632210d52560e01b8086528d888787818d5afa968715610f8a57600097610f69575b50518a81529584168587015287866024818c5afa958615610ec557600096610f4a575b508d5163883bdbfd60e01b808252968f9190818781610ca88d8c8301610ac0565b03921691815a93600094fa8015610f3f57610ce691600091610f25575b50610cd9610cd2826109b1565b519161098e565b5160060b9060060b610b01565b60060b92610708840560020b93600081129081610f14575b50610efa575b6001600160801b03610d169116611045565b9051918252888287818d5afa908115610eef57610d3d938d93600093610ed0575b506110ae565b8c5163111029b960e01b815290878286818c5afa918215610ec557600092610e96575b5061271091820190818311610e815790610d7991610b3c565b0497828a168214610e725790602487928e51998a9384928352878301525afa928315610e6757610dc1966000968795610e48575b50508b519687958694859384528301610ac0565b0392165afa958615610e3e5750610708610e06610e199697610e1393600091610e1c575b50610dfc610df2826109b1565b5160060b9161098e565b5160060b90610b01565b60060b0560020b91611045565b906110ae565b90565b610e37913d8091833e610e2f81836106cf565b8101906109c1565b5038610de5565b513d6000823e3d90fd5b610e5f929550803d106105ec576105de81836106cf565b923880610dad565b8b513d6000823e3d90fd5b50969a50505050505050505050565b601186634e487b7160e01b6000525260246000fd5b90918882813d8311610ebe575b610ead81836106cf565b810103126106b15750519038610d60565b503d610ea3565b8e513d6000823e3d90fd5b610ee89193508b3d8d116105ec576105de81836106cf565b9138610d37565b8f513d6000823e3d90fd5b929050627fffff198114610e815760001901918e90610d04565b61070891500760060b151538610cfe565b610f38913d8091833e610e2f81836106cf565b5038610cc5565b82513d6000823e3d90fd5b610f62919650883d8a116105ec576105de81836106cf565b9438610c87565b85919750610f83908a3d8c116105ec576105de81836106cf565b9690610c64565b50513d6000823e3d90fd5b604184634e487b7160e01b6000525260246000fd5b5089516305d6109b60e31b8152fd5b50808816841415610bfc565b610fdc9150873d89116105ec576105de81836106cf565b38610bf3565b8c513d6000823e3d90fd5b95610bc3565b61100b919650833d85116105ec576105de81836106cf565b9438610bb7565b89513d6000823e3d90fd5b6110349150833d85116105ec576105de81836106cf565b38610b91565b88513d6000823e3d90fd5b6001600160801b0390818111611059571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608490fd5b9291909260020b906000821260001461163557600160ff1b8214610b2657816000035b620d89e8811161160c5760018116156115fa576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1692600282166115ce575b6004918281166115a2575b60088116611576575b6010811661154a575b6020811661151e575b604081166114f2575b6080908181166114c7575b610100811661149c575b6102008116611471575b6104008116611446575b610800811661141b575b61100081166113f0575b61200081166113c5575b614000811661139a575b618000811661136f575b620100008116611344575b62020000811661131a575b6204000081166112dc575b620800001661129d575b50600012611277575b63ffffffff8360201c93161560001461126e5760ff60005b16830180931161125957506001600160801b03916001600160a01b039081908116848111611230578061121191610b3c565b94169116101561122657610e199216906118e2565b610e199216611887565b8061123a9161163b565b94169116101561124f57610e19921690611818565b610e1992166116c4565b601190634e487b7160e01b6000525260246000fd5b60ff60016111df565b9180156112885760001904916111c7565b601283634e487b7160e01b6000525260246000fd5b6b048a170391f7dc42444e8fa2949194918281029281840414901517156112c7571c9260006111be565b601183634e487b7160e01b6000525260246000fd5b946d2216e584f5fa1ea926041bedfe989081810291818304149015171561130557811c946111b4565b601184634e487b7160e01b6000525260246000fd5b946e5d6af8dedb81196699c329225ee6049081810291818304149015171561130557811c946111a9565b946f09aa508b5b7a84e1c677de54f3e99bc99081810291818304149015171561130557811c9461119e565b946f31be135f97d08fd981231505542fcfa69081810291818304149015171561130557811c94611193565b946f70d869a156d2a1b890bb3df62baf32f79081810291818304149015171561130557811c94611189565b946fa9f746462d870fdf8a65dc1f90e061e59081810291818304149015171561130557811c9461117f565b946fd097f3bdfd2022b8845ad8f792aa58259081810291818304149015171561130557811c94611175565b946fe7159475a2c29b7443b29c7fa6e889d99081810291818304149015171561130557811c9461116b565b946ff3392b0822b70005940c7a398e4b70f39081810291818304149015171561130557811c94611161565b946ff987a7253ac413176f2b074cf7815e549081810291818304149015171561130557811c94611157565b946ffcbe86c7900a88aedcffc83b479aa3a49081810291818304149015171561130557811c9461114d565b946ffe5dee046a99a2a811c461f1969c30539081810291818304149015171561130557811c94611143565b936fff2ea16466c96a3843ec78b326b52861908181029181830414901517156112c75760801c93611138565b936fff973b41fa98c081472e6896dfb254c0908181029181830414901517156112c75760801c9361112f565b936fffcb9843d60f6159c9db58835c926644908181029181830414901517156112c75760801c93611126565b936fffe5caca7e10e4e61c3624eaa0941cd0908181029181830414901517156112c75760801c9361111d565b936ffff2e50f5f656932ef12357cf3c7fdcc908181029181830414901517156112c75760801c93611114565b926ffff97272373d413259a46990580e213a90818102918183041490151715610b265760801c92611109565b6001600160881b03600160801b6110fe565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b816110d1565b60001982820990828102908180841093039383850393600095146116b957600160401b91848311156116b557099181831184818303956116a157508460c01b948504600160c01b1491141715610b26570360401c1780800460011481151715610b265790565b634e487b7160e01b81526011600452602490fd5b8580fd5b505060401c92915050565b600160801b9291600019828509938260801b9283808710960395808703961461180957858311156106ca5782910990801960018101809111610b265781168091049161171f600096600184808a030401908684119003610b3c565b9280600302966003880482036116a157600280981861173e8184610b3c565b8903908982116117f5579061175291610b3c565b61175c8184610b3c565b8903908982116117f5579061177091610b3c565b61177a8184610b3c565b8903908982116117f5579061178e91610b3c565b6117988184610b3c565b8903908982116117f557906117ac91610b3c565b6117b68184610b3c565b8903908982116117f5576117d4916117cd91610b3c565b8093610b3c565b88039788116116a15750610e1995966117ec91610b3c565b93030417610b3c565b634e487b7160e01b83526011600452602483fd5b505080929350156106ca570490565b6000198282098282029081808210910393818503916000951461187c57600160801b93828511156116b55790849109928284119085828403966116a157508560801b9586041491141715610b26570360801c1780800460011481151715610b265790565b505060801c92915050565b600160c01b9291600019828509938260c01b9283808710960395808703961461180957858311156106ca5782910990801960018101809111610b265781168091049161171f600096600184808a030401908684119003610b3c565b600019828209908281029081808410930393838503936000951461194857600160c01b91848311156116b557099181831184818303956116a157508460401b948504600160401b1491141715610b26570360c01c1780800460011481151715610b265790565b505060c01c9291505056fea26469706673582212204dd404c17485eb3b376bf4f9be193d1ec3ab6e3f9457a3d8c5604bb2f7eacb7d64736f6c63430008120033","sourceMap":"1208:5453:185:-:0;;;;;;;6007:13:45;1208:5453:185;;;;;;;;;;;;;;6078:31:45;6074:139;;-1:-1:-1;1208:5453:185;;;;;;;;;6074:139:45;1208:5453:185;;;;;;6007:13:45;1208:5453:185;6174:28:45;1208:5453:185;;;;;;6174:28:45;6074:139;;;1208:5453:185;-1:-1:-1;;;1208:5453:185;;;;;;;;;;;;;;;;;-1:-1:-1;;;1208:5453:185;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c8063442471f01461066f57806394a5a29d146101895763c4d66de81461004e5750610011565b34610185576020366003190112610185576100676106b4565b835460ff8160081c161592838094610178575b8015610161575b15610107575060ff1981166001178555826100f6575b5060018060a01b03166bffffffffffffffffffffffff60a01b60335416176033556100c0575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610097565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156100815750600160ff831614610081565b50600160ff83161061007a565b8280fd5b50919034610467576060366003190112610467576101a56106b4565b906024803592604435956001600160801b0387169283880361066b57600260015414610629576002600155851561061a57831561061a57603354855163309a3bc160e11b8152979889986020956001600160a01b0393841693929187818881885afa9081156105f357849189918e916105fd575b50888c5180948193632210d52560e01b8352165afa9081156105f3579084918d916105c6575b50169a8b948a51898189816370a0823160e01b9a8b82528d30908301525afa9081156105bc578e8493928c928b969161058a575b50610526575b50505050508281169a8b159485809661051d575b61050d578d8d8a8d938a8a15958661049b575b50505050505061048b578b1461047b57906102ba91610b4f565b97881061046b57899060335416803b15610467578190604489518094819363a9fc507b60e01b8352338a8401528b898401525af1801561045d57610431575b50156103fb578547106103bb578780808089335af1610316610862565b5015610355575050907ffde313859edf8a78b1e1c10c6dbe0584a219be6af8d4914fdb8548652310339792915b82519485528401523392a36001805580f35b603a9060849386519362461bcd60e51b85528401528201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b601d9060649386519362461bcd60e51b85528401528201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b5050907ffde313859edf8a78b1e1c10c6dbe0584a219be6af8d4914fdb85486523103397929161042c853388610726565b610343565b67ffffffffffffffff819a929a1161044c57865297386102f9565b50634e487b7160e01b815260418352fd5b87513d8c823e3d90fd5b5080fd5b86516390981e6d60e01b81528490fd5b8851630cdece4960e21b81528690fd5b895163356680b760e01b81528790fd5b90919293949550518094819382528d30908301525afa91821561050257908d926104cd575b50108d8d8a388a8f6102a0565b8092508a8092503d83116104fb575b6104e681836106cf565b810103126104f7578b9051386104c0565b8d80fd5b503d6104dc565b8c51903d90823e3d90fd5b8a5163356680b760e01b81528890fd5b508b471061028d565b8d51948580928b82528d30908301525afa9182156105025791610559575b61054f92508d610726565b848c38898e610279565b90508882813d8311610583575b61057081836106cf565b810103126104f75761054f915190610544565b503d610566565b9550505083813d83116105b5575b6105a281836106cf565b8101031261046757898e89945138610273565b503d610598565b8c513d85823e3d90fd5b6105e69150893d8b116105ec575b6105de81836106cf565b810190610707565b3861023f565b503d6105d4565b8a513d8e823e3d90fd5b6106149150823d84116105ec576105de81836106cf565b38610219565b508351631d01a37160e01b8152fd5b90601f606492602087519362461bcd60e51b85528401528201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b8680fd5b5050346104675780600319360112610467576106896106b4565b602435926001600160801b03841684036106b157506020926106aa91610b4f565b9051908152f35b80fd5b600435906001600160a01b03821682036106ca57565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176106f157604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126106ca57516001600160a01b03811681036106ca5790565b60405163a9059cbb60e01b602082019081526001600160a01b03938416602483015260448083019590955293815267ffffffffffffffff926080820192848411838510176106f157169060c0810193838510908511176106f1576107cb93604052602083527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152600080958192519082855af16107c5610862565b916108a2565b90815191821592831561083b575b505050156107e357565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b81929350906020918101031261046757602001519081151582036106b157503880806107d9565b3d1561089d573d9067ffffffffffffffff82116106f15760405191610891601f8201601f1916602001846106cf565b82523d6000602084013e565b606090565b9192901561090457508151156108b6575090565b3b156108bf5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156109175750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061095d575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061093a565b67ffffffffffffffff81116106f15760051b60200190565b80511561099b5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561099b5760400190565b91906040838203126106ca57825167ffffffffffffffff908181116106ca5784019082601f830112156106ca578151916109fa83610976565b90610a0860405192836106cf565b838252602093848084019160051b830101918683116106ca578501905b828210610aa75750505094828101519182116106ca57019180601f840112156106ca578251610a5381610976565b93610a6160405195866106cf565b818552838086019260051b8201019283116106ca578301905b828210610a88575050505090565b81516001600160a01b03811681036106ca578152908301908301610a7a565b81518060060b81036106ca578152908501908501610a25565b6020908160408183019282815285518094520193019160005b828110610ae7575050505090565b835163ffffffff1685529381019392810192600101610ad9565b600691820b910b0390667fffffffffffff198212667fffffffffffff831317610b2657565b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715610b2657565b6033546040805163309a3bc160e11b815290949392916001600160a01b039160049160209190829082908590829088165afa801561103a57849160009161101d575b5016918751946311d3da1560e11b865282868381875afa95861561101257600096610ff3575b50808516610fed575084955b8851916301cde7c760e11b9586845280891693848382015285816024818a5afa8015610fe2578291600091610fc5575b50161580610fb9575b610faa578a51936060850185811067ffffffffffffffff821117610f95578c52600285528b3687870137610708610c328661098e565b526000610c3e866109b1565b528b5193632210d52560e01b8086528d888787818d5afa968715610f8a57600097610f69575b50518a81529584168587015287866024818c5afa958615610ec557600096610f4a575b508d5163883bdbfd60e01b808252968f9190818781610ca88d8c8301610ac0565b03921691815a93600094fa8015610f3f57610ce691600091610f25575b50610cd9610cd2826109b1565b519161098e565b5160060b9060060b610b01565b60060b92610708840560020b93600081129081610f14575b50610efa575b6001600160801b03610d169116611045565b9051918252888287818d5afa908115610eef57610d3d938d93600093610ed0575b506110ae565b8c5163111029b960e01b815290878286818c5afa918215610ec557600092610e96575b5061271091820190818311610e815790610d7991610b3c565b0497828a168214610e725790602487928e51998a9384928352878301525afa928315610e6757610dc1966000968795610e48575b50508b519687958694859384528301610ac0565b0392165afa958615610e3e5750610708610e06610e199697610e1393600091610e1c575b50610dfc610df2826109b1565b5160060b9161098e565b5160060b90610b01565b60060b0560020b91611045565b906110ae565b90565b610e37913d8091833e610e2f81836106cf565b8101906109c1565b5038610de5565b513d6000823e3d90fd5b610e5f929550803d106105ec576105de81836106cf565b923880610dad565b8b513d6000823e3d90fd5b50969a50505050505050505050565b601186634e487b7160e01b6000525260246000fd5b90918882813d8311610ebe575b610ead81836106cf565b810103126106b15750519038610d60565b503d610ea3565b8e513d6000823e3d90fd5b610ee89193508b3d8d116105ec576105de81836106cf565b9138610d37565b8f513d6000823e3d90fd5b929050627fffff198114610e815760001901918e90610d04565b61070891500760060b151538610cfe565b610f38913d8091833e610e2f81836106cf565b5038610cc5565b82513d6000823e3d90fd5b610f62919650883d8a116105ec576105de81836106cf565b9438610c87565b85919750610f83908a3d8c116105ec576105de81836106cf565b9690610c64565b50513d6000823e3d90fd5b604184634e487b7160e01b6000525260246000fd5b5089516305d6109b60e31b8152fd5b50808816841415610bfc565b610fdc9150873d89116105ec576105de81836106cf565b38610bf3565b8c513d6000823e3d90fd5b95610bc3565b61100b919650833d85116105ec576105de81836106cf565b9438610bb7565b89513d6000823e3d90fd5b6110349150833d85116105ec576105de81836106cf565b38610b91565b88513d6000823e3d90fd5b6001600160801b0390818111611059571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608490fd5b9291909260020b906000821260001461163557600160ff1b8214610b2657816000035b620d89e8811161160c5760018116156115fa576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1692600282166115ce575b6004918281166115a2575b60088116611576575b6010811661154a575b6020811661151e575b604081166114f2575b6080908181166114c7575b610100811661149c575b6102008116611471575b6104008116611446575b610800811661141b575b61100081166113f0575b61200081166113c5575b614000811661139a575b618000811661136f575b620100008116611344575b62020000811661131a575b6204000081166112dc575b620800001661129d575b50600012611277575b63ffffffff8360201c93161560001461126e5760ff60005b16830180931161125957506001600160801b03916001600160a01b039081908116848111611230578061121191610b3c565b94169116101561122657610e199216906118e2565b610e199216611887565b8061123a9161163b565b94169116101561124f57610e19921690611818565b610e1992166116c4565b601190634e487b7160e01b6000525260246000fd5b60ff60016111df565b9180156112885760001904916111c7565b601283634e487b7160e01b6000525260246000fd5b6b048a170391f7dc42444e8fa2949194918281029281840414901517156112c7571c9260006111be565b601183634e487b7160e01b6000525260246000fd5b946d2216e584f5fa1ea926041bedfe989081810291818304149015171561130557811c946111b4565b601184634e487b7160e01b6000525260246000fd5b946e5d6af8dedb81196699c329225ee6049081810291818304149015171561130557811c946111a9565b946f09aa508b5b7a84e1c677de54f3e99bc99081810291818304149015171561130557811c9461119e565b946f31be135f97d08fd981231505542fcfa69081810291818304149015171561130557811c94611193565b946f70d869a156d2a1b890bb3df62baf32f79081810291818304149015171561130557811c94611189565b946fa9f746462d870fdf8a65dc1f90e061e59081810291818304149015171561130557811c9461117f565b946fd097f3bdfd2022b8845ad8f792aa58259081810291818304149015171561130557811c94611175565b946fe7159475a2c29b7443b29c7fa6e889d99081810291818304149015171561130557811c9461116b565b946ff3392b0822b70005940c7a398e4b70f39081810291818304149015171561130557811c94611161565b946ff987a7253ac413176f2b074cf7815e549081810291818304149015171561130557811c94611157565b946ffcbe86c7900a88aedcffc83b479aa3a49081810291818304149015171561130557811c9461114d565b946ffe5dee046a99a2a811c461f1969c30539081810291818304149015171561130557811c94611143565b936fff2ea16466c96a3843ec78b326b52861908181029181830414901517156112c75760801c93611138565b936fff973b41fa98c081472e6896dfb254c0908181029181830414901517156112c75760801c9361112f565b936fffcb9843d60f6159c9db58835c926644908181029181830414901517156112c75760801c93611126565b936fffe5caca7e10e4e61c3624eaa0941cd0908181029181830414901517156112c75760801c9361111d565b936ffff2e50f5f656932ef12357cf3c7fdcc908181029181830414901517156112c75760801c93611114565b926ffff97272373d413259a46990580e213a90818102918183041490151715610b265760801c92611109565b6001600160881b03600160801b6110fe565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b816110d1565b60001982820990828102908180841093039383850393600095146116b957600160401b91848311156116b557099181831184818303956116a157508460c01b948504600160c01b1491141715610b26570360401c1780800460011481151715610b265790565b634e487b7160e01b81526011600452602490fd5b8580fd5b505060401c92915050565b600160801b9291600019828509938260801b9283808710960395808703961461180957858311156106ca5782910990801960018101809111610b265781168091049161171f600096600184808a030401908684119003610b3c565b9280600302966003880482036116a157600280981861173e8184610b3c565b8903908982116117f5579061175291610b3c565b61175c8184610b3c565b8903908982116117f5579061177091610b3c565b61177a8184610b3c565b8903908982116117f5579061178e91610b3c565b6117988184610b3c565b8903908982116117f557906117ac91610b3c565b6117b68184610b3c565b8903908982116117f5576117d4916117cd91610b3c565b8093610b3c565b88039788116116a15750610e1995966117ec91610b3c565b93030417610b3c565b634e487b7160e01b83526011600452602483fd5b505080929350156106ca570490565b6000198282098282029081808210910393818503916000951461187c57600160801b93828511156116b55790849109928284119085828403966116a157508560801b9586041491141715610b26570360801c1780800460011481151715610b265790565b505060801c92915050565b600160c01b9291600019828509938260c01b9283808710960395808703961461180957858311156106ca5782910990801960018101809111610b265781168091049161171f600096600184808a030401908684119003610b3c565b600019828209908281029081808410930393838503936000951461194857600160c01b91848311156116b557099181831184818303956116a157508460401b948504600160401b1491141715610b26570360c01c1780800460011481151715610b265790565b505060c01c9291505056fea26469706673582212204dd404c17485eb3b376bf4f9be193d1ec3ab6e3f9457a3d8c5604bb2f7eacb7d64736f6c63430008120033","sourceMap":"1208:5453:185:-:0;;;;;;;;;;;;-1:-1:-1;1208:5453:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1208:5453:185;;;;;;:::i;:::-;;;;;;;;3301:14:45;3347:34;;;;;;1208:5453:185;3346:108:45;;;;1208:5453:185;;;;-1:-1:-1;;;1208:5453:185;;3551:1:45;1208:5453:185;;;;3562:65:45;;1208:5453:185;;;;;;;;;;;2148:39;1208:5453;;;2148:39;1208:5453;3647:99:45;;1208:5453:185;;;3647:99:45;1208:5453:185;3721:14:45;1208:5453:185;;;;;;;;;3551:1:45;1208:5453:185;;3721:14:45;1208:5453:185;;3562:65:45;-1:-1:-1;;1208:5453:185;;;;;3562:65:45;;;1208:5453:185;;;;;;1830:1:48;;;;1208:5453:185;;;;;;;;;;;;;;;-1:-1:-1;;;1208:5453:185;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;1208:5453:185;3452:1:45;1208:5453:185;;;3436:17:45;3346:108;;3347:34;1208:5453:185;3380:1:45;1208:5453:185;;;3365:16:45;3347:34;;1208:5453:185;;;;;;;;;;;;;-1:-1:-1;;1208:5453:185;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1208:5453:185;;;;;;;;1830:1:48;1208:5453:185;;2712:19:48;1830:1;;;1208:5453:185;1830:1:48;2567:18:185;;2563:54;;2627:12;;2623:48;;2720:11;1208:5453;;;-1:-1:-1;;;2720:32:185;;1208:5453;;;;;;-1:-1:-1;;;;;1208:5453:185;;;;;;;;2720:32;1208:5453;;2720:32;;;;;;;;;;;;;;;1208:5453;;;;;;;;;;;;2699:71;;1208:5453;2699:71;;;;;;;;;;;;;;1208:5453;;;;;;;;;;;;;;;2832:29;;;;2855:4;;2832:29;;;1208:5453;2832:29;;;;;;;;;;;;;;;;;;1208:5453;2832:33;2828:142;;1208:5453;;;;;;;;;3008:23;;;:64;;;;;;1208:5453;3004:111;;3156:23;;;;;;;;:85;;;;1208:5453;3152:132;;;;;;;;3327:26;;3323:77;;3452:37;;;;:::i;:::-;3568:25;;;3564:70;;1208:5453;;2720:11;1208:5453;;3692:43;;;;;1208:5453;;;;;;;;;;;;3692:43;;3715:10;3692:43;;;1208:5453;;;;;;3692:43;;;;;;;;1208:5453;-1:-1:-1;3778:217:185;;;2736:21:98;;:31;1208:5453:185;;3715:10;;;;;;2831:33:98;;;;:::i;:::-;;1208:5453:185;;;3778:217;;;4006:60;3778:217;;;1208:5453;;;;;;;;3715:10;4006:60;;1208:5453;1830:1:48;;1208:5453:185;;;;;;;;;1830:1:48;;;;1208:5453:185;;;;;;;;;;;;;;;;;;;;;;;;;;1830:1:48;;;;1208:5453:185;;;;;;;;;;;;;;3778:217;3715:10;;;4006:60;3715:10;;3978:9;3715:10;;3978:9;;:::i;:::-;3778:217;;3692:43;1208:5453;;;;;;;;;;3692:43;;;;1208:5453;-1:-1:-1;;;;1208:5453:185;;;;;;3692:43;1208:5453;;;;;;;;;3692:43;1208:5453;;;3564:70;1208:5453;;-1:-1:-1;;;3610:17:185;;1208:5453;;3610:17;3323:77;1208:5453;;-1:-1:-1;;;3370:23:185;;1208:5453;;3370:23;3152:132;1208:5453;;-1:-1:-1;;;3258:19:185;;1208:5453;;3258:19;3156:85;1208:5453;;;;;;;;3183:42;;;;;;2855:4;;3183:42;;;1208:5453;3183:42;;;;;;;;;;;;3156:85;3183:58;;3156:85;;;;;;;;3183:42;;;;;;;;;;;;;;;;;;:::i;:::-;;;1208:5453;;;;;;;3183:42;;;1208:5453;;;;3183:42;;;;;;1208:5453;;;;;;;;;;3004:111;1208:5453;;-1:-1:-1;;;3089:19:185;;1208:5453;;3089:19;3008:64;3035:21;;;:37;3008:64;;2828:142;1208:5453;;2933:29;;;;;;;2855:4;;2933:29;;;1208:5453;2933:29;;;;;;;;;;2828:142;2933:29;;;;;:::i;:::-;2828:142;;;;;;;2933:29;;;;;;;;;;;;;;;;:::i;:::-;;;1208:5453;;;;2933:29;1208:5453;;2933:29;;;;;;;;2832;;;;;;;;;;;;;;;;;:::i;:::-;;;1208:5453;;;;;;;;;2832:29;;;;;;;;;1208:5453;;;;;;;;;2699:71;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1208:5453;;;;;;;;;2720:32;;;;;;;;;;;;;;:::i;:::-;;;;2623:48;-1:-1:-1;1208:5453:185;;-1:-1:-1;;;2648:23:185;;;1830:1:48;1208:5453:185;1830:1:48;;1208:5453:185;;;;1830:1:48;;;;;;;;;;;1208:5453:185;1830:1:48;1208:5453:185;;;1830:1:48;;1208:5453:185;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1208:5453:185;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1208:5453:185;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1208:5453:185;;;;;;;:::o;941:175:93:-;1208:5453:185;;-1:-1:-1;;;1050:58:93;;;;;;-1:-1:-1;;;;;1208:5453:185;;;1050:58:93;;;1208:5453:185;;;;;;;;;1050:58:93;;;1208:5453:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5535:69:98;1208:5453:185;;;1050:58:93;1208:5453:185;;;;;;;-1:-1:-1;5487:31:98;;;;;;;;;;;;:::i;:::-;5535:69;;:::i;:::-;1208:5453:185;;;5705:22:93;;;:56;;;;;941:175;1208:5453:185;;;;;;941:175:93:o;1208:5453:185:-;;;-1:-1:-1;;;1208:5453:185;;1050:58:93;1208:5453:185;;;;;1050:58:93;1208:5453:185;;;;;;;;-1:-1:-1;;;1208:5453:185;;;;;;;5705:56:93;5731:30;;;;;1050:58;5731:30;;;1208:5453:185;;;;1050:58:93;5731:30;1208:5453:185;;;;;;;;;5705:56:93;;;;;;1208:5453:185;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1208:5453:185;;;;;:::i;:::-;;;;-1:-1:-1;1208:5453:185;;;;:::o;:::-;;;:::o;7671:628:98:-;;;;7875:418;;;1208:5453:185;;;7906:22:98;7902:286;;8201:17;;:::o;7902:286::-;1713:19:63;:23;1208:5453:185;;8201:17:98;:::o;1208:5453:185:-;;;-1:-1:-1;;;1208:5453:185;;;;;;;;;;;;;;;;;;;;7875:418:98;1208:5453:185;;;;-1:-1:-1;8980:21:98;:17;;9152:142;;;;;;;8976:379;1208:5453:185;;1830:1:48;;;;9324:20:98;;1208:5453:185;;9324:20:98;;;;1208:5453:185;;;;;;;;;9000:1:98;1208:5453:185;;;;;;;;;;;;9000:1:98;1208:5453:185;;;;;;;;;;;;;;9324:20:98;;;;1208:5453:185;;;;;;;;;;;;;;;;;;;-1:-1:-1;1208:5453:185;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1208:5453:185;;;;;-1:-1:-1;1208:5453:185;;;;5040:1;1208:5453;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1208:5453:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1208:5453:185;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4327:2106::-;4492:11;1208:5453;;;;-1:-1:-1;;;4492:32:185;;1208:5453;;4327:2106;;;-1:-1:-1;;;;;1208:5453:185;4492:32;;;;1208:5453;4492:32;;1208:5453;;4492:32;;1208:5453;;;;4492:32;;;;;;;;-1:-1:-1;4492:32:185;;;4327:2106;1208:5453;;;;;;;;;4546:32;;;;;;;;;;;;;;-1:-1:-1;4546:32:185;;;4327:2106;-1:-1:-1;1208:5453:185;;;;;4635:42;;;;1208:5453;;;;;;4784:37;;;;1208:5453;;;4784:37;;;;;1208:5453;4784:37;;1208:5453;4784:37;;;;;;;;;;-1:-1:-1;4784:37:185;;;4635:42;1208:5453;;4784:51;:71;;;4635:42;4780:122;;1208:5453;;;;;;;;;;;;;;;;;4987:1;1208:5453;;;;;;;;4928:10;4995:27;;;:::i;:::-;1208:5453;-1:-1:-1;5028:18:185;;;:::i;:::-;1208:5453;;;;;;;5180:32;;;;;;;;;;;;;;;;-1:-1:-1;5180:32:185;;;4635:42;-1:-1:-1;1208:5453:185;5152:61;;;1208:5453;;;5152:61;;;1208:5453;5152:61;1208:5453;;;5152:61;;;;;;;;-1:-1:-1;5152:61:185;;;4635:42;-1:-1:-1;1208:5453:185;;-1:-1:-1;;;5137:105:185;;;1208:5453;;;;;5137:105;1208:5453;5137:105;;;;;;:::i;:::-;;1208:5453;;5137:105;;;;-1:-1:-1;5137:105:185;;;;;;5326:39;5137:105;-1:-1:-1;5137:105:185;;;4635:42;5326:18;5347;5326;;;:::i;:::-;1208:5453;5347:18;;:::i;:::-;1208:5453;;;;;;5326:39;:::i;:::-;1208:5453;;;4928:10;1208:5453;;4987:1;1208:5453;5482:24;-1:-1:-1;5482:24:185;;:75;;;;4635:42;5478:102;;;4635:42;-1:-1:-1;;;;;5694:25:185;1208:5453;;5694:25;:::i;:::-;1208:5453;;5721:32;;;;;;;;;;;;;;;5659:101;5721:32;;;-1:-1:-1;5721:32:185;;;4635:42;5659:101;;:::i;:::-;1208:5453;;-1:-1:-1;;;5779:39:185;;1208:5453;5779:39;1208:5453;5779:39;1208:5453;5779:39;;;;;;;;-1:-1:-1;5779:39:185;;;4635:42;5770:6;;1208:5453;;;;;;;;;5651:168;;;;:::i;:::-;1208:5453;;;;;5914:16;;5910:53;;1208:5453;;;;;;6112:37;;;;;;;;;;1208:5453;6112:37;;;;;;;6097:74;6112:37;-1:-1:-1;6112:37:185;;;;;4635:42;1208:5453;;;;6097:74;;;;;;;;;;;;:::i;:::-;;1208:5453;;6097:74;;;;;;;;4928:10;6211:49;6350:78;6097:74;;6390:21;6097:74;-1:-1:-1;6097:74:185;;;4635:42;6211:23;6237;6211;;;:::i;:::-;1208:5453;;;6237:23;;:::i;:::-;1208:5453;;;6211:49;;:::i;:::-;1208:5453;;;4987:1;1208:5453;6390:21;;:::i;:::-;6350:78;;:::i;:::-;4327:2106;:::o;6097:74::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;1208:5453;;-1:-1:-1;1208:5453:185;;;;;6112:37;;;;;;;-1:-1:-1;6112:37:185;;;;;;:::i;:::-;;;;;;;1208:5453;;;-1:-1:-1;1208:5453:185;;;;;5910:53;-1:-1:-1;5940:16:185;;-1:-1:-1;;;;;;;;;;5940:16:185:o;1208:5453::-;;;;;;-1:-1:-1;1208:5453:185;;;-1:-1:-1;1208:5453:185;5779:39;;;;;;;;;;;;;;;;:::i;:::-;;;1208:5453;;;;;;5779:39;;;;;;;;;;1208:5453;;;-1:-1:-1;1208:5453:185;;;;;5721:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;1208:5453;;;-1:-1:-1;1208:5453:185;;;;;5478:102;1208:5453;;-1:-1:-1;;;1208:5453:185;;;;-1:-1:-1;;1208:5453:185;;;;5478:102;;5482:75;4928:10;1208:5453;;;;;5511:45;;5482:75;;;5137:105;;;;;;;;;;;;:::i;:::-;;;;;;1208:5453;;;-1:-1:-1;1208:5453:185;;;;;5152:61;;;;;;;;;;;;;;;:::i;:::-;;;;;5180:32;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1208:5453;;;-1:-1:-1;1208:5453:185;;;;;;;;;;;-1:-1:-1;1208:5453:185;;;-1:-1:-1;1208:5453:185;4780:122;-1:-1:-1;1208:5453:185;;-1:-1:-1;;;4872:23:185;;;4784:71;1208:5453;;;;4839:16;;;4784:71;;:37;;;;;;;;;;;;;;:::i;:::-;;;;;1208:5453;;;-1:-1:-1;1208:5453:185;;;;;4635:42;;;;4546:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;1208:5453;;;-1:-1:-1;1208:5453:185;;;;;4492:32;;;;;;;;;;;;;;:::i;:::-;;;;;1208:5453;;;-1:-1:-1;1208:5453:185;;;;;9088:192:107;-1:-1:-1;;;;;9172:26:107;;;;1208:5453:185;;;9088:192:107;:::o;1208:5453:185:-;;;-1:-1:-1;;;1208:5453:185;;;;;;;;;;;;;;;;;-1:-1:-1;;;1208:5453:185;;;;;;;2623:955:139;;;;;1208:5453:185;;1468:57:138;-1:-1:-1;1468:8:138;;:57;-1:-1:-1;;;;;;1208:5453:185;;;;;-1:-1:-1;1208:5453:185;1468:57:138;477:7;1543:36;;637:9;;1622:3;1612:13;;:18;1622:3;;-1:-1:-1;;;;;1633:34:138;1612:93;637:9;1719:13;1208:5453:185;1719:13:138;;1715:83;;1612:93;1822:3;1812:13;;;;1808:83;;1612:93;1915:3;1905:13;;1901:83;;1612:93;2008:4;1998:14;;1994:84;;1612:93;2102:4;2092:14;;2088:84;;1612:93;2196:4;2186:14;;2182:84;;1612:93;2290:4;2280:14;;;;2276:84;;1612:93;2384:5;2374:15;;2370:85;;1612:93;2479:5;2469:15;;2465:85;;1612:93;2574:5;2564:15;;2560:85;;1612:93;2669:5;2659:15;;2655:85;;1612:93;2764:6;2754:16;;2750:86;;1612:93;2860:6;2850:16;;2846:86;;1612:93;2956:6;2946:16;;2942:86;;1612:93;3052:6;3042:16;;3038:86;;1612:93;3148:7;3138:17;;3134:86;;1612:93;3244:7;3234:17;;3230:85;;1612:93;3339:7;3329:17;;3325:83;;1612:93;3432:7;3422:17;3418:78;;1612:93;3511:8;-1:-1:-1;;3507:47:138;;1612:93;637:9;;2102:4;637:9;3904:30;637:9;3904:22;:30;637:9;;;1208:5453:185;-1:-1:-1;3904:30:138;1208:5453:185;;;;;;;;-1:-1:-1;;;;;;1208:5453:185;-1:-1:-1;;;;;1208:5453:185;;;;;2985:33:139;;;1208:5453:185;;3054:36:139;;;;:::i;:::-;3118:156;1208:5453:185;;;3118:22:139;1208:5453:185;;;3159:48:139;1208:5453:185;;3159:48:139;;:::i;3118:156::-;3226:48;1208:5453:185;;3226:48:139;:::i;2981:591::-;3325:52;;;;:::i;:::-;3405:156;1208:5453:185;;;3405:22:139;1208:5453:185;;;3446:48:139;1208:5453:185;;3446:48:139;;:::i;3405:156::-;3513:48;1208:5453:185;;3513:48:139;:::i;1208:5453:185:-;;;;;;-1:-1:-1;1208:5453:185;;;-1:-1:-1;1208:5453:185;3904:30:138;1208:5453:185;1622:3:138;3904:30;;3507:47;1208:5453:185;;;;;-1:-1:-1;;1208:5453:185;;3507:47:138;;1208:5453:185;;;;;;-1:-1:-1;1208:5453:185;;;-1:-1:-1;1208:5453:185;3418:78:138;3463:25;;;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;-1:-1:-1;3418:78:138;;1208:5453:185;;;;;;-1:-1:-1;1208:5453:185;;;-1:-1:-1;1208:5453:185;3325:83:138;3370:30;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;;3325:83;;1208:5453:185;;;;;;-1:-1:-1;1208:5453:185;;;-1:-1:-1;1208:5453:185;3230:85:138;3275:32;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;3230:85;;;3134:86;3179:33;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;3134:86;;;3038;3082:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;3038:86;;;2942;2986:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;2942:86;;;2846;2890:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;2846:86;;;2750;2794:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;2750:86;;;2655:85;2698:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;2655:85;;;2560;2603:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;2560:85;;;2465;2508:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;2465:85;;;2370;2413:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;2370:85;;;2276:84;2318:34;;1208:5453:185;;;;;;;;;;;;;;;637:9:138;;2276:84;;;2182;2224:34;;1208:5453:185;;;;;;;;;;;;;;;2263:3:138;637:9;2182:84;;;2088;2130:34;;1208:5453:185;;;;;;;;;;;;;;;2169:3:138;637:9;2088:84;;;1994;2036:34;;1208:5453:185;;;;;;;;;;;;;;;2075:3:138;637:9;1994:84;;;1901:83;1942:34;;1208:5453:185;;;;;;;;;;;;;;;1981:3:138;637:9;1901:83;;;1808;1849:34;;1208:5453:185;;;;;;;;;;;;;;;1888:3:138;637:9;1808:83;;;1715;1756:34;;1208:5453:185;;;;;;;;;;;;;;;1795:3:138;637:9;1715:83;;;1612:93;-1:-1:-1;;;;;;;;1612:93:138;;637:9;1208:5453:185;;-1:-1:-1;;;637:9:138;;;;;;;;;;;1208:5453:185;-1:-1:-1;;;1208:5453:185;;;637:9:138;;;;1468:57;;;;742:3801:137;-1:-1:-1;;1318:150:137;;;;;;;;;;;;;;;;;;1540:10;1208:5453:185;1540:10:137;;1536:179;;-1:-1:-1;;;1828:19:137;;;;1208:5453:185;;;2152:71:137;2287:117;;;;;;;;1208:5453:185;;;;;;;;;;;3046:72:137;;1208:5453:185;;;;;;;2287:117:137;2809:58;;3127:21;1208:5453:185;;;;;;;;;;;742:3801:137;:::o;1208:5453:185:-;-1:-1:-1;;;1208:5453:185;;;;;;;;;;;;1536:179:137;-1:-1:-1;;1604:74:137;;;1691:13;-1:-1:-1;;1691:13:137:o;742:3801::-;-1:-1:-1;;;1670:35:138;742:3801:137;-1:-1:-1;;742:3801:137;1670:35:138;1318:150:137;;;1670:35:138;1318:150:137;;;;;;;;;;;;1540:10;;1536:179;;1828:19;;;1208:5453:185;;;2152:71:137;;;1208:5453:185;;;;;;;;;;;2568:51:137;;2675:70;;;1208:5453:185;3136:12:137;1208:5453:185;3046:72:137;1208:5453:185;3046:72:137;;;;;;2287:117;;;;;;3136:12;:::i;:::-;1208:5453:185;;3497:1:137;1208:5453:185;;3497:1:137;1208:5453:185;;;;;;3516:1:137;3496:21;;;3743:17;;;;:::i;:::-;1208:5453:185;;;;;;;;3732:28:137;;;;:::i;:::-;3801:17;;;;:::i;:::-;1208:5453:185;;;;;;;;3790:28:137;;;;:::i;:::-;3860:17;;;;:::i;:::-;1208:5453:185;;;;;;;;3849:28:137;;;;:::i;:::-;3919:17;;;;:::i;:::-;1208:5453:185;;;;;;;;3908:28:137;;;;:::i;:::-;3978:17;;;;:::i;:::-;1208:5453:185;;;;;;;;4038:17:137;3967:28;;;;:::i;:::-;4038:17;;;:::i;:::-;1208:5453:185;;;;;;;4027:28:137;4502:11;4027:28;;;;;:::i;:::-;2287:117;;2809:58;3127:21;4502:11;:::i;1208:5453:185:-;-1:-1:-1;;;1208:5453:185;;;;;;;;1536:179:137;1574:15;;;;;;;1208:5453:185;;1604:74:137;1691:13;:::o;742:3801::-;-1:-1:-1;;1318:150:137;;;;;;;;;;;;;;;;;1540:10;1208:5453:185;1540:10:137;;1536:179;;-1:-1:-1;;;1670:35:138;1828:19:137;;;1208:5453:185;;;2152:71:137;;;;2287:117;;;;;;;;;1208:5453:185;;;;;1670:35:138;1208:5453:185;;;;;;;;;;;2287:117:137;1670:35:138;2809:58:137;3127:21;1208:5453:185;;;;;;;;;;;742:3801:137;:::o;1536:179::-;-1:-1:-1;;1604:74:137;;;1691:13;-1:-1:-1;;1691:13:137:o;742:3801::-;-1:-1:-1;;;3046:72:137;742:3801;-1:-1:-1;;742:3801:137;3046:72;1318:150;;;3046:72;1318:150;;;;;;;;;;;;1540:10;;1536:179;;1828:19;;;1208:5453:185;;;2152:71:137;;;1208:5453:185;;;;;;;;;;;2568:51:137;;2675:70;;;1208:5453:185;3136:12:137;1208:5453:185;3046:72:137;1208:5453:185;3046:72:137;;;;;;2287:117;;;;;;3136:12;:::i;742:3801::-;-1:-1:-1;;1318:150:137;;;;;;;;;;;;;;;;;;1540:10;1208:5453:185;1540:10:137;;1536:179;;-1:-1:-1;;;3046:72:137;1828:19;;;1208:5453:185;;;2152:71:137;2287:117;;;;;;;;1208:5453:185;;;;;;;;;;-1:-1:-1;;;1208:5453:185;;;;;;;2287:117:137;3046:72;2809:58;3127:21;1208:5453:185;;;;;;;;;;;742:3801:137;:::o;1536:179::-;-1:-1:-1;;1604:74:137;;;1691:13;-1:-1:-1;;1691:13:137:o","linkReferences":{}},"methodIdentifiers":{"estimateRarePrice(address,uint128)":"442471f0","initialize(address)":"c4d66de8","rewardSwap(address,uint256,uint128)":"94a5a29d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CannotSwapRareForRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ParameterValueTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RarePriceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedERC20Token\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_msgSender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_rareIn\",\"type\":\"uint256\"}],\"name\":\"RewardAccumulator\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_rareAmountIn\",\"type\":\"uint128\"}],\"name\":\"estimateRarePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingPool\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"_rareIn\",\"type\":\"uint128\"}],\"name\":\"rewardSwap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"charlescrain\",\"details\":\"It is one base user per contract. This is the implementation contract for a beacon proxy.\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"estimateRarePrice(address,uint128)\":{\"params\":{\"_rareAmountIn\":\"uint128 amount of RARE to trade for the _tokenOut.\",\"_tokenOut\":\"Address of the ERC20 token to be swapped for.\"},\"returns\":{\"_0\":\"uint256 amount of _tokenOut for the _rareAmountIn.\"}},\"rewardSwap(address,uint256,uint128)\":{\"params\":{\"_minAmountOut\":\"Min amount one is willing to receive for the _rareIn.\",\"_rareIn\":\"The amount of RARE one is looking to trade.\",\"_tokenOut\":\"Address of the ERC20 to pay out with. If null address, then uses ETH.\"}}},\"title\":\"RewardAccumulator\",\"version\":1},\"userdoc\":{\"errors\":{\"CannotSwapRareForRare()\":[{\"notice\":\"Error emitted via {rewardSwap} if _tokenOut is the $RARE address.\"}],\"InsufficientFunds()\":[{\"notice\":\"Error emitted via {rewardSwap} if reward swap doesn't have enough funds to perform the swap.\"}],\"ParameterValueTooLow()\":[{\"notice\":\"Error emitted when a parameter is too low.\"}],\"RarePriceTooLow()\":[{\"notice\":\"Error emitted via {rewardSwap} if the rare price is too low to handle the _minAmountOut requirement.\"}],\"Unauthorized()\":[{\"notice\":\"Error emitted when user doesnt meet the criteria for call.\"}],\"UnsupportedERC20Token()\":[{\"notice\":\"Emitted when an unsupported ERC20 token for reward swapping.\"}]},\"kind\":\"user\",\"methods\":{\"estimateRarePrice(address,uint128)\":{\"notice\":\"Estimate the discounted $RARE price for a given token.\"},\"rewardSwap(address,uint256,uint128)\":{\"notice\":\"Swap RARE for a discounted price on tokens stored\"}},\"notice\":\"The reward accumulator accumulates rewards and allows for swapping of ETH or ERC20 tokens in exchange for RARE.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/reward/RewardAccumulator.sol\":\"RewardAccumulator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b\",\"dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588\"]},\"lib/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97\",\"dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2\"]},\"lib/v3-periphery/contracts/libraries/OracleLibrary.sol\":{\"keccak256\":\"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313\",\"dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/reward/IRewardAccumulator.sol\":{\"keccak256\":\"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d\",\"dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD\"]},\"src/staking/reward/RewardAccumulator.sol\":{\"keccak256\":\"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474\",\"dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CannotSwapRareForRare"},{"inputs":[],"type":"error","name":"InsufficientFunds"},{"inputs":[],"type":"error","name":"ParameterValueTooLow"},{"inputs":[],"type":"error","name":"RarePriceTooLow"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"UnsupportedERC20Token"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_msgSender","type":"address","indexed":true},{"internalType":"address","name":"_tokenOut","type":"address","indexed":true},{"internalType":"uint256","name":"_amountOut","type":"uint256","indexed":false},{"internalType":"uint256","name":"_rareIn","type":"uint256","indexed":false}],"type":"event","name":"RewardAccumulator","anonymous":false},{"inputs":[{"internalType":"address","name":"_tokenOut","type":"address"},{"internalType":"uint128","name":"_rareAmountIn","type":"uint128"}],"stateMutability":"view","type":"function","name":"estimateRarePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_stakingPool","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_tokenOut","type":"address"},{"internalType":"uint256","name":"_minAmountOut","type":"uint256"},{"internalType":"uint128","name":"_rareIn","type":"uint128"}],"stateMutability":"nonpayable","type":"function","name":"rewardSwap"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"estimateRarePrice(address,uint128)":{"params":{"_rareAmountIn":"uint128 amount of RARE to trade for the _tokenOut.","_tokenOut":"Address of the ERC20 token to be swapped for."},"returns":{"_0":"uint256 amount of _tokenOut for the _rareAmountIn."}},"rewardSwap(address,uint256,uint128)":{"params":{"_minAmountOut":"Min amount one is willing to receive for the _rareIn.","_rareIn":"The amount of RARE one is looking to trade.","_tokenOut":"Address of the ERC20 to pay out with. If null address, then uses ETH."}}},"version":1},"userdoc":{"kind":"user","methods":{"estimateRarePrice(address,uint128)":{"notice":"Estimate the discounted $RARE price for a given token."},"rewardSwap(address,uint256,uint128)":{"notice":"Swap RARE for a discounted price on tokens stored"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/reward/RewardAccumulator.sol":"RewardAccumulator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19","urls":["bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b","dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588"],"license":"MIT"},"lib/v3-core/contracts/libraries/TickMath.sol":{"keccak256":"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347","urls":["bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97","dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/libraries/OracleLibrary.sol":{"keccak256":"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a","urls":["bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313","dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR"],"license":"GPL-2.0-or-later"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/reward/IRewardAccumulator.sol":{"keccak256":"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42","urls":["bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d","dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD"],"license":"MIT"},"src/staking/reward/RewardAccumulator.sol":{"keccak256":"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c","urls":["bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474","dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":185} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"estimateRarePrice","inputs":[{"name":"_tokenOut","type":"address","internalType":"address"},{"name":"_rareAmountIn","type":"uint128","internalType":"uint128"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_stakingPool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardSwap","inputs":[{"name":"_tokenOut","type":"address","internalType":"address"},{"name":"_minAmountOut","type":"uint256","internalType":"uint256"},{"name":"_rareIn","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"RewardAccumulator","inputs":[{"name":"_msgSender","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenOut","type":"address","indexed":true,"internalType":"address"},{"name":"_amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_rareIn","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CannotSwapRareForRare","inputs":[]},{"type":"error","name":"InsufficientFunds","inputs":[]},{"type":"error","name":"ParameterValueTooLow","inputs":[]},{"type":"error","name":"RarePriceTooLow","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"UnsupportedERC20Token","inputs":[]}],"bytecode":{"object":"0x608080604052346100c1576000549060ff8260081c1661006f575060ff80821603610034575b60405161198990816100c78239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c8063442471f01461066f57806394a5a29d146101895763c4d66de81461004e5750610011565b34610185576020366003190112610185576100676106b4565b835460ff8160081c161592838094610178575b8015610161575b15610107575060ff1981166001178555826100f6575b5060018060a01b03166bffffffffffffffffffffffff60a01b60335416176033556100c0575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610097565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156100815750600160ff831614610081565b50600160ff83161061007a565b8280fd5b50919034610467576060366003190112610467576101a56106b4565b906024803592604435956001600160801b0387169283880361066b57600260015414610629576002600155851561061a57831561061a57603354855163309a3bc160e11b8152979889986020956001600160a01b0393841693929187818881885afa9081156105f357849189918e916105fd575b50888c5180948193632210d52560e01b8352165afa9081156105f3579084918d916105c6575b50169a8b948a51898189816370a0823160e01b9a8b82528d30908301525afa9081156105bc578e8493928c928b969161058a575b50610526575b50505050508281169a8b159485809661051d575b61050d578d8d8a8d938a8a15958661049b575b50505050505061048b578b1461047b57906102ba91610b4f565b97881061046b57899060335416803b15610467578190604489518094819363a9fc507b60e01b8352338a8401528b898401525af1801561045d57610431575b50156103fb578547106103bb578780808089335af1610316610862565b5015610355575050907ffde313859edf8a78b1e1c10c6dbe0584a219be6af8d4914fdb8548652310339792915b82519485528401523392a36001805580f35b603a9060849386519362461bcd60e51b85528401528201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b601d9060649386519362461bcd60e51b85528401528201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b5050907ffde313859edf8a78b1e1c10c6dbe0584a219be6af8d4914fdb85486523103397929161042c853388610726565b610343565b67ffffffffffffffff819a929a1161044c57865297386102f9565b50634e487b7160e01b815260418352fd5b87513d8c823e3d90fd5b5080fd5b86516390981e6d60e01b81528490fd5b8851630cdece4960e21b81528690fd5b895163356680b760e01b81528790fd5b90919293949550518094819382528d30908301525afa91821561050257908d926104cd575b50108d8d8a388a8f6102a0565b8092508a8092503d83116104fb575b6104e681836106cf565b810103126104f7578b9051386104c0565b8d80fd5b503d6104dc565b8c51903d90823e3d90fd5b8a5163356680b760e01b81528890fd5b508b471061028d565b8d51948580928b82528d30908301525afa9182156105025791610559575b61054f92508d610726565b848c38898e610279565b90508882813d8311610583575b61057081836106cf565b810103126104f75761054f915190610544565b503d610566565b9550505083813d83116105b5575b6105a281836106cf565b8101031261046757898e89945138610273565b503d610598565b8c513d85823e3d90fd5b6105e69150893d8b116105ec575b6105de81836106cf565b810190610707565b3861023f565b503d6105d4565b8a513d8e823e3d90fd5b6106149150823d84116105ec576105de81836106cf565b38610219565b508351631d01a37160e01b8152fd5b90601f606492602087519362461bcd60e51b85528401528201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b8680fd5b5050346104675780600319360112610467576106896106b4565b602435926001600160801b03841684036106b157506020926106aa91610b4f565b9051908152f35b80fd5b600435906001600160a01b03821682036106ca57565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176106f157604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126106ca57516001600160a01b03811681036106ca5790565b60405163a9059cbb60e01b602082019081526001600160a01b03938416602483015260448083019590955293815267ffffffffffffffff926080820192848411838510176106f157169060c0810193838510908511176106f1576107cb93604052602083527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152600080958192519082855af16107c5610862565b916108a2565b90815191821592831561083b575b505050156107e357565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b81929350906020918101031261046757602001519081151582036106b157503880806107d9565b3d1561089d573d9067ffffffffffffffff82116106f15760405191610891601f8201601f1916602001846106cf565b82523d6000602084013e565b606090565b9192901561090457508151156108b6575090565b3b156108bf5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156109175750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061095d575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061093a565b67ffffffffffffffff81116106f15760051b60200190565b80511561099b5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561099b5760400190565b91906040838203126106ca57825167ffffffffffffffff908181116106ca5784019082601f830112156106ca578151916109fa83610976565b90610a0860405192836106cf565b838252602093848084019160051b830101918683116106ca578501905b828210610aa75750505094828101519182116106ca57019180601f840112156106ca578251610a5381610976565b93610a6160405195866106cf565b818552838086019260051b8201019283116106ca578301905b828210610a88575050505090565b81516001600160a01b03811681036106ca578152908301908301610a7a565b81518060060b81036106ca578152908501908501610a25565b6020908160408183019282815285518094520193019160005b828110610ae7575050505090565b835163ffffffff1685529381019392810192600101610ad9565b600691820b910b0390667fffffffffffff198212667fffffffffffff831317610b2657565b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715610b2657565b6033546040805163309a3bc160e11b815290949392916001600160a01b039160049160209190829082908590829088165afa801561103a57849160009161101d575b5016918751946311d3da1560e11b865282868381875afa95861561101257600096610ff3575b50808516610fed575084955b8851916301cde7c760e11b9586845280891693848382015285816024818a5afa8015610fe2578291600091610fc5575b50161580610fb9575b610faa578a51936060850185811067ffffffffffffffff821117610f95578c52600285528b3687870137610708610c328661098e565b526000610c3e866109b1565b528b5193632210d52560e01b8086528d888787818d5afa968715610f8a57600097610f69575b50518a81529584168587015287866024818c5afa958615610ec557600096610f4a575b508d5163883bdbfd60e01b808252968f9190818781610ca88d8c8301610ac0565b03921691815a93600094fa8015610f3f57610ce691600091610f25575b50610cd9610cd2826109b1565b519161098e565b5160060b9060060b610b01565b60060b92610708840560020b93600081129081610f14575b50610efa575b6001600160801b03610d169116611045565b9051918252888287818d5afa908115610eef57610d3d938d93600093610ed0575b506110ae565b8c5163111029b960e01b815290878286818c5afa918215610ec557600092610e96575b5061271091820190818311610e815790610d7991610b3c565b0497828a168214610e725790602487928e51998a9384928352878301525afa928315610e6757610dc1966000968795610e48575b50508b519687958694859384528301610ac0565b0392165afa958615610e3e5750610708610e06610e199697610e1393600091610e1c575b50610dfc610df2826109b1565b5160060b9161098e565b5160060b90610b01565b60060b0560020b91611045565b906110ae565b90565b610e37913d8091833e610e2f81836106cf565b8101906109c1565b5038610de5565b513d6000823e3d90fd5b610e5f929550803d106105ec576105de81836106cf565b923880610dad565b8b513d6000823e3d90fd5b50969a50505050505050505050565b601186634e487b7160e01b6000525260246000fd5b90918882813d8311610ebe575b610ead81836106cf565b810103126106b15750519038610d60565b503d610ea3565b8e513d6000823e3d90fd5b610ee89193508b3d8d116105ec576105de81836106cf565b9138610d37565b8f513d6000823e3d90fd5b929050627fffff198114610e815760001901918e90610d04565b61070891500760060b151538610cfe565b610f38913d8091833e610e2f81836106cf565b5038610cc5565b82513d6000823e3d90fd5b610f62919650883d8a116105ec576105de81836106cf565b9438610c87565b85919750610f83908a3d8c116105ec576105de81836106cf565b9690610c64565b50513d6000823e3d90fd5b604184634e487b7160e01b6000525260246000fd5b5089516305d6109b60e31b8152fd5b50808816841415610bfc565b610fdc9150873d89116105ec576105de81836106cf565b38610bf3565b8c513d6000823e3d90fd5b95610bc3565b61100b919650833d85116105ec576105de81836106cf565b9438610bb7565b89513d6000823e3d90fd5b6110349150833d85116105ec576105de81836106cf565b38610b91565b88513d6000823e3d90fd5b6001600160801b0390818111611059571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608490fd5b9291909260020b906000821260001461163557600160ff1b8214610b2657816000035b620d89e8811161160c5760018116156115fa576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1692600282166115ce575b6004918281166115a2575b60088116611576575b6010811661154a575b6020811661151e575b604081166114f2575b6080908181166114c7575b610100811661149c575b6102008116611471575b6104008116611446575b610800811661141b575b61100081166113f0575b61200081166113c5575b614000811661139a575b618000811661136f575b620100008116611344575b62020000811661131a575b6204000081166112dc575b620800001661129d575b50600012611277575b63ffffffff8360201c93161560001461126e5760ff60005b16830180931161125957506001600160801b03916001600160a01b039081908116848111611230578061121191610b3c565b94169116101561122657610e199216906118e2565b610e199216611887565b8061123a9161163b565b94169116101561124f57610e19921690611818565b610e1992166116c4565b601190634e487b7160e01b6000525260246000fd5b60ff60016111df565b9180156112885760001904916111c7565b601283634e487b7160e01b6000525260246000fd5b6b048a170391f7dc42444e8fa2949194918281029281840414901517156112c7571c9260006111be565b601183634e487b7160e01b6000525260246000fd5b946d2216e584f5fa1ea926041bedfe989081810291818304149015171561130557811c946111b4565b601184634e487b7160e01b6000525260246000fd5b946e5d6af8dedb81196699c329225ee6049081810291818304149015171561130557811c946111a9565b946f09aa508b5b7a84e1c677de54f3e99bc99081810291818304149015171561130557811c9461119e565b946f31be135f97d08fd981231505542fcfa69081810291818304149015171561130557811c94611193565b946f70d869a156d2a1b890bb3df62baf32f79081810291818304149015171561130557811c94611189565b946fa9f746462d870fdf8a65dc1f90e061e59081810291818304149015171561130557811c9461117f565b946fd097f3bdfd2022b8845ad8f792aa58259081810291818304149015171561130557811c94611175565b946fe7159475a2c29b7443b29c7fa6e889d99081810291818304149015171561130557811c9461116b565b946ff3392b0822b70005940c7a398e4b70f39081810291818304149015171561130557811c94611161565b946ff987a7253ac413176f2b074cf7815e549081810291818304149015171561130557811c94611157565b946ffcbe86c7900a88aedcffc83b479aa3a49081810291818304149015171561130557811c9461114d565b946ffe5dee046a99a2a811c461f1969c30539081810291818304149015171561130557811c94611143565b936fff2ea16466c96a3843ec78b326b52861908181029181830414901517156112c75760801c93611138565b936fff973b41fa98c081472e6896dfb254c0908181029181830414901517156112c75760801c9361112f565b936fffcb9843d60f6159c9db58835c926644908181029181830414901517156112c75760801c93611126565b936fffe5caca7e10e4e61c3624eaa0941cd0908181029181830414901517156112c75760801c9361111d565b936ffff2e50f5f656932ef12357cf3c7fdcc908181029181830414901517156112c75760801c93611114565b926ffff97272373d413259a46990580e213a90818102918183041490151715610b265760801c92611109565b6001600160881b03600160801b6110fe565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b816110d1565b60001982820990828102908180841093039383850393600095146116b957600160401b91848311156116b557099181831184818303956116a157508460c01b948504600160c01b1491141715610b26570360401c1780800460011481151715610b265790565b634e487b7160e01b81526011600452602490fd5b8580fd5b505060401c92915050565b600160801b9291600019828509938260801b9283808710960395808703961461180957858311156106ca5782910990801960018101809111610b265781168091049161171f600096600184808a030401908684119003610b3c565b9280600302966003880482036116a157600280981861173e8184610b3c565b8903908982116117f5579061175291610b3c565b61175c8184610b3c565b8903908982116117f5579061177091610b3c565b61177a8184610b3c565b8903908982116117f5579061178e91610b3c565b6117988184610b3c565b8903908982116117f557906117ac91610b3c565b6117b68184610b3c565b8903908982116117f5576117d4916117cd91610b3c565b8093610b3c565b88039788116116a15750610e1995966117ec91610b3c565b93030417610b3c565b634e487b7160e01b83526011600452602483fd5b505080929350156106ca570490565b6000198282098282029081808210910393818503916000951461187c57600160801b93828511156116b55790849109928284119085828403966116a157508560801b9586041491141715610b26570360801c1780800460011481151715610b265790565b505060801c92915050565b600160c01b9291600019828509938260c01b9283808710960395808703961461180957858311156106ca5782910990801960018101809111610b265781168091049161171f600096600184808a030401908684119003610b3c565b600019828209908281029081808410930393838503936000951461194857600160c01b91848311156116b557099181831184818303956116a157508460401b948504600160401b1491141715610b26570360c01c1780800460011481151715610b265790565b505060c01c9291505056fea26469706673582212202e3f7a0d6cb9eb29d789f0c91e38924ce34c9e9f20b40db149ba5a46a3bdac8264736f6c63430008120033","sourceMap":"1208:5453:196:-:0;;;;;;;6007:13:48;1208:5453:196;;;;;;;;;;;;;;6078:31:48;6074:139;;-1:-1:-1;1208:5453:196;;;;;;;;;6074:139:48;1208:5453:196;;;;;;6007:13:48;1208:5453:196;6174:28:48;1208:5453:196;;;;;;6174:28:48;6074:139;;;1208:5453:196;-1:-1:-1;;;1208:5453:196;;;;;;;;;;;;;;;;;-1:-1:-1;;;1208:5453:196;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c8063442471f01461066f57806394a5a29d146101895763c4d66de81461004e5750610011565b34610185576020366003190112610185576100676106b4565b835460ff8160081c161592838094610178575b8015610161575b15610107575060ff1981166001178555826100f6575b5060018060a01b03166bffffffffffffffffffffffff60a01b60335416176033556100c0575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b61ffff191661010117845538610097565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156100815750600160ff831614610081565b50600160ff83161061007a565b8280fd5b50919034610467576060366003190112610467576101a56106b4565b906024803592604435956001600160801b0387169283880361066b57600260015414610629576002600155851561061a57831561061a57603354855163309a3bc160e11b8152979889986020956001600160a01b0393841693929187818881885afa9081156105f357849189918e916105fd575b50888c5180948193632210d52560e01b8352165afa9081156105f3579084918d916105c6575b50169a8b948a51898189816370a0823160e01b9a8b82528d30908301525afa9081156105bc578e8493928c928b969161058a575b50610526575b50505050508281169a8b159485809661051d575b61050d578d8d8a8d938a8a15958661049b575b50505050505061048b578b1461047b57906102ba91610b4f565b97881061046b57899060335416803b15610467578190604489518094819363a9fc507b60e01b8352338a8401528b898401525af1801561045d57610431575b50156103fb578547106103bb578780808089335af1610316610862565b5015610355575050907ffde313859edf8a78b1e1c10c6dbe0584a219be6af8d4914fdb8548652310339792915b82519485528401523392a36001805580f35b603a9060849386519362461bcd60e51b85528401528201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b601d9060649386519362461bcd60e51b85528401528201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b5050907ffde313859edf8a78b1e1c10c6dbe0584a219be6af8d4914fdb85486523103397929161042c853388610726565b610343565b67ffffffffffffffff819a929a1161044c57865297386102f9565b50634e487b7160e01b815260418352fd5b87513d8c823e3d90fd5b5080fd5b86516390981e6d60e01b81528490fd5b8851630cdece4960e21b81528690fd5b895163356680b760e01b81528790fd5b90919293949550518094819382528d30908301525afa91821561050257908d926104cd575b50108d8d8a388a8f6102a0565b8092508a8092503d83116104fb575b6104e681836106cf565b810103126104f7578b9051386104c0565b8d80fd5b503d6104dc565b8c51903d90823e3d90fd5b8a5163356680b760e01b81528890fd5b508b471061028d565b8d51948580928b82528d30908301525afa9182156105025791610559575b61054f92508d610726565b848c38898e610279565b90508882813d8311610583575b61057081836106cf565b810103126104f75761054f915190610544565b503d610566565b9550505083813d83116105b5575b6105a281836106cf565b8101031261046757898e89945138610273565b503d610598565b8c513d85823e3d90fd5b6105e69150893d8b116105ec575b6105de81836106cf565b810190610707565b3861023f565b503d6105d4565b8a513d8e823e3d90fd5b6106149150823d84116105ec576105de81836106cf565b38610219565b508351631d01a37160e01b8152fd5b90601f606492602087519362461bcd60e51b85528401528201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b8680fd5b5050346104675780600319360112610467576106896106b4565b602435926001600160801b03841684036106b157506020926106aa91610b4f565b9051908152f35b80fd5b600435906001600160a01b03821682036106ca57565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176106f157604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126106ca57516001600160a01b03811681036106ca5790565b60405163a9059cbb60e01b602082019081526001600160a01b03938416602483015260448083019590955293815267ffffffffffffffff926080820192848411838510176106f157169060c0810193838510908511176106f1576107cb93604052602083527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152600080958192519082855af16107c5610862565b916108a2565b90815191821592831561083b575b505050156107e357565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b81929350906020918101031261046757602001519081151582036106b157503880806107d9565b3d1561089d573d9067ffffffffffffffff82116106f15760405191610891601f8201601f1916602001846106cf565b82523d6000602084013e565b606090565b9192901561090457508151156108b6575090565b3b156108bf5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156109175750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061095d575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061093a565b67ffffffffffffffff81116106f15760051b60200190565b80511561099b5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561099b5760400190565b91906040838203126106ca57825167ffffffffffffffff908181116106ca5784019082601f830112156106ca578151916109fa83610976565b90610a0860405192836106cf565b838252602093848084019160051b830101918683116106ca578501905b828210610aa75750505094828101519182116106ca57019180601f840112156106ca578251610a5381610976565b93610a6160405195866106cf565b818552838086019260051b8201019283116106ca578301905b828210610a88575050505090565b81516001600160a01b03811681036106ca578152908301908301610a7a565b81518060060b81036106ca578152908501908501610a25565b6020908160408183019282815285518094520193019160005b828110610ae7575050505090565b835163ffffffff1685529381019392810192600101610ad9565b600691820b910b0390667fffffffffffff198212667fffffffffffff831317610b2657565b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715610b2657565b6033546040805163309a3bc160e11b815290949392916001600160a01b039160049160209190829082908590829088165afa801561103a57849160009161101d575b5016918751946311d3da1560e11b865282868381875afa95861561101257600096610ff3575b50808516610fed575084955b8851916301cde7c760e11b9586845280891693848382015285816024818a5afa8015610fe2578291600091610fc5575b50161580610fb9575b610faa578a51936060850185811067ffffffffffffffff821117610f95578c52600285528b3687870137610708610c328661098e565b526000610c3e866109b1565b528b5193632210d52560e01b8086528d888787818d5afa968715610f8a57600097610f69575b50518a81529584168587015287866024818c5afa958615610ec557600096610f4a575b508d5163883bdbfd60e01b808252968f9190818781610ca88d8c8301610ac0565b03921691815a93600094fa8015610f3f57610ce691600091610f25575b50610cd9610cd2826109b1565b519161098e565b5160060b9060060b610b01565b60060b92610708840560020b93600081129081610f14575b50610efa575b6001600160801b03610d169116611045565b9051918252888287818d5afa908115610eef57610d3d938d93600093610ed0575b506110ae565b8c5163111029b960e01b815290878286818c5afa918215610ec557600092610e96575b5061271091820190818311610e815790610d7991610b3c565b0497828a168214610e725790602487928e51998a9384928352878301525afa928315610e6757610dc1966000968795610e48575b50508b519687958694859384528301610ac0565b0392165afa958615610e3e5750610708610e06610e199697610e1393600091610e1c575b50610dfc610df2826109b1565b5160060b9161098e565b5160060b90610b01565b60060b0560020b91611045565b906110ae565b90565b610e37913d8091833e610e2f81836106cf565b8101906109c1565b5038610de5565b513d6000823e3d90fd5b610e5f929550803d106105ec576105de81836106cf565b923880610dad565b8b513d6000823e3d90fd5b50969a50505050505050505050565b601186634e487b7160e01b6000525260246000fd5b90918882813d8311610ebe575b610ead81836106cf565b810103126106b15750519038610d60565b503d610ea3565b8e513d6000823e3d90fd5b610ee89193508b3d8d116105ec576105de81836106cf565b9138610d37565b8f513d6000823e3d90fd5b929050627fffff198114610e815760001901918e90610d04565b61070891500760060b151538610cfe565b610f38913d8091833e610e2f81836106cf565b5038610cc5565b82513d6000823e3d90fd5b610f62919650883d8a116105ec576105de81836106cf565b9438610c87565b85919750610f83908a3d8c116105ec576105de81836106cf565b9690610c64565b50513d6000823e3d90fd5b604184634e487b7160e01b6000525260246000fd5b5089516305d6109b60e31b8152fd5b50808816841415610bfc565b610fdc9150873d89116105ec576105de81836106cf565b38610bf3565b8c513d6000823e3d90fd5b95610bc3565b61100b919650833d85116105ec576105de81836106cf565b9438610bb7565b89513d6000823e3d90fd5b6110349150833d85116105ec576105de81836106cf565b38610b91565b88513d6000823e3d90fd5b6001600160801b0390818111611059571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608490fd5b9291909260020b906000821260001461163557600160ff1b8214610b2657816000035b620d89e8811161160c5760018116156115fa576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1692600282166115ce575b6004918281166115a2575b60088116611576575b6010811661154a575b6020811661151e575b604081166114f2575b6080908181166114c7575b610100811661149c575b6102008116611471575b6104008116611446575b610800811661141b575b61100081166113f0575b61200081166113c5575b614000811661139a575b618000811661136f575b620100008116611344575b62020000811661131a575b6204000081166112dc575b620800001661129d575b50600012611277575b63ffffffff8360201c93161560001461126e5760ff60005b16830180931161125957506001600160801b03916001600160a01b039081908116848111611230578061121191610b3c565b94169116101561122657610e199216906118e2565b610e199216611887565b8061123a9161163b565b94169116101561124f57610e19921690611818565b610e1992166116c4565b601190634e487b7160e01b6000525260246000fd5b60ff60016111df565b9180156112885760001904916111c7565b601283634e487b7160e01b6000525260246000fd5b6b048a170391f7dc42444e8fa2949194918281029281840414901517156112c7571c9260006111be565b601183634e487b7160e01b6000525260246000fd5b946d2216e584f5fa1ea926041bedfe989081810291818304149015171561130557811c946111b4565b601184634e487b7160e01b6000525260246000fd5b946e5d6af8dedb81196699c329225ee6049081810291818304149015171561130557811c946111a9565b946f09aa508b5b7a84e1c677de54f3e99bc99081810291818304149015171561130557811c9461119e565b946f31be135f97d08fd981231505542fcfa69081810291818304149015171561130557811c94611193565b946f70d869a156d2a1b890bb3df62baf32f79081810291818304149015171561130557811c94611189565b946fa9f746462d870fdf8a65dc1f90e061e59081810291818304149015171561130557811c9461117f565b946fd097f3bdfd2022b8845ad8f792aa58259081810291818304149015171561130557811c94611175565b946fe7159475a2c29b7443b29c7fa6e889d99081810291818304149015171561130557811c9461116b565b946ff3392b0822b70005940c7a398e4b70f39081810291818304149015171561130557811c94611161565b946ff987a7253ac413176f2b074cf7815e549081810291818304149015171561130557811c94611157565b946ffcbe86c7900a88aedcffc83b479aa3a49081810291818304149015171561130557811c9461114d565b946ffe5dee046a99a2a811c461f1969c30539081810291818304149015171561130557811c94611143565b936fff2ea16466c96a3843ec78b326b52861908181029181830414901517156112c75760801c93611138565b936fff973b41fa98c081472e6896dfb254c0908181029181830414901517156112c75760801c9361112f565b936fffcb9843d60f6159c9db58835c926644908181029181830414901517156112c75760801c93611126565b936fffe5caca7e10e4e61c3624eaa0941cd0908181029181830414901517156112c75760801c9361111d565b936ffff2e50f5f656932ef12357cf3c7fdcc908181029181830414901517156112c75760801c93611114565b926ffff97272373d413259a46990580e213a90818102918183041490151715610b265760801c92611109565b6001600160881b03600160801b6110fe565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b816110d1565b60001982820990828102908180841093039383850393600095146116b957600160401b91848311156116b557099181831184818303956116a157508460c01b948504600160c01b1491141715610b26570360401c1780800460011481151715610b265790565b634e487b7160e01b81526011600452602490fd5b8580fd5b505060401c92915050565b600160801b9291600019828509938260801b9283808710960395808703961461180957858311156106ca5782910990801960018101809111610b265781168091049161171f600096600184808a030401908684119003610b3c565b9280600302966003880482036116a157600280981861173e8184610b3c565b8903908982116117f5579061175291610b3c565b61175c8184610b3c565b8903908982116117f5579061177091610b3c565b61177a8184610b3c565b8903908982116117f5579061178e91610b3c565b6117988184610b3c565b8903908982116117f557906117ac91610b3c565b6117b68184610b3c565b8903908982116117f5576117d4916117cd91610b3c565b8093610b3c565b88039788116116a15750610e1995966117ec91610b3c565b93030417610b3c565b634e487b7160e01b83526011600452602483fd5b505080929350156106ca570490565b6000198282098282029081808210910393818503916000951461187c57600160801b93828511156116b55790849109928284119085828403966116a157508560801b9586041491141715610b26570360801c1780800460011481151715610b265790565b505060801c92915050565b600160c01b9291600019828509938260c01b9283808710960395808703961461180957858311156106ca5782910990801960018101809111610b265781168091049161171f600096600184808a030401908684119003610b3c565b600019828209908281029081808410930393838503936000951461194857600160c01b91848311156116b557099181831184818303956116a157508460401b948504600160401b1491141715610b26570360c01c1780800460011481151715610b265790565b505060c01c9291505056fea26469706673582212202e3f7a0d6cb9eb29d789f0c91e38924ce34c9e9f20b40db149ba5a46a3bdac8264736f6c63430008120033","sourceMap":"1208:5453:196:-:0;;;;;;;;;;;;-1:-1:-1;1208:5453:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1208:5453:196;;;;;;:::i;:::-;;;;;;;;3301:14:48;3347:34;;;;;;1208:5453:196;3346:108:48;;;;1208:5453:196;;;;-1:-1:-1;;;1208:5453:196;;3551:1:48;1208:5453:196;;;;3562:65:48;;1208:5453:196;;;;;;;;;;;2148:39;1208:5453;;;2148:39;1208:5453;3647:99:48;;1208:5453:196;;;3647:99:48;1208:5453:196;3721:14:48;1208:5453:196;;;;;;;;;3551:1:48;1208:5453:196;;3721:14:48;1208:5453:196;;3562:65:48;-1:-1:-1;;1208:5453:196;;;;;3562:65:48;;;1208:5453:196;;;;;;1830:1:51;;;;1208:5453:196;;;;;;;;;;;;;;;-1:-1:-1;;;1208:5453:196;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;1208:5453:196;3452:1:48;1208:5453:196;;;3436:17:48;3346:108;;3347:34;1208:5453:196;3380:1:48;1208:5453:196;;;3365:16:48;3347:34;;1208:5453:196;;;;;;;;;;;;;-1:-1:-1;;1208:5453:196;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1208:5453:196;;;;;;;;1830:1:51;1208:5453:196;;2712:19:51;1830:1;;;1208:5453:196;1830:1:51;2567:18:196;;2563:54;;2627:12;;2623:48;;2720:11;1208:5453;;;-1:-1:-1;;;2720:32:196;;1208:5453;;;;;;-1:-1:-1;;;;;1208:5453:196;;;;;;;;2720:32;1208:5453;;2720:32;;;;;;;;;;;;;;;1208:5453;;;;;;;;;;;;2699:71;;1208:5453;2699:71;;;;;;;;;;;;;;1208:5453;;;;;;;;;;;;;;;2832:29;;;;2855:4;;2832:29;;;1208:5453;2832:29;;;;;;;;;;;;;;;;;;1208:5453;2832:33;2828:142;;1208:5453;;;;;;;;;3008:23;;;:64;;;;;;1208:5453;3004:111;;3156:23;;;;;;;;:85;;;;1208:5453;3152:132;;;;;;;;3327:26;;3323:77;;3452:37;;;;:::i;:::-;3568:25;;;3564:70;;1208:5453;;2720:11;1208:5453;;3692:43;;;;;1208:5453;;;;;;;;;;;;3692:43;;3715:10;3692:43;;;1208:5453;;;;;;3692:43;;;;;;;;1208:5453;-1:-1:-1;3778:217:196;;;2736:21:101;;:31;1208:5453:196;;3715:10;;;;;;2831:33:101;;;;:::i;:::-;;1208:5453:196;;;3778:217;;;4006:60;3778:217;;;1208:5453;;;;;;;;3715:10;4006:60;;1208:5453;1830:1:51;;1208:5453:196;;;;;;;;;1830:1:51;;;;1208:5453:196;;;;;;;;;;;;;;;;;;;;;;;;;;1830:1:51;;;;1208:5453:196;;;;;;;;;;;;;;3778:217;3715:10;;;4006:60;3715:10;;3978:9;3715:10;;3978:9;;:::i;:::-;3778:217;;3692:43;1208:5453;;;;;;;;;;3692:43;;;;1208:5453;-1:-1:-1;;;;1208:5453:196;;;;;;3692:43;1208:5453;;;;;;;;;3692:43;1208:5453;;;3564:70;1208:5453;;-1:-1:-1;;;3610:17:196;;1208:5453;;3610:17;3323:77;1208:5453;;-1:-1:-1;;;3370:23:196;;1208:5453;;3370:23;3152:132;1208:5453;;-1:-1:-1;;;3258:19:196;;1208:5453;;3258:19;3156:85;1208:5453;;;;;;;;3183:42;;;;;;2855:4;;3183:42;;;1208:5453;3183:42;;;;;;;;;;;;3156:85;3183:58;;3156:85;;;;;;;;3183:42;;;;;;;;;;;;;;;;;;:::i;:::-;;;1208:5453;;;;;;;3183:42;;;1208:5453;;;;3183:42;;;;;;1208:5453;;;;;;;;;;3004:111;1208:5453;;-1:-1:-1;;;3089:19:196;;1208:5453;;3089:19;3008:64;3035:21;;;:37;3008:64;;2828:142;1208:5453;;2933:29;;;;;;;2855:4;;2933:29;;;1208:5453;2933:29;;;;;;;;;;2828:142;2933:29;;;;;:::i;:::-;2828:142;;;;;;;2933:29;;;;;;;;;;;;;;;;:::i;:::-;;;1208:5453;;;;2933:29;1208:5453;;2933:29;;;;;;;;2832;;;;;;;;;;;;;;;;;:::i;:::-;;;1208:5453;;;;;;;;;2832:29;;;;;;;;;1208:5453;;;;;;;;;2699:71;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1208:5453;;;;;;;;;2720:32;;;;;;;;;;;;;;:::i;:::-;;;;2623:48;-1:-1:-1;1208:5453:196;;-1:-1:-1;;;2648:23:196;;;1830:1:51;1208:5453:196;1830:1:51;;1208:5453:196;;;;1830:1:51;;;;;;;;;;;1208:5453:196;1830:1:51;1208:5453:196;;;1830:1:51;;1208:5453:196;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1208:5453:196;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;1208:5453:196;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1208:5453:196;;;;;;;:::o;941:175:96:-;1208:5453:196;;-1:-1:-1;;;1050:58:96;;;;;;-1:-1:-1;;;;;1208:5453:196;;;1050:58:96;;;1208:5453:196;;;;;;;;;1050:58:96;;;1208:5453:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5535:69:101;1208:5453:196;;;1050:58:96;1208:5453:196;;;;;;;-1:-1:-1;5487:31:101;;;;;;;;;;;;:::i;:::-;5535:69;;:::i;:::-;1208:5453:196;;;5705:22:96;;;:56;;;;;941:175;1208:5453:196;;;;;;941:175:96:o;1208:5453:196:-;;;-1:-1:-1;;;1208:5453:196;;1050:58:96;1208:5453:196;;;;;1050:58:96;1208:5453:196;;;;;;;;-1:-1:-1;;;1208:5453:196;;;;;;;5705:56:96;5731:30;;;;;1050:58;5731:30;;;1208:5453:196;;;;1050:58:96;5731:30;1208:5453:196;;;;;;;;;5705:56:96;;;;;;1208:5453:196;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1208:5453:196;;;;;:::i;:::-;;;;-1:-1:-1;1208:5453:196;;;;:::o;:::-;;;:::o;7671:628:101:-;;;;7875:418;;;1208:5453:196;;;7906:22:101;7902:286;;8201:17;;:::o;7902:286::-;1713:19:66;:23;1208:5453:196;;8201:17:101;:::o;1208:5453:196:-;;;-1:-1:-1;;;1208:5453:196;;;;;;;;;;;;;;;;;;;;7875:418:101;1208:5453:196;;;;-1:-1:-1;8980:21:101;:17;;9152:142;;;;;;;8976:379;1208:5453:196;;1830:1:51;;;;9324:20:101;;1208:5453:196;;9324:20:101;;;;1208:5453:196;;;;;;;;;9000:1:101;1208:5453:196;;;;;;;;;;;;9000:1:101;1208:5453:196;;;;;;;;;;;;;;9324:20:101;;;;1208:5453:196;;;;;;;;;;;;;;;;;;;-1:-1:-1;1208:5453:196;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1208:5453:196;;;;;-1:-1:-1;1208:5453:196;;;;5040:1;1208:5453;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1208:5453:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1208:5453:196;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4327:2106::-;4492:11;1208:5453;;;;-1:-1:-1;;;4492:32:196;;1208:5453;;4327:2106;;;-1:-1:-1;;;;;1208:5453:196;4492:32;;;;1208:5453;4492:32;;1208:5453;;4492:32;;1208:5453;;;;4492:32;;;;;;;;-1:-1:-1;4492:32:196;;;4327:2106;1208:5453;;;;;;;;;4546:32;;;;;;;;;;;;;;-1:-1:-1;4546:32:196;;;4327:2106;-1:-1:-1;1208:5453:196;;;;;4635:42;;;;1208:5453;;;;;;4784:37;;;;1208:5453;;;4784:37;;;;;1208:5453;4784:37;;1208:5453;4784:37;;;;;;;;;;-1:-1:-1;4784:37:196;;;4635:42;1208:5453;;4784:51;:71;;;4635:42;4780:122;;1208:5453;;;;;;;;;;;;;;;;;4987:1;1208:5453;;;;;;;;4928:10;4995:27;;;:::i;:::-;1208:5453;-1:-1:-1;5028:18:196;;;:::i;:::-;1208:5453;;;;;;;5180:32;;;;;;;;;;;;;;;;-1:-1:-1;5180:32:196;;;4635:42;-1:-1:-1;1208:5453:196;5152:61;;;1208:5453;;;5152:61;;;1208:5453;5152:61;1208:5453;;;5152:61;;;;;;;;-1:-1:-1;5152:61:196;;;4635:42;-1:-1:-1;1208:5453:196;;-1:-1:-1;;;5137:105:196;;;1208:5453;;;;;5137:105;1208:5453;5137:105;;;;;;:::i;:::-;;1208:5453;;5137:105;;;;-1:-1:-1;5137:105:196;;;;;;5326:39;5137:105;-1:-1:-1;5137:105:196;;;4635:42;5326:18;5347;5326;;;:::i;:::-;1208:5453;5347:18;;:::i;:::-;1208:5453;;;;;;5326:39;:::i;:::-;1208:5453;;;4928:10;1208:5453;;4987:1;1208:5453;5482:24;-1:-1:-1;5482:24:196;;:75;;;;4635:42;5478:102;;;4635:42;-1:-1:-1;;;;;5694:25:196;1208:5453;;5694:25;:::i;:::-;1208:5453;;5721:32;;;;;;;;;;;;;;;5659:101;5721:32;;;-1:-1:-1;5721:32:196;;;4635:42;5659:101;;:::i;:::-;1208:5453;;-1:-1:-1;;;5779:39:196;;1208:5453;5779:39;1208:5453;5779:39;1208:5453;5779:39;;;;;;;;-1:-1:-1;5779:39:196;;;4635:42;5770:6;;1208:5453;;;;;;;;;5651:168;;;;:::i;:::-;1208:5453;;;;;5914:16;;5910:53;;1208:5453;;;;;;6112:37;;;;;;;;;;1208:5453;6112:37;;;;;;;6097:74;6112:37;-1:-1:-1;6112:37:196;;;;;4635:42;1208:5453;;;;6097:74;;;;;;;;;;;;:::i;:::-;;1208:5453;;6097:74;;;;;;;;4928:10;6211:49;6350:78;6097:74;;6390:21;6097:74;-1:-1:-1;6097:74:196;;;4635:42;6211:23;6237;6211;;;:::i;:::-;1208:5453;;;6237:23;;:::i;:::-;1208:5453;;;6211:49;;:::i;:::-;1208:5453;;;4987:1;1208:5453;6390:21;;:::i;:::-;6350:78;;:::i;:::-;4327:2106;:::o;6097:74::-;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;1208:5453;;-1:-1:-1;1208:5453:196;;;;;6112:37;;;;;;;-1:-1:-1;6112:37:196;;;;;;:::i;:::-;;;;;;;1208:5453;;;-1:-1:-1;1208:5453:196;;;;;5910:53;-1:-1:-1;5940:16:196;;-1:-1:-1;;;;;;;;;;5940:16:196:o;1208:5453::-;;;;;;-1:-1:-1;1208:5453:196;;;-1:-1:-1;1208:5453:196;5779:39;;;;;;;;;;;;;;;;:::i;:::-;;;1208:5453;;;;;;5779:39;;;;;;;;;;1208:5453;;;-1:-1:-1;1208:5453:196;;;;;5721:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;1208:5453;;;-1:-1:-1;1208:5453:196;;;;;5478:102;1208:5453;;-1:-1:-1;;;1208:5453:196;;;;-1:-1:-1;;1208:5453:196;;;;5478:102;;5482:75;4928:10;1208:5453;;;;;5511:45;;5482:75;;;5137:105;;;;;;;;;;;;:::i;:::-;;;;;;1208:5453;;;-1:-1:-1;1208:5453:196;;;;;5152:61;;;;;;;;;;;;;;;:::i;:::-;;;;;5180:32;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1208:5453;;;-1:-1:-1;1208:5453:196;;;;;;;;;;;-1:-1:-1;1208:5453:196;;;-1:-1:-1;1208:5453:196;4780:122;-1:-1:-1;1208:5453:196;;-1:-1:-1;;;4872:23:196;;;4784:71;1208:5453;;;;4839:16;;;4784:71;;:37;;;;;;;;;;;;;;:::i;:::-;;;;;1208:5453;;;-1:-1:-1;1208:5453:196;;;;;4635:42;;;;4546:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;1208:5453;;;-1:-1:-1;1208:5453:196;;;;;4492:32;;;;;;;;;;;;;;:::i;:::-;;;;;1208:5453;;;-1:-1:-1;1208:5453:196;;;;;9088:192:111;-1:-1:-1;;;;;9172:26:111;;;;1208:5453:196;;;9088:192:111;:::o;1208:5453:196:-;;;-1:-1:-1;;;1208:5453:196;;;;;;;;;;;;;;;;;-1:-1:-1;;;1208:5453:196;;;;;;;2623:955:143;;;;;1208:5453:196;;1468:57:142;-1:-1:-1;1468:8:142;;:57;-1:-1:-1;;;;;;1208:5453:196;;;;;-1:-1:-1;1208:5453:196;1468:57:142;477:7;1543:36;;637:9;;1622:3;1612:13;;:18;1622:3;;-1:-1:-1;;;;;1633:34:142;1612:93;637:9;1719:13;1208:5453:196;1719:13:142;;1715:83;;1612:93;1822:3;1812:13;;;;1808:83;;1612:93;1915:3;1905:13;;1901:83;;1612:93;2008:4;1998:14;;1994:84;;1612:93;2102:4;2092:14;;2088:84;;1612:93;2196:4;2186:14;;2182:84;;1612:93;2290:4;2280:14;;;;2276:84;;1612:93;2384:5;2374:15;;2370:85;;1612:93;2479:5;2469:15;;2465:85;;1612:93;2574:5;2564:15;;2560:85;;1612:93;2669:5;2659:15;;2655:85;;1612:93;2764:6;2754:16;;2750:86;;1612:93;2860:6;2850:16;;2846:86;;1612:93;2956:6;2946:16;;2942:86;;1612:93;3052:6;3042:16;;3038:86;;1612:93;3148:7;3138:17;;3134:86;;1612:93;3244:7;3234:17;;3230:85;;1612:93;3339:7;3329:17;;3325:83;;1612:93;3432:7;3422:17;3418:78;;1612:93;3511:8;-1:-1:-1;;3507:47:142;;1612:93;637:9;;2102:4;637:9;3904:30;637:9;3904:22;:30;637:9;;;1208:5453:196;-1:-1:-1;3904:30:142;1208:5453:196;;;;;;;;-1:-1:-1;;;;;;1208:5453:196;-1:-1:-1;;;;;1208:5453:196;;;;;2985:33:143;;;1208:5453:196;;3054:36:143;;;;:::i;:::-;3118:156;1208:5453:196;;;3118:22:143;1208:5453:196;;;3159:48:143;1208:5453:196;;3159:48:143;;:::i;3118:156::-;3226:48;1208:5453:196;;3226:48:143;:::i;2981:591::-;3325:52;;;;:::i;:::-;3405:156;1208:5453:196;;;3405:22:143;1208:5453:196;;;3446:48:143;1208:5453:196;;3446:48:143;;:::i;3405:156::-;3513:48;1208:5453:196;;3513:48:143;:::i;1208:5453:196:-;;;;;;-1:-1:-1;1208:5453:196;;;-1:-1:-1;1208:5453:196;3904:30:142;1208:5453:196;1622:3:142;3904:30;;3507:47;1208:5453:196;;;;;-1:-1:-1;;1208:5453:196;;3507:47:142;;1208:5453:196;;;;;;-1:-1:-1;1208:5453:196;;;-1:-1:-1;1208:5453:196;3418:78:142;3463:25;;;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;-1:-1:-1;3418:78:142;;1208:5453:196;;;;;;-1:-1:-1;1208:5453:196;;;-1:-1:-1;1208:5453:196;3325:83:142;3370:30;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;;3325:83;;1208:5453:196;;;;;;-1:-1:-1;1208:5453:196;;;-1:-1:-1;1208:5453:196;3230:85:142;3275:32;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;3230:85;;;3134:86;3179:33;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;3134:86;;;3038;3082:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;3038:86;;;2942;2986:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;2942:86;;;2846;2890:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;2846:86;;;2750;2794:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;2750:86;;;2655:85;2698:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;2655:85;;;2560;2603:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;2560:85;;;2465;2508:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;2465:85;;;2370;2413:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;2370:85;;;2276:84;2318:34;;1208:5453:196;;;;;;;;;;;;;;;637:9:142;;2276:84;;;2182;2224:34;;1208:5453:196;;;;;;;;;;;;;;;2263:3:142;637:9;2182:84;;;2088;2130:34;;1208:5453:196;;;;;;;;;;;;;;;2169:3:142;637:9;2088:84;;;1994;2036:34;;1208:5453:196;;;;;;;;;;;;;;;2075:3:142;637:9;1994:84;;;1901:83;1942:34;;1208:5453:196;;;;;;;;;;;;;;;1981:3:142;637:9;1901:83;;;1808;1849:34;;1208:5453:196;;;;;;;;;;;;;;;1888:3:142;637:9;1808:83;;;1715;1756:34;;1208:5453:196;;;;;;;;;;;;;;;1795:3:142;637:9;1715:83;;;1612:93;-1:-1:-1;;;;;;;;1612:93:142;;637:9;1208:5453:196;;-1:-1:-1;;;637:9:142;;;;;;;;;;;1208:5453:196;-1:-1:-1;;;1208:5453:196;;;637:9:142;;;;1468:57;;;;742:3801:141;-1:-1:-1;;1318:150:141;;;;;;;;;;;;;;;;;;1540:10;1208:5453:196;1540:10:141;;1536:179;;-1:-1:-1;;;1828:19:141;;;;1208:5453:196;;;2152:71:141;2287:117;;;;;;;;1208:5453:196;;;;;;;;;;;3046:72:141;;1208:5453:196;;;;;;;2287:117:141;2809:58;;3127:21;1208:5453:196;;;;;;;;;;;742:3801:141;:::o;1208:5453:196:-;-1:-1:-1;;;1208:5453:196;;;;;;;;;;;;1536:179:141;-1:-1:-1;;1604:74:141;;;1691:13;-1:-1:-1;;1691:13:141:o;742:3801::-;-1:-1:-1;;;1670:35:142;742:3801:141;-1:-1:-1;;742:3801:141;1670:35:142;1318:150:141;;;1670:35:142;1318:150:141;;;;;;;;;;;;1540:10;;1536:179;;1828:19;;;1208:5453:196;;;2152:71:141;;;1208:5453:196;;;;;;;;;;;2568:51:141;;2675:70;;;1208:5453:196;3136:12:141;1208:5453:196;3046:72:141;1208:5453:196;3046:72:141;;;;;;2287:117;;;;;;3136:12;:::i;:::-;1208:5453:196;;3497:1:141;1208:5453:196;;3497:1:141;1208:5453:196;;;;;;3516:1:141;3496:21;;;3743:17;;;;:::i;:::-;1208:5453:196;;;;;;;;3732:28:141;;;;:::i;:::-;3801:17;;;;:::i;:::-;1208:5453:196;;;;;;;;3790:28:141;;;;:::i;:::-;3860:17;;;;:::i;:::-;1208:5453:196;;;;;;;;3849:28:141;;;;:::i;:::-;3919:17;;;;:::i;:::-;1208:5453:196;;;;;;;;3908:28:141;;;;:::i;:::-;3978:17;;;;:::i;:::-;1208:5453:196;;;;;;;;4038:17:141;3967:28;;;;:::i;:::-;4038:17;;;:::i;:::-;1208:5453:196;;;;;;;4027:28:141;4502:11;4027:28;;;;;:::i;:::-;2287:117;;2809:58;3127:21;4502:11;:::i;1208:5453:196:-;-1:-1:-1;;;1208:5453:196;;;;;;;;1536:179:141;1574:15;;;;;;;1208:5453:196;;1604:74:141;1691:13;:::o;742:3801::-;-1:-1:-1;;1318:150:141;;;;;;;;;;;;;;;;;1540:10;1208:5453:196;1540:10:141;;1536:179;;-1:-1:-1;;;1670:35:142;1828:19:141;;;1208:5453:196;;;2152:71:141;;;;2287:117;;;;;;;;;1208:5453:196;;;;;1670:35:142;1208:5453:196;;;;;;;;;;;2287:117:141;1670:35:142;2809:58:141;3127:21;1208:5453:196;;;;;;;;;;;742:3801:141;:::o;1536:179::-;-1:-1:-1;;1604:74:141;;;1691:13;-1:-1:-1;;1691:13:141:o;742:3801::-;-1:-1:-1;;;3046:72:141;742:3801;-1:-1:-1;;742:3801:141;3046:72;1318:150;;;3046:72;1318:150;;;;;;;;;;;;1540:10;;1536:179;;1828:19;;;1208:5453:196;;;2152:71:141;;;1208:5453:196;;;;;;;;;;;2568:51:141;;2675:70;;;1208:5453:196;3136:12:141;1208:5453:196;3046:72:141;1208:5453:196;3046:72:141;;;;;;2287:117;;;;;;3136:12;:::i;742:3801::-;-1:-1:-1;;1318:150:141;;;;;;;;;;;;;;;;;;1540:10;1208:5453:196;1540:10:141;;1536:179;;-1:-1:-1;;;3046:72:141;1828:19;;;1208:5453:196;;;2152:71:141;2287:117;;;;;;;;1208:5453:196;;;;;;;;;;-1:-1:-1;;;1208:5453:196;;;;;;;2287:117:141;3046:72;2809:58;3127:21;1208:5453:196;;;;;;;;;;;742:3801:141;:::o;1536:179::-;-1:-1:-1;;1604:74:141;;;1691:13;-1:-1:-1;;1691:13:141:o","linkReferences":{}},"methodIdentifiers":{"estimateRarePrice(address,uint128)":"442471f0","initialize(address)":"c4d66de8","rewardSwap(address,uint256,uint128)":"94a5a29d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CannotSwapRareForRare\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ParameterValueTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RarePriceTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedERC20Token\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_msgSender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_rareIn\",\"type\":\"uint256\"}],\"name\":\"RewardAccumulator\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_rareAmountIn\",\"type\":\"uint128\"}],\"name\":\"estimateRarePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingPool\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"_rareIn\",\"type\":\"uint128\"}],\"name\":\"rewardSwap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"charlescrain\",\"details\":\"It is one base user per contract. This is the implementation contract for a beacon proxy.\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"estimateRarePrice(address,uint128)\":{\"params\":{\"_rareAmountIn\":\"uint128 amount of RARE to trade for the _tokenOut.\",\"_tokenOut\":\"Address of the ERC20 token to be swapped for.\"},\"returns\":{\"_0\":\"uint256 amount of _tokenOut for the _rareAmountIn.\"}},\"rewardSwap(address,uint256,uint128)\":{\"params\":{\"_minAmountOut\":\"Min amount one is willing to receive for the _rareIn.\",\"_rareIn\":\"The amount of RARE one is looking to trade.\",\"_tokenOut\":\"Address of the ERC20 to pay out with. If null address, then uses ETH.\"}}},\"title\":\"RewardAccumulator\",\"version\":1},\"userdoc\":{\"errors\":{\"CannotSwapRareForRare()\":[{\"notice\":\"Error emitted via {rewardSwap} if _tokenOut is the $RARE address.\"}],\"InsufficientFunds()\":[{\"notice\":\"Error emitted via {rewardSwap} if reward swap doesn't have enough funds to perform the swap.\"}],\"ParameterValueTooLow()\":[{\"notice\":\"Error emitted when a parameter is too low.\"}],\"RarePriceTooLow()\":[{\"notice\":\"Error emitted via {rewardSwap} if the rare price is too low to handle the _minAmountOut requirement.\"}],\"Unauthorized()\":[{\"notice\":\"Error emitted when user doesnt meet the criteria for call.\"}],\"UnsupportedERC20Token()\":[{\"notice\":\"Emitted when an unsupported ERC20 token for reward swapping.\"}]},\"kind\":\"user\",\"methods\":{\"estimateRarePrice(address,uint128)\":{\"notice\":\"Estimate the discounted $RARE price for a given token.\"},\"rewardSwap(address,uint256,uint128)\":{\"notice\":\"Swap RARE for a discounted price on tokens stored\"}},\"notice\":\"The reward accumulator accumulates rewards and allows for swapping of ETH or ERC20 tokens in exchange for RARE.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/reward/RewardAccumulator.sol\":\"RewardAccumulator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b\",\"dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588\"]},\"lib/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97\",\"dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2\"]},\"lib/v3-periphery/contracts/libraries/OracleLibrary.sol\":{\"keccak256\":\"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313\",\"dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/reward/IRewardAccumulator.sol\":{\"keccak256\":\"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d\",\"dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD\"]},\"src/staking/reward/RewardAccumulator.sol\":{\"keccak256\":\"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474\",\"dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CannotSwapRareForRare"},{"inputs":[],"type":"error","name":"InsufficientFunds"},{"inputs":[],"type":"error","name":"ParameterValueTooLow"},{"inputs":[],"type":"error","name":"RarePriceTooLow"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"UnsupportedERC20Token"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_msgSender","type":"address","indexed":true},{"internalType":"address","name":"_tokenOut","type":"address","indexed":true},{"internalType":"uint256","name":"_amountOut","type":"uint256","indexed":false},{"internalType":"uint256","name":"_rareIn","type":"uint256","indexed":false}],"type":"event","name":"RewardAccumulator","anonymous":false},{"inputs":[{"internalType":"address","name":"_tokenOut","type":"address"},{"internalType":"uint128","name":"_rareAmountIn","type":"uint128"}],"stateMutability":"view","type":"function","name":"estimateRarePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_stakingPool","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_tokenOut","type":"address"},{"internalType":"uint256","name":"_minAmountOut","type":"uint256"},{"internalType":"uint128","name":"_rareIn","type":"uint128"}],"stateMutability":"nonpayable","type":"function","name":"rewardSwap"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"estimateRarePrice(address,uint128)":{"params":{"_rareAmountIn":"uint128 amount of RARE to trade for the _tokenOut.","_tokenOut":"Address of the ERC20 token to be swapped for."},"returns":{"_0":"uint256 amount of _tokenOut for the _rareAmountIn."}},"rewardSwap(address,uint256,uint128)":{"params":{"_minAmountOut":"Min amount one is willing to receive for the _rareIn.","_rareIn":"The amount of RARE one is looking to trade.","_tokenOut":"Address of the ERC20 to pay out with. If null address, then uses ETH."}}},"version":1},"userdoc":{"kind":"user","methods":{"estimateRarePrice(address,uint128)":{"notice":"Estimate the discounted $RARE price for a given token."},"rewardSwap(address,uint256,uint128)":{"notice":"Swap RARE for a discounted price on tokens stored"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/reward/RewardAccumulator.sol":"RewardAccumulator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19","urls":["bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b","dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588"],"license":"MIT"},"lib/v3-core/contracts/libraries/TickMath.sol":{"keccak256":"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347","urls":["bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97","dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/libraries/OracleLibrary.sol":{"keccak256":"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a","urls":["bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313","dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR"],"license":"GPL-2.0-or-later"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/reward/IRewardAccumulator.sol":{"keccak256":"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42","urls":["bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d","dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD"],"license":"MIT"},"src/staking/reward/RewardAccumulator.sol":{"keccak256":"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c","urls":["bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474","dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":196} \ No newline at end of file diff --git a/abis/RewardAccumulatorFactory.json b/abis/RewardAccumulatorFactory.json index ff171a8..7e2877c 100644 --- a/abis/RewardAccumulatorFactory.json +++ b/abis/RewardAccumulatorFactory.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployRewardSwap","inputs":[{"name":"_stakingAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRewardSwapTemplateAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_rewardTemplate","type":"address","internalType":"address"},{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRewardAccumulatorTemplate","inputs":[{"name":"_rewardTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RewardAccumulatorTemplateUpdated","inputs":[{"name":"rewardTemplate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RewardSwapContractCreated","inputs":[{"name":"_stakingAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x60a080604052346100dc57306080526000549060ff8260081c1661008a575060ff8082160361004f575b6040516116e290816100e2823960805181818161042c0152818161055f0152610a1a0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610029565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe6040608081526004803610156200001557600080fd5b600091823560e01c9182633659cfe614620009ef578263485cc95514620008205782634f1ef28614620004db57826352d1902d14620004165782635c60da1b1462000165578263715018a614620003ab578263733fd34214620002aa57826379ba5097146200021d5782637bd5029d1462000196575081638da5cb5b146200016b578163bc3ccf6d1462000165578163e30c39781462000136575063f2fde38b14620000c057600080fd5b34620001335760203660031901126200013357620000dd62000c18565b620000e762000d28565b606580546001600160a01b0319166001600160a01b039283169081179091556033549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b80fd5b905034620001615781600319360112620001615760655490516001600160a01b039091168152602090f35b5080fd5b62000ca7565b905034620001615781600319360112620001615760335490516001600160a01b039091168152602090f35b90915034620002195760203660031901126200021957620001b662000c18565b620001c062000d28565b6001600160a01b03169182156200020c57505060fb80546001600160a01b031916821790557ff554442e70ba202738fe077c8f4e40b64121198a4aa620c00a9e0853bef257de8280a280f35b51637827912560e01b8152fd5b8280fd5b9150346200021957826003193601126200021957606554336001600160a01b0390911603620002555782620002523362000cd2565b80f35b906020608492519162461bcd60e51b8352820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152fd5b909150346200021957602036600319011262000219576001600160a01b039081620002d462000c18565b1680156200039c5783519063189acdbd60e31b6020830152602482015260248152620003008162000c34565b83519161066f8084019184831067ffffffffffffffff84111762000389575091856200033f9285946200101e8639308152816020820152019062000f7a565b039084f080156200037d57917f46bcaddc4b315eb3afafbc7a854a62d892dcae7b985d18ccca7e1ea6f8ada366916020949316918291519380a28152f35b505051903d90823e3d90fd5b634e487b7160e01b885260419052602487fd5b508251637827912560e01b8152fd5b83346200013357806003193601126200013357620003c862000d28565b606580546001600160a01b031990811690915560338054918216905581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b83346200013357806003193601126200013357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036200047357602082516000805160206200168d8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b9150806003193601126200021957620004f362000c18565b906024359067ffffffffffffffff82116200081c57366023830112156200081c5781840135620005238162000c8a565b620005318351918262000c67565b8181528660209485830193366024828401011162000219578060248893018637830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906200058f3083141562000d81565b620005af6000805160206200168d83398151915292828454161462000de3565b620005b962000d28565b86169081156200080c577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620006005750505050505062000252915062000e45565b849596929394516352d1902d60e01b815287818a81865afa8a9181620007d3575b506200068157865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9791929396959497036200077e57506200069b8262000e45565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8780a28584511580159062000775575b620006db575b50505050505080f35b806200075d96845196620006ef8862000c34565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d156200076a573d6200074e620007448262000c8a565b9251928362000c67565b81528681943d92013e62000ed7565b50388080808085620006d2565b506060925062000ed7565b506001620006cc565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d831162000804575b620007ee818362000c67565b81010312620008005751903862000621565b8a80fd5b503d620007e2565b8451637827912560e01b81528890fd5b8480fd5b9091503462000219578160031936011262000219576200083f62000c18565b90602435906001600160a01b038083169190828403620009eb5786549460ff8660081c161595868097620009dd575b8015620009c4575b156200096a5760ff19811660011789558662000958575b50169182156200094957156200093b575090620008fc916bffffffffffffffffffffffff60a01b60fb54161760fb55620008d960ff865460081c16620008d38162000fbc565b62000fbc565b620008e43362000cd2565b620008f660ff865460081c1662000fbc565b62000cd2565b62000905575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b8451637827912560e01b8152fd5b508451637827912560e01b8152fd5b61ffff1916610101178855386200088d565b875162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620008765750600160ff82161462000876565b50600160ff8216106200086e565b8680fd5b915034620002195760208060031936011262000c145762000a0f62000c18565b916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169062000a4a3083141562000d81565b62000a6a6000805160206200168d83398151915292828454161462000de3565b62000a7462000d28565b8416801562000c04578251908482019282841067ffffffffffffffff85111762000bf1578385528883527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000adb5750505050505062000252915062000e45565b849596929394516352d1902d60e01b815287818a81865afa8a918162000bbc575b5062000b5c57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9791929396959497036200077e575062000b768262000e45565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8780a28584511580159062000bb457620006db5750505050505080f35b5080620006cc565b9091508881813d831162000be9575b62000bd7818362000c67565b81010312620008005751903862000afc565b503d62000bcb565b634e487b7160e01b895260418852602489fd5b8251637827912560e01b81528690fd5b8380fd5b600435906001600160a01b038216820362000c2f57565b600080fd5b6060810190811067ffffffffffffffff82111762000c5157604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111762000c5157604052565b67ffffffffffffffff811162000c5157601f01601f191660200190565b3462000c2f57600036600319011262000c2f5760fb546040516001600160a01b039091168152602090f35b6bffffffffffffffffffffffff60a01b90816065541660655560335460018060a01b038092168093821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6033546001600160a01b0316330362000d3d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1562000d8957565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1562000deb57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562000e7c576000805160206200168d83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901562000f3c575081511562000eed575090565b3b1562000ef75790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501562000f505750805190602001fd5b60405162461bcd60e51b81526020600482015290819062000f7690602483019062000f7a565b0390fd5b919082519283825260005b84811062000fa7575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162000f85565b1562000fc457565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe608060409080825261066f80380380916100198285610350565b8339810190828183031261034b5761003081610373565b6020828101516001600160401b039391929184821161034b57019084601f8301121561034b5781519161006283610387565b9261006f88519485610350565b8084528484019685828401011161034b57868561008c93016103a2565b803b156102f9578551635c60da1b60e01b80825292916001600160a01b0316908481600481855afa9081156102ee576000916102b9575b503b1561025c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b03191682179055865192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a2825115801590610254575b610142575b87516101f690816104798239f35b6004848693819382525afa9182156102495760009261020f575b5085519360608501908111858210176101f9578652602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c83850152660819985a5b195960ca1b84870152516101e3946000918291845af4903d156101f0573d6101c781610387565b906101d488519283610350565b8152600081943d92013e6103c5565b5038808080808080610134565b606092506103c5565b634e487b7160e01b600052604160045260246000fd5b90918382813d8311610242575b6102268183610350565b8101031261023f575061023890610373565b903861015c565b80fd5b503d61021c565b86513d6000823e3d90fd5b50600061012f565b865162461bcd60e51b815260048101859052603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b908582813d83116102e7575b6102cf8183610350565b8101031261023f57506102e190610373565b386100c3565b503d6102c5565b88513d6000823e3d90fd5b855162461bcd60e51b815260048101849052602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101f957604052565b51906001600160a01b038216820361034b57565b6001600160401b0381116101f957601f01601f191660200190565b60005b8381106103b55750506000910152565b81810151838201526020016103a5565b9192901561042757508151156103d9575090565b3b156103e25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561043a5750805190602001fd5b6044604051809262461bcd60e51b82526020600483015261046a81518092816024860152602086860191016103a2565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea2646970667358221220282abf688b062a839a4662d551dabcadaac92addb7cebf18c13322630af9222464736f6c63430008120033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122073e67a4b5a17ad325bdcda96263ea55cfa570c93874b5b1e88249da66372f3bc64736f6c63430008120033","sourceMap":"820:3482:181:-:0;;;;;;;1332:4:46;1324:13;;6007::45;820:3482:181;;;;;;;;;;;;;;6078:31:45;6074:139;;-1:-1:-1;820:3482:181;;;;;;;;1324:13:46;820:3482:181;;;;;;;;;;;;;;;;6074:139:45;820:3482:181;;;;;;6007:13:45;820:3482:181;6174:28:45;820:3482:181;;;;;;6174:28:45;6074:139;;;820:3482:181;-1:-1:-1;;;820:3482:181;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004803610156200001557600080fd5b600091823560e01c9182633659cfe614620009ef578263485cc95514620008205782634f1ef28614620004db57826352d1902d14620004165782635c60da1b1462000165578263715018a614620003ab578263733fd34214620002aa57826379ba5097146200021d5782637bd5029d1462000196575081638da5cb5b146200016b578163bc3ccf6d1462000165578163e30c39781462000136575063f2fde38b14620000c057600080fd5b34620001335760203660031901126200013357620000dd62000c18565b620000e762000d28565b606580546001600160a01b0319166001600160a01b039283169081179091556033549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b80fd5b905034620001615781600319360112620001615760655490516001600160a01b039091168152602090f35b5080fd5b62000ca7565b905034620001615781600319360112620001615760335490516001600160a01b039091168152602090f35b90915034620002195760203660031901126200021957620001b662000c18565b620001c062000d28565b6001600160a01b03169182156200020c57505060fb80546001600160a01b031916821790557ff554442e70ba202738fe077c8f4e40b64121198a4aa620c00a9e0853bef257de8280a280f35b51637827912560e01b8152fd5b8280fd5b9150346200021957826003193601126200021957606554336001600160a01b0390911603620002555782620002523362000cd2565b80f35b906020608492519162461bcd60e51b8352820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152fd5b909150346200021957602036600319011262000219576001600160a01b039081620002d462000c18565b1680156200039c5783519063189acdbd60e31b6020830152602482015260248152620003008162000c34565b83519161066f8084019184831067ffffffffffffffff84111762000389575091856200033f9285946200101e8639308152816020820152019062000f7a565b039084f080156200037d57917f46bcaddc4b315eb3afafbc7a854a62d892dcae7b985d18ccca7e1ea6f8ada366916020949316918291519380a28152f35b505051903d90823e3d90fd5b634e487b7160e01b885260419052602487fd5b508251637827912560e01b8152fd5b83346200013357806003193601126200013357620003c862000d28565b606580546001600160a01b031990811690915560338054918216905581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b83346200013357806003193601126200013357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036200047357602082516000805160206200168d8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b9150806003193601126200021957620004f362000c18565b906024359067ffffffffffffffff82116200081c57366023830112156200081c5781840135620005238162000c8a565b620005318351918262000c67565b8181528660209485830193366024828401011162000219578060248893018637830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906200058f3083141562000d81565b620005af6000805160206200168d83398151915292828454161462000de3565b620005b962000d28565b86169081156200080c577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620006005750505050505062000252915062000e45565b849596929394516352d1902d60e01b815287818a81865afa8a9181620007d3575b506200068157865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9791929396959497036200077e57506200069b8262000e45565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8780a28584511580159062000775575b620006db575b50505050505080f35b806200075d96845196620006ef8862000c34565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d156200076a573d6200074e620007448262000c8a565b9251928362000c67565b81528681943d92013e62000ed7565b50388080808085620006d2565b506060925062000ed7565b506001620006cc565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d831162000804575b620007ee818362000c67565b81010312620008005751903862000621565b8a80fd5b503d620007e2565b8451637827912560e01b81528890fd5b8480fd5b9091503462000219578160031936011262000219576200083f62000c18565b90602435906001600160a01b038083169190828403620009eb5786549460ff8660081c161595868097620009dd575b8015620009c4575b156200096a5760ff19811660011789558662000958575b50169182156200094957156200093b575090620008fc916bffffffffffffffffffffffff60a01b60fb54161760fb55620008d960ff865460081c16620008d38162000fbc565b62000fbc565b620008e43362000cd2565b620008f660ff865460081c1662000fbc565b62000cd2565b62000905575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b8451637827912560e01b8152fd5b508451637827912560e01b8152fd5b61ffff1916610101178855386200088d565b875162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620008765750600160ff82161462000876565b50600160ff8216106200086e565b8680fd5b915034620002195760208060031936011262000c145762000a0f62000c18565b916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169062000a4a3083141562000d81565b62000a6a6000805160206200168d83398151915292828454161462000de3565b62000a7462000d28565b8416801562000c04578251908482019282841067ffffffffffffffff85111762000bf1578385528883527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000adb5750505050505062000252915062000e45565b849596929394516352d1902d60e01b815287818a81865afa8a918162000bbc575b5062000b5c57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9791929396959497036200077e575062000b768262000e45565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8780a28584511580159062000bb457620006db5750505050505080f35b5080620006cc565b9091508881813d831162000be9575b62000bd7818362000c67565b81010312620008005751903862000afc565b503d62000bcb565b634e487b7160e01b895260418852602489fd5b8251637827912560e01b81528690fd5b8380fd5b600435906001600160a01b038216820362000c2f57565b600080fd5b6060810190811067ffffffffffffffff82111762000c5157604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111762000c5157604052565b67ffffffffffffffff811162000c5157601f01601f191660200190565b3462000c2f57600036600319011262000c2f5760fb546040516001600160a01b039091168152602090f35b6bffffffffffffffffffffffff60a01b90816065541660655560335460018060a01b038092168093821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6033546001600160a01b0316330362000d3d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1562000d8957565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1562000deb57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562000e7c576000805160206200168d83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901562000f3c575081511562000eed575090565b3b1562000ef75790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501562000f505750805190602001fd5b60405162461bcd60e51b81526020600482015290819062000f7690602483019062000f7a565b0390fd5b919082519283825260005b84811062000fa7575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162000f85565b1562000fc457565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe608060409080825261066f80380380916100198285610350565b8339810190828183031261034b5761003081610373565b6020828101516001600160401b039391929184821161034b57019084601f8301121561034b5781519161006283610387565b9261006f88519485610350565b8084528484019685828401011161034b57868561008c93016103a2565b803b156102f9578551635c60da1b60e01b80825292916001600160a01b0316908481600481855afa9081156102ee576000916102b9575b503b1561025c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b03191682179055865192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a2825115801590610254575b610142575b87516101f690816104798239f35b6004848693819382525afa9182156102495760009261020f575b5085519360608501908111858210176101f9578652602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c83850152660819985a5b195960ca1b84870152516101e3946000918291845af4903d156101f0573d6101c781610387565b906101d488519283610350565b8152600081943d92013e6103c5565b5038808080808080610134565b606092506103c5565b634e487b7160e01b600052604160045260246000fd5b90918382813d8311610242575b6102268183610350565b8101031261023f575061023890610373565b903861015c565b80fd5b503d61021c565b86513d6000823e3d90fd5b50600061012f565b865162461bcd60e51b815260048101859052603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b908582813d83116102e7575b6102cf8183610350565b8101031261023f57506102e190610373565b386100c3565b503d6102c5565b88513d6000823e3d90fd5b855162461bcd60e51b815260048101849052602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101f957604052565b51906001600160a01b038216820361034b57565b6001600160401b0381116101f957601f01601f191660200190565b60005b8381106103b55750506000910152565b81810151838201526020016103a5565b9192901561042757508151156103d9575090565b3b156103e25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561043a5750805190602001fd5b6044604051809262461bcd60e51b82526020600483015261046a81518092816024860152602086860191016103a2565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea2646970667358221220282abf688b062a839a4662d551dabcadaac92addb7cebf18c13322630af9222464736f6c63430008120033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca264697066735822122073e67a4b5a17ad325bdcda96263ea55cfa570c93874b5b1e88249da66372f3bc64736f6c63430008120033","sourceMap":"820:3482:181:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;820:3482:181;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;1504:24:38;820:3482:181;;-1:-1:-1;;;;;;820:3482:181;-1:-1:-1;;;;;820:3482:181;;;;;;;;;1513:6:39;820:3482:181;;;;1543:43:38;;;;820:3482:181;;;;;;;;;;;;;;;;;;;1202:13:38;820:3482:181;;;-1:-1:-1;;;;;820:3482:181;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1513:6:39;820:3482:181;;;-1:-1:-1;;;;;820:3482:181;;;;;;;;;;;;;;;;;-1:-1:-1;;820:3482:181;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;820:3482:181;;2818:29;;2815:65;;-1:-1:-1;;2886:32:181;820:3482;;-1:-1:-1;;;;;;820:3482:181;;;;;2929:49;;;;820:3482;;2815:65;820:3482;-1:-1:-1;;;2856:24:181;;;820:3482;;;;;;;;;;;;;;;;;;1202:13:38;820:3482:181;929:10:65;-1:-1:-1;;;;;820:3482:181;;;2109:24:38;820:3482:181;;929:10:65;2208:6:38;929:10:65;2208:6:38;:::i;:::-;820:3482:181;;;;;;;;971:66:43;;;;820:3482:181;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;;;;;-1:-1:-1;;820:3482:181;;;;-1:-1:-1;;;;;820:3482:181;;;;:::i;:::-;;3465:29;;3462:65;;820:3482;;3628:37;;;;820:3482;3605:87;;;;;;820:3482;3605:87;;;;;;:::i;:::-;820:3482;;3561:137;;;;;;;;;;;;;;;;;;820:3482;3561:137;;;;;;3592:4;820:3482;;;;;;;;;;:::i;:::-;3561:137;;;;;;;;820:3482;3710:49;820:3482;;;;;;;;;3710:49;;;820:3482;;;3561:137;820:3482;;;971:66:43;;;;;;;;3561:137:181;-1:-1:-1;;;820:3482:181;;;;;3605:87;820:3482;;3462:65;-1:-1:-1;820:3482:181;;-1:-1:-1;;;3503:24:181;;;820:3482;;;;;;;;;;;;;1303:62:39;;:::i;:::-;1859:20:38;820:3482:181;;-1:-1:-1;;;;;;820:3482:181;;;;;;2758:6:39;820:3482:181;;;;;;;;;-1:-1:-1;;;;;820:3482:181;2806:40:39;820:3482:181;;2806:40:39;820:3482:181;;;;;;;;;;;;;;;-1:-1:-1;2333:6:46;-1:-1:-1;;;;;820:3482:181;2324:4:46;2316:23;820:3482:181;;;;;-1:-1:-1;;;;;;;;;;;820:3482:181;;;;;;;;971:66:43;;;;820:3482:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:46;820:3482:181;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;820:3482:181;;;;;1971:30:46;1963:87;:::i;:::-;1303:62:39;;:::i;:::-;820:3482:181;;2341:29;;;2338:65;;971:66:43;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;820:3482:181;;;;;;;971:66:43;;;3383:63;;;;;;;;;;;;;;3232:526;-1:-1:-1;3379:302:43;;820:3482:181;;-1:-1:-1;;;3610:56:43;;;;;971:66;;;;820:3482:181;971:66:43;;820:3482:181;971:66:43;820:3482:181;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;3610:56;3379:302;3496:28;;;;;;;;;971:66;;3379:302;2171:17;;;:::i;:::-;2204:27;;;;820:3482:181;;;2523:15:43;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;;;820:3482:181;;2519:123:43;820:3482:181;7318:69:63;820:3482:181;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;820:3482:181;;;;7276:25:63;;;;;;820:3482:181;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;7318:69:63;:::i;:::-;;2519:123:43;;;;;;;;820:3482:181;-1:-1:-1;820:3482:181;;-1:-1:-1;7318:69:63;:::i;2523:28:43:-;;820:3482:181;2523:28:43;;971:66;820:3482:181;;-1:-1:-1;;;971:66:43;;;;;;;;;820:3482:181;971:66:43;;820:3482:181;971:66:43;820:3482:181;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;;3383:63;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;3383:63;;;;971:66;820:3482:181;;;3383:63:43;;;;;2338:65:181;820:3482;;-1:-1:-1;;;2379:24:181;;820:3482;;2379:24;820:3482;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;820:3482:181;;;;;;;;;;;;;971:66:43;820:3482:181;;;971:66:43;3301:14:45;3347:34;;;;;;820:3482:181;3346:108:45;;;;820:3482:181;;;;-1:-1:-1;;820:3482:181;;;;;;;3562:65:45;;820:3482:181;;;1748:29;;;1745:65;;1819:23;1816:59;;820:3482;;1990:9;820:3482;;;;1881:32;820:3482;;;1881:32;820:3482;5366:69:45;971:66:43;820:3482:181;;;;971:66:43;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;5366:69:45;971:66:43;820:3482:181;;;;971:66:43;5366:69:45;:::i;:::-;1990:9:181;:::i;:::-;3647:99:45;;820:3482:181;;;3647:99:45;820:3482:181;3721:14:45;820:3482:181;;;;;;;;;;;;3721:14:45;820:3482:181;;1816:59;820:3482;;-1:-1:-1;;;1851:24:181;;;1745:65;-1:-1:-1;820:3482:181;;-1:-1:-1;;;1786:24:181;;;3562:65:45;-1:-1:-1;;820:3482:181;;;;;3562:65:45;;;820:3482:181;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:181;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;971::43;820:3482:181;971:66:43;;;3436:17:45;3346:108;;3347:34;971:66:43;820:3482:181;971:66:43;;;3365:16:45;3347:34;;820:3482:181;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1898:6:46;820:3482:181;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;820:3482:181;;;;;1971:30:46;1963:87;:::i;:::-;1303:62:39;;:::i;:::-;820:3482:181;;2341:29;;2338:65;;820:3482;;;;;;;;;;;;;;;;;;;;;;971:66:43;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;820:3482:181;;;;;;;971:66:43;;;3383:63;;;;;;;;;;;;;;3232:526;-1:-1:-1;3379:302:43;;820:3482:181;;-1:-1:-1;;;3610:56:43;;;;;971:66;;;;;;;820:3482:181;971:66:43;820:3482:181;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;3610:56;3379:302;3496:28;;;;;;;;;971:66;;3379:302;2171:17;;;:::i;:::-;2204:27;;;;820:3482:181;;;2523:15:43;;;:28;;;2519:123;;3232:526;;;;;;820:3482:181;;2523:28:43;;;;;3383:63;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;3383:63;;;;;;;;;820:3482:181;-1:-1:-1;;;820:3482:181;;;;;;;;2338:65;820:3482;;-1:-1:-1;;;2379:24:181;;820:3482;;2379:24;820:3482;;;;;;;;-1:-1:-1;;;;;820:3482:181;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;820:3482:181;;;;:::o;:::-;;;;;;-1:-1:-1;;820:3482:181;;;;4150:14;820:3482;;;-1:-1:-1;;;;;820:3482:181;;;;;;;;1777:153:38;820:3482:181;;;;;1859:20:38;820:3482:181;;1859:20:38;820:3482:181;2758:6:39;820:3482:181;;;;;;;;;;;;;;2758:6:39;820:3482:181;;2806:40:39;1859:20:38;2806:40:39;;1777:153:38:o;1599:130:39:-;1513:6;820:3482:181;-1:-1:-1;;;;;820:3482:181;929:10:65;1662:23:39;820:3482:181;;1599:130:39:o;820:3482:181:-;;;;971:66:43;;;820:3482:181;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:181;;;;;;;1699:281:43;1713:19:63;;:23;820:3482:181;;-1:-1:-1;;;;;;;;;;;820:3482:181;;-1:-1:-1;;;;;;820:3482:181;-1:-1:-1;;;;;820:3482:181;;;;;;;;;1699:281:43:o;820:3482:181:-;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:181;;;;;;;7682:628:63;;;;7886:418;;;820:3482:181;;;7917:22:63;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;820:3482:181;;8212:17:63;:::o;820:3482:181:-;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;;;;;;;;;;;7886:418:63;820:3482:181;;;;-1:-1:-1;8991:21:63;:17;;9163:142;;;;;;;8987:379;820:3482:181;;-1:-1:-1;;;9335:20:63;;820:3482:181;9335:20:63;;;820:3482:181;;;;;;;;;;;:::i;:::-;9335:20:63;;;820:3482:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;820:3482:181;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:181;;;;;;","linkReferences":{},"immutableReferences":{"31740":[{"start":1068,"length":32},{"start":1375,"length":32},{"start":2586,"length":32}]}},"methodIdentifiers":{"acceptOwnership()":"79ba5097","deployRewardSwap(address)":"733fd342","getRewardSwapTemplateAddress()":"bc3ccf6d","implementation()":"5c60da1b","initialize(address,address)":"485cc955","owner()":"8da5cb5b","pendingOwner()":"e30c3978","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setRewardAccumulatorTemplate(address)":"7bd5029d","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardTemplate\",\"type\":\"address\"}],\"name\":\"RewardAccumulatorTemplateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"RewardSwapContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"deployRewardSwap\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardSwapTemplateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardTemplate\",\"type\":\"address\"}],\"name\":\"setRewardAccumulatorTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"charlescrain\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"deployRewardSwap(address)\":{\"params\":{\"_stakingAddress\":\"Address of staking contract.\"},\"returns\":{\"_0\":\"address Address of the RewardAccumulator contract.\"}},\"getRewardSwapTemplateAddress()\":{\"returns\":{\"_0\":\"address Address of the template.\"}},\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setRewardAccumulatorTemplate(address)\":{\"details\":\"Requires the caller to be the owner of the contract.\",\"params\":{\"_rewardTemplate\":\"Address of the RewardAccumulator template.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"RewardAccumulatorFactory\",\"version\":1},\"userdoc\":{\"errors\":{\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"RewardAccumulatorTemplateUpdated(address)\":{\"notice\":\"Emitted via {setRewardAccumulatorTemplate} when the RewardAccumulatorTemplate is upaded.\"},\"RewardSwapContractCreated(address)\":{\"notice\":\"Emitted via {deployRewardSwap} when a new RewardAccumulator contract is deployed.\"}},\"kind\":\"user\",\"methods\":{\"deployRewardSwap(address)\":{\"notice\":\"Deploys a RewardAccumulator contract.\"},\"getRewardSwapTemplateAddress()\":{\"notice\":\"Retrieve the template contract\"},\"setRewardAccumulatorTemplate(address)\":{\"notice\":\"Set the RewardAccumulator template address to be used.\"}},\"notice\":\"The RewardAccumulator Factory that creates RewardAccumulator contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/factory/RewardAccumulatorFactory.sol\":\"RewardAccumulatorFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol\":{\"keccak256\":\"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e\",\"dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2\",\"dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054\",\"dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c\",\"dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b\",\"dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b\",\"dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588\"]},\"lib/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97\",\"dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2\"]},\"lib/v3-periphery/contracts/libraries/OracleLibrary.sol\":{\"keccak256\":\"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313\",\"dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR\"]},\"src/staking/factory/IRewardAccumulatorFactory.sol\":{\"keccak256\":\"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1\",\"dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA\"]},\"src/staking/factory/RewardAccumulatorFactory.sol\":{\"keccak256\":\"0x4d1c7aca5f99de88f5a1bb9ec1f604fa550dfb44ff172ff36f77953a9c6bf088\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://797e363fbedea0c12ed1070c7829380a9d88c3adfbac94a9ae53156c50cd6129\",\"dweb:/ipfs/QmdVKT2AKtegMEW2ySDsKNHohSTgLSoR6xmseecqnDJQoZ\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/reward/IRewardAccumulator.sol\":{\"keccak256\":\"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d\",\"dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD\"]},\"src/staking/reward/RewardAccumulator.sol\":{\"keccak256\":\"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474\",\"dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"rewardTemplate","type":"address","indexed":true}],"type":"event","name":"RewardAccumulatorTemplateUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address","indexed":true}],"type":"event","name":"RewardSwapContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptOwnership"},{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployRewardSwap","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRewardSwapTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_rewardTemplate","type":"address"},{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_rewardTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRewardAccumulatorTemplate"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"acceptOwnership()":{"details":"The new owner accepts the ownership transfer."},"deployRewardSwap(address)":{"params":{"_stakingAddress":"Address of staking contract."},"returns":{"_0":"address Address of the RewardAccumulator contract."}},"getRewardSwapTemplateAddress()":{"returns":{"_0":"address Address of the template."}},"implementation()":{"details":"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract."},"owner()":{"details":"Returns the address of the current owner."},"pendingOwner()":{"details":"Returns the address of the pending owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setRewardAccumulatorTemplate(address)":{"details":"Requires the caller to be the owner of the contract.","params":{"_rewardTemplate":"Address of the RewardAccumulator template."}},"transferOwnership(address)":{"details":"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"deployRewardSwap(address)":{"notice":"Deploys a RewardAccumulator contract."},"getRewardSwapTemplateAddress()":{"notice":"Retrieve the template contract"},"setRewardAccumulatorTemplate(address)":{"notice":"Set the RewardAccumulator template address to be used."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/factory/RewardAccumulatorFactory.sol":"RewardAccumulatorFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol":{"keccak256":"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63","urls":["bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e","dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98","urls":["bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2","dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803","urls":["bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054","dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"keccak256":"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95","urls":["bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c","dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae","urls":["bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b","dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19","urls":["bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b","dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588"],"license":"MIT"},"lib/v3-core/contracts/libraries/TickMath.sol":{"keccak256":"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347","urls":["bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97","dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/libraries/OracleLibrary.sol":{"keccak256":"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a","urls":["bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313","dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR"],"license":"GPL-2.0-or-later"},"src/staking/factory/IRewardAccumulatorFactory.sol":{"keccak256":"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6","urls":["bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1","dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA"],"license":"MIT"},"src/staking/factory/RewardAccumulatorFactory.sol":{"keccak256":"0x4d1c7aca5f99de88f5a1bb9ec1f604fa550dfb44ff172ff36f77953a9c6bf088","urls":["bzz-raw://797e363fbedea0c12ed1070c7829380a9d88c3adfbac94a9ae53156c50cd6129","dweb:/ipfs/QmdVKT2AKtegMEW2ySDsKNHohSTgLSoR6xmseecqnDJQoZ"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/reward/IRewardAccumulator.sol":{"keccak256":"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42","urls":["bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d","dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD"],"license":"MIT"},"src/staking/reward/RewardAccumulator.sol":{"keccak256":"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c","urls":["bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474","dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":181} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployRewardSwap","inputs":[{"name":"_stakingAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRewardSwapTemplateAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_rewardTemplate","type":"address","internalType":"address"},{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRewardAccumulatorTemplate","inputs":[{"name":"_rewardTemplate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RewardAccumulatorTemplateUpdated","inputs":[{"name":"rewardTemplate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RewardSwapContractCreated","inputs":[{"name":"_stakingAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ZeroAddressUnsupported","inputs":[]}],"bytecode":{"object":"0x60a080604052346100dc57306080526000549060ff8260081c1661008a575060ff8082160361004f575b6040516116e290816100e2823960805181818161042c0152818161055f0152610a1a0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610029565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe6040608081526004803610156200001557600080fd5b600091823560e01c9182633659cfe614620009ef578263485cc95514620008205782634f1ef28614620004db57826352d1902d14620004165782635c60da1b1462000165578263715018a614620003ab578263733fd34214620002aa57826379ba5097146200021d5782637bd5029d1462000196575081638da5cb5b146200016b578163bc3ccf6d1462000165578163e30c39781462000136575063f2fde38b14620000c057600080fd5b34620001335760203660031901126200013357620000dd62000c18565b620000e762000d28565b606580546001600160a01b0319166001600160a01b039283169081179091556033549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b80fd5b905034620001615781600319360112620001615760655490516001600160a01b039091168152602090f35b5080fd5b62000ca7565b905034620001615781600319360112620001615760335490516001600160a01b039091168152602090f35b90915034620002195760203660031901126200021957620001b662000c18565b620001c062000d28565b6001600160a01b03169182156200020c57505060fb80546001600160a01b031916821790557ff554442e70ba202738fe077c8f4e40b64121198a4aa620c00a9e0853bef257de8280a280f35b51637827912560e01b8152fd5b8280fd5b9150346200021957826003193601126200021957606554336001600160a01b0390911603620002555782620002523362000cd2565b80f35b906020608492519162461bcd60e51b8352820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152fd5b909150346200021957602036600319011262000219576001600160a01b039081620002d462000c18565b1680156200039c5783519063189acdbd60e31b6020830152602482015260248152620003008162000c34565b83519161066f8084019184831067ffffffffffffffff84111762000389575091856200033f9285946200101e8639308152816020820152019062000f7a565b039084f080156200037d57917f46bcaddc4b315eb3afafbc7a854a62d892dcae7b985d18ccca7e1ea6f8ada366916020949316918291519380a28152f35b505051903d90823e3d90fd5b634e487b7160e01b885260419052602487fd5b508251637827912560e01b8152fd5b83346200013357806003193601126200013357620003c862000d28565b606580546001600160a01b031990811690915560338054918216905581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b83346200013357806003193601126200013357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036200047357602082516000805160206200168d8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b9150806003193601126200021957620004f362000c18565b906024359067ffffffffffffffff82116200081c57366023830112156200081c5781840135620005238162000c8a565b620005318351918262000c67565b8181528660209485830193366024828401011162000219578060248893018637830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906200058f3083141562000d81565b620005af6000805160206200168d83398151915292828454161462000de3565b620005b962000d28565b86169081156200080c577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620006005750505050505062000252915062000e45565b849596929394516352d1902d60e01b815287818a81865afa8a9181620007d3575b506200068157865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9791929396959497036200077e57506200069b8262000e45565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8780a28584511580159062000775575b620006db575b50505050505080f35b806200075d96845196620006ef8862000c34565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d156200076a573d6200074e620007448262000c8a565b9251928362000c67565b81528681943d92013e62000ed7565b50388080808085620006d2565b506060925062000ed7565b506001620006cc565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d831162000804575b620007ee818362000c67565b81010312620008005751903862000621565b8a80fd5b503d620007e2565b8451637827912560e01b81528890fd5b8480fd5b9091503462000219578160031936011262000219576200083f62000c18565b90602435906001600160a01b038083169190828403620009eb5786549460ff8660081c161595868097620009dd575b8015620009c4575b156200096a5760ff19811660011789558662000958575b50169182156200094957156200093b575090620008fc916bffffffffffffffffffffffff60a01b60fb54161760fb55620008d960ff865460081c16620008d38162000fbc565b62000fbc565b620008e43362000cd2565b620008f660ff865460081c1662000fbc565b62000cd2565b62000905575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b8451637827912560e01b8152fd5b508451637827912560e01b8152fd5b61ffff1916610101178855386200088d565b875162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620008765750600160ff82161462000876565b50600160ff8216106200086e565b8680fd5b915034620002195760208060031936011262000c145762000a0f62000c18565b916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169062000a4a3083141562000d81565b62000a6a6000805160206200168d83398151915292828454161462000de3565b62000a7462000d28565b8416801562000c04578251908482019282841067ffffffffffffffff85111762000bf1578385528883527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000adb5750505050505062000252915062000e45565b849596929394516352d1902d60e01b815287818a81865afa8a918162000bbc575b5062000b5c57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9791929396959497036200077e575062000b768262000e45565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8780a28584511580159062000bb457620006db5750505050505080f35b5080620006cc565b9091508881813d831162000be9575b62000bd7818362000c67565b81010312620008005751903862000afc565b503d62000bcb565b634e487b7160e01b895260418852602489fd5b8251637827912560e01b81528690fd5b8380fd5b600435906001600160a01b038216820362000c2f57565b600080fd5b6060810190811067ffffffffffffffff82111762000c5157604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111762000c5157604052565b67ffffffffffffffff811162000c5157601f01601f191660200190565b3462000c2f57600036600319011262000c2f5760fb546040516001600160a01b039091168152602090f35b6bffffffffffffffffffffffff60a01b90816065541660655560335460018060a01b038092168093821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6033546001600160a01b0316330362000d3d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1562000d8957565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1562000deb57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562000e7c576000805160206200168d83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901562000f3c575081511562000eed575090565b3b1562000ef75790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501562000f505750805190602001fd5b60405162461bcd60e51b81526020600482015290819062000f7690602483019062000f7a565b0390fd5b919082519283825260005b84811062000fa7575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162000f85565b1562000fc457565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe608060409080825261066f80380380916100198285610350565b8339810190828183031261034b5761003081610373565b6020828101516001600160401b039391929184821161034b57019084601f8301121561034b5781519161006283610387565b9261006f88519485610350565b8084528484019685828401011161034b57868561008c93016103a2565b803b156102f9578551635c60da1b60e01b80825292916001600160a01b0316908481600481855afa9081156102ee576000916102b9575b503b1561025c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b03191682179055865192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a2825115801590610254575b610142575b87516101f690816104798239f35b6004848693819382525afa9182156102495760009261020f575b5085519360608501908111858210176101f9578652602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c83850152660819985a5b195960ca1b84870152516101e3946000918291845af4903d156101f0573d6101c781610387565b906101d488519283610350565b8152600081943d92013e6103c5565b5038808080808080610134565b606092506103c5565b634e487b7160e01b600052604160045260246000fd5b90918382813d8311610242575b6102268183610350565b8101031261023f575061023890610373565b903861015c565b80fd5b503d61021c565b86513d6000823e3d90fd5b50600061012f565b865162461bcd60e51b815260048101859052603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b908582813d83116102e7575b6102cf8183610350565b8101031261023f57506102e190610373565b386100c3565b503d6102c5565b88513d6000823e3d90fd5b855162461bcd60e51b815260048101849052602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101f957604052565b51906001600160a01b038216820361034b57565b6001600160401b0381116101f957601f01601f191660200190565b60005b8381106103b55750506000910152565b81810151838201526020016103a5565b9192901561042757508151156103d9575090565b3b156103e25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561043a5750805190602001fd5b6044604051809262461bcd60e51b82526020600483015261046a81518092816024860152602086860191016103a2565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea26469706673582212207418485f5d6818dabcfb3ede8e113569fe9411b0369991d132c722e182abcd1a64736f6c63430008120033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212201066063d482ecab1aba355c90a63b549c8f63e8be656656c3155ed39f8f4873964736f6c63430008120033","sourceMap":"820:3482:192:-:0;;;;;;;1332:4:49;1324:13;;6007::48;820:3482:192;;;;;;;;;;;;;;6078:31:48;6074:139;;-1:-1:-1;820:3482:192;;;;;;;;1324:13:49;820:3482:192;;;;;;;;;;;;;;;;6074:139:48;820:3482:192;;;;;;6007:13:48;820:3482:192;6174:28:48;820:3482:192;;;;;;6174:28:48;6074:139;;;820:3482:192;-1:-1:-1;;;820:3482:192;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004803610156200001557600080fd5b600091823560e01c9182633659cfe614620009ef578263485cc95514620008205782634f1ef28614620004db57826352d1902d14620004165782635c60da1b1462000165578263715018a614620003ab578263733fd34214620002aa57826379ba5097146200021d5782637bd5029d1462000196575081638da5cb5b146200016b578163bc3ccf6d1462000165578163e30c39781462000136575063f2fde38b14620000c057600080fd5b34620001335760203660031901126200013357620000dd62000c18565b620000e762000d28565b606580546001600160a01b0319166001600160a01b039283169081179091556033549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b80fd5b905034620001615781600319360112620001615760655490516001600160a01b039091168152602090f35b5080fd5b62000ca7565b905034620001615781600319360112620001615760335490516001600160a01b039091168152602090f35b90915034620002195760203660031901126200021957620001b662000c18565b620001c062000d28565b6001600160a01b03169182156200020c57505060fb80546001600160a01b031916821790557ff554442e70ba202738fe077c8f4e40b64121198a4aa620c00a9e0853bef257de8280a280f35b51637827912560e01b8152fd5b8280fd5b9150346200021957826003193601126200021957606554336001600160a01b0390911603620002555782620002523362000cd2565b80f35b906020608492519162461bcd60e51b8352820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152fd5b909150346200021957602036600319011262000219576001600160a01b039081620002d462000c18565b1680156200039c5783519063189acdbd60e31b6020830152602482015260248152620003008162000c34565b83519161066f8084019184831067ffffffffffffffff84111762000389575091856200033f9285946200101e8639308152816020820152019062000f7a565b039084f080156200037d57917f46bcaddc4b315eb3afafbc7a854a62d892dcae7b985d18ccca7e1ea6f8ada366916020949316918291519380a28152f35b505051903d90823e3d90fd5b634e487b7160e01b885260419052602487fd5b508251637827912560e01b8152fd5b83346200013357806003193601126200013357620003c862000d28565b606580546001600160a01b031990811690915560338054918216905581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b83346200013357806003193601126200013357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036200047357602082516000805160206200168d8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b9150806003193601126200021957620004f362000c18565b906024359067ffffffffffffffff82116200081c57366023830112156200081c5781840135620005238162000c8a565b620005318351918262000c67565b8181528660209485830193366024828401011162000219578060248893018637830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906200058f3083141562000d81565b620005af6000805160206200168d83398151915292828454161462000de3565b620005b962000d28565b86169081156200080c577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620006005750505050505062000252915062000e45565b849596929394516352d1902d60e01b815287818a81865afa8a9181620007d3575b506200068157865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9791929396959497036200077e57506200069b8262000e45565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8780a28584511580159062000775575b620006db575b50505050505080f35b806200075d96845196620006ef8862000c34565b602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b868901525190845af4913d156200076a573d6200074e620007448262000c8a565b9251928362000c67565b81528681943d92013e62000ed7565b50388080808085620006d2565b506060925062000ed7565b506001620006cc565b835162461bcd60e51b8152908101859052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d831162000804575b620007ee818362000c67565b81010312620008005751903862000621565b8a80fd5b503d620007e2565b8451637827912560e01b81528890fd5b8480fd5b9091503462000219578160031936011262000219576200083f62000c18565b90602435906001600160a01b038083169190828403620009eb5786549460ff8660081c161595868097620009dd575b8015620009c4575b156200096a5760ff19811660011789558662000958575b50169182156200094957156200093b575090620008fc916bffffffffffffffffffffffff60a01b60fb54161760fb55620008d960ff865460081c16620008d38162000fbc565b62000fbc565b620008e43362000cd2565b620008f660ff865460081c1662000fbc565b62000cd2565b62000905575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b8451637827912560e01b8152fd5b508451637827912560e01b8152fd5b61ffff1916610101178855386200088d565b875162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015620008765750600160ff82161462000876565b50600160ff8216106200086e565b8680fd5b915034620002195760208060031936011262000c145762000a0f62000c18565b916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169062000a4a3083141562000d81565b62000a6a6000805160206200168d83398151915292828454161462000de3565b62000a7462000d28565b8416801562000c04578251908482019282841067ffffffffffffffff85111762000bf1578385528883527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000adb5750505050505062000252915062000e45565b849596929394516352d1902d60e01b815287818a81865afa8a918162000bbc575b5062000b5c57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9791929396959497036200077e575062000b768262000e45565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8780a28584511580159062000bb457620006db5750505050505080f35b5080620006cc565b9091508881813d831162000be9575b62000bd7818362000c67565b81010312620008005751903862000afc565b503d62000bcb565b634e487b7160e01b895260418852602489fd5b8251637827912560e01b81528690fd5b8380fd5b600435906001600160a01b038216820362000c2f57565b600080fd5b6060810190811067ffffffffffffffff82111762000c5157604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111762000c5157604052565b67ffffffffffffffff811162000c5157601f01601f191660200190565b3462000c2f57600036600319011262000c2f5760fb546040516001600160a01b039091168152602090f35b6bffffffffffffffffffffffff60a01b90816065541660655560335460018060a01b038092168093821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6033546001600160a01b0316330362000d3d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1562000d8957565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1562000deb57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b1562000e7c576000805160206200168d83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9192901562000f3c575081511562000eed575090565b3b1562000ef75790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501562000f505750805190602001fd5b60405162461bcd60e51b81526020600482015290819062000f7690602483019062000f7a565b0390fd5b919082519283825260005b84811062000fa7575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162000f85565b1562000fc457565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfe608060409080825261066f80380380916100198285610350565b8339810190828183031261034b5761003081610373565b6020828101516001600160401b039391929184821161034b57019084601f8301121561034b5781519161006283610387565b9261006f88519485610350565b8084528484019685828401011161034b57868561008c93016103a2565b803b156102f9578551635c60da1b60e01b80825292916001600160a01b0316908481600481855afa9081156102ee576000916102b9575b503b1561025c577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b03191682179055865192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a2825115801590610254575b610142575b87516101f690816104798239f35b6004848693819382525afa9182156102495760009261020f575b5085519360608501908111858210176101f9578652602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c83850152660819985a5b195960ca1b84870152516101e3946000918291845af4903d156101f0573d6101c781610387565b906101d488519283610350565b8152600081943d92013e6103c5565b5038808080808080610134565b606092506103c5565b634e487b7160e01b600052604160045260246000fd5b90918382813d8311610242575b6102268183610350565b8101031261023f575061023890610373565b903861015c565b80fd5b503d61021c565b86513d6000823e3d90fd5b50600061012f565b865162461bcd60e51b815260048101859052603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b908582813d83116102e7575b6102cf8183610350565b8101031261023f57506102e190610373565b386100c3565b503d6102c5565b88513d6000823e3d90fd5b855162461bcd60e51b815260048101849052602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101f957604052565b51906001600160a01b038216820361034b57565b6001600160401b0381116101f957601f01601f191660200190565b60005b8381106103b55750506000910152565b81810151838201526020016103a5565b9192901561042757508151156103d9575090565b3b156103e25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561043a5750805190602001fd5b6044604051809262461bcd60e51b82526020600483015261046a81518092816024860152602086860191016103a2565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea26469706673582212207418485f5d6818dabcfb3ede8e113569fe9411b0369991d132c722e182abcd1a64736f6c63430008120033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212201066063d482ecab1aba355c90a63b549c8f63e8be656656c3155ed39f8f4873964736f6c63430008120033","sourceMap":"820:3482:192:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;820:3482:192;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;1504:24:41;820:3482:192;;-1:-1:-1;;;;;;820:3482:192;-1:-1:-1;;;;;820:3482:192;;;;;;;;;1513:6:42;820:3482:192;;;;1543:43:41;;;;820:3482:192;;;;;;;;;;;;;;;;;;;1202:13:41;820:3482:192;;;-1:-1:-1;;;;;820:3482:192;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1513:6:42;820:3482:192;;;-1:-1:-1;;;;;820:3482:192;;;;;;;;;;;;;;;;;-1:-1:-1;;820:3482:192;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;-1:-1:-1;;;;;820:3482:192;;2818:29;;2815:65;;-1:-1:-1;;2886:32:192;820:3482;;-1:-1:-1;;;;;;820:3482:192;;;;;2929:49;;;;820:3482;;2815:65;820:3482;-1:-1:-1;;;2856:24:192;;;820:3482;;;;;;;;;;;;;;;;;;1202:13:41;820:3482:192;929:10:68;-1:-1:-1;;;;;820:3482:192;;;2109:24:41;820:3482:192;;929:10:68;2208:6:41;929:10:68;2208:6:41;:::i;:::-;820:3482:192;;;;;;;;971:66:46;;;;820:3482:192;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;;;;;-1:-1:-1;;820:3482:192;;;;-1:-1:-1;;;;;820:3482:192;;;;:::i;:::-;;3465:29;;3462:65;;820:3482;;3628:37;;;;820:3482;3605:87;;;;;;820:3482;3605:87;;;;;;:::i;:::-;820:3482;;3561:137;;;;;;;;;;;;;;;;;;820:3482;3561:137;;;;;;3592:4;820:3482;;;;;;;;;;:::i;:::-;3561:137;;;;;;;;820:3482;3710:49;820:3482;;;;;;;;;3710:49;;;820:3482;;;3561:137;820:3482;;;971:66:46;;;;;;;;3561:137:192;-1:-1:-1;;;820:3482:192;;;;;3605:87;820:3482;;3462:65;-1:-1:-1;820:3482:192;;-1:-1:-1;;;3503:24:192;;;820:3482;;;;;;;;;;;;;1303:62:42;;:::i;:::-;1859:20:41;820:3482:192;;-1:-1:-1;;;;;;820:3482:192;;;;;;2758:6:42;820:3482:192;;;;;;;;;-1:-1:-1;;;;;820:3482:192;2806:40:42;820:3482:192;;2806:40:42;820:3482:192;;;;;;;;;;;;;;;-1:-1:-1;2333:6:49;-1:-1:-1;;;;;820:3482:192;2324:4:49;2316:23;820:3482:192;;;;;-1:-1:-1;;;;;;;;;;;820:3482:192;;;;;;;;971:66:46;;;;820:3482:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:49;820:3482:192;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;820:3482:192;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;820:3482:192;;2341:29;;;2338:65;;971:66:46;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;820:3482:192;;;;;;;971:66:46;;;3383:63;;;;;;;;;;;;;;3232:526;-1:-1:-1;3379:302:46;;820:3482:192;;-1:-1:-1;;;3610:56:46;;;;;971:66;;;;820:3482:192;971:66:46;;820:3482:192;971:66:46;820:3482:192;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;;;;;;971:66;;3379:302;2171:17;;;:::i;:::-;2204:27;;;;820:3482:192;;;2523:15:46;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;;;820:3482:192;;2519:123:46;820:3482:192;7318:69:66;820:3482:192;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;820:3482:192;;;;7276:25:66;;;;;;820:3482:192;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;7318:69:66;:::i;:::-;;2519:123:46;;;;;;;;820:3482:192;-1:-1:-1;820:3482:192;;-1:-1:-1;7318:69:66;:::i;2523:28:46:-;;820:3482:192;2523:28:46;;971:66;820:3482:192;;-1:-1:-1;;;971:66:46;;;;;;;;;820:3482:192;971:66:46;;820:3482:192;971:66:46;820:3482:192;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;;3383:63;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;3383:63;;;;971:66;820:3482:192;;;3383:63:46;;;;;2338:65:192;820:3482;;-1:-1:-1;;;2379:24:192;;820:3482;;2379:24;820:3482;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;820:3482:192;;;;;;;;;;;;;971:66:46;820:3482:192;;;971:66:46;3301:14:48;3347:34;;;;;;820:3482:192;3346:108:48;;;;820:3482:192;;;;-1:-1:-1;;820:3482:192;;;;;;;3562:65:48;;820:3482:192;;;1748:29;;;1745:65;;1819:23;1816:59;;820:3482;;1990:9;820:3482;;;;1881:32;820:3482;;;1881:32;820:3482;5366:69:48;971:66:46;820:3482:192;;;;971:66:46;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;5366:69:48;971:66:46;820:3482:192;;;;971:66:46;5366:69:48;:::i;:::-;1990:9:192;:::i;:::-;3647:99:48;;820:3482:192;;;3647:99:48;820:3482:192;3721:14:48;820:3482:192;;;;;;;;;;;;3721:14:48;820:3482:192;;1816:59;820:3482;;-1:-1:-1;;;1851:24:192;;;1745:65;-1:-1:-1;820:3482:192;;-1:-1:-1;;;1786:24:192;;;3562:65:48;-1:-1:-1;;820:3482:192;;;;;3562:65:48;;;820:3482:192;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:192;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;971::46;820:3482:192;971:66:46;;;3436:17:48;3346:108;;3347:34;971:66:46;820:3482:192;971:66:46;;;3365:16:48;3347:34;;820:3482:192;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1898:6:49;820:3482:192;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;820:3482:192;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;820:3482:192;;2341:29;;2338:65;;820:3482;;;;;;;;;;;;;;;;;;;;;;971:66:46;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;820:3482:192;;;;;;;971:66:46;;;3383:63;;;;;;;;;;;;;;3232:526;-1:-1:-1;3379:302:46;;820:3482:192;;-1:-1:-1;;;3610:56:46;;;;;971:66;;;;;;;820:3482:192;971:66:46;820:3482:192;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;;;;;;971:66;;3379:302;2171:17;;;:::i;:::-;2204:27;;;;820:3482:192;;;2523:15:46;;;:28;;;2519:123;;3232:526;;;;;;820:3482:192;;2523:28:46;;;;;3383:63;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;3383:63;;;;;;;;;820:3482:192;-1:-1:-1;;;820:3482:192;;;;;;;;2338:65;820:3482;;-1:-1:-1;;;2379:24:192;;820:3482;;2379:24;820:3482;;;;;;;;-1:-1:-1;;;;;820:3482:192;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;820:3482:192;;;;:::o;:::-;;;;;;-1:-1:-1;;820:3482:192;;;;4150:14;820:3482;;;-1:-1:-1;;;;;820:3482:192;;;;;;;;1777:153:41;820:3482:192;;;;;1859:20:41;820:3482:192;;1859:20:41;820:3482:192;2758:6:42;820:3482:192;;;;;;;;;;;;;;2758:6:42;820:3482:192;;2806:40:42;1859:20:41;2806:40:42;;1777:153:41:o;1599:130:42:-;1513:6;820:3482:192;-1:-1:-1;;;;;820:3482:192;929:10:68;1662:23:42;820:3482:192;;1599:130:42:o;820:3482:192:-;;;;971:66:46;;;820:3482:192;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:192;;;;;;;1699:281:46;1713:19:66;;:23;820:3482:192;;-1:-1:-1;;;;;;;;;;;820:3482:192;;-1:-1:-1;;;;;;820:3482:192;-1:-1:-1;;;;;820:3482:192;;;;;;;;;1699:281:46:o;820:3482:192:-;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:192;;;;;;;7682:628:66;;;;7886:418;;;820:3482:192;;;7917:22:66;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;820:3482:192;;8212:17:66;:::o;820:3482:192:-;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;;;;;;;;;;;7886:418:66;820:3482:192;;;;-1:-1:-1;8991:21:66;:17;;9163:142;;;;;;;8987:379;820:3482:192;;-1:-1:-1;;;9335:20:66;;820:3482:192;9335:20:66;;;820:3482:192;;;;;;;;;;;:::i;:::-;9335:20:66;;;820:3482:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;820:3482:192;;;;;;;;;;;;;;;;;-1:-1:-1;;;820:3482:192;;;;;;","linkReferences":{},"immutableReferences":{"32368":[{"start":1068,"length":32},{"start":1375,"length":32},{"start":2586,"length":32}]}},"methodIdentifiers":{"acceptOwnership()":"79ba5097","deployRewardSwap(address)":"733fd342","getRewardSwapTemplateAddress()":"bc3ccf6d","implementation()":"5c60da1b","initialize(address,address)":"485cc955","owner()":"8da5cb5b","pendingOwner()":"e30c3978","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setRewardAccumulatorTemplate(address)":"7bd5029d","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ZeroAddressUnsupported\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardTemplate\",\"type\":\"address\"}],\"name\":\"RewardAccumulatorTemplateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"RewardSwapContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingAddress\",\"type\":\"address\"}],\"name\":\"deployRewardSwap\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardSwapTemplateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardTemplate\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardTemplate\",\"type\":\"address\"}],\"name\":\"setRewardAccumulatorTemplate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"charlescrain\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"The new owner accepts the ownership transfer.\"},\"deployRewardSwap(address)\":{\"params\":{\"_stakingAddress\":\"Address of staking contract.\"},\"returns\":{\"_0\":\"address Address of the RewardAccumulator contract.\"}},\"getRewardSwapTemplateAddress()\":{\"returns\":{\"_0\":\"address Address of the template.\"}},\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"pendingOwner()\":{\"details\":\"Returns the address of the pending owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setRewardAccumulatorTemplate(address)\":{\"details\":\"Requires the caller to be the owner of the contract.\",\"params\":{\"_rewardTemplate\":\"Address of the RewardAccumulator template.\"}},\"transferOwnership(address)\":{\"details\":\"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"RewardAccumulatorFactory\",\"version\":1},\"userdoc\":{\"errors\":{\"ZeroAddressUnsupported()\":[{\"notice\":\"Emitted when Zero address provided where it is not allowed.\"}]},\"events\":{\"RewardAccumulatorTemplateUpdated(address)\":{\"notice\":\"Emitted via {setRewardAccumulatorTemplate} when the RewardAccumulatorTemplate is upaded.\"},\"RewardSwapContractCreated(address)\":{\"notice\":\"Emitted via {deployRewardSwap} when a new RewardAccumulator contract is deployed.\"}},\"kind\":\"user\",\"methods\":{\"deployRewardSwap(address)\":{\"notice\":\"Deploys a RewardAccumulator contract.\"},\"getRewardSwapTemplateAddress()\":{\"notice\":\"Retrieve the template contract\"},\"setRewardAccumulatorTemplate(address)\":{\"notice\":\"Set the RewardAccumulator template address to be used.\"}},\"notice\":\"The RewardAccumulator Factory that creates RewardAccumulator contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/staking/factory/RewardAccumulatorFactory.sol\":\"RewardAccumulatorFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol\":{\"keccak256\":\"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e\",\"dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2\",\"dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054\",\"dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c\",\"dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b\",\"dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b\",\"dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588\"]},\"lib/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97\",\"dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2\"]},\"lib/v3-periphery/contracts/libraries/OracleLibrary.sol\":{\"keccak256\":\"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313\",\"dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR\"]},\"src/staking/factory/IRewardAccumulatorFactory.sol\":{\"keccak256\":\"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1\",\"dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA\"]},\"src/staking/factory/RewardAccumulatorFactory.sol\":{\"keccak256\":\"0x4d1c7aca5f99de88f5a1bb9ec1f604fa550dfb44ff172ff36f77953a9c6bf088\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://797e363fbedea0c12ed1070c7829380a9d88c3adfbac94a9ae53156c50cd6129\",\"dweb:/ipfs/QmdVKT2AKtegMEW2ySDsKNHohSTgLSoR6xmseecqnDJQoZ\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/reward/IRewardAccumulator.sol\":{\"keccak256\":\"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d\",\"dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD\"]},\"src/staking/reward/RewardAccumulator.sol\":{\"keccak256\":\"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474\",\"dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ZeroAddressUnsupported"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"rewardTemplate","type":"address","indexed":true}],"type":"event","name":"RewardAccumulatorTemplateUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address","indexed":true}],"type":"event","name":"RewardSwapContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptOwnership"},{"inputs":[{"internalType":"address","name":"_stakingAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployRewardSwap","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRewardSwapTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_rewardTemplate","type":"address"},{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_rewardTemplate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRewardAccumulatorTemplate"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"acceptOwnership()":{"details":"The new owner accepts the ownership transfer."},"deployRewardSwap(address)":{"params":{"_stakingAddress":"Address of staking contract."},"returns":{"_0":"address Address of the RewardAccumulator contract."}},"getRewardSwapTemplateAddress()":{"returns":{"_0":"address Address of the template."}},"implementation()":{"details":"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract."},"owner()":{"details":"Returns the address of the current owner."},"pendingOwner()":{"details":"Returns the address of the pending owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setRewardAccumulatorTemplate(address)":{"details":"Requires the caller to be the owner of the contract.","params":{"_rewardTemplate":"Address of the RewardAccumulator template."}},"transferOwnership(address)":{"details":"Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"deployRewardSwap(address)":{"notice":"Deploys a RewardAccumulator contract."},"getRewardSwapTemplateAddress()":{"notice":"Retrieve the template contract"},"setRewardAccumulatorTemplate(address)":{"notice":"Set the RewardAccumulator template address to be used."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/staking/factory/RewardAccumulatorFactory.sol":"RewardAccumulatorFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol":{"keccak256":"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63","urls":["bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e","dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98","urls":["bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2","dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803","urls":["bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054","dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"keccak256":"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95","urls":["bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c","dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae","urls":["bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b","dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19","urls":["bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b","dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588"],"license":"MIT"},"lib/v3-core/contracts/libraries/TickMath.sol":{"keccak256":"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347","urls":["bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97","dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/libraries/OracleLibrary.sol":{"keccak256":"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a","urls":["bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313","dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR"],"license":"GPL-2.0-or-later"},"src/staking/factory/IRewardAccumulatorFactory.sol":{"keccak256":"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6","urls":["bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1","dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA"],"license":"MIT"},"src/staking/factory/RewardAccumulatorFactory.sol":{"keccak256":"0x4d1c7aca5f99de88f5a1bb9ec1f604fa550dfb44ff172ff36f77953a9c6bf088","urls":["bzz-raw://797e363fbedea0c12ed1070c7829380a9d88c3adfbac94a9ae53156c50cd6129","dweb:/ipfs/QmdVKT2AKtegMEW2ySDsKNHohSTgLSoR6xmseecqnDJQoZ"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/reward/IRewardAccumulator.sol":{"keccak256":"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42","urls":["bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d","dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD"],"license":"MIT"},"src/staking/reward/RewardAccumulator.sol":{"keccak256":"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c","urls":["bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474","dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"}},"version":1},"id":192} \ No newline at end of file diff --git a/abis/RoyaltyRegistry.json b/abis/RoyaltyRegistry.json index f724692..cab9d99 100644 --- a/abis/RoyaltyRegistry.json +++ b/abis/RoyaltyRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_iERC721TokenCreator","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ROYALTY_FEE_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"calculateRoyaltyFee","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"contractRoyaltyPercentage","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"contractRoyaltyPercentageSet","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"contractRoyaltyReceiver","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getERC721TokenRoyaltyPercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getPercentageForSetERC721ContractRoyalty","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"iERC721TokenCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICreatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyReceiverOverride","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setIERC721TokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPercentageForSetERC721ContractRoyalty","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForContract","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverOverride","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenRoyaltyReceiver","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60803461018557601f61151c38819003918201601f1916830192916001600160401b0384118385101761018a578083926040958652833960209283918101031261018557516001600160a01b038082169290918390036101855760009081549260018060a01b031993338582161784558651913391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a3841561011f575081805260018152848220338352815260ff8583205416156100d3575b505060075416176007555161137b90816101a18239f35b818052600181528482209033835252838120600160ff19825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a438806100bc565b60849162461bcd60e51b82526004820152603c60248201527f636f6e7374727563746f723a3a5f69455243373231546f6b656e43726561746f60448201527f722063616e6e6f7420626520746865207a65726f2061646472657373000000006064820152fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a714610d8c575080630f7c762414610d525780631fc5825814610d14578063248a9ca314610cea5780632d5baea314610b4b5780632f2ff15d14610a9e57806336568abe14610a0c5780633ee893d41461086a5780635121d5ba1461084157806352214f611461080657806358a702661461074d578063715018a6146106f3578063725a5f28146105bd57806376bf88b21461059a5780637c0329f71461056b5780637d3b79ac14610527578063860110f5146104c85780638da5cb5b146104a057806391d1485414610459578063a217fddf1461043e578063a34e36a514610403578063b85ed7e4146102cf578063d547741f14610293578063d877978114610253578063f2fde38b146101905763f30067221461014257600080fd5b3461018c57602036600319011261018c576001600160a01b03610163610de0565b16916101708315156112dc565b338452602052822080546001600160a01b031916909117905580f35b8280fd5b50903461018c57602036600319011261018c576101ab610de0565b906101b4611208565b6001600160a01b0391821692831561020157505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b83823461028f57602036600319011261028f5760209160ff9082906001600160a01b0361027e610de0565b168152600285522054169051908152f35b5080fd5b503461018c578060031936011261018c576102cc91356102c760016102b6610dfb565b938387528160205286200154610e11565b611192565b80f35b50903461018c578160031936011261018c576102e9610de0565b6007548351632e17b5f960e21b81526001600160a01b0383811685830190815260243560208083018290529892969295929490939291899184918290036040019082908a165afa9182156103f95790869186936103c8575b508116918286526005895281808988205416918215156000146103c05750505b600689528786208487528952878620548216156103b75750508352600686528483209083528552828085842054165b16808352908552908390205482169081156103af5750915b5191168152f35b9050916103a8565b91509150610390565b169050610361565b829193506103eb908a3d8c116103f2575b6103e3818361115a565b8101906112bd565b9290610341565b503d6103d9565b87513d87823e3d90fd5b83823461028f57602036600319011261028f576020916001600160a01b039082908261042d610de0565b168152600585522054169051908152f35b83823461028f578160031936011261028f5751908152602090f35b50903461018c578160031936011261018c578160209360ff9261047a610dfb565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b83823461028f578160031936011261028f57905490516001600160a01b039091168152602090f35b509134610524576060366003190112610524576104e3610de0565b9160ff6104f260443594611287565b1692838102938185041490151715610511576020836064865191048152f35b634e487b7160e01b825260119052602490fd5b80fd5b83823461028f578060031936011261028f576020916001600160a01b0390829082610550610de0565b16815260068552818120602435825285522054169051908152f35b83823461028f578060031936011261028f5760209060ff61059261058d610de0565b611287565b915191168152f35b83823461028f57602036600319011261028f5760209060ff61059261058d610de0565b50903461018c57606036600319011261018c576105d8610de0565b916105e1610dfb565b6007548251632e17b5f960e21b81526001600160a01b038381168683019081526044356020808301829052929790959294929390929091859183918290036040019082908b165afa9081156106e9579087918a916106cc575b5016330361066f5750841686526006815282862091865252832091166bffffffffffffffffffffffff60a01b82541617905580f35b845162461bcd60e51b8152908101839052603160248201527f736574526f79616c74795265636569766572466f72546f6b656e3a3a6d757374604482015270103132903a37b5b2b71031b932b0ba37b960791b6064820152608490fd5b6106e39150853d87116103f2576103e3818361115a565b3861063a565b86513d8b823e3d90fd5b833461052457806003193601126105245761070c611208565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50903461018c57602036600319011261018c57610768610de0565b610770611208565b6001600160a01b031691821561079d5750506bffffffffffffffffffffffff60a01b600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f73657449455243373231546f6b656e43726561746f723a3a5f636f6e7472616360448201527f74416464726573732063616e6e6f74206265206e756c6c0000000000000000006064820152fd5b83823461028f578160031936011261028f57602090517fb4cce6bf152b41f237b365401b209838c52169fc7d8726c2df85b8f8930b73148152f35b83823461028f578160031936011261028f5760075490516001600160a01b039091168152602090f35b503461018c578060031936011261018c57610883610de0565b9061088c610dfb565b6001600160a01b0392831690839082151580610a01575b6108ac906112dc565b16825193638da5cb5b60e01b855260209485818881865afa8891816109c5575b5061093157845162461bcd60e51b8152808801879052603460248201527f736574526f79616c74795265636569766572466f72436f6e74726163743a3a6360448201527337b73a3930b1ba103430b99037379037bbb732b960611b6064820152608490fd5b9591929594939416330361095c5750845260059052822080546001600160a01b031916909117905580f35b835162461bcd60e51b8152908101839052603860248201527f736574526f79616c74795265636569766572466f72436f6e74726163743a3a6d60448201527f757374206265206f776e6572206f6620636f6e747261637400000000000000006064820152608490fd5b9091508681813d83116109fa575b6109dd818361115a565b810103126109f6575182811681036109f65790386108cc565b8880fd5b503d6109d3565b5080821615156108a3565b5091903461028f578260031936011261028f57610a27610dfb565b90336001600160a01b03831603610a4357906102cc9135611192565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b50903461018c578160031936011261018c573590610aba610dfb565b908284526001602052610ad260018286200154610e11565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610b00578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b503461018c578060031936011261018c57610b64610de0565b916024359260ff8416809403610ce6577fb4cce6bf152b41f237b365401b209838c52169fc7d8726c2df85b8f8930b7314855260209160018352838620338752835260ff848720541615610c625760648511610bed57506001600160a01b0316845260028152818420805460ff1990811690941790556003905282208054909116600117905580f35b60a4908385519162461bcd60e51b8352820152604460248201527f73657450657263656e74616765466f72536574455243373231436f6e7472616360448201527f74526f79616c74793a3a5f70657263656e74616765206d757374206265203c3d6064820152630203130360e41b6084820152fd5b835162461bcd60e51b8152908101839052605260248201527f73657450657263656e74616765466f72536574455243373231436f6e7472616360448201527f74526f79616c74793a3a43616c6c6572206d757374206861766520726f79616c6064820152717479206665652073657474657220726f6c6560701b608482015260a490fd5b8480fd5b50903461018c57602036600319011261018c57816020936001923581528285522001549051908152f35b83823461028f57602036600319011261028f5760209160ff9082906001600160a01b03610d3f610de0565b1681526003855220541690519015158152f35b50903461018c57602036600319011261018c576020926001600160a01b039183919083610d7d610de0565b16825285522054169051908152f35b8490843461018c57602036600319011261018c573563ffffffff60e01b811680910361018c5760209250637965db0b60e01b8114908115610dcf575b5015158152f35b6301ffc9a760e01b14905083610dc8565b600435906001600160a01b0382168203610df657565b600080fd5b602435906001600160a01b0382168203610df657565b600090808252600191602091838352604091828120338252845260ff838220541615610e3e575050505050565b3391835195606087019167ffffffffffffffff9288811084821117611063578652602a885286880194863687378851156111235760308653885183101561112357607860218a015360295b8381116110b9575061107757908551926080840190848210908211176110635786526042835286830193606036863783511561104f5760308553835182101561104f5790607860218501536041915b818311610fe157505050610f9f5792610f6d6048610f5e9794610f91946044989785519a8b93610f358b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190611137565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190611137565b0103602881018952018761115a565b5194859362461bcd60e51b8552600485015251809281602486015285850190611137565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561103b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110118587611260565b5360041c92801561102757600019019190610ed8565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f8116601081101561110f576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110e7838c611260565b5360041c9080156110fb5760001901610e89565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b83811061114a5750506000910152565b818101518382015260200161113a565b90601f8019910116810190811067ffffffffffffffff82111761117c57604052565b634e487b7160e01b600052604160045260246000fd5b906000918083526001602052604083209160018060a01b03169182845260205260ff6040842054166111c357505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b0316330361121c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908151811015611271570160200190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b031660009081526003602052604090205460ff16156112b857600260205260ff6040600020541690565b600a90565b90816020910312610df657516001600160a01b0381168103610df65790565b156112e357565b60405162461bcd60e51b815260206004820152603460248201527f736574526f79616c747952656365697665724f766572726964653a3a63616e746044820152732073657420746f207a65726f206164647265737360601b6064820152608490fdfea2646970667358221220a831caac807b2f8e3032f3cb9f2e4d5bd16ac973122f4e3a20a56bc034737e7664736f6c63430008120033","sourceMap":"298:5025:171:-:0;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;;;;;;-1:-1:-1;298:5025:171;;;;;;;;;2198:4:76;719:10:99;;2198:4:76;;;;;;298:5025:171;;719:10:99;;298:5025:171;;2566:40:78;;;;945:34:171;;298:5025;;;;;;;;;;;;719:10:99;298:5025:171;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;2198:4:76;;1143:60:171;2198:4:76;;;1143:60:171;2198:4:76;298:5025:171;;;;;;;;7665:149:76;298:5025:171;;;;;;;;;719:10:99;;298:5025:171;;;;;;;;;;;;;;;719:10:99;;;7763:40:76;;;;;7665:149;;;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;298:5025:171;;;;;;-1:-1:-1;298:5025:171;;;;;-1:-1:-1;298:5025:171","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a714610d8c575080630f7c762414610d525780631fc5825814610d14578063248a9ca314610cea5780632d5baea314610b4b5780632f2ff15d14610a9e57806336568abe14610a0c5780633ee893d41461086a5780635121d5ba1461084157806352214f611461080657806358a702661461074d578063715018a6146106f3578063725a5f28146105bd57806376bf88b21461059a5780637c0329f71461056b5780637d3b79ac14610527578063860110f5146104c85780638da5cb5b146104a057806391d1485414610459578063a217fddf1461043e578063a34e36a514610403578063b85ed7e4146102cf578063d547741f14610293578063d877978114610253578063f2fde38b146101905763f30067221461014257600080fd5b3461018c57602036600319011261018c576001600160a01b03610163610de0565b16916101708315156112dc565b338452602052822080546001600160a01b031916909117905580f35b8280fd5b50903461018c57602036600319011261018c576101ab610de0565b906101b4611208565b6001600160a01b0391821692831561020157505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b83823461028f57602036600319011261028f5760209160ff9082906001600160a01b0361027e610de0565b168152600285522054169051908152f35b5080fd5b503461018c578060031936011261018c576102cc91356102c760016102b6610dfb565b938387528160205286200154610e11565b611192565b80f35b50903461018c578160031936011261018c576102e9610de0565b6007548351632e17b5f960e21b81526001600160a01b0383811685830190815260243560208083018290529892969295929490939291899184918290036040019082908a165afa9182156103f95790869186936103c8575b508116918286526005895281808988205416918215156000146103c05750505b600689528786208487528952878620548216156103b75750508352600686528483209083528552828085842054165b16808352908552908390205482169081156103af5750915b5191168152f35b9050916103a8565b91509150610390565b169050610361565b829193506103eb908a3d8c116103f2575b6103e3818361115a565b8101906112bd565b9290610341565b503d6103d9565b87513d87823e3d90fd5b83823461028f57602036600319011261028f576020916001600160a01b039082908261042d610de0565b168152600585522054169051908152f35b83823461028f578160031936011261028f5751908152602090f35b50903461018c578160031936011261018c578160209360ff9261047a610dfb565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b83823461028f578160031936011261028f57905490516001600160a01b039091168152602090f35b509134610524576060366003190112610524576104e3610de0565b9160ff6104f260443594611287565b1692838102938185041490151715610511576020836064865191048152f35b634e487b7160e01b825260119052602490fd5b80fd5b83823461028f578060031936011261028f576020916001600160a01b0390829082610550610de0565b16815260068552818120602435825285522054169051908152f35b83823461028f578060031936011261028f5760209060ff61059261058d610de0565b611287565b915191168152f35b83823461028f57602036600319011261028f5760209060ff61059261058d610de0565b50903461018c57606036600319011261018c576105d8610de0565b916105e1610dfb565b6007548251632e17b5f960e21b81526001600160a01b038381168683019081526044356020808301829052929790959294929390929091859183918290036040019082908b165afa9081156106e9579087918a916106cc575b5016330361066f5750841686526006815282862091865252832091166bffffffffffffffffffffffff60a01b82541617905580f35b845162461bcd60e51b8152908101839052603160248201527f736574526f79616c74795265636569766572466f72546f6b656e3a3a6d757374604482015270103132903a37b5b2b71031b932b0ba37b960791b6064820152608490fd5b6106e39150853d87116103f2576103e3818361115a565b3861063a565b86513d8b823e3d90fd5b833461052457806003193601126105245761070c611208565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50903461018c57602036600319011261018c57610768610de0565b610770611208565b6001600160a01b031691821561079d5750506bffffffffffffffffffffffff60a01b600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f73657449455243373231546f6b656e43726561746f723a3a5f636f6e7472616360448201527f74416464726573732063616e6e6f74206265206e756c6c0000000000000000006064820152fd5b83823461028f578160031936011261028f57602090517fb4cce6bf152b41f237b365401b209838c52169fc7d8726c2df85b8f8930b73148152f35b83823461028f578160031936011261028f5760075490516001600160a01b039091168152602090f35b503461018c578060031936011261018c57610883610de0565b9061088c610dfb565b6001600160a01b0392831690839082151580610a01575b6108ac906112dc565b16825193638da5cb5b60e01b855260209485818881865afa8891816109c5575b5061093157845162461bcd60e51b8152808801879052603460248201527f736574526f79616c74795265636569766572466f72436f6e74726163743a3a6360448201527337b73a3930b1ba103430b99037379037bbb732b960611b6064820152608490fd5b9591929594939416330361095c5750845260059052822080546001600160a01b031916909117905580f35b835162461bcd60e51b8152908101839052603860248201527f736574526f79616c74795265636569766572466f72436f6e74726163743a3a6d60448201527f757374206265206f776e6572206f6620636f6e747261637400000000000000006064820152608490fd5b9091508681813d83116109fa575b6109dd818361115a565b810103126109f6575182811681036109f65790386108cc565b8880fd5b503d6109d3565b5080821615156108a3565b5091903461028f578260031936011261028f57610a27610dfb565b90336001600160a01b03831603610a4357906102cc9135611192565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b50903461018c578160031936011261018c573590610aba610dfb565b908284526001602052610ad260018286200154610e11565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610b00578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b503461018c578060031936011261018c57610b64610de0565b916024359260ff8416809403610ce6577fb4cce6bf152b41f237b365401b209838c52169fc7d8726c2df85b8f8930b7314855260209160018352838620338752835260ff848720541615610c625760648511610bed57506001600160a01b0316845260028152818420805460ff1990811690941790556003905282208054909116600117905580f35b60a4908385519162461bcd60e51b8352820152604460248201527f73657450657263656e74616765466f72536574455243373231436f6e7472616360448201527f74526f79616c74793a3a5f70657263656e74616765206d757374206265203c3d6064820152630203130360e41b6084820152fd5b835162461bcd60e51b8152908101839052605260248201527f73657450657263656e74616765466f72536574455243373231436f6e7472616360448201527f74526f79616c74793a3a43616c6c6572206d757374206861766520726f79616c6064820152717479206665652073657474657220726f6c6560701b608482015260a490fd5b8480fd5b50903461018c57602036600319011261018c57816020936001923581528285522001549051908152f35b83823461028f57602036600319011261028f5760209160ff9082906001600160a01b03610d3f610de0565b1681526003855220541690519015158152f35b50903461018c57602036600319011261018c576020926001600160a01b039183919083610d7d610de0565b16825285522054169051908152f35b8490843461018c57602036600319011261018c573563ffffffff60e01b811680910361018c5760209250637965db0b60e01b8114908115610dcf575b5015158152f35b6301ffc9a760e01b14905083610dc8565b600435906001600160a01b0382168203610df657565b600080fd5b602435906001600160a01b0382168203610df657565b600090808252600191602091838352604091828120338252845260ff838220541615610e3e575050505050565b3391835195606087019167ffffffffffffffff9288811084821117611063578652602a885286880194863687378851156111235760308653885183101561112357607860218a015360295b8381116110b9575061107757908551926080840190848210908211176110635786526042835286830193606036863783511561104f5760308553835182101561104f5790607860218501536041915b818311610fe157505050610f9f5792610f6d6048610f5e9794610f91946044989785519a8b93610f358b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190611137565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190611137565b0103602881018952018761115a565b5194859362461bcd60e51b8552600485015251809281602486015285850190611137565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561103b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110118587611260565b5360041c92801561102757600019019190610ed8565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f8116601081101561110f576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110e7838c611260565b5360041c9080156110fb5760001901610e89565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b83811061114a5750506000910152565b818101518382015260200161113a565b90601f8019910116810190811067ffffffffffffffff82111761117c57604052565b634e487b7160e01b600052604160045260246000fd5b906000918083526001602052604083209160018060a01b03169182845260205260ff6040842054166111c357505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b0316330361121c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908151811015611271570160200190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b031660009081526003602052604090205460ff16156112b857600260205260ff6040600020541690565b600a90565b90816020910312610df657516001600160a01b0381168103610df65790565b156112e357565b60405162461bcd60e51b815260206004820152603460248201527f736574526f79616c747952656365697665724f766572726964653a3a63616e746044820152732073657420746f207a65726f206164647265737360601b6064820152608490fdfea2646970667358221220a831caac807b2f8e3032f3cb9f2e4d5bd16ac973122f4e3a20a56bc034737e7664736f6c63430008120033","sourceMap":"298:5025:171:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;-1:-1:-1;;;;;298:5025:171;;:::i;:::-;;3945:23;3924:122;3945:23;;;3924:122;:::i;:::-;4081:10;298:5025;;;;;;;;-1:-1:-1;;;;;;298:5025:171;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;298:5025:171;;;;2162:22:78;;298:5025:171;;-1:-1:-1;;298:5025:171;;-1:-1:-1;;;;;;298:5025:171;;;;;;;2566:40:78;298:5025:171;;2566:40:78;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;;;;;-1:-1:-1;;;;;298:5025:171;;:::i;:::-;;;;478:58;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;;5486:7:76;298:5025:171;;2642:4:76;298:5025:171;;;:::i;:::-;;;;;;;;;;4604:22:76;298:5025:171;2642:4:76;:::i;:::-;5486:7;:::i;:::-;298:5025:171;;;;;;;;;;;;;;;;;;:::i;:::-;3250:19;298:5025;;;-1:-1:-1;;;3250:94:171;;-1:-1:-1;;;;;298:5025:171;;;3250:94;;;298:5025;;;;;;;;;;;;;;;;;3250:94;;298:5025;;;;;;;;3250:94;;;298:5025;3250:94;;298:5025;;;;3250:94;;;;;;;;;;;;;;298:5025;;;;;;;;3365:23;298:5025;;;;;;;;;3365:133;:55;;;:133;298:5025;;;3365:133;;;3519:20;298:5025;;;;;;;;;;;;;;;;3519:62;:147;;298:5025;;;;3519:20;298:5025;;;;;;;;;;;;;;;;;3519:147;298:5025;;;;;;;;;;;;;;;3696:46;;;;:141;;;298:5025;;;;;;3696:141;;;;;;3519:147;;;;;;;3365:133;298:5025;;-1:-1:-1;3365:133:171;;3250:94;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;298:5025;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;:::i;:::-;;;;675:58;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3055:3;298:5025;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;:::i;:::-;;;;740:75;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;:::i;:::-;;;;:::i;:::-;5021:19;298:5025;;;-1:-1:-1;;;5021:94:171;;-1:-1:-1;;;;;298:5025:171;;;5021:94;;;298:5025;;;;;;;;;;;;;;;;;;;;5021:94;;298:5025;;;;;;5021:94;;;298:5025;5021:94;;298:5025;;;;5021:94;;;;;;;;;;;;;;298:5025;;;5147:10;:21;298:5025;;;;;;;5254:20;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;;5021:94;;;;;;;;;;;;;;:::i;:::-;;;;;298:5025;;;;;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;298:5025:171;;-1:-1:-1;;;;;;298:5025:171;;;;;;-1:-1:-1;;;;;298:5025:171;2566:40:78;298:5025:171;;2566:40:78;298:5025:171;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;-1:-1:-1;;;;;298:5025:171;;1344:30;;298:5025;;;;;;;1466:56;298:5025;;;1466:56;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;435:36;298:5025;;;;;;;;;;;;;;;;;822:43;298:5025;;;-1:-1:-1;;;;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;298:5025:171;;;;;;4263:23;;;;:57;;298:5025;4242:156;;;:::i;:::-;298:5025;;;;;;;4475:23;;298:5025;4475:23;;;;;;;;;;;;;298:5025;-1:-1:-1;4471:372:171;;298:5025;;-1:-1:-1;;;4770:62:171;;;;;298:5025;;;;;;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;4770:62;4471:372;298:5025;;;;;;;;4562:10;:19;298:5025;;-1:-1:-1;298:5025:171;;4685:23;298:5025;;;;;;-1:-1:-1;;;;;;298:5025:171;;;;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;4475:23;;;;;;;;;;;;;;;;;:::i;:::-;;;298:5025;;;;;;;;;;;;4475:23;;;;298:5025;;;;4475:23;;;;;4263:57;-1:-1:-1;298:5025:171;;;4290:30;;4263:57;;298:5025;;;;;;;;;;;;;;;;;:::i;:::-;719:10:99;;-1:-1:-1;;;;;298:5025:171;;6133:23:76;298:5025:171;;;6237:7:76;298:5025:171;;6237:7:76;:::i;298:5025:171:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:76;298:5025:171;;;;4604:22:76;298:5025:171;2642:4:76;:::i;:::-;298:5025:171;;;;;;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;;;;;;;;;;7669:23:76;7665:149;;298:5025:171;;;7665:149:76;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;;;;7665:149;;;298:5025:171;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;435:36;298:5025;;;;3130:6:76;298:5025:171;;;;;719:10:99;298:5025:171;;;;;;;;;;;;;2523:3;2508:18;;298:5025;;-1:-1:-1;;;;;;298:5025:171;;;2630:25;298:5025;;;;;;;-1:-1:-1;;298:5025:171;;;;;;;;;;;;;;;;;;3130:6:76;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2523:3;298:5025;;;-1:-1:-1;;;298:5025:171;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;;;;;;;;;;;4604:22:76;298:5025:171;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;;;;;-1:-1:-1;;;;;298:5025:171;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:76;;;:87;;;;298:5025:171;;;;;;;2840:87:76;-1:-1:-1;;;937:40:103;;-1:-1:-1;2840:87:76;;;298:5025:171;;;;-1:-1:-1;;;;;298:5025:171;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;:::o;3460:103:76:-;-1:-1:-1;298:5025:171;;;;3130:6:76;298:5025:171;;;;;;;;;;;719:10:99;298:5025:171;;;;;;;;;;3931:23:76;3927:390;;3460:103;;;;;:::o;3927:390::-;719:10:99;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;298:5025:171;;;;;;;2000:15:101;298:5025:171;;;2000:15:101;298:5025:171;2058:5:101;;;;;;2170:10;278:18;;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;298:5025:171;;;;;;;;2000:15:101;298:5025:171;;;2000:15:101;298:5025:171;2025:128:101;2058:5;;;;;;2170:10;;;278:18;;298:5025:171;4022:252:76;298:5025:171;;;;;;;;;;;4022:252:76;;;298:5025:171;4022:252:76;;;298:5025:171;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;:::i;:::-;;4022:252:76;;;;;;;;;:::i;:::-;298:5025:171;;;;;;;3970:336:76;;2141:1:101;3970:336:76;;298:5025:171;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;298:5025:171;;;3970:336:76;;;;278:18:101;;298:5025:171;;;;;;;278:18:101;;;2141:1;278:18;;;;;;298:5025:171;278:18:101;298:5025:171;;;278:18:101;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;298:5025:171;2065:3:101;298:5025:171;;;;-1:-1:-1;;298:5025:171;;2030:26:101;;;298:5025:171;-1:-1:-1;;;298:5025:171;;;2141:1:101;298:5025:171;;;;2096:21:101;-1:-1:-1;;;298:5025:171;;;2141:1:101;298:5025:171;;;;;-1:-1:-1;;;298:5025:171;;;2141:1:101;298:5025:171;;;;;-1:-1:-1;;;298:5025:171;;;2141:1:101;298:5025:171;;;;278:18:101;;298:5025:171;;;;;;;278:18:101;;;2141:1;278:18;;;;;;298:5025:171;278:18:101;298:5025:171;;;278:18:101;;2065:3;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;298:5025:171;2065:3:101;298:5025:171;;;;-1:-1:-1;;298:5025:171;2030:26:101;;298:5025:171;-1:-1:-1;;;298:5025:171;;;2141:1:101;298:5025:171;;;;2096:21:101;-1:-1:-1;;;298:5025:171;;;2141:1:101;298:5025:171;;;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:171;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;7991:234:76;;-1:-1:-1;298:5025:171;;;;3130:6:76;298:5025:171;;;;;;;;;;;;;;;;;;;;;;;;8070:149:76;;7991:234;;;:::o;8070:149::-;298:5025:171;;;3130:6:76;298:5025:171;;;;;;;;;;;;;;;;;;;;8168:40:76;719:10:99;8168:40:76;;;7991:234::o;1359:130:78:-;1273:6;298:5025:171;-1:-1:-1;;;;;298:5025:171;719:10:99;1422:23:78;298:5025:171;;1359:130:78:o;298:5025:171:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1535:311;-1:-1:-1;;;;;298:5025:171;-1:-1:-1;298:5025:171;;;1710:28;298:5025;;;;;;;;1710:129;;;1775:25;298:5025;;;;-1:-1:-1;298:5025:171;;;1535:311;:::o;1710:129::-;1837:2;1535:311;:::o;298:5025::-;;;;;;;;;;-1:-1:-1;;;;;298:5025:171;;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;298:5025:171;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:171;;;;;;","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","ROYALTY_FEE_SETTER_ROLE()":"52214f61","calculateRoyaltyFee(address,uint256,uint256)":"860110f5","contractRoyaltyPercentage(address)":"d8779781","contractRoyaltyPercentageSet(address)":"1fc58258","contractRoyaltyReceiver(address)":"a34e36a5","getERC721TokenRoyaltyPercentage(address,uint256)":"7c0329f7","getPercentageForSetERC721ContractRoyalty(address)":"76bf88b2","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","iERC721TokenCreator()":"5121d5ba","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","royaltyReceiverOverride(address)":"0f7c7624","setIERC721TokenCreator(address)":"58a70266","setPercentageForSetERC721ContractRoyalty(address,uint8)":"2d5baea3","setRoyaltyReceiverForContract(address,address)":"3ee893d4","setRoyaltyReceiverForToken(address,address,uint256)":"725a5f28","setRoyaltyReceiverOverride(address)":"f3006722","supportsInterface(bytes4)":"01ffc9a7","tokenCreator(address,uint256)":"b85ed7e4","tokenRoyaltyReceiver(address,uint256)":"7d3b79ac","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_iERC721TokenCreator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_FEE_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateRoyaltyFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"contractRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"contractRoyaltyPercentageSet\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"contractRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getERC721TokenRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getPercentageForSetERC721ContractRoyalty\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"iERC721TokenCreator\",\"outputs\":[{\"internalType\":\"contract ICreatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"royaltyReceiverOverride\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"setIERC721TokenCreator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setPercentageForSetERC721ContractRoyalty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"setRoyaltyReceiverForContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setRoyaltyReceiverOverride\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"calculateRoyaltyFee(address,uint256,uint256)\":{\"details\":\"Utililty function to calculate the royalty fee for a token.\",\"params\":{\"_amount\":\"uint256 wei amount.\",\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setPercentageForSetERC721ContractRoyalty(address,uint8)\":{\"details\":\"Utililty function to set the royalty percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_percentage\":\"percentage for royalty\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/RoyaltyRegistry.sol\":\"RoyaltyRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/registry/RoyaltyRegistry.sol\":{\"keccak256\":\"0x02b7fe3cf65bd20764df4631eb1b159b4d9364e6ff7714e4bbc143b07fddee27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4bc42da8a71b99bf4f1fe094c36446b6ffde7dd33152dc29bc9668f6c885654\",\"dweb:/ipfs/Qme6XqDRUFJ7R1Lda5SgnZtodQCCnTSLrzrbP7PjUmGoZD\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_iERC721TokenCreator","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ROYALTY_FEE_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateRoyaltyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"contractRoyaltyPercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"contractRoyaltyPercentageSet","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"contractRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"getERC721TokenRoyaltyPercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getPercentageForSetERC721ContractRoyalty","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"iERC721TokenCreator","outputs":[{"internalType":"contract ICreatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"royaltyReceiverOverride","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setIERC721TokenCreator"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPercentageForSetERC721ContractRoyalty"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForContract"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverOverride"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"calculateRoyaltyFee(address,uint256,uint256)":{"details":"Utililty function to calculate the royalty fee for a token.","params":{"_amount":"uint256 wei amount.","_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"uint256 wei fee."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setPercentageForSetERC721ContractRoyalty(address,uint8)":{"details":"Utililty function to set the royalty percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address.","_percentage":"percentage for royalty"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/RoyaltyRegistry.sol":"RoyaltyRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/registry/RoyaltyRegistry.sol":{"keccak256":"0x02b7fe3cf65bd20764df4631eb1b159b4d9364e6ff7714e4bbc143b07fddee27","urls":["bzz-raw://b4bc42da8a71b99bf4f1fe094c36446b6ffde7dd33152dc29bc9668f6c885654","dweb:/ipfs/Qme6XqDRUFJ7R1Lda5SgnZtodQCCnTSLrzrbP7PjUmGoZD"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"}},"version":1},"id":171} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_iERC721TokenCreator","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ROYALTY_FEE_SETTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"calculateRoyaltyFee","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"contractRoyaltyPercentage","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"contractRoyaltyPercentageSet","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"contractRoyaltyReceiver","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getERC721TokenRoyaltyPercentage","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getPercentageForSetERC721ContractRoyalty","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"iERC721TokenCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ICreatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyReceiverOverride","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setIERC721TokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPercentageForSetERC721ContractRoyalty","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_percentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForContract","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_contractAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverOverride","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_contractAddress","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenRoyaltyReceiver","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60803461018557601f61151c38819003918201601f1916830192916001600160401b0384118385101761018a578083926040958652833960209283918101031261018557516001600160a01b038082169290918390036101855760009081549260018060a01b031993338582161784558651913391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a3841561011f575081805260018152848220338352815260ff8583205416156100d3575b505060075416176007555161137b90816101a18239f35b818052600181528482209033835252838120600160ff19825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a438806100bc565b60849162461bcd60e51b82526004820152603c60248201527f636f6e7374727563746f723a3a5f69455243373231546f6b656e43726561746f60448201527f722063616e6e6f7420626520746865207a65726f2061646472657373000000006064820152fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a714610d8c575080630f7c762414610d525780631fc5825814610d14578063248a9ca314610cea5780632d5baea314610b4b5780632f2ff15d14610a9e57806336568abe14610a0c5780633ee893d41461086a5780635121d5ba1461084157806352214f611461080657806358a702661461074d578063715018a6146106f3578063725a5f28146105bd57806376bf88b21461059a5780637c0329f71461056b5780637d3b79ac14610527578063860110f5146104c85780638da5cb5b146104a057806391d1485414610459578063a217fddf1461043e578063a34e36a514610403578063b85ed7e4146102cf578063d547741f14610293578063d877978114610253578063f2fde38b146101905763f30067221461014257600080fd5b3461018c57602036600319011261018c576001600160a01b03610163610de0565b16916101708315156112dc565b338452602052822080546001600160a01b031916909117905580f35b8280fd5b50903461018c57602036600319011261018c576101ab610de0565b906101b4611208565b6001600160a01b0391821692831561020157505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b83823461028f57602036600319011261028f5760209160ff9082906001600160a01b0361027e610de0565b168152600285522054169051908152f35b5080fd5b503461018c578060031936011261018c576102cc91356102c760016102b6610dfb565b938387528160205286200154610e11565b611192565b80f35b50903461018c578160031936011261018c576102e9610de0565b6007548351632e17b5f960e21b81526001600160a01b0383811685830190815260243560208083018290529892969295929490939291899184918290036040019082908a165afa9182156103f95790869186936103c8575b508116918286526005895281808988205416918215156000146103c05750505b600689528786208487528952878620548216156103b75750508352600686528483209083528552828085842054165b16808352908552908390205482169081156103af5750915b5191168152f35b9050916103a8565b91509150610390565b169050610361565b829193506103eb908a3d8c116103f2575b6103e3818361115a565b8101906112bd565b9290610341565b503d6103d9565b87513d87823e3d90fd5b83823461028f57602036600319011261028f576020916001600160a01b039082908261042d610de0565b168152600585522054169051908152f35b83823461028f578160031936011261028f5751908152602090f35b50903461018c578160031936011261018c578160209360ff9261047a610dfb565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b83823461028f578160031936011261028f57905490516001600160a01b039091168152602090f35b509134610524576060366003190112610524576104e3610de0565b9160ff6104f260443594611287565b1692838102938185041490151715610511576020836064865191048152f35b634e487b7160e01b825260119052602490fd5b80fd5b83823461028f578060031936011261028f576020916001600160a01b0390829082610550610de0565b16815260068552818120602435825285522054169051908152f35b83823461028f578060031936011261028f5760209060ff61059261058d610de0565b611287565b915191168152f35b83823461028f57602036600319011261028f5760209060ff61059261058d610de0565b50903461018c57606036600319011261018c576105d8610de0565b916105e1610dfb565b6007548251632e17b5f960e21b81526001600160a01b038381168683019081526044356020808301829052929790959294929390929091859183918290036040019082908b165afa9081156106e9579087918a916106cc575b5016330361066f5750841686526006815282862091865252832091166bffffffffffffffffffffffff60a01b82541617905580f35b845162461bcd60e51b8152908101839052603160248201527f736574526f79616c74795265636569766572466f72546f6b656e3a3a6d757374604482015270103132903a37b5b2b71031b932b0ba37b960791b6064820152608490fd5b6106e39150853d87116103f2576103e3818361115a565b3861063a565b86513d8b823e3d90fd5b833461052457806003193601126105245761070c611208565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50903461018c57602036600319011261018c57610768610de0565b610770611208565b6001600160a01b031691821561079d5750506bffffffffffffffffffffffff60a01b600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f73657449455243373231546f6b656e43726561746f723a3a5f636f6e7472616360448201527f74416464726573732063616e6e6f74206265206e756c6c0000000000000000006064820152fd5b83823461028f578160031936011261028f57602090517fb4cce6bf152b41f237b365401b209838c52169fc7d8726c2df85b8f8930b73148152f35b83823461028f578160031936011261028f5760075490516001600160a01b039091168152602090f35b503461018c578060031936011261018c57610883610de0565b9061088c610dfb565b6001600160a01b0392831690839082151580610a01575b6108ac906112dc565b16825193638da5cb5b60e01b855260209485818881865afa8891816109c5575b5061093157845162461bcd60e51b8152808801879052603460248201527f736574526f79616c74795265636569766572466f72436f6e74726163743a3a6360448201527337b73a3930b1ba103430b99037379037bbb732b960611b6064820152608490fd5b9591929594939416330361095c5750845260059052822080546001600160a01b031916909117905580f35b835162461bcd60e51b8152908101839052603860248201527f736574526f79616c74795265636569766572466f72436f6e74726163743a3a6d60448201527f757374206265206f776e6572206f6620636f6e747261637400000000000000006064820152608490fd5b9091508681813d83116109fa575b6109dd818361115a565b810103126109f6575182811681036109f65790386108cc565b8880fd5b503d6109d3565b5080821615156108a3565b5091903461028f578260031936011261028f57610a27610dfb565b90336001600160a01b03831603610a4357906102cc9135611192565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b50903461018c578160031936011261018c573590610aba610dfb565b908284526001602052610ad260018286200154610e11565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610b00578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b503461018c578060031936011261018c57610b64610de0565b916024359260ff8416809403610ce6577fb4cce6bf152b41f237b365401b209838c52169fc7d8726c2df85b8f8930b7314855260209160018352838620338752835260ff848720541615610c625760648511610bed57506001600160a01b0316845260028152818420805460ff1990811690941790556003905282208054909116600117905580f35b60a4908385519162461bcd60e51b8352820152604460248201527f73657450657263656e74616765466f72536574455243373231436f6e7472616360448201527f74526f79616c74793a3a5f70657263656e74616765206d757374206265203c3d6064820152630203130360e41b6084820152fd5b835162461bcd60e51b8152908101839052605260248201527f73657450657263656e74616765466f72536574455243373231436f6e7472616360448201527f74526f79616c74793a3a43616c6c6572206d757374206861766520726f79616c6064820152717479206665652073657474657220726f6c6560701b608482015260a490fd5b8480fd5b50903461018c57602036600319011261018c57816020936001923581528285522001549051908152f35b83823461028f57602036600319011261028f5760209160ff9082906001600160a01b03610d3f610de0565b1681526003855220541690519015158152f35b50903461018c57602036600319011261018c576020926001600160a01b039183919083610d7d610de0565b16825285522054169051908152f35b8490843461018c57602036600319011261018c573563ffffffff60e01b811680910361018c5760209250637965db0b60e01b8114908115610dcf575b5015158152f35b6301ffc9a760e01b14905083610dc8565b600435906001600160a01b0382168203610df657565b600080fd5b602435906001600160a01b0382168203610df657565b600090808252600191602091838352604091828120338252845260ff838220541615610e3e575050505050565b3391835195606087019167ffffffffffffffff9288811084821117611063578652602a885286880194863687378851156111235760308653885183101561112357607860218a015360295b8381116110b9575061107757908551926080840190848210908211176110635786526042835286830193606036863783511561104f5760308553835182101561104f5790607860218501536041915b818311610fe157505050610f9f5792610f6d6048610f5e9794610f91946044989785519a8b93610f358b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190611137565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190611137565b0103602881018952018761115a565b5194859362461bcd60e51b8552600485015251809281602486015285850190611137565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561103b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110118587611260565b5360041c92801561102757600019019190610ed8565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f8116601081101561110f576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110e7838c611260565b5360041c9080156110fb5760001901610e89565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b83811061114a5750506000910152565b818101518382015260200161113a565b90601f8019910116810190811067ffffffffffffffff82111761117c57604052565b634e487b7160e01b600052604160045260246000fd5b906000918083526001602052604083209160018060a01b03169182845260205260ff6040842054166111c357505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b0316330361121c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908151811015611271570160200190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b031660009081526003602052604090205460ff16156112b857600260205260ff6040600020541690565b600a90565b90816020910312610df657516001600160a01b0381168103610df65790565b156112e357565b60405162461bcd60e51b815260206004820152603460248201527f736574526f79616c747952656365697665724f766572726964653a3a63616e746044820152732073657420746f207a65726f206164647265737360601b6064820152608490fdfea264697066735822122034dcdbb790a5b74b0b8328da29415701a3f2d9b578e53aa30cab10903395807564736f6c63430008120033","sourceMap":"298:5025:182:-:0;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;;;;;;-1:-1:-1;298:5025:182;;;;;;;;;2198:4:79;719:10:102;;2198:4:79;;;;;;298:5025:182;;719:10:102;;298:5025:182;;2566:40:81;;;;945:34:182;;298:5025;;;;;;;;;;;;719:10:102;298:5025:182;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;2198:4:79;;1143:60:182;2198:4:79;;;1143:60:182;2198:4:79;298:5025:182;;;;;;;;7665:149:79;298:5025:182;;;;;;;;;719:10:102;;298:5025:182;;;;;;;;;;;;;;;719:10:102;;;7763:40:79;;;;;7665:149;;;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;298:5025:182;;;;;;-1:-1:-1;298:5025:182;;;;;-1:-1:-1;298:5025:182","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a714610d8c575080630f7c762414610d525780631fc5825814610d14578063248a9ca314610cea5780632d5baea314610b4b5780632f2ff15d14610a9e57806336568abe14610a0c5780633ee893d41461086a5780635121d5ba1461084157806352214f611461080657806358a702661461074d578063715018a6146106f3578063725a5f28146105bd57806376bf88b21461059a5780637c0329f71461056b5780637d3b79ac14610527578063860110f5146104c85780638da5cb5b146104a057806391d1485414610459578063a217fddf1461043e578063a34e36a514610403578063b85ed7e4146102cf578063d547741f14610293578063d877978114610253578063f2fde38b146101905763f30067221461014257600080fd5b3461018c57602036600319011261018c576001600160a01b03610163610de0565b16916101708315156112dc565b338452602052822080546001600160a01b031916909117905580f35b8280fd5b50903461018c57602036600319011261018c576101ab610de0565b906101b4611208565b6001600160a01b0391821692831561020157505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b83823461028f57602036600319011261028f5760209160ff9082906001600160a01b0361027e610de0565b168152600285522054169051908152f35b5080fd5b503461018c578060031936011261018c576102cc91356102c760016102b6610dfb565b938387528160205286200154610e11565b611192565b80f35b50903461018c578160031936011261018c576102e9610de0565b6007548351632e17b5f960e21b81526001600160a01b0383811685830190815260243560208083018290529892969295929490939291899184918290036040019082908a165afa9182156103f95790869186936103c8575b508116918286526005895281808988205416918215156000146103c05750505b600689528786208487528952878620548216156103b75750508352600686528483209083528552828085842054165b16808352908552908390205482169081156103af5750915b5191168152f35b9050916103a8565b91509150610390565b169050610361565b829193506103eb908a3d8c116103f2575b6103e3818361115a565b8101906112bd565b9290610341565b503d6103d9565b87513d87823e3d90fd5b83823461028f57602036600319011261028f576020916001600160a01b039082908261042d610de0565b168152600585522054169051908152f35b83823461028f578160031936011261028f5751908152602090f35b50903461018c578160031936011261018c578160209360ff9261047a610dfb565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b83823461028f578160031936011261028f57905490516001600160a01b039091168152602090f35b509134610524576060366003190112610524576104e3610de0565b9160ff6104f260443594611287565b1692838102938185041490151715610511576020836064865191048152f35b634e487b7160e01b825260119052602490fd5b80fd5b83823461028f578060031936011261028f576020916001600160a01b0390829082610550610de0565b16815260068552818120602435825285522054169051908152f35b83823461028f578060031936011261028f5760209060ff61059261058d610de0565b611287565b915191168152f35b83823461028f57602036600319011261028f5760209060ff61059261058d610de0565b50903461018c57606036600319011261018c576105d8610de0565b916105e1610dfb565b6007548251632e17b5f960e21b81526001600160a01b038381168683019081526044356020808301829052929790959294929390929091859183918290036040019082908b165afa9081156106e9579087918a916106cc575b5016330361066f5750841686526006815282862091865252832091166bffffffffffffffffffffffff60a01b82541617905580f35b845162461bcd60e51b8152908101839052603160248201527f736574526f79616c74795265636569766572466f72546f6b656e3a3a6d757374604482015270103132903a37b5b2b71031b932b0ba37b960791b6064820152608490fd5b6106e39150853d87116103f2576103e3818361115a565b3861063a565b86513d8b823e3d90fd5b833461052457806003193601126105245761070c611208565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50903461018c57602036600319011261018c57610768610de0565b610770611208565b6001600160a01b031691821561079d5750506bffffffffffffffffffffffff60a01b600754161760075580f35b906020608492519162461bcd60e51b8352820152603760248201527f73657449455243373231546f6b656e43726561746f723a3a5f636f6e7472616360448201527f74416464726573732063616e6e6f74206265206e756c6c0000000000000000006064820152fd5b83823461028f578160031936011261028f57602090517fb4cce6bf152b41f237b365401b209838c52169fc7d8726c2df85b8f8930b73148152f35b83823461028f578160031936011261028f5760075490516001600160a01b039091168152602090f35b503461018c578060031936011261018c57610883610de0565b9061088c610dfb565b6001600160a01b0392831690839082151580610a01575b6108ac906112dc565b16825193638da5cb5b60e01b855260209485818881865afa8891816109c5575b5061093157845162461bcd60e51b8152808801879052603460248201527f736574526f79616c74795265636569766572466f72436f6e74726163743a3a6360448201527337b73a3930b1ba103430b99037379037bbb732b960611b6064820152608490fd5b9591929594939416330361095c5750845260059052822080546001600160a01b031916909117905580f35b835162461bcd60e51b8152908101839052603860248201527f736574526f79616c74795265636569766572466f72436f6e74726163743a3a6d60448201527f757374206265206f776e6572206f6620636f6e747261637400000000000000006064820152608490fd5b9091508681813d83116109fa575b6109dd818361115a565b810103126109f6575182811681036109f65790386108cc565b8880fd5b503d6109d3565b5080821615156108a3565b5091903461028f578260031936011261028f57610a27610dfb565b90336001600160a01b03831603610a4357906102cc9135611192565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b50903461018c578160031936011261018c573590610aba610dfb565b908284526001602052610ad260018286200154610e11565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610b00578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b503461018c578060031936011261018c57610b64610de0565b916024359260ff8416809403610ce6577fb4cce6bf152b41f237b365401b209838c52169fc7d8726c2df85b8f8930b7314855260209160018352838620338752835260ff848720541615610c625760648511610bed57506001600160a01b0316845260028152818420805460ff1990811690941790556003905282208054909116600117905580f35b60a4908385519162461bcd60e51b8352820152604460248201527f73657450657263656e74616765466f72536574455243373231436f6e7472616360448201527f74526f79616c74793a3a5f70657263656e74616765206d757374206265203c3d6064820152630203130360e41b6084820152fd5b835162461bcd60e51b8152908101839052605260248201527f73657450657263656e74616765466f72536574455243373231436f6e7472616360448201527f74526f79616c74793a3a43616c6c6572206d757374206861766520726f79616c6064820152717479206665652073657474657220726f6c6560701b608482015260a490fd5b8480fd5b50903461018c57602036600319011261018c57816020936001923581528285522001549051908152f35b83823461028f57602036600319011261028f5760209160ff9082906001600160a01b03610d3f610de0565b1681526003855220541690519015158152f35b50903461018c57602036600319011261018c576020926001600160a01b039183919083610d7d610de0565b16825285522054169051908152f35b8490843461018c57602036600319011261018c573563ffffffff60e01b811680910361018c5760209250637965db0b60e01b8114908115610dcf575b5015158152f35b6301ffc9a760e01b14905083610dc8565b600435906001600160a01b0382168203610df657565b600080fd5b602435906001600160a01b0382168203610df657565b600090808252600191602091838352604091828120338252845260ff838220541615610e3e575050505050565b3391835195606087019167ffffffffffffffff9288811084821117611063578652602a885286880194863687378851156111235760308653885183101561112357607860218a015360295b8381116110b9575061107757908551926080840190848210908211176110635786526042835286830193606036863783511561104f5760308553835182101561104f5790607860218501536041915b818311610fe157505050610f9f5792610f6d6048610f5e9794610f91946044989785519a8b93610f358b86019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190611137565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190611137565b0103602881018952018761115a565b5194859362461bcd60e51b8552600485015251809281602486015285850190611137565b601f01601f19168101030190fd5b60648585519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561103b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110118587611260565b5360041c92801561102757600019019190610ed8565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b85526041600452602485fd5b60648787519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f8116601081101561110f576f181899199a1a9b1b9c1cb0b131b232b360811b901a6110e7838c611260565b5360041c9080156110fb5760001901610e89565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b60005b83811061114a5750506000910152565b818101518382015260200161113a565b90601f8019910116810190811067ffffffffffffffff82111761117c57604052565b634e487b7160e01b600052604160045260246000fd5b906000918083526001602052604083209160018060a01b03169182845260205260ff6040842054166111c357505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b0316330361121c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908151811015611271570160200190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b031660009081526003602052604090205460ff16156112b857600260205260ff6040600020541690565b600a90565b90816020910312610df657516001600160a01b0381168103610df65790565b156112e357565b60405162461bcd60e51b815260206004820152603460248201527f736574526f79616c747952656365697665724f766572726964653a3a63616e746044820152732073657420746f207a65726f206164647265737360601b6064820152608490fdfea264697066735822122034dcdbb790a5b74b0b8328da29415701a3f2d9b578e53aa30cab10903395807564736f6c63430008120033","sourceMap":"298:5025:182:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;-1:-1:-1;;;;;298:5025:182;;:::i;:::-;;3945:23;3924:122;3945:23;;;3924:122;:::i;:::-;4081:10;298:5025;;;;;;;;-1:-1:-1;;;;;;298:5025:182;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;-1:-1:-1;;;;;298:5025:182;;;;2162:22:81;;298:5025:182;;-1:-1:-1;;298:5025:182;;-1:-1:-1;;;;;;298:5025:182;;;;;;;2566:40:81;298:5025:182;;2566:40:81;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;;;;;-1:-1:-1;;;;;298:5025:182;;:::i;:::-;;;;478:58;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;;5486:7:79;298:5025:182;;2642:4:79;298:5025:182;;;:::i;:::-;;;;;;;;;;4604:22:79;298:5025:182;2642:4:79;:::i;:::-;5486:7;:::i;:::-;298:5025:182;;;;;;;;;;;;;;;;;;:::i;:::-;3250:19;298:5025;;;-1:-1:-1;;;3250:94:182;;-1:-1:-1;;;;;298:5025:182;;;3250:94;;;298:5025;;;;;;;;;;;;;;;;;3250:94;;298:5025;;;;;;;;3250:94;;;298:5025;3250:94;;298:5025;;;;3250:94;;;;;;;;;;;;;;298:5025;;;;;;;;3365:23;298:5025;;;;;;;;;3365:133;:55;;;:133;298:5025;;;3365:133;;;3519:20;298:5025;;;;;;;;;;;;;;;;3519:62;:147;;298:5025;;;;3519:20;298:5025;;;;;;;;;;;;;;;;;3519:147;298:5025;;;;;;;;;;;;;;;3696:46;;;;:141;;;298:5025;;;;;;3696:141;;;;;;3519:147;;;;;;;3365:133;298:5025;;-1:-1:-1;3365:133:182;;3250:94;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;298:5025;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;:::i;:::-;;;;675:58;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3055:3;298:5025;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;:::i;:::-;;;;740:75;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;:::i;:::-;;;;:::i;:::-;5021:19;298:5025;;;-1:-1:-1;;;5021:94:182;;-1:-1:-1;;;;;298:5025:182;;;5021:94;;;298:5025;;;;;;;;;;;;;;;;;;;;5021:94;;298:5025;;;;;;5021:94;;;298:5025;5021:94;;298:5025;;;;5021:94;;;;;;;;;;;;;;298:5025;;;5147:10;:21;298:5025;;;;;;;5254:20;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;;5021:94;;;;;;;;;;;;;;:::i;:::-;;;;;298:5025;;;;;;;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;298:5025:182;;-1:-1:-1;;;;;;298:5025:182;;;;;;-1:-1:-1;;;;;298:5025:182;2566:40:81;298:5025:182;;2566:40:81;298:5025:182;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;-1:-1:-1;;;;;298:5025:182;;1344:30;;298:5025;;;;;;;1466:56;298:5025;;;1466:56;298:5025;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;435:36;298:5025;;;;;;;;;;;;;;;;;822:43;298:5025;;;-1:-1:-1;;;;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;298:5025:182;;;;;;4263:23;;;;:57;;298:5025;4242:156;;;:::i;:::-;298:5025;;;;;;;4475:23;;298:5025;4475:23;;;;;;;;;;;;;298:5025;-1:-1:-1;4471:372:182;;298:5025;;-1:-1:-1;;;4770:62:182;;;;;298:5025;;;;;;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;4770:62;4471:372;298:5025;;;;;;;;4562:10;:19;298:5025;;-1:-1:-1;298:5025:182;;4685:23;298:5025;;;;;;-1:-1:-1;;;;;;298:5025:182;;;;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;4475:23;;;;;;;;;;;;;;;;;:::i;:::-;;;298:5025;;;;;;;;;;;;4475:23;;;;298:5025;;;;4475:23;;;;;4263:57;-1:-1:-1;298:5025:182;;;4290:30;;4263:57;;298:5025;;;;;;;;;;;;;;;;;:::i;:::-;719:10:102;;-1:-1:-1;;;;;298:5025:182;;6133:23:79;298:5025:182;;;6237:7:79;298:5025:182;;6237:7:79;:::i;298:5025:182:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:79;298:5025:182;;;;4604:22:79;298:5025:182;2642:4:79;:::i;:::-;298:5025:182;;;;;;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;;;;;;;;;;7669:23:79;7665:149;;298:5025:182;;;7665:149:79;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;;;;7665:149;;;298:5025:182;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;435:36;298:5025;;;;3130:6:79;298:5025:182;;;;;719:10:102;298:5025:182;;;;;;;;;;;;;2523:3;2508:18;;298:5025;;-1:-1:-1;;;;;;298:5025:182;;;2630:25;298:5025;;;;;;;-1:-1:-1;;298:5025:182;;;;;;;;;;;;;;;;;;3130:6:79;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2523:3;298:5025;;;-1:-1:-1;;;298:5025:182;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;;;;;;;;;;;4604:22:79;298:5025:182;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;;;;;-1:-1:-1;;;;;298:5025:182;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:79;;;:87;;;;298:5025:182;;;;;;;2840:87:79;-1:-1:-1;;;937:40:107;;-1:-1:-1;2840:87:79;;;298:5025:182;;;;-1:-1:-1;;;;;298:5025:182;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;:::o;3460:103:79:-;-1:-1:-1;298:5025:182;;;;3130:6:79;298:5025:182;;;;;;;;;;;719:10:102;298:5025:182;;;;;;;;;;3931:23:79;3927:390;;3460:103;;;;;:::o;3927:390::-;719:10:102;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;298:5025:182;;;;;;;2000:15:104;298:5025:182;;;2000:15:104;298:5025:182;2058:5:104;;;;;;2170:10;278:18;;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;298:5025:182;;;;;;;;2000:15:104;298:5025:182;;;2000:15:104;298:5025:182;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;298:5025:182;4022:252:79;298:5025:182;;;;;;;;;;;4022:252:79;;;298:5025:182;4022:252:79;;;298:5025:182;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;:::i;:::-;;4022:252:79;;;;;;;;;:::i;:::-;298:5025:182;;;;;;;3970:336:79;;2141:1:104;3970:336:79;;298:5025:182;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;298:5025:182;;;3970:336:79;;;;278:18:104;;298:5025:182;;;;;;;278:18:104;;;2141:1;278:18;;;;;;298:5025:182;278:18:104;298:5025:182;;;278:18:104;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;298:5025:182;2065:3:104;298:5025:182;;;;-1:-1:-1;;298:5025:182;;2030:26:104;;;298:5025:182;-1:-1:-1;;;298:5025:182;;;2141:1:104;298:5025:182;;;;2096:21:104;-1:-1:-1;;;298:5025:182;;;2141:1:104;298:5025:182;;;;;-1:-1:-1;;;298:5025:182;;;2141:1:104;298:5025:182;;;;;-1:-1:-1;;;298:5025:182;;;2141:1:104;298:5025:182;;;;278:18:104;;298:5025:182;;;;;;;278:18:104;;;2141:1;278:18;;;;;;298:5025:182;278:18:104;298:5025:182;;;278:18:104;;2065:3;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;298:5025:182;2065:3:104;298:5025:182;;;;-1:-1:-1;;298:5025:182;2030:26:104;;298:5025:182;-1:-1:-1;;;298:5025:182;;;2141:1:104;298:5025:182;;;;2096:21:104;-1:-1:-1;;;298:5025:182;;;2141:1:104;298:5025:182;;;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;;;;-1:-1:-1;;298:5025:182;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;7991:234:79;;-1:-1:-1;298:5025:182;;;;3130:6:79;298:5025:182;;;;;;;;;;;;;;;;;;;;;;;;8070:149:79;;7991:234;;;:::o;8070:149::-;298:5025:182;;;3130:6:79;298:5025:182;;;;;;;;;;;;;;;;;;;;8168:40:79;719:10:102;8168:40:79;;;7991:234::o;1359:130:81:-;1273:6;298:5025:182;-1:-1:-1;;;;;298:5025:182;719:10:102;1422:23:81;298:5025:182;;1359:130:81:o;298:5025:182:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1535:311;-1:-1:-1;;;;;298:5025:182;-1:-1:-1;298:5025:182;;;1710:28;298:5025;;;;;;;;1710:129;;;1775:25;298:5025;;;;-1:-1:-1;298:5025:182;;;1535:311;:::o;1710:129::-;1837:2;1535:311;:::o;298:5025::-;;;;;;;;;;-1:-1:-1;;;;;298:5025:182;;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;298:5025:182;;;;;;;;;;;;;;;;;-1:-1:-1;;;298:5025:182;;;;;;","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","ROYALTY_FEE_SETTER_ROLE()":"52214f61","calculateRoyaltyFee(address,uint256,uint256)":"860110f5","contractRoyaltyPercentage(address)":"d8779781","contractRoyaltyPercentageSet(address)":"1fc58258","contractRoyaltyReceiver(address)":"a34e36a5","getERC721TokenRoyaltyPercentage(address,uint256)":"7c0329f7","getPercentageForSetERC721ContractRoyalty(address)":"76bf88b2","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","iERC721TokenCreator()":"5121d5ba","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","royaltyReceiverOverride(address)":"0f7c7624","setIERC721TokenCreator(address)":"58a70266","setPercentageForSetERC721ContractRoyalty(address,uint8)":"2d5baea3","setRoyaltyReceiverForContract(address,address)":"3ee893d4","setRoyaltyReceiverForToken(address,address,uint256)":"725a5f28","setRoyaltyReceiverOverride(address)":"f3006722","supportsInterface(bytes4)":"01ffc9a7","tokenCreator(address,uint256)":"b85ed7e4","tokenRoyaltyReceiver(address,uint256)":"7d3b79ac","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_iERC721TokenCreator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_FEE_SETTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"calculateRoyaltyFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"contractRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"contractRoyaltyPercentageSet\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"contractRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getERC721TokenRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"getPercentageForSetERC721ContractRoyalty\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"iERC721TokenCreator\",\"outputs\":[{\"internalType\":\"contract ICreatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"royaltyReceiverOverride\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"setIERC721TokenCreator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_percentage\",\"type\":\"uint8\"}],\"name\":\"setPercentageForSetERC721ContractRoyalty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"setRoyaltyReceiverForContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setRoyaltyReceiverOverride\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"calculateRoyaltyFee(address,uint256,uint256)\":{\"details\":\"Utililty function to calculate the royalty fee for a token.\",\"params\":{\"_amount\":\"uint256 wei amount.\",\"_contractAddress\":\"address ERC721Contract address.\",\"_tokenId\":\"uint256 token ID.\"},\"returns\":{\"_0\":\"uint256 wei fee.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setPercentageForSetERC721ContractRoyalty(address,uint8)\":{\"details\":\"Utililty function to set the royalty percentage for a specific ERC721 contract.\",\"params\":{\"_contractAddress\":\"address ERC721Contract address.\",\"_percentage\":\"percentage for royalty\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/RoyaltyRegistry.sol\":\"RoyaltyRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/registry/RoyaltyRegistry.sol\":{\"keccak256\":\"0x02b7fe3cf65bd20764df4631eb1b159b4d9364e6ff7714e4bbc143b07fddee27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4bc42da8a71b99bf4f1fe094c36446b6ffde7dd33152dc29bc9668f6c885654\",\"dweb:/ipfs/Qme6XqDRUFJ7R1Lda5SgnZtodQCCnTSLrzrbP7PjUmGoZD\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_iERC721TokenCreator","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ROYALTY_FEE_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateRoyaltyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"contractRoyaltyPercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"contractRoyaltyPercentageSet","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"contractRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"getERC721TokenRoyaltyPercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"view","type":"function","name":"getPercentageForSetERC721ContractRoyalty","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"iERC721TokenCreator","outputs":[{"internalType":"contract ICreatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"royaltyReceiverOverride","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setIERC721TokenCreator"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint8","name":"_percentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPercentageForSetERC721ContractRoyalty"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_contractAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForContract"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverOverride"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"calculateRoyaltyFee(address,uint256,uint256)":{"details":"Utililty function to calculate the royalty fee for a token.","params":{"_amount":"uint256 wei amount.","_contractAddress":"address ERC721Contract address.","_tokenId":"uint256 token ID."},"returns":{"_0":"uint256 wei fee."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setPercentageForSetERC721ContractRoyalty(address,uint8)":{"details":"Utililty function to set the royalty percentage for a specific ERC721 contract.","params":{"_contractAddress":"address ERC721Contract address.","_percentage":"percentage for royalty"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/RoyaltyRegistry.sol":"RoyaltyRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/registry/RoyaltyRegistry.sol":{"keccak256":"0x02b7fe3cf65bd20764df4631eb1b159b4d9364e6ff7714e4bbc143b07fddee27","urls":["bzz-raw://b4bc42da8a71b99bf4f1fe094c36446b6ffde7dd33152dc29bc9668f6c885654","dweb:/ipfs/Qme6XqDRUFJ7R1Lda5SgnZtodQCCnTSLrzrbP7PjUmGoZD"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"}},"version":1},"id":182} \ No newline at end of file diff --git a/abis/SovereignNFT.json b/abis/SovereignNFT.json index 7417e81..d32ade7 100644 --- a/abis/SovereignNFT.json +++ b/abis/SovereignNFT.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234610016576126eb908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146114b25750806306fdde0314611408578063081812fc146113e8578063095ea7b31461127757806318160ddd1461125757806323b872dd146112325780632a55205a146111a05780633403c4e9146111775780633ebc82c51461113557806340c1a0641461110b57806342842e0e146110d757806342966c68146110ba5780634aa52c41146110495780635edc7c1914610b3e5780636297c16c14610ac25780636352211e14610a9157806370a08231146109fb578063715018a61461099e5780637cc918d114610678578063894ba8331461062a5780638da5cb5b1461060157806395d89b411461051c578063a22cb4651461044d578063ab69607a1461042e578063b88d4fde146103a3578063c87b56dd14610368578063d9856c21146102fb578063e8315742146102db578063e985e9c51461028d578063ee0708051461026a578063efc32cd4146102175763f2fde38b1461018357600080fd5b346102135760203660031901126102135761019c611597565b916101a56116e8565b6001600160a01b038316156101c157836101be84611740565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b505034610266578060031936011261026657610231611597565b9061023a6116e8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461026657816003193601126102665760209060ff80541690519015158152f35b50503461026657806003193601126102665760ff816020936102ad611597565b6102b56115b2565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610266578160031936011261026657602090610100549051908152f35b83823461026657602036600319011261026657803567ffffffffffffffff811161021357366023820112156102135761036491816024610340933693013591016116b1565b6103486116e8565b61035660ff80541615611b49565b60fc54339182908190611d35565b5080f35b5091346103a05760203660031901126103a0575061038961039c9235612073565b9051918291602083526020830190611572565b0390f35b80fd5b838234610266576080366003190112610266576103be611597565b906103c76115b2565b916044356064359367ffffffffffffffff851161042a573660238601121561042a57610402610425948660246101be983693013591016116b1565b9261041561041084336122c9565b611869565b6104208383836123fb565b611a5e565b61191e565b8580fd5b50503461026657816003193601126102665760209060fc549051908152f35b509034610213578060031936011261021357610467611597565b9060243591821515809303610518576001600160a01b0316923384146104d65750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102665781600319360112610266578051908260985461053e81611789565b808552916001918083169081156105d9575060011461057c575b50505061056a8261039c940383611673565b51918291602083526020830190611572565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105c15750505061056a82602061039c9582010194610558565b805460208787018101919091529095019481016105a4565b61039c97508693506020925061056a94915060ff191682840152151560051b82010194610558565b50503461026657816003193601126102665760335490516001600160a01b039091168152602090f35b83346103a057806003193601126103a0576106436116e8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5091903461026657806003193601126102665767ffffffffffffffff92803584811161099a576106ab9036908301611613565b906106b46116e8565b6106c260ff80541615611b49565b610104908154926001978885019485811161098757602490813501938a850180881161097557851161096357885195602096878101818110868211176108fd578b5286905285905561010054851161092157885190606082018281108582111761090f579061073e918b528883528783019587875236916116b1565b93898201948552610105805490680100000000000000008210156108fd578d8201905561076a90611b95565b9290926108ec579060029291518255518c8201550192519687519283116108db5750506107978254611789565b601f8111610899575b50879888969798508497601f8311600114610815578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9461080a575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b0151925038806107e4565b8388528588209098919291601f198316895b818110610881575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610868575b505050811b0190556107f6565b015160001960f88460031b161c1916905538808061085b565b828c015184558d9a5092850192918801918801610827565b828952848920601f830160051c8101918684106108d1575b601f0160051c01905b8181106108c757506107a0565b8981558a016108ba565b90915081906108b1565b634e487b7160e01b8a526041905288fd5b634e487b7160e01b8c528b8a52838cfd5b634e487b7160e01b8d5260418b52848dfd5b634e487b7160e01b8c5260418a52838cfd5b885162461bcd60e51b8152808901879052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b89526011875288fd5b634e487b7160e01b8b5260118952828bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b83346103a057806003193601126103a0576109b76116e8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610266576020366003190112610266576001600160a01b03610a1f611597565b16908115610a3c576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103a05760203660031901126103a05750610ab160209235612259565b90516001600160a01b039091168152f35b503461021357602036600319011261021357803591610ae083612259565b336001600160a01b0390911603610afb57836101be84611be7565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346102665760803660031901126102665767ffffffffffffffff92813584811161099a57610b729036908401611613565b929060243586811161042a57610b8b9036908401611613565b610b969791976115c8565b9387549860ff94858b60081c16159889809a61103d575b8015611027575b15610fcd5760ff19808d1660019081178d559b9c999a998a610fbc575b506001600160a01b03891615610f795791610c2491610c14898f610c2c9796600a60fc558254168255606435610100555460081c16610c0f81611ae9565b611ae9565b610c1d33611740565b36916116b1565b9336916116b1565b90610c40858b5460081c16610c0f81611ae9565b8251848111610f665780610c55609754611789565b94601f95868111610ef5575b506020908d878411600114610e765792610e6b575b5050600019600383901b1c1916908a1b176097555b8151938411610e585750610ca0609854611789565b828111610df5575b506020918311600114610d69579180610d1d959492610cf5948b92610d5e575b5050600019600383901b1c191690881b176098555b875460081c16610cec81611ae9565b610c0f81611ae9565b60fb80546001600160a01b0319166001600160a01b038316179055610d186116e8565b611740565b610d25578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610cc8565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610ddd575091610cf595939185610d1d9998969410610dc4575b505050811b01609855610cdd565b015160001960f88460031b161c191690558a8080610db6565b8284015185558b969094019360209384019301610d99565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610e4f575b0160051c019089905b828110610e44575050610ca8565b8b8155018990610e36565b92508192610e2d565b634e487b7160e01b8a5260419052602489fd5b015190508c80610c76565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110610edd57508411610ec4575b505050811b01609755610c8b565b015160001960f88460031b161c191690558c8080610eb6565b8284015185558f969094019360209384019301610ea7565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610f5d575b859493910160051c909101908d908f5b838210610f4f57505050610c61565b81558594508e91018f610f40565b92508192610f30565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610bd1565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610bb457506001878d1614610bb4565b506001878d1610610bad565b83823461026657606036600319011261026657803567ffffffffffffffff8111610213576103649161107d91369101611613565b906110866115b2565b61108e6115c8565b926110976116e8565b6110a560ff80541615611b49565b6110b560fc5493339236916116b1565b611d35565b838234610266576020366003190112610266576101be9035611be7565b505034610266576104256101be916110ee366115de565b919251926110fb84611641565b86845261041561041084336122c9565b5050346102665760203660031901126102665760335490516001600160a01b039091168152602090f35b83346103a05760203660031901126103a0576101be611152611597565b61115a6116e8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461026657816003193601126102665760fb5490516001600160a01b039091168152602090f35b5091346103a057816003193601126103a0578235815260fd60205281812054602435906001600160a01b03908116801561122657925b60fe60205284812054801561121c57925b8381029381850414901517156112095750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926111e7565b508060fb5416926111d6565b83346103a0576101be611244366115de565b9161125261041084336122c9565b6123fb565b505034610266578160031936011261026657602090610104549051908152f35b5034610213578160031936011261021357611290611597565b6024359290916001600160a01b03919082806112ab87612259565b1694169380851461139b5780331490811561137c575b50156113145750838552610103602052842080546001600160a01b031916831790556112ec83611ccf565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386112c1565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103a05760203660031901126103a05750610ab160209235612333565b5050346102665781600319360112610266578051908260975461142a81611789565b808552916001918083169081156105d957506001146114555750505061056a8261039c940383611673565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061149a5750505061056a82602061039c9582010194610558565b8054602087870181019190915290950194810161147d565b92505034610213576020366003190112610213573563ffffffff60e01b81169081810361099a5760209350631030681960e21b821491821561153e575b8215611515575b508115611505575b5015158152f35b61150f9150612671565b386114fe565b90915063152a902d60e11b14801561152f575b90386114f6565b5061153981612671565b611528565b6301ffc9a760e01b811492506114ef565b60005b8381106115625750506000910152565b8181015183820152602001611552565b9060209161158b8151809281855285808601910161154f565b601f01601f1916010190565b600435906001600160a01b03821682036115ad57565b600080fd5b602435906001600160a01b03821682036115ad57565b604435906001600160a01b03821682036115ad57565b60609060031901126115ad576001600160a01b039060043582811681036115ad579160243590811681036115ad579060443590565b9181601f840112156115ad5782359167ffffffffffffffff83116115ad57602083818601950101116115ad57565b6020810190811067ffffffffffffffff82111761165d57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761165d57604052565b67ffffffffffffffff811161165d57601f01601f191660200190565b9291926116bd82611695565b916116cb6040519384611673565b8294818452818301116115ad578281602093846000960137010152565b6033546001600160a01b031633036116fc57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156117b9575b60208310146117a357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611798565b90604051918260008254926117d784611789565b9081845260019485811690816000146118465750600114611803575b505061180192500383611673565b565b9093915060005260209081600020936000915b81831061182e575050611801935082010138806117f3565b85548884018501529485019487945091830191611816565b91505061180194506020925060ff191682840152151560051b82010138806117f3565b1561187057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561192557565b60405162461bcd60e51b81528061193e600482016118cb565b0390fd5b9192600092909190803b15611a5457611990946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611572565b03926001600160a01b03165af1849181611a14575b50611a03575050503d6000146119fb573d6119bf81611695565b906119cd6040519283611673565b81528091833d92013e5b805191826119f85760405162461bcd60e51b81528061193e600482016118cb565b01fd5b5060606119d7565b6001600160e01b0319161492509050565b9091508581813d8311611a4d575b611a2c8183611673565b8101031261051857516001600160e01b0319811681036105185790386119a5565b503d611a22565b5050915050600190565b9293600093909291803b15611ade57948491611ab89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611572565b0393165af1849181611a145750611a03575050503d6000146119fb573d6119bf81611695565b505050915050600190565b15611af057565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15611b5057565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015611bd157600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b611bf0816125d0565b5050600082815261010260205260408120805460ff191660011790559080611cb0575b611cac57611c2461041083336122c9565b611c2d82611ccf565b50611c3782611ccf565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615611c13565b6000908152609960205260409020546001600160a01b03168015611cf05790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711611eef57611d79610425604051611d6381611641565b89600096878352611d748282611f7f565b611942565b8683526020916101068352604084209181519167ffffffffffffffff8311611edb57611da58454611789565b601f8111611e95575b508490601f8411600114611e2c57928060fd9593819389989660409a94611e21575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880611dd0565b8487528587209293929190601f198416885b818110611e80575091604098979593918560fd98969410611e67575b505050811b019055611de2565b015160001960f88460031b161c19169055388080611e5a565b82840151855593860193928801928801611e3e565b848752858720601f850160051c810191878610611ed1575b601f0160051c019083905b828110611ec6575050611dae565b888155018390611eb8565b9091508190611ead565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15611f3a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561202f57600082815260996020526040902054611fb3906001600160a01b031615155b15611f33565b600082815260996020526040902054611fd6906001600160a01b03161515611fad565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b61207c816125d0565b911515905061209f575060005261010660205261209c60406000206117c3565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561224b575b50506d04ee2d6d415b85acef81000000008082101561223e575b50662386f26fc1000080821015612231575b506305f5e10080821015612224575b5061271080821015612217575b506064811015612209575b600a809110156121ff575b60018084019281602161215361213d87611695565b9661214b6040519889611673565b808852611695565b602087019790601f1901368937860101905b6121c9575b505050506121ac9261209c92602692604051958361219288955180926020808901910161154f565b840191602f60f81b6020840152518093602184019061154f565b0164173539b7b760d91b6021820152036006810184520182611673565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156121fa57919082612165565b61216a565b9160010191612128565b60646002910492019161211d565b6004910492019138612112565b6008910492019138612105565b60109104920191386120f6565b60209104920191386120e4565b6040945004905038806120ca565b612262816125d0565b50506122715761209c90611ccf565b8060005261010260205260ff604060002054166000146122945761209c90611ccf565b6000818152609960205260409020546001600160a01b03166122c057506033546001600160a01b031690565b61209c90611ccf565b6001600160a01b039081806122dd85612259565b1691169181831493841561231c575b505082156122f957505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061232990612333565b16149138806122ec565b600081815260fd60205260408120546001600160a01b039291908316612358836125d0565b50509081156123f1575b50806123d9575b1561237f57604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612369565b9050151538612362565b9082156115ad576124459161240f846125d0565b505080612557575b8061253d575b61252e575b61242b84611ccf565b6001600160a01b0393918416928492909183168414612576565b169182156124dd57816124629161245b86611ccf565b1614612576565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6125388482611f7f565b612422565b508360005261010260205260ff604060002054161561241d565b506000848152609960205260409020546001600160a01b031615612417565b1561257d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106125fd57505090506000906000906040516125f681611641565b6000815290565b61260681611b95565b50548210158061265a575b61263c576000198114612626576001016125d9565b634e487b7160e01b600052601160045260246000fd5b8093506126499150611b95565b509061209c600260019493016117c3565b50600161266682611b95565b500154821115612611565b63ffffffff60e01b166380ac58cd60e01b81149081156126a4575b8115612696575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061268c56fea26469706673582212202506f26fa7d24cbc1690ebf6e03bfb199170c880dd4c2cb3b58b29370d1d98ea64736f6c63430008120033","sourceMap":"703:9721:200:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146114b25750806306fdde0314611408578063081812fc146113e8578063095ea7b31461127757806318160ddd1461125757806323b872dd146112325780632a55205a146111a05780633403c4e9146111775780633ebc82c51461113557806340c1a0641461110b57806342842e0e146110d757806342966c68146110ba5780634aa52c41146110495780635edc7c1914610b3e5780636297c16c14610ac25780636352211e14610a9157806370a08231146109fb578063715018a61461099e5780637cc918d114610678578063894ba8331461062a5780638da5cb5b1461060157806395d89b411461051c578063a22cb4651461044d578063ab69607a1461042e578063b88d4fde146103a3578063c87b56dd14610368578063d9856c21146102fb578063e8315742146102db578063e985e9c51461028d578063ee0708051461026a578063efc32cd4146102175763f2fde38b1461018357600080fd5b346102135760203660031901126102135761019c611597565b916101a56116e8565b6001600160a01b038316156101c157836101be84611740565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b505034610266578060031936011261026657610231611597565b9061023a6116e8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461026657816003193601126102665760209060ff80541690519015158152f35b50503461026657806003193601126102665760ff816020936102ad611597565b6102b56115b2565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610266578160031936011261026657602090610100549051908152f35b83823461026657602036600319011261026657803567ffffffffffffffff811161021357366023820112156102135761036491816024610340933693013591016116b1565b6103486116e8565b61035660ff80541615611b49565b60fc54339182908190611d35565b5080f35b5091346103a05760203660031901126103a0575061038961039c9235612073565b9051918291602083526020830190611572565b0390f35b80fd5b838234610266576080366003190112610266576103be611597565b906103c76115b2565b916044356064359367ffffffffffffffff851161042a573660238601121561042a57610402610425948660246101be983693013591016116b1565b9261041561041084336122c9565b611869565b6104208383836123fb565b611a5e565b61191e565b8580fd5b50503461026657816003193601126102665760209060fc549051908152f35b509034610213578060031936011261021357610467611597565b9060243591821515809303610518576001600160a01b0316923384146104d65750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102665781600319360112610266578051908260985461053e81611789565b808552916001918083169081156105d9575060011461057c575b50505061056a8261039c940383611673565b51918291602083526020830190611572565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105c15750505061056a82602061039c9582010194610558565b805460208787018101919091529095019481016105a4565b61039c97508693506020925061056a94915060ff191682840152151560051b82010194610558565b50503461026657816003193601126102665760335490516001600160a01b039091168152602090f35b83346103a057806003193601126103a0576106436116e8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5091903461026657806003193601126102665767ffffffffffffffff92803584811161099a576106ab9036908301611613565b906106b46116e8565b6106c260ff80541615611b49565b610104908154926001978885019485811161098757602490813501938a850180881161097557851161096357885195602096878101818110868211176108fd578b5286905285905561010054851161092157885190606082018281108582111761090f579061073e918b528883528783019587875236916116b1565b93898201948552610105805490680100000000000000008210156108fd578d8201905561076a90611b95565b9290926108ec579060029291518255518c8201550192519687519283116108db5750506107978254611789565b601f8111610899575b50879888969798508497601f8311600114610815578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9461080a575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b0151925038806107e4565b8388528588209098919291601f198316895b818110610881575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610868575b505050811b0190556107f6565b015160001960f88460031b161c1916905538808061085b565b828c015184558d9a5092850192918801918801610827565b828952848920601f830160051c8101918684106108d1575b601f0160051c01905b8181106108c757506107a0565b8981558a016108ba565b90915081906108b1565b634e487b7160e01b8a526041905288fd5b634e487b7160e01b8c528b8a52838cfd5b634e487b7160e01b8d5260418b52848dfd5b634e487b7160e01b8c5260418a52838cfd5b885162461bcd60e51b8152808901879052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b89526011875288fd5b634e487b7160e01b8b5260118952828bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b83346103a057806003193601126103a0576109b76116e8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610266576020366003190112610266576001600160a01b03610a1f611597565b16908115610a3c576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103a05760203660031901126103a05750610ab160209235612259565b90516001600160a01b039091168152f35b503461021357602036600319011261021357803591610ae083612259565b336001600160a01b0390911603610afb57836101be84611be7565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346102665760803660031901126102665767ffffffffffffffff92813584811161099a57610b729036908401611613565b929060243586811161042a57610b8b9036908401611613565b610b969791976115c8565b9387549860ff94858b60081c16159889809a61103d575b8015611027575b15610fcd5760ff19808d1660019081178d559b9c999a998a610fbc575b506001600160a01b03891615610f795791610c2491610c14898f610c2c9796600a60fc558254168255606435610100555460081c16610c0f81611ae9565b611ae9565b610c1d33611740565b36916116b1565b9336916116b1565b90610c40858b5460081c16610c0f81611ae9565b8251848111610f665780610c55609754611789565b94601f95868111610ef5575b506020908d878411600114610e765792610e6b575b5050600019600383901b1c1916908a1b176097555b8151938411610e585750610ca0609854611789565b828111610df5575b506020918311600114610d69579180610d1d959492610cf5948b92610d5e575b5050600019600383901b1c191690881b176098555b875460081c16610cec81611ae9565b610c0f81611ae9565b60fb80546001600160a01b0319166001600160a01b038316179055610d186116e8565b611740565b610d25578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610cc8565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610ddd575091610cf595939185610d1d9998969410610dc4575b505050811b01609855610cdd565b015160001960f88460031b161c191690558a8080610db6565b8284015185558b969094019360209384019301610d99565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610e4f575b0160051c019089905b828110610e44575050610ca8565b8b8155018990610e36565b92508192610e2d565b634e487b7160e01b8a5260419052602489fd5b015190508c80610c76565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110610edd57508411610ec4575b505050811b01609755610c8b565b015160001960f88460031b161c191690558c8080610eb6565b8284015185558f969094019360209384019301610ea7565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610f5d575b859493910160051c909101908d908f5b838210610f4f57505050610c61565b81558594508e91018f610f40565b92508192610f30565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610bd1565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610bb457506001878d1614610bb4565b506001878d1610610bad565b83823461026657606036600319011261026657803567ffffffffffffffff8111610213576103649161107d91369101611613565b906110866115b2565b61108e6115c8565b926110976116e8565b6110a560ff80541615611b49565b6110b560fc5493339236916116b1565b611d35565b838234610266576020366003190112610266576101be9035611be7565b505034610266576104256101be916110ee366115de565b919251926110fb84611641565b86845261041561041084336122c9565b5050346102665760203660031901126102665760335490516001600160a01b039091168152602090f35b83346103a05760203660031901126103a0576101be611152611597565b61115a6116e8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461026657816003193601126102665760fb5490516001600160a01b039091168152602090f35b5091346103a057816003193601126103a0578235815260fd60205281812054602435906001600160a01b03908116801561122657925b60fe60205284812054801561121c57925b8381029381850414901517156112095750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926111e7565b508060fb5416926111d6565b83346103a0576101be611244366115de565b9161125261041084336122c9565b6123fb565b505034610266578160031936011261026657602090610104549051908152f35b5034610213578160031936011261021357611290611597565b6024359290916001600160a01b03919082806112ab87612259565b1694169380851461139b5780331490811561137c575b50156113145750838552610103602052842080546001600160a01b031916831790556112ec83611ccf565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386112c1565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103a05760203660031901126103a05750610ab160209235612333565b5050346102665781600319360112610266578051908260975461142a81611789565b808552916001918083169081156105d957506001146114555750505061056a8261039c940383611673565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061149a5750505061056a82602061039c9582010194610558565b8054602087870181019190915290950194810161147d565b92505034610213576020366003190112610213573563ffffffff60e01b81169081810361099a5760209350631030681960e21b821491821561153e575b8215611515575b508115611505575b5015158152f35b61150f9150612671565b386114fe565b90915063152a902d60e11b14801561152f575b90386114f6565b5061153981612671565b611528565b6301ffc9a760e01b811492506114ef565b60005b8381106115625750506000910152565b8181015183820152602001611552565b9060209161158b8151809281855285808601910161154f565b601f01601f1916010190565b600435906001600160a01b03821682036115ad57565b600080fd5b602435906001600160a01b03821682036115ad57565b604435906001600160a01b03821682036115ad57565b60609060031901126115ad576001600160a01b039060043582811681036115ad579160243590811681036115ad579060443590565b9181601f840112156115ad5782359167ffffffffffffffff83116115ad57602083818601950101116115ad57565b6020810190811067ffffffffffffffff82111761165d57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761165d57604052565b67ffffffffffffffff811161165d57601f01601f191660200190565b9291926116bd82611695565b916116cb6040519384611673565b8294818452818301116115ad578281602093846000960137010152565b6033546001600160a01b031633036116fc57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156117b9575b60208310146117a357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611798565b90604051918260008254926117d784611789565b9081845260019485811690816000146118465750600114611803575b505061180192500383611673565b565b9093915060005260209081600020936000915b81831061182e575050611801935082010138806117f3565b85548884018501529485019487945091830191611816565b91505061180194506020925060ff191682840152151560051b82010138806117f3565b1561187057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561192557565b60405162461bcd60e51b81528061193e600482016118cb565b0390fd5b9192600092909190803b15611a5457611990946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611572565b03926001600160a01b03165af1849181611a14575b50611a03575050503d6000146119fb573d6119bf81611695565b906119cd6040519283611673565b81528091833d92013e5b805191826119f85760405162461bcd60e51b81528061193e600482016118cb565b01fd5b5060606119d7565b6001600160e01b0319161492509050565b9091508581813d8311611a4d575b611a2c8183611673565b8101031261051857516001600160e01b0319811681036105185790386119a5565b503d611a22565b5050915050600190565b9293600093909291803b15611ade57948491611ab89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611572565b0393165af1849181611a145750611a03575050503d6000146119fb573d6119bf81611695565b505050915050600190565b15611af057565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15611b5057565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015611bd157600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b611bf0816125d0565b5050600082815261010260205260408120805460ff191660011790559080611cb0575b611cac57611c2461041083336122c9565b611c2d82611ccf565b50611c3782611ccf565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615611c13565b6000908152609960205260409020546001600160a01b03168015611cf05790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711611eef57611d79610425604051611d6381611641565b89600096878352611d748282611f7f565b611942565b8683526020916101068352604084209181519167ffffffffffffffff8311611edb57611da58454611789565b601f8111611e95575b508490601f8411600114611e2c57928060fd9593819389989660409a94611e21575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880611dd0565b8487528587209293929190601f198416885b818110611e80575091604098979593918560fd98969410611e67575b505050811b019055611de2565b015160001960f88460031b161c19169055388080611e5a565b82840151855593860193928801928801611e3e565b848752858720601f850160051c810191878610611ed1575b601f0160051c019083905b828110611ec6575050611dae565b888155018390611eb8565b9091508190611ead565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15611f3a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561202f57600082815260996020526040902054611fb3906001600160a01b031615155b15611f33565b600082815260996020526040902054611fd6906001600160a01b03161515611fad565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b61207c816125d0565b911515905061209f575060005261010660205261209c60406000206117c3565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561224b575b50506d04ee2d6d415b85acef81000000008082101561223e575b50662386f26fc1000080821015612231575b506305f5e10080821015612224575b5061271080821015612217575b506064811015612209575b600a809110156121ff575b60018084019281602161215361213d87611695565b9661214b6040519889611673565b808852611695565b602087019790601f1901368937860101905b6121c9575b505050506121ac9261209c92602692604051958361219288955180926020808901910161154f565b840191602f60f81b6020840152518093602184019061154f565b0164173539b7b760d91b6021820152036006810184520182611673565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156121fa57919082612165565b61216a565b9160010191612128565b60646002910492019161211d565b6004910492019138612112565b6008910492019138612105565b60109104920191386120f6565b60209104920191386120e4565b6040945004905038806120ca565b612262816125d0565b50506122715761209c90611ccf565b8060005261010260205260ff604060002054166000146122945761209c90611ccf565b6000818152609960205260409020546001600160a01b03166122c057506033546001600160a01b031690565b61209c90611ccf565b6001600160a01b039081806122dd85612259565b1691169181831493841561231c575b505082156122f957505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061232990612333565b16149138806122ec565b600081815260fd60205260408120546001600160a01b039291908316612358836125d0565b50509081156123f1575b50806123d9575b1561237f57604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612369565b9050151538612362565b9082156115ad576124459161240f846125d0565b505080612557575b8061253d575b61252e575b61242b84611ccf565b6001600160a01b0393918416928492909183168414612576565b169182156124dd57816124629161245b86611ccf565b1614612576565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6125388482611f7f565b612422565b508360005261010260205260ff604060002054161561241d565b506000848152609960205260409020546001600160a01b031615612417565b1561257d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106125fd57505090506000906000906040516125f681611641565b6000815290565b61260681611b95565b50548210158061265a575b61263c576000198114612626576001016125d9565b634e487b7160e01b600052601160045260246000fd5b8093506126499150611b95565b509061209c600260019493016117c3565b50600161266682611b95565b500154821115612611565b63ffffffff60e01b166380ac58cd60e01b81149081156126a4575b8115612696575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061268c56fea26469706673582212202506f26fa7d24cbc1690ebf6e03bfb199170c880dd4c2cb3b58b29370d1d98ea64736f6c63430008120033","sourceMap":"703:9721:200:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;703:9721:200;;2402:22:39;703:9721:200;;2496:8:39;;;;:::i;:::-;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;703:9721:200;;;;4978:16;703:9721;;;;;;-1:-1:-1;;;;;;703:9721:200;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1138:20;703:9721;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;703:9721:200;;;;;4980:18:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1165:24;703:9721;;;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;;;;;;;;;;3510:155;703:9721;;;;;;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;2737:52:200;2746:8;703:9721;;;2745:9;2737:52;:::i;:::-;2453:24:212;703:9721:200;3554:10;;;;;;3510:155;:::i;:::-;;703:9721;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6956:47:58;703:9721:200;;;6948:110:58;703:9721:200;;;;;;;;:::i;:::-;929:10:65;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;703:9721:200:-;;;;;;;;;;;;;;;;;;;;2453:24:212;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;703:9721:200;;929:10:65;13528:17:58;;703:9721:200;;929:10:65;;703:9721:200;;13585:18:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:58;703:9721:200;929:10:65;13646:41:58;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:58;703:9721:200;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;703:9721:200;;;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;4663:4:200;703:9721;;;;;;;;4699:10;4682:28;;;;703:9721;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;2737:52:200;2746:8;703:9721;;;2745:9;2737:52;:::i;:::-;2975:14;703:9721;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3195:9;703:9721;3167:37;;703:9721;;;;;;;;;;;;;;;;;;;;;;;;;3287:45;;;703:9721;;;;;;;:::i;:::-;3287:45;;;;703:9721;;;3270:11;703:9721;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3349:66;703:9721;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;703:9721:200;;;;;;;3349:66;703:9721;;;;;;-1:-1:-1;703:9721:200;;;;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;;;3349:66;703:9721;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;703:9721:200;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;703:9721:200;;-1:-1:-1;;;;;;703:9721:200;;;;;;;-1:-1:-1;;;;;703:9721:200;2806:40:39;703:9721:200;;2806:40:39;703:9721:200;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;-1:-1:-1;;;;;703:9721:200;;:::i;:::-;;2489:19:58;;;703:9721:200;;;;;;;;;2571:9:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;2619:17;;;;:::i;:::-;2640:10;-1:-1:-1;;;;;703:9721:200;;;2619:31;703:9721;;4093:8;;;;:::i;703:9721::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:45;3347:34;;;;;;703:9721:200;3346:108:45;;;;703:9721:200;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;;;;;;3562:65:45;;703:9721:200;-1:-1:-1;;;;;;703:9721:200;;2180:22;703:9721;;;;;5366:69:45;703:9721:200;;;;;2276:2;2197:38:212;703:9721:200;;;;;;;;2315:22;703:9721;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;703:9721:200;;;:::i;:::-;;;;;:::i;:::-;;5366:69:45;703:9721:200;;;;;;5366:69:45;;;:::i;:::-;703:9721:200;;;;;;;;;1873:13:58;703:9721:200;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;703:9721:200;;;;;;;;;;;1873:13:58;703:9721:200;;;;;;;;;;;1896:17:58;703:9721:200;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:39;703:9721:200;;;5366:69:45;703:9721:200;;;;;;-1:-1:-1;;;;703:9721:200;;;;;;;;;;;1896:17:58;703:9721:200;;;;;;;5366:69:45;;;:::i;:::-;;;;:::i;:::-;1492:34:212;703:9721:200;;-1:-1:-1;;;;;;703:9721:200;-1:-1:-1;;;;;703:9721:200;;;;;1303:62:39;;:::i;:::-;2496:8;:::i;:::-;3647:99:45;;703:9721:200;;;3647:99:45;703:9721:200;;-1:-1:-1;;703:9721:200;;;;;;;3721:14:45;;703:9721:200;;3721:14:45;3647:99;;703:9721:200;;;;;;;-1:-1:-1;703:9721:200;;;;;1896:17:58;703:9721:200;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;;5366:69:45;703:9721:200;;;;2496:8:39;703:9721:200;;;;;;;;;;;;;;1896:17:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;;;;;;;;;;1873:13:58;703:9721:200;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;;;;;1873:13:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;3562:65:45;-1:-1:-1;;703:9721:200;;;;;3562:65:45;;;703:9721:200;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;703:9721:200;;;;;3436:17:45;3346:108;;3347:34;703:9721:200;;;;;3365:16:45;3347:34;;703:9721:200;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;;3834:160;703:9721;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:39;;;:::i;:::-;2737:52:200;2746:8;703:9721;;;2745:9;2737:52;:::i;:::-;703:9721;2453:24:212;703:9721:200;3878:10;;703:9721;;;;:::i;:::-;3834:160;:::i;703:9721::-;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;:::i;:::-;;;;;;6956:47:58;6948:110;703:9721:200;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;703:9721:200:-;;;;;;;;-1:-1:-1;;703:9721:200;;;;1513:6:39;703:9721:200;;;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;4833:9;703:9721;;:::i;:::-;1303:62:39;;:::i;:::-;703:9721:200;;;;;;-1:-1:-1;;;;;703:9721:200;;1492:34:212;703:9721:200;;;1492:34:212;703:9721:200;1418:115:212;703:9721:200;;;;;;;;;;;;;;2332:22:212;703:9721:200;;;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:212;703:9721:200;;;;;;;;;-1:-1:-1;;;;;703:9721:200;;;1049:40:212;;703:9721:200;;1049:118:212;;1238:18;703:9721:200;;;;;;1238:33:212;;;;:131;;703:9721:200;;;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;;1401:3:212;703:9721:200;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;1238:131:212;703:9721:200;1345:24:212;703:9721:200;1238:131:212;;;1049:118;703:9721:200;;1145:22:212;703:9721:200;;1049:118:212;;;703:9721:200;;;;;5365:7:58;703:9721:200;;;:::i;:::-;929:10:65;5235:99:58;5243:41;929:10:65;;5243:41:58;:::i;5235:99::-;5365:7;:::i;703:9721:200:-;;;;;;;;;;;;;;;;9313:14;703:9721;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;703:9721:200;;;;7258:16;703:9721;7258:16;:::i;:::-;703:9721;;;7292:11;;;;703:9721;;929:10:65;;7373:21:200;:62;;;;;703:9721;;;;;-1:-1:-1;703:9721:200;;;8087:15;703:9721;;;;;;-1:-1:-1;;;;;;703:9721:200;;;;;8140:34;703:9721;8140:34;:::i;:::-;703:9721;8131:57;;;;703:9721;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7373:62;703:9721;;;;4980:18:58;703:9721:200;;;;;929:10:65;703:9721:200;;;;;;;;;;7373:62;;;703:9721;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:58;703:9721:200;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;10176:46:200;;;:110;;;;703:9721;10176:175;;;;703:9721;10176:239;;;;;703:9721;;;;;;;10176:239;10367:48;;;;:::i;:::-;10176:239;;;:175;2028:26:212;;-1:-1:-1;;;;2013:41:212;:93;;;;10176:175:200;;;;;2013:93:212;2070:36;;;;:::i;:::-;2013:93;;10176:110:200;-1:-1:-1;;;1168:51:69;;;-1:-1:-1;10176:110:200;;703:9721;;;;;;;;-1:-1:-1;;703:9721:200;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;703:9721:200;;;;:::o;:::-;;;;-1:-1:-1;;;;;703:9721:200;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;703:9721:200;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;703:9721:200;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;703:9721:200;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;;:::o;1599:130:39:-;1513:6;703:9721:200;-1:-1:-1;;;;;703:9721:200;929:10:65;1662:23:39;703:9721:200;;1599:130:39:o;703:9721:200:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;703:9721:200;;-1:-1:-1;;;;;703:9721:200;;;-1:-1:-1;;;;;;703:9721:200;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;703:9721:200:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;703:9721:200;;;;-1:-1:-1;703:9721:200;;-1:-1:-1;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;703:9721:200;;;;;;;;:::i;:::-;;;;14463:853:58;;;703:9721:200;;14463:853:58;;;1713:19:63;;:23;:19;;703:9721:200;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;703:9721:200;;;;;;;;;;;;;;;14667:82:58;;;;703:9721:200;;;;;;;;:::i;:::-;14667:82:58;;-1:-1:-1;;;;;703:9721:200;14667:82:58;;;;;;;14628:682;-1:-1:-1;14663:595:58;;14877:381;;;703:9721:200;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:58;;;703:9721:200;;-1:-1:-1;;;14969:60:58;;703:9721:200;14969:60:58;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;703:9721:200;;;;;14663:595:58;-1:-1:-1;;;;;;703:9721:200;14799:62:58;;-1:-1:-1;703:9721:200;-1:-1:-1;14792:69:58:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;703:9721:200;;;;;-1:-1:-1;;;;;;703:9721:200;;;;;;14667:82:58;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;703:9721:200;;14463:853:58;;;1713:19:63;;:23;:19;;703:9721:200;;;;;;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;14667:82:58;;703:9721:200;;;;;;;;:::i;:::-;14667:82:58;703:9721:200;;14667:82:58;;;;;;;-1:-1:-1;14663:595:58;;14877:381;;;703:9721:200;;;;;;;;;:::i;14628:682:58:-;15288:11;;;;;;15295:4;15288:11;:::o;703:9721:200:-;;;;:::o;:::-;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;3270:11;703:9721;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;-1:-1:-1;703:9721:200;:::o;:::-;;;;;;;;;;;;4115:317;4209:24;;;:::i;:::-;-1:-1:-1;;;703:9721:200;;;4244:12;703:9721;;;;;;;-1:-1:-1;;703:9721:200;4269:4;703:9721;;;-1:-1:-1;703:9721:200;4288:54;;4115:317;4284:91;;911:99:61;919:41;929:10:65;;919:41:61;:::i;911:99::-;10729:34:58;;;:::i;:::-;;10935;;;:::i;:::-;703:9721:200;;;11014:15:58;703:9721:200;;;;;;;;;;-1:-1:-1;;;;;;703:9721:200;;;;;;-1:-1:-1;;;;;703:9721:200;;;;;;11254:9:58;703:9721:200;;;;;;;-1:-1:-1;;703:9721:200;;;;;;11302:7:58;703:9721:200;;;;;;;;;;;;;11334:36:58;703:9721:200;;11334:36:58;4115:317:200:o;4284:91::-;4358:7;;:::o;4288:54::-;-1:-1:-1;;703:9721:200;;;7266:7:58;703:9721:200;;;;;;-1:-1:-1;;;;;703:9721:200;7680:31:58;4288:54:200;;2651:219:58;-1:-1:-1;703:9721:200;;;7266:7:58;703:9721:200;;;;;;-1:-1:-1;;;;;703:9721:200;2793:19:58;;703:9721:200;;2651:219:58;:::o;703:9721:200:-;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;5157:624;;;;;1061:1:66;5367:14:200;;703:9721;;;;;;;;5474:9;703:9721;5463:20;;703:9721;;8929:150:58;8950:53;703:9721:200;;;;;:::i;:::-;-1:-1:-1;;703:9721:200;;;;8911:7:58;;;;:::i;:::-;8950:53;:::i;8929:150::-;703:9721:200;;;;;5563:10;703:9721;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5157:624;703:9721;;;;;;;;;;;;1639:16:212;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5110:13;703:9721;;;;;;;;;;;;;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;1794:18:212;703:9721:200;;;;;;;;;;;;;;;;;5157:624;:::o;703:9721::-;;;;-1:-1:-1;703:9721:200;;;;;;;;;;;;;;;;-1:-1:-1;;703:9721:200;;;;;;;;;;;;;;;;;;1639:16:212;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:9721:200;;;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;;;;9408:920:58;-1:-1:-1;;;;;703:9721:200;9487:16:58;;703:9721:200;;-1:-1:-1;703:9721:200;;;7266:7:58;703:9721:200;;;;;;9550:58:58;;-1:-1:-1;;;;;703:9721:200;7680:31:58;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;703:9721:200;;;7266:7:58;703:9721:200;;;;;;9754:58:58;;-1:-1:-1;;;;;703:9721:200;7680:31:58;;9763:16;7592:126;9754:58;9501:1;703:9721:200;;;10154:9:58;703:9721:200;;;;;;;;;;;;;;10193:7:58;703:9721:200;;;;;;-1:-1:-1;;;;;703:9721:200;;;;;;;;10230:33:58;;;;9408:920::o;703:9721:200:-;;;;;;;;;;;;;;;;;;;;;;;;;5940:616;6137:46;;;:::i;:::-;6198:15;;;;-1:-1:-1;6198:15:200;;703:9721;-1:-1:-1;703:9721:200;6236:10;703:9721;;;;-1:-1:-1;703:9721:200;;:::i;:::-;6229:27;:::o;6194:356::-;6447:19;-1:-1:-1;;6447:19:200;10287:8:71;6447:19:200;10278:17:71;;;;10274:103;;6194:356:200;10403:8:71;;;10394:17;;;;10390:103;;6194:356:200;10519:8:71;;10510:17;;;;10506:103;;6194:356:200;10635:7:71;;10626:16;;;;10622:100;;6194:356:200;10748:7:71;;10739:16;;;;10735:100;;6194:356:200;10852:16:71;10861:7;10852:16;;;10848:100;;6194:356:200;10974:7:71;10965:16;;;;10961:66;;6194:356:200;633:1:68;703:9721:200;;;;;775:76:68;703:9721:200;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;703:9721:200;;;;775:76:68;;;864:280;633:1;;;864:280;703:9721:200;;;;;;6338:183;703:9721;6338:183;703:9721;;;;;;;;;6338:183;;703:9721;6338:183;;;703:9721;;;:::i;:::-;;;;-1:-1:-1;;;703:9721:200;;;;;;;775:76:68;703:9721:200;;;;:::i;:::-;;-1:-1:-1;;;775:76:68;703:9721:200;;;6338:183;;;;;;;;;:::i;864:280:68:-;-1:-1:-1;;703:9721:200;;;;-1:-1:-1;;;969:93:68;;;;703:9721:200;969:93:68;703:9721:200;1079:11:68;;1112:10;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:71;703:9721:200;11011:1:71;703:9721:200;10961:66:71;;;10848:100;10861:7;10932:1;703:9721:200;;;;10848:100:71;;;10735;10819:1;703:9721:200;;;;10735:100:71;;;;10622;10706:1;703:9721:200;;;;10622:100:71;;;;10506:103;10592:2;703:9721:200;;;;10506:103:71;;;;10390;10476:2;703:9721:200;;;;10390:103:71;;;;10274;10360:2;;-1:-1:-1;703:9721:200;;-1:-1:-1;10274:103:71;;;;6562:594:200;6726:24;;;:::i;:::-;-1:-1:-1;;6765:15:200;;6803:35;;;:::i;6761:389::-;703:9721;-1:-1:-1;703:9721:200;6859:12;703:9721;;;;-1:-1:-1;703:9721:200;;;6855:295;703:9721;;;6904:35;;;:::i;6855:295::-;-1:-1:-1;703:9721:200;;;7266:7:58;703:9721:200;;;;;;-1:-1:-1;;;;;703:9721:200;6975:35;;-1:-1:-1;1513:6:39;703:9721:200;-1:-1:-1;;;;;703:9721:200;;7030:14::o;6970:170::-;7090:35;;;:::i;7562:338::-;-1:-1:-1;;;;;703:9721:200;;;7742:17;;;:::i;:::-;703:9721;;;7777:17;;;;:66;;;;;7562:338;7777:115;;;;;;7769:124;;7562:338;:::o;7777:115::-;703:9721;;;-1:-1:-1;703:9721:200;4980:18:58;703:9721:200;;;-1:-1:-1;703:9721:200;;-1:-1:-1;703:9721:200;;;;;-1:-1:-1;703:9721:200;;;7562:338;:::o;7777:66::-;7810:21;;;;;;;:::i;:::-;703:9721;7810:33;7777:66;;;;;8274:476;-1:-1:-1;703:9721:200;;;8433:16;703:9721;;;;;;-1:-1:-1;;;;;703:9721:200;;-1:-1:-1;703:9721:200;;8497:24;703:9721;8497:24;:::i;:::-;8546:40;;;;;;;8274:476;8545:81;;;;8274:476;703:9721;;;;;;;8718:15;703:9721;;;;;8274:476;:::o;703:9721::-;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;8545:81;703:9721;;;;8604:12;703:9721;;;;;;;;8603:23;8545:81;;8546:40;8564:22;;;;8546:40;;;8756:473;;8895:13;;703:9721;;11851:92:58;8948:24:200;;;;:::i;:::-;9000:66;;;;;8756:473;9000:105;;;8756:473;8983:180;;8756:473;11859:34:58;;;:::i;:::-;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;11859:42:58;;11851:92;:::i;:::-;703:9721:200;11961:16:58;;;703:9721:200;;12171:34:58;12163:92;12171:34;;;;:::i;:::-;703:9721:200;12171:42:58;12163:92;:::i;:::-;12901:27;8907:1:200;703:9721;;;12324:15:58;703:9721:200;;;;;-1:-1:-1;;;;;703:9721:200;;;;;;;;;;;;12792:9:58;703:9721:200;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:58;703:9721:200;;;;;;;;;;;;;12901:27:58;;8756:473:200:o;703:9721::-;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;8983:180;9143:8;;;;:::i;:::-;8983:180;;9000:105;703:9721;;8907:1;703:9721;9083:12;703:9721;;;;8907:1;703:9721;;;9082:23;9000:105;;:66;-1:-1:-1;;703:9721:200;;;7266:7:58;703:9721:200;;;;;;-1:-1:-1;;;;;703:9721:200;7680:31:58;9000:66:200;;703:9721;;;;:::o;:::-;;;-1:-1:-1;;;703:9721:200;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:9721:200;;;;;;;9350:537;9595:11;703:9721;;9350:537;9588:1;9591:22;;;;;;9859:21;;;;9588:1;9859:21;9588:1;703:9721;;;;;;:::i;:::-;9588:1;703:9721;;9350:537;:::o;9615:3::-;9667:14;;;:::i;:::-;703:9721;;9655:39;;;:96;;;9615:3;9634:205;;-1:-1:-1;;703:9721:200;;;;;;9576:13;;703:9721;;;;9588:1;703:9721;;;;;9588:1;703:9721;9634:205;9801:14;;;;;;;:::i;:::-;9784:40;;703:9721;9801:22;703:9721;9784:40;9801:22;;703:9721;:::i;9655:96::-;9726:14;703:9721;9726:14;;;:::i;:::-;:25;;703:9721;9714:37;;;9655:96;;1987:344:58;703:9721:200;;;;2161:36:58;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;1168:51:69;;1987:344:58;-1:-1:-1;1987:344:58:o;2146:126::-;-1:-1:-1;;;2213:59:58;;;-1:-1:-1;2146:126:58;","linkReferences":{}},"methodIdentifiers":{"addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","batchMint(string,uint256)":"7cc918d1","burn(uint256)":"42966c68","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/SovereignNFT.sol\":\"SovereignNFT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0xa1be1f35bfd101d50b527b796d0aafeba837f498ca3359bcc3a29253140209a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7fdc76b2c989d1c0ca725a261e4a1f9088d80ed182c7ad2358e9f06d7cb966c\",\"dweb:/ipfs/QmSmPoy6pWct22yTed4eKRV5Fx67h2FVwrPE133TZEY4g6\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/SovereignNFT.sol":"SovereignNFT"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFT.sol":{"keccak256":"0xa1be1f35bfd101d50b527b796d0aafeba837f498ca3359bcc3a29253140209a1","urls":["bzz-raw://c7fdc76b2c989d1c0ca725a261e4a1f9088d80ed182c7ad2358e9f06d7cb966c","dweb:/ipfs/QmSmPoy6pWct22yTed4eKRV5Fx67h2FVwrPE133TZEY4g6"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":200} \ No newline at end of file +{"abi":[{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"areTokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBatchCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBatchInfo","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"startTokenId","type":"uint256","internalType":"uint256"},{"name":"endTokenId","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockTokenURIs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBatchBaseURI","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"},{"name":"_newBaseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_newURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchBaseURIUpdated","inputs":[{"name":"batchIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newBaseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIsLocked","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657612e28908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714611a8b5750806306fdde03146119e1578063081812fc146119c1578063095ea7b31461185057806318160ddd1461183057806318e97fd11461153f5780631a0058f5146114c357806323b872dd1461149e5780632a55205a1461140c5780633403c4e9146113e35780633ebc82c5146113a157806340c1a0641461137757806342842e0e1461134357806342966c68146113265780634aa52c41146112b65780635edc7c1914610dac5780636297c16c14610d30578063631d1d9a146105745780636352211e14610cff57806370a0823114610c69578063715018a614610c0c5780637cc918d11461092e578063894ba833146108e05780638da5cb5b146108b757806395d89b41146107d2578063a22cb46514610703578063a448dd4f14610663578063a8fabfa514610643578063ab69607a14610624578063b88d4fde1461059a578063bb2ee99f14610574578063c87b56dd14610539578063d9856c21146104cd578063de903ddd14610348578063e831574214610328578063e985e9c5146102da578063ee070805146102b7578063efc32cd4146102645763f2fde38b146101d057600080fd5b34610260576020366003190112610260576101e9611b70565b916101f2611d0b565b6001600160a01b0383161561020e578361020b84611d63565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102b357806003193601126102b35761027e611b70565b90610287611d0b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102b357816003193601126102b35760209060ff80541690519015158152f35b5050346102b357806003193601126102b35760ff816020936102fa611b70565b610302611b8b565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102b357816003193601126102b357602090610100549051908152f35b508290346102b35761035936611be4565b9192610363611d0b565b61038060ff8054610376828216156121c0565b60081c1615612d66565b61038e610105548510612cd6565b60026103998561220c565b5001906001600160401b0384116104ba57506103bf836103b98354611dac565b8361216c565b84601f841160011461042b579561041a918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c979891610420575b508560011b906000198760031b1c19161790555b5192839283612daa565b0390a280f35b9050840135896103fc565b81865260208087209190601f1986169088905b8282106104a25750509161041a9391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610488575b5050600185811b019055610410565b850135600019600388901b60f8161c191690558880610479565b80600185968294968a0135815501950193019061043e565b634e487b7160e01b865260419052602485fd5b8382346102b35760203660031901126102b35780356001600160401b0381116102605736602382011215610260576105359181602461051193369301359101611cd4565b610519611d0b565b61052760ff805416156121c0565b60fc543391829081906123ac565b5080f35b509134610571576020366003190112610571575061055a61056d92356126a3565b9051918291602083526020830190611b4b565b0390f35b80fd5b5050346102b357816003193601126102b35760209060ff805460081c1690519015158152f35b8382346102b35760803660031901126102b3576105b5611b70565b906105be611b8b565b91604435606435936001600160401b0385116106205736602386011215610620576105f861061b9486602461020b98369301359101611cd4565b9261060b610606843361292e565b611e8c565b610616838383612a60565b612081565b611f41565b8580fd5b5050346102b357816003193601126102b35760209060fc549051908152f35b5050346102b357816003193601126102b357602090610105549051908152f35b503461026057826003193601126102605761067c611d0b565b60ff549160ff8360081c166106c05761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461026057806003193601126102605761071d611b70565b90602435918215158093036107ce576001600160a01b03169233841461078c5750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102b357816003193601126102b357805190826098546107f481611dac565b8085529160019180831690811561088f5750600114610832575b5050506108208261056d940383611c98565b51918291602083526020830190611b4b565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106108775750505061082082602061056d958201019461080e565b8054602087870181019190915290950194810161085a565b61056d97508693506020925061082094915060ff191682840152151560051b8201019461080e565b5050346102b357816003193601126102b35760335490516001600160a01b039091168152602090f35b83346105715780600319360112610571576108f9611d0b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102b357806003193601126102b3576001600160401b03928035848111610c08576109609036908301611bb7565b61096b959195611d0b565b61097960ff805416156121c0565b6101049081549660019384890194858a11610bf5576024998a350193818501808811610be3578511610bd15788519560209687810181811086821117610bbf578b52869052859055610100548511610b7d5789906109ed8a51956109dc87611c4c565b898752888701928884523691611cd4565b948a810195865261010580549068010000000000000000821015610b6b578582019055610a199061220c565b939093610b5a575090600292915182555183820155019251968751928311610b485750889950610a5782610a51859b999a9b54611dac565b8561216c565b8497601f8311600114610ac4578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ab9575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610a93565b8388528588209098919291601f198316895b818110610b30575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610b17575b505050811b019055610aa5565b015160001960f88460031b161c19169055388080610b0a565b828c015184558d9a5092850192918801918801610ad6565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b8334610571578060031936011261057157610c25611d0b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102b35760203660031901126102b3576001600160a01b03610c8d611b70565b16908115610caa576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105715760203660031901126105715750610d1f602092356128be565b90516001600160a01b039091168152f35b503461026057602036600319011261026057803591610d4e836128be565b336001600160a01b0390911603610d69578361020b8461225e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610260576080366003190112610260576001600160401b039180358381116107ce57610dde9036908301611bb7565b91906024358581116112b257610df79036908401611bb7565b610e02969196611ba1565b9388549760ff94858a60081c1615978880996112a6575b8015611290575b1561123657600160ff198c1681178d559a89611225575b506001600160a01b038816156111e257610e959291610e8d91610e7d898f600a60fc5561ffff198254168255606435610100555460081c16610e788161210c565b61210c565b610e8633611d63565b3691611cd4565b933691611cd4565b90610ea9858b5460081c16610e788161210c565b82518481116111cf5780610ebe609754611dac565b94601f9586811161115e575b506020908d8784116001146110df57926110d4575b5050600019600383901b1c1916908a1b176097555b81519384116110c15750610f09609854611dac565b82811161105e575b506020918311600114610fd2579180610f86959492610f5e948b92610fc7575b5050600019600383901b1c191690881b176098555b875460081c16610f558161210c565b610e788161210c565b60fb80546001600160a01b0319166001600160a01b038316179055610f81611d0b565b611d63565b610f8e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610f31565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611046575091610f5e95939185610f86999896941061102d575b505050811b01609855610f46565b015160001960f88460031b161c1916905538808061101f565b8284015185558b969094019360209384019301611002565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106110b8575b0160051c019089905b8281106110ad575050610f11565b8b815501899061109f565b92508192611096565b634e487b7160e01b8a5260419052602489fd5b015190503880610edf565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106111465750841161112d575b505050811b01609755610ef4565b015160001960f88460031b161c1916905538808061111f565b8284015185558f969094019360209384019301611110565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106111c6575b859493910160051c909101908d908f5b8382106111b857505050610eca565b81558594508e91018f6111a9565b92508192611199565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c5538610e37565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610e2057506001878c1614610e20565b506001878c1610610e19565b8680fd5b8382346102b35760603660031901126102b35780356001600160401b03811161026057610535916112e991369101611bb7565b906112f2611b8b565b6112fa611ba1565b92611303611d0b565b61131160ff805416156121c0565b61132160fc549333923691611cd4565b6123ac565b8382346102b35760203660031901126102b35761020b903561225e565b5050346102b35761061b61020b9161135a36611c17565b9192519261136784611c7d565b86845261060b610606843361292e565b5050346102b35760203660031901126102b35760335490516001600160a01b039091168152602090f35b83346105715760203660031901126105715761020b6113be611b70565b6113c6611d0b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102b357816003193601126102b35760fb5490516001600160a01b039091168152602090f35b5091346105715781600319360112610571578235815260fd60205281812054602435906001600160a01b03908116801561149257925b60fe60205284812054801561148857925b8381029381850414901517156114755750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611453565b508060fb541692611442565b83346105715761020b6114b036611c17565b916114be610606843361292e565b612a60565b50823461057157602036600319011261057157506114ef90356114ea610105548210612cd6565b61220c565b5061056d82516114fe81611c4c565b82548152606061151c60026001860154956020850196875201611de6565b918286820152519351948051958695865260208601528401526060830190611b4b565b508290346102b35761155036611be4565b919260ff5461156260ff8216156121c0565b6033546001600160a01b031633036117e35760ff6115849160081c1615612d66565b6000848152609960205260409020546001600160a01b0316151580156117ba575b15611780576115b384612c35565b5050156116a65783855260206101078152868620916001600160401b03851161169357506115eb846115e58454611dac565b8461216c565b8590601f851160011461163457509561041a91848798600080516020612dd383398151915297989161042057508560011b906000198760031b1c19161790555192839283612daa565b90601f1985168388528288209288905b82821061167b5750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611644565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b03851161169357506116d1846115e58454611dac565b8590601f851160011461172157509561041a91848798600080516020612dd3833981519152979891611716575b508560011b906000198760031b1c1916179055610410565b9050840135896116fe565b90601f1985168388528288209288905b8282106117685750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611731565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b506117c484612c35565b505080156115a5575083855261010260205260ff8686205416156115a5565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346102b357816003193601126102b357602090610104549051908152f35b5034610260578160031936011261026057611869611b70565b6024359290916001600160a01b0391908280611884876128be565b1694169380851461197457803314908115611955575b50156118ed5750838552610103602052842080546001600160a01b031916831790556118c583612346565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861189a565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346105715760203660031901126105715750610d1f60209235612998565b5050346102b357816003193601126102b35780519082609754611a0381611dac565b8085529160019180831690811561088f5750600114611a2e575050506108208261056d940383611c98565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a735750505061082082602061056d958201019461080e565b80546020878701810191909152909501948101611a56565b92505034610260576020366003190112610260573563ffffffff60e01b811690818103610c085760209350631030681960e21b8214918215611b17575b8215611aee575b508115611ade575b5015158152f35b611ae89150612d22565b38611ad7565b90915063152a902d60e11b148015611b08575b9038611acf565b50611b1281612d22565b611b01565b6301ffc9a760e01b81149250611ac8565b60005b838110611b3b5750506000910152565b8181015183820152602001611b2b565b90602091611b6481518092818552858086019101611b28565b601f01601f1916010190565b600435906001600160a01b0382168203611b8657565b600080fd5b602435906001600160a01b0382168203611b8657565b604435906001600160a01b0382168203611b8657565b9181601f84011215611b86578235916001600160401b038311611b865760208381860195010111611b8657565b906040600319830112611b865760043591602435906001600160401b038211611b8657611c1391600401611bb7565b9091565b6060906003190112611b86576001600160a01b03906004358281168103611b8657916024359081168103611b86579060443590565b606081019081106001600160401b03821117611c6757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117611c6757604052565b90601f801991011681019081106001600160401b03821117611c6757604052565b6001600160401b038111611c6757601f01601f191660200190565b929192611ce082611cb9565b91611cee6040519384611c98565b829481845281830111611b86578281602093846000960137010152565b6033546001600160a01b03163303611d1f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611ddc575b6020831014611dc657565b634e487b7160e01b600052602260045260246000fd5b91607f1691611dbb565b9060405191826000825492611dfa84611dac565b908184526001948581169081600014611e695750600114611e26575b5050611e2492500383611c98565b565b9093915060005260209081600020936000915b818310611e51575050611e2493508201013880611e16565b85548884018501529485019487945091830191611e39565b915050611e2494506020925060ff191682840152151560051b8201013880611e16565b15611e9357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611f4857565b60405162461bcd60e51b815280611f6160048201611eee565b0390fd5b9192600092909190803b1561207757611fb3946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611b4b565b03926001600160a01b03165af1849181612037575b50612026575050503d60001461201e573d611fe281611cb9565b90611ff06040519283611c98565b81528091833d92013e5b8051918261201b5760405162461bcd60e51b815280611f6160048201611eee565b01fd5b506060611ffa565b6001600160e01b0319161492509050565b9091508581813d8311612070575b61204f8183611c98565b810103126107ce57516001600160e01b0319811681036107ce579038611fc8565b503d612045565b5050915050600190565b9293600093909291803b15612101579484916120db9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611b4b565b0393165af18491816120375750612026575050503d60001461201e573d611fe281611cb9565b505050915050600190565b1561211357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f811161217a57505050565b600091825260208220906020601f850160051c830194106121b6575b601f0160051c01915b8281106121ab57505050565b81815560010161219f565b9092508290612196565b156121c757565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561224857600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b61226781612c35565b5050600082815261010260205260408120805460ff191660011790559080612327575b6123235761229b610606833361292e565b6122a482612346565b506122ae82612346565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561228a565b6000908152609960205260409020546001600160a01b031680156123675790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161251f576123f061061b6040516123da81611c7d565b896000968783526123eb82826125af565b611f65565b868352602091610106835260408420918151916001600160401b03831161250b576124258361241f8654611dac565b8661216c565b8490601f84116001146124a257928060fd9593819389989660409a94612497575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612446565b8487528587209293929190601f198416885b8181106124f6575091604098979593918560fd989694106124dd575b505050811b019055612458565b015160001960f88460031b161c191690553880806124d0565b828401518555938601939288019288016124b4565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561256a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561265f576000828152609960205260409020546125e3906001600160a01b031615155b15612563565b600082815260996020526040902054612606906001600160a01b031615156125dd565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926126c184842054611dac565b6128af57506126cf81612c35565b91151590506126ed57506126ea936101069183525220611de6565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156128a0575b5050866d04ee2d6d415b85acef810000000080841015612892575b5050662386f26fc1000080831015612883575b506305f5e10080831015612874575b5061271080831015612865575b506064821015612855575b600a8092101561284b575b600190816021818701966127a261278d89611cb9565b9861279a89519a8b611c98565b808a52611cb9565b888c019990601f1901368b3750870101905b612815575b5050505091602f60f81b946127f86126ea95936026955197856127e58a9751809287808b019101611b28565b8601938401525180936021840190611b28565b0164173539b7b760d91b6021820152036006810184520182611c98565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612846579190826127b4565b6127b9565b9260010192612777565b929060646002910491019261276c565b60049194920491019238612761565b60089194920491019238612754565b60109194920491019238612745565b940193909104908638612732565b91945091500481923880612717565b90936126ea9483525220611de6565b6128c781612c35565b50506128d6576126ea90612346565b8060005261010260205260ff604060002054166000146128f9576126ea90612346565b6000818152609960205260409020546001600160a01b031661292557506033546001600160a01b031690565b6126ea90612346565b6001600160a01b03908180612942856128be565b16911691818314938415612981575b5050821561295e57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061298e90612998565b1614913880612951565b600081815260fd60205260408120546001600160a01b0392919083166129bd83612c35565b5050908115612a56575b5080612a3e575b156129e457604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156129ce565b90501515386129c7565b908215611b8657612aaa91612a7484612c35565b505080612bbc575b80612ba2575b612b93575b612a9084612346565b6001600160a01b0393918416928492909183168414612bdb565b16918215612b425781612ac791612ac086612346565b1614612bdb565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612b9d84826125af565b612a87565b508360005261010260205260ff6040600020541615612a82565b506000848152609960205260409020546001600160a01b031615612a7c565b15612be257565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612c625750509050600090600090604051612c5b81611c7d565b6000815290565b612c6b8161220c565b505482101580612cbf575b612ca1576000198114612c8b57600101612c3e565b634e487b7160e01b600052601160045260246000fd5b809350612cae915061220c565b50906126ea60026001949301611de6565b506001612ccb8261220c565b500154821115612c76565b15612cdd57565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b63ffffffff60e01b166380ac58cd60e01b8114908115612d55575b8115612d47575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612d3d565b15612d6d57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f191601019056fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda264697066735822122030c482ddc2f11683cf03566db4de4f190add1a6bc2989f2500b43aaba62c8d8a64736f6c63430008120033","sourceMap":"703:10647:221:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714611a8b5750806306fdde03146119e1578063081812fc146119c1578063095ea7b31461185057806318160ddd1461183057806318e97fd11461153f5780631a0058f5146114c357806323b872dd1461149e5780632a55205a1461140c5780633403c4e9146113e35780633ebc82c5146113a157806340c1a0641461137757806342842e0e1461134357806342966c68146113265780634aa52c41146112b65780635edc7c1914610dac5780636297c16c14610d30578063631d1d9a146105745780636352211e14610cff57806370a0823114610c69578063715018a614610c0c5780637cc918d11461092e578063894ba833146108e05780638da5cb5b146108b757806395d89b41146107d2578063a22cb46514610703578063a448dd4f14610663578063a8fabfa514610643578063ab69607a14610624578063b88d4fde1461059a578063bb2ee99f14610574578063c87b56dd14610539578063d9856c21146104cd578063de903ddd14610348578063e831574214610328578063e985e9c5146102da578063ee070805146102b7578063efc32cd4146102645763f2fde38b146101d057600080fd5b34610260576020366003190112610260576101e9611b70565b916101f2611d0b565b6001600160a01b0383161561020e578361020b84611d63565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102b357806003193601126102b35761027e611b70565b90610287611d0b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102b357816003193601126102b35760209060ff80541690519015158152f35b5050346102b357806003193601126102b35760ff816020936102fa611b70565b610302611b8b565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102b357816003193601126102b357602090610100549051908152f35b508290346102b35761035936611be4565b9192610363611d0b565b61038060ff8054610376828216156121c0565b60081c1615612d66565b61038e610105548510612cd6565b60026103998561220c565b5001906001600160401b0384116104ba57506103bf836103b98354611dac565b8361216c565b84601f841160011461042b579561041a918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c979891610420575b508560011b906000198760031b1c19161790555b5192839283612daa565b0390a280f35b9050840135896103fc565b81865260208087209190601f1986169088905b8282106104a25750509161041a9391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610488575b5050600185811b019055610410565b850135600019600388901b60f8161c191690558880610479565b80600185968294968a0135815501950193019061043e565b634e487b7160e01b865260419052602485fd5b8382346102b35760203660031901126102b35780356001600160401b0381116102605736602382011215610260576105359181602461051193369301359101611cd4565b610519611d0b565b61052760ff805416156121c0565b60fc543391829081906123ac565b5080f35b509134610571576020366003190112610571575061055a61056d92356126a3565b9051918291602083526020830190611b4b565b0390f35b80fd5b5050346102b357816003193601126102b35760209060ff805460081c1690519015158152f35b8382346102b35760803660031901126102b3576105b5611b70565b906105be611b8b565b91604435606435936001600160401b0385116106205736602386011215610620576105f861061b9486602461020b98369301359101611cd4565b9261060b610606843361292e565b611e8c565b610616838383612a60565b612081565b611f41565b8580fd5b5050346102b357816003193601126102b35760209060fc549051908152f35b5050346102b357816003193601126102b357602090610105549051908152f35b503461026057826003193601126102605761067c611d0b565b60ff549160ff8360081c166106c05761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461026057806003193601126102605761071d611b70565b90602435918215158093036107ce576001600160a01b03169233841461078c5750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102b357816003193601126102b357805190826098546107f481611dac565b8085529160019180831690811561088f5750600114610832575b5050506108208261056d940383611c98565b51918291602083526020830190611b4b565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106108775750505061082082602061056d958201019461080e565b8054602087870181019190915290950194810161085a565b61056d97508693506020925061082094915060ff191682840152151560051b8201019461080e565b5050346102b357816003193601126102b35760335490516001600160a01b039091168152602090f35b83346105715780600319360112610571576108f9611d0b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102b357806003193601126102b3576001600160401b03928035848111610c08576109609036908301611bb7565b61096b959195611d0b565b61097960ff805416156121c0565b6101049081549660019384890194858a11610bf5576024998a350193818501808811610be3578511610bd15788519560209687810181811086821117610bbf578b52869052859055610100548511610b7d5789906109ed8a51956109dc87611c4c565b898752888701928884523691611cd4565b948a810195865261010580549068010000000000000000821015610b6b578582019055610a199061220c565b939093610b5a575090600292915182555183820155019251968751928311610b485750889950610a5782610a51859b999a9b54611dac565b8561216c565b8497601f8311600114610ac4578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ab9575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610a93565b8388528588209098919291601f198316895b818110610b30575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610b17575b505050811b019055610aa5565b015160001960f88460031b161c19169055388080610b0a565b828c015184558d9a5092850192918801918801610ad6565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b8334610571578060031936011261057157610c25611d0b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102b35760203660031901126102b3576001600160a01b03610c8d611b70565b16908115610caa576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105715760203660031901126105715750610d1f602092356128be565b90516001600160a01b039091168152f35b503461026057602036600319011261026057803591610d4e836128be565b336001600160a01b0390911603610d69578361020b8461225e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610260576080366003190112610260576001600160401b039180358381116107ce57610dde9036908301611bb7565b91906024358581116112b257610df79036908401611bb7565b610e02969196611ba1565b9388549760ff94858a60081c1615978880996112a6575b8015611290575b1561123657600160ff198c1681178d559a89611225575b506001600160a01b038816156111e257610e959291610e8d91610e7d898f600a60fc5561ffff198254168255606435610100555460081c16610e788161210c565b61210c565b610e8633611d63565b3691611cd4565b933691611cd4565b90610ea9858b5460081c16610e788161210c565b82518481116111cf5780610ebe609754611dac565b94601f9586811161115e575b506020908d8784116001146110df57926110d4575b5050600019600383901b1c1916908a1b176097555b81519384116110c15750610f09609854611dac565b82811161105e575b506020918311600114610fd2579180610f86959492610f5e948b92610fc7575b5050600019600383901b1c191690881b176098555b875460081c16610f558161210c565b610e788161210c565b60fb80546001600160a01b0319166001600160a01b038316179055610f81611d0b565b611d63565b610f8e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610f31565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611046575091610f5e95939185610f86999896941061102d575b505050811b01609855610f46565b015160001960f88460031b161c1916905538808061101f565b8284015185558b969094019360209384019301611002565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106110b8575b0160051c019089905b8281106110ad575050610f11565b8b815501899061109f565b92508192611096565b634e487b7160e01b8a5260419052602489fd5b015190503880610edf565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106111465750841161112d575b505050811b01609755610ef4565b015160001960f88460031b161c1916905538808061111f565b8284015185558f969094019360209384019301611110565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106111c6575b859493910160051c909101908d908f5b8382106111b857505050610eca565b81558594508e91018f6111a9565b92508192611199565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c5538610e37565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610e2057506001878c1614610e20565b506001878c1610610e19565b8680fd5b8382346102b35760603660031901126102b35780356001600160401b03811161026057610535916112e991369101611bb7565b906112f2611b8b565b6112fa611ba1565b92611303611d0b565b61131160ff805416156121c0565b61132160fc549333923691611cd4565b6123ac565b8382346102b35760203660031901126102b35761020b903561225e565b5050346102b35761061b61020b9161135a36611c17565b9192519261136784611c7d565b86845261060b610606843361292e565b5050346102b35760203660031901126102b35760335490516001600160a01b039091168152602090f35b83346105715760203660031901126105715761020b6113be611b70565b6113c6611d0b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102b357816003193601126102b35760fb5490516001600160a01b039091168152602090f35b5091346105715781600319360112610571578235815260fd60205281812054602435906001600160a01b03908116801561149257925b60fe60205284812054801561148857925b8381029381850414901517156114755750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611453565b508060fb541692611442565b83346105715761020b6114b036611c17565b916114be610606843361292e565b612a60565b50823461057157602036600319011261057157506114ef90356114ea610105548210612cd6565b61220c565b5061056d82516114fe81611c4c565b82548152606061151c60026001860154956020850196875201611de6565b918286820152519351948051958695865260208601528401526060830190611b4b565b508290346102b35761155036611be4565b919260ff5461156260ff8216156121c0565b6033546001600160a01b031633036117e35760ff6115849160081c1615612d66565b6000848152609960205260409020546001600160a01b0316151580156117ba575b15611780576115b384612c35565b5050156116a65783855260206101078152868620916001600160401b03851161169357506115eb846115e58454611dac565b8461216c565b8590601f851160011461163457509561041a91848798600080516020612dd383398151915297989161042057508560011b906000198760031b1c19161790555192839283612daa565b90601f1985168388528288209288905b82821061167b5750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611644565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b03851161169357506116d1846115e58454611dac565b8590601f851160011461172157509561041a91848798600080516020612dd3833981519152979891611716575b508560011b906000198760031b1c1916179055610410565b9050840135896116fe565b90601f1985168388528288209288905b8282106117685750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611731565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b506117c484612c35565b505080156115a5575083855261010260205260ff8686205416156115a5565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346102b357816003193601126102b357602090610104549051908152f35b5034610260578160031936011261026057611869611b70565b6024359290916001600160a01b0391908280611884876128be565b1694169380851461197457803314908115611955575b50156118ed5750838552610103602052842080546001600160a01b031916831790556118c583612346565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861189a565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346105715760203660031901126105715750610d1f60209235612998565b5050346102b357816003193601126102b35780519082609754611a0381611dac565b8085529160019180831690811561088f5750600114611a2e575050506108208261056d940383611c98565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a735750505061082082602061056d958201019461080e565b80546020878701810191909152909501948101611a56565b92505034610260576020366003190112610260573563ffffffff60e01b811690818103610c085760209350631030681960e21b8214918215611b17575b8215611aee575b508115611ade575b5015158152f35b611ae89150612d22565b38611ad7565b90915063152a902d60e11b148015611b08575b9038611acf565b50611b1281612d22565b611b01565b6301ffc9a760e01b81149250611ac8565b60005b838110611b3b5750506000910152565b8181015183820152602001611b2b565b90602091611b6481518092818552858086019101611b28565b601f01601f1916010190565b600435906001600160a01b0382168203611b8657565b600080fd5b602435906001600160a01b0382168203611b8657565b604435906001600160a01b0382168203611b8657565b9181601f84011215611b86578235916001600160401b038311611b865760208381860195010111611b8657565b906040600319830112611b865760043591602435906001600160401b038211611b8657611c1391600401611bb7565b9091565b6060906003190112611b86576001600160a01b03906004358281168103611b8657916024359081168103611b86579060443590565b606081019081106001600160401b03821117611c6757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117611c6757604052565b90601f801991011681019081106001600160401b03821117611c6757604052565b6001600160401b038111611c6757601f01601f191660200190565b929192611ce082611cb9565b91611cee6040519384611c98565b829481845281830111611b86578281602093846000960137010152565b6033546001600160a01b03163303611d1f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611ddc575b6020831014611dc657565b634e487b7160e01b600052602260045260246000fd5b91607f1691611dbb565b9060405191826000825492611dfa84611dac565b908184526001948581169081600014611e695750600114611e26575b5050611e2492500383611c98565b565b9093915060005260209081600020936000915b818310611e51575050611e2493508201013880611e16565b85548884018501529485019487945091830191611e39565b915050611e2494506020925060ff191682840152151560051b8201013880611e16565b15611e9357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611f4857565b60405162461bcd60e51b815280611f6160048201611eee565b0390fd5b9192600092909190803b1561207757611fb3946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611b4b565b03926001600160a01b03165af1849181612037575b50612026575050503d60001461201e573d611fe281611cb9565b90611ff06040519283611c98565b81528091833d92013e5b8051918261201b5760405162461bcd60e51b815280611f6160048201611eee565b01fd5b506060611ffa565b6001600160e01b0319161492509050565b9091508581813d8311612070575b61204f8183611c98565b810103126107ce57516001600160e01b0319811681036107ce579038611fc8565b503d612045565b5050915050600190565b9293600093909291803b15612101579484916120db9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611b4b565b0393165af18491816120375750612026575050503d60001461201e573d611fe281611cb9565b505050915050600190565b1561211357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f811161217a57505050565b600091825260208220906020601f850160051c830194106121b6575b601f0160051c01915b8281106121ab57505050565b81815560010161219f565b9092508290612196565b156121c757565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561224857600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b61226781612c35565b5050600082815261010260205260408120805460ff191660011790559080612327575b6123235761229b610606833361292e565b6122a482612346565b506122ae82612346565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561228a565b6000908152609960205260409020546001600160a01b031680156123675790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161251f576123f061061b6040516123da81611c7d565b896000968783526123eb82826125af565b611f65565b868352602091610106835260408420918151916001600160401b03831161250b576124258361241f8654611dac565b8661216c565b8490601f84116001146124a257928060fd9593819389989660409a94612497575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612446565b8487528587209293929190601f198416885b8181106124f6575091604098979593918560fd989694106124dd575b505050811b019055612458565b015160001960f88460031b161c191690553880806124d0565b828401518555938601939288019288016124b4565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561256a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561265f576000828152609960205260409020546125e3906001600160a01b031615155b15612563565b600082815260996020526040902054612606906001600160a01b031615156125dd565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926126c184842054611dac565b6128af57506126cf81612c35565b91151590506126ed57506126ea936101069183525220611de6565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156128a0575b5050866d04ee2d6d415b85acef810000000080841015612892575b5050662386f26fc1000080831015612883575b506305f5e10080831015612874575b5061271080831015612865575b506064821015612855575b600a8092101561284b575b600190816021818701966127a261278d89611cb9565b9861279a89519a8b611c98565b808a52611cb9565b888c019990601f1901368b3750870101905b612815575b5050505091602f60f81b946127f86126ea95936026955197856127e58a9751809287808b019101611b28565b8601938401525180936021840190611b28565b0164173539b7b760d91b6021820152036006810184520182611c98565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612846579190826127b4565b6127b9565b9260010192612777565b929060646002910491019261276c565b60049194920491019238612761565b60089194920491019238612754565b60109194920491019238612745565b940193909104908638612732565b91945091500481923880612717565b90936126ea9483525220611de6565b6128c781612c35565b50506128d6576126ea90612346565b8060005261010260205260ff604060002054166000146128f9576126ea90612346565b6000818152609960205260409020546001600160a01b031661292557506033546001600160a01b031690565b6126ea90612346565b6001600160a01b03908180612942856128be565b16911691818314938415612981575b5050821561295e57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061298e90612998565b1614913880612951565b600081815260fd60205260408120546001600160a01b0392919083166129bd83612c35565b5050908115612a56575b5080612a3e575b156129e457604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156129ce565b90501515386129c7565b908215611b8657612aaa91612a7484612c35565b505080612bbc575b80612ba2575b612b93575b612a9084612346565b6001600160a01b0393918416928492909183168414612bdb565b16918215612b425781612ac791612ac086612346565b1614612bdb565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612b9d84826125af565b612a87565b508360005261010260205260ff6040600020541615612a82565b506000848152609960205260409020546001600160a01b031615612a7c565b15612be257565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612c625750509050600090600090604051612c5b81611c7d565b6000815290565b612c6b8161220c565b505482101580612cbf575b612ca1576000198114612c8b57600101612c3e565b634e487b7160e01b600052601160045260246000fd5b809350612cae915061220c565b50906126ea60026001949301611de6565b506001612ccb8261220c565b500154821115612c76565b15612cdd57565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b63ffffffff60e01b166380ac58cd60e01b8114908115612d55575b8115612d47575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612d3d565b15612d6d57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f191601019056fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda264697066735822122030c482ddc2f11683cf03566db4de4f190add1a6bc2989f2500b43aaba62c8d8a64736f6c63430008120033","sourceMap":"703:10647:221:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;703:10647:221;;2402:22:42;703:10647:221;;2496:8:42;;;;:::i;:::-;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;703:10647:221;;;;4776:16;703:10647;;;;;;-1:-1:-1;;;;;;703:10647:221;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1102:20;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;703:10647:221;;;;;4980:18:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1195:24;703:10647;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;10639:50:221;2954:8;703:10647;;2945:52;703:10647;;;2953:9;2945:52;:::i;:::-;703:10647;;;10647:16;10639:50;:::i;:::-;10695:70;10717:11;703:10647;10703:32;;10695:70;:::i;:::-;10772:32;:24;;;:::i;:::-;:32;;703:10647;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;10830:45;703:10647;;;;10830:45;703:10647;;;;;;;;;;;;;;;;;;;;;;;;10830:45;;;;;:::i;:::-;;;;703:10647;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;;;;;10830:45;703:10647;;;10830:45;703:10647;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;3616:85;703:10647;;;;;;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;2945:52:221;2954:8;703:10647;;;2953:9;2945:52;:::i;:::-;2453:24:233;703:10647:221;3635:10;;;;;;3616:85;:::i;:::-;;703:10647;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1163:27;703:10647;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;6956:47:61;703:10647:221;;;6948:110:61;703:10647:221;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;703:10647:221:-;;;;;;;;;;;;;;;;;;;;2453:24:233;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;9465:11;703:10647;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;10943:15:221;703:10647;;10943:15;703:10647;;;;;;-1:-1:-1;;703:10647:221;;;;10943:15;703:10647;;11033:17;703:10647;;11033:17;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;929:10:68;13528:17:61;;703:10647:221;;929:10:68;;703:10647:221;;13585:18:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:61;703:10647:221;929:10:68;13646:41:61;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:61;703:10647:221;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;703:10647:221;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;4501:4:221;703:10647;;;;;;;;4533:10;4516:28;;;;703:10647;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;2945:52:221;2954:8;703:10647;;;2953:9;2945:52;:::i;:::-;3143:14;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3338:9;703:10647;3310:37;;703:10647;;;;;;;;;;;:::i;:::-;;;;3405:45;;;703:10647;;;;;;;:::i;:::-;3405:45;;;;703:10647;;;3388:11;703:10647;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;3463:66;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;703:10647:221;;;;;;;3463:66;703:10647;;;;;;-1:-1:-1;703:10647:221;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;;;3463:66;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;703:10647:221;;-1:-1:-1;;;;;;703:10647:221;;;;;;;-1:-1:-1;;;;;703:10647:221;2806:40:42;703:10647:221;;2806:40:42;703:10647:221;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;-1:-1:-1;;;;;703:10647:221;;:::i;:::-;;2489:19:61;;;703:10647:221;;;;;;;;;2571:9:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;2839:17;;;;:::i;:::-;2860:10;-1:-1:-1;;;;;703:10647:221;;;2839:31;703:10647;;4013:8;;;;:::i;703:10647::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;703:10647:221;3346:108:48;;;;703:10647:221;;;;;-1:-1:-1;;703:10647:221;;;;;;;;3562:65:48;;703:10647:221;-1:-1:-1;;;;;;703:10647:221;;2415:22;703:10647;;;;;;;5366:69:48;703:10647:221;;2507:2;2197:38:233;703:10647:221;;;;;;;;;;2567:22;703:10647;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;703:10647:221;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;703:10647:221;;;;;;5366:69:48;;;:::i;:::-;703:10647:221;;;;;;;;;1873:13:61;703:10647:221;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;703:10647:221;;;;;;;;;;;1873:13:61;703:10647:221;;;;;;;;;;;1896:17:61;703:10647:221;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;703:10647:221;;;5366:69:48;703:10647:221;;;;;;-1:-1:-1;;;;703:10647:221;;;;;;;;;;;1896:17:61;703:10647:221;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;703:10647:221;;-1:-1:-1;;;;;;703:10647:221;-1:-1:-1;;;;;703:10647:221;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;703:10647:221;;;3647:99:48;703:10647:221;;-1:-1:-1;;703:10647:221;;;;;;;3721:14:48;;703:10647:221;;3721:14:48;3647:99;;703:10647:221;;;;;;;-1:-1:-1;703:10647:221;;;;;1896:17:61;703:10647:221;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;;5366:69:48;703:10647:221;;;;2496:8:42;703:10647:221;;;;;;;;;;;;;;1896:17:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;;;;;;;;;1873:13:61;703:10647:221;;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;;;;1873:13:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;703:10647:221;;;;;3562:65:48;;;703:10647:221;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;703:10647:221;;;;;3436:17:48;3346:108;;3347:34;703:10647:221;;;;;3365:16:48;3347:34;;703:10647:221;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;;;;3832:90;703:10647;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:42;;;:::i;:::-;2945:52:221;2954:8;703:10647;;;2953:9;2945:52;:::i;:::-;703:10647;2453:24:233;703:10647:221;3851:10;;703:10647;;;;:::i;:::-;3832:90;:::i;703:10647::-;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;703:10647:221;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;703:10647:221:-;;;;;;;;-1:-1:-1;;703:10647:221;;;;1513:6:42;703:10647:221;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;4659:9;703:10647;;:::i;:::-;1303:62:42;;:::i;:::-;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;;1492:34:233;703:10647:221;;;1492:34:233;703:10647:221;1418:115:233;703:10647:221;;;;;;;;;;;;;;2332:22:233;703:10647:221;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;703:10647:221;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;1049:40:233;;703:10647:221;;1049:118:233;;1238:18;703:10647:221;;;;;;1238:33:233;;;;:131;;703:10647:221;;;;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;1401:3:233;703:10647:221;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;1238:131:233;703:10647:221;1345:24:233;703:10647:221;1238:131:233;;;1049:118;703:10647:221;;1145:22:233;703:10647:221;;1049:118:233;;;703:10647:221;;;;;5365:7:61;703:10647:221;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;703:10647:221:-;;;;;;;;-1:-1:-1;;703:10647:221;;;;;9237:24;703:10647;;9135:70;9157:11;703:10647;9143:32;;9135:70;:::i;:::-;9237:24;:::i;:::-;703:10647;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;2954:8;703:10647;2945:52;2954:8;703:10647;;2953:9;2945:52;:::i;:::-;1513:6:42;703:10647:221;-1:-1:-1;;;;;703:10647:221;10057:10;:36;703:10647;;2954:8;10137:50;703:10647;;;;10145:16;10137:50;:::i;:::-;-1:-1:-1;703:10647:221;;;7266:7:61;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;7680:31:61;;10201:50:221;;;;703:10647;;;;10311:24;;;:::i;:::-;-1:-1:-1;;10342:126:221;;;703:10647;;;;10370:20;703:10647;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;10479:34;703:10647;;;;-1:-1:-1;;;;;;;;;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;10479:34;;;;;:::i;703:10647::-;;;;;;;;;;;;;;;;;;;;;;;;10479:34;703:10647;;;-1:-1:-1;;;;;;;;;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;10342:126;703:10647;;;;10431:10;703:10647;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;10479:34;703:10647;;;;-1:-1:-1;;;;;;;;;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;10342:126;;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10479:34;703:10647;;;-1:-1:-1;;;;;;;;;;;703:10647:221;;;;;;;;;;;;;;;;10342:126;;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;10201:50;11265:24;;;;:::i;:::-;11302:41;;;;10201:50;11302:41;703:10647;;;;11321:12;703:10647;;2954:8;703:10647;;;;;11320:23;10201:50;;703:10647;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;8469:14;703:10647;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;703:10647:221;;;;6744:16;703:10647;6744:16;:::i;:::-;703:10647;;;6774:11;;;;703:10647;;929:10:68;;6845:21:221;:62;;;;;703:10647;;;;;-1:-1:-1;703:10647:221;;;7447:15;703:10647;;;;;;-1:-1:-1;;;;;;703:10647:221;;;;;7496:34;703:10647;7496:34;:::i;:::-;703:10647;7487:57;;;;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6845:62;703:10647;;;;4980:18:61;703:10647:221;;;;;929:10:68;703:10647:221;;;;;;;;;;6845:62;;;703:10647;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;703:10647:221;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;9723:46:221;;;:104;;;;703:10647;9723:163;;;;703:10647;9723:221;;;;;703:10647;;;;;;;9723:221;9896:48;;;;:::i;:::-;9723:221;;;:163;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;9723:163:221;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;9723:104:221;-1:-1:-1;;;1168:51:72;;;-1:-1:-1;9723:104:221;;703:10647;;;;;;;;-1:-1:-1;;703:10647:221;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;703:10647:221;;;;:::o;:::-;;;;-1:-1:-1;;;;;703:10647:221;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;703:10647:221;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;703:10647:221;;;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;:::o;:::-;-1:-1:-1;;;;;703:10647:221;;;;;;-1:-1:-1;;703:10647:221;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;:::o;1599:130:42:-;1513:6;703:10647:221;-1:-1:-1;;;;;703:10647:221;929:10:68;1662:23:42;703:10647:221;;1599:130:42:o;703:10647:221:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;703:10647:221;;-1:-1:-1;;;;;703:10647:221;;;-1:-1:-1;;;;;;703:10647:221;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;703:10647:221:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;703:10647:221;;;;-1:-1:-1;703:10647:221;;-1:-1:-1;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;:::i;:::-;;;;14463:853:61;;;703:10647:221;;14463:853:61;;;1713:19:66;;:23;:19;;703:10647:221;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;703:10647:221;;;;;;;;;;;;;;;14667:82:61;;;;703:10647:221;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;703:10647:221;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;703:10647:221;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;703:10647:221;;-1:-1:-1;;;14969:60:61;;703:10647:221;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;703:10647:221;;;;;14663:595:61;-1:-1:-1;;;;;;703:10647:221;14799:62:61;;-1:-1:-1;703:10647:221;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;703:10647:221;;;;;-1:-1:-1;;;;;;703:10647:221;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;703:10647:221;;14463:853:61;;;1713:19:66;;:23;:19;;703:10647:221;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;703:10647:221;;;;;;;;:::i;:::-;14667:82:61;703:10647:221;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;703:10647:221;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;703:10647:221:-;;;;:::o;:::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;;;;:::o;:::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;9157:11;703:10647;;;;;;;;;;-1:-1:-1;703:10647:221;;;;;-1:-1:-1;703:10647:221;:::o;:::-;;;;;;;;;;;;4031:289;4121:24;;;:::i;:::-;-1:-1:-1;;;703:10647:221;;;4152:12;703:10647;;;;;;;-1:-1:-1;;703:10647:221;4177:4;703:10647;;;-1:-1:-1;703:10647:221;4192:54;;4031:289;4188:81;;911:99:64;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;703:10647:221;;;11014:15:61;703:10647:221;;;;;;;;;;-1:-1:-1;;;;;;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;11254:9:61;703:10647:221;;;;;;;-1:-1:-1;;703:10647:221;;;;;;11302:7:61;703:10647:221;;;;;;;;;;;;;11334:36:61;703:10647:221;;11334:36:61;4031:289:221:o;4188:81::-;4256:7;;:::o;4192:54::-;-1:-1:-1;;703:10647:221;;;7266:7:61;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;7680:31:61;4192:54:221;;2651:219:61;-1:-1:-1;703:10647:221;;;7266:7:61;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;2793:19:61;;703:10647:221;;2651:219:61;:::o;703:10647:221:-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;4943:564;;;;;1061:1:69;5127:14:221;;703:10647;;;;;;;;5226:9;703:10647;5215:20;;703:10647;;8929:150:61;8950:53;703:10647:221;;;;;:::i;:::-;-1:-1:-1;;703:10647:221;;;;8911:7:61;;;;:::i;:::-;8950:53;:::i;8929:150::-;703:10647:221;;;;;5307:10;703:10647;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;1639:16:233;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4900:13;703:10647;;;;;;;;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;1794:18:233;703:10647:221;;;;;;;;;;;;;;;;;4943:564;:::o;703:10647::-;;;;-1:-1:-1;703:10647:221;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;;;;;;;;;;;;;;;1639:16:233;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;9408:920:61;-1:-1:-1;;;;;703:10647:221;9487:16:61;;703:10647:221;;-1:-1:-1;703:10647:221;;;7266:7:61;703:10647:221;;;;;;9550:58:61;;-1:-1:-1;;;;;703:10647:221;7680:31:61;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;703:10647:221;;;7266:7:61;703:10647:221;;;;;;9754:58:61;;-1:-1:-1;;;;;703:10647:221;7680:31:61;;9763:16;7592:126;9754:58;9501:1;703:10647:221;;;10154:9:61;703:10647:221;;;;;;;;;;;;;;10193:7:61;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;10230:33:61;;;;9408:920::o;703:10647:221:-;;;;;;;;;;;;;;;;;;;;;;;;;5658:504;-1:-1:-1;703:10647:221;;;5807:20;703:10647;;;;;;;;;;;;;;:::i;:::-;5797:106;;5963:24;;;;:::i;:::-;5998:15;;;;-1:-1:-1;5998:15:221;;703:10647;;;6030:10;703:10647;;;;;;:::i;:::-;6023:27;:::o;5994:164::-;6121:19;10222:18:74;;6121:19:221;10287:8:74;6121:19:221;10278:17:74;;;;10274:103;;5994:164:221;10403:8:74;;;;10394:17;;;;10390:103;;5994:164:221;10519:8:74;;;10510:17;;;;10506:103;;5994:164:221;10635:7:74;;10626:16;;;;10622:100;;5994:164:221;10748:7:74;;10739:16;;;;10735:100;;5994:164:221;10852:16:74;10861:7;10852:16;;;10848:100;;5994:164:221;10974:7:74;10965:16;;;;10961:66;;5994:164:221;633:1:71;703:10647:221;;775:76:71;703:10647:221;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;703:10647:221;;;;775:76:71;;;;864:280;633:1;;;864:280;703:10647:221;;;;;-1:-1:-1;;;703:10647:221;;6085:65;703:10647;;6085:65;703:10647;;;;;;;;6085:65;;;;;;703:10647;;;:::i;:::-;;;;;;;;;;775:76:71;703:10647:221;;;;:::i;:::-;;-1:-1:-1;;;775:76:71;703:10647:221;;;6085:65;;;;;;;;;:::i;864:280:71:-;-1:-1:-1;;703:10647:221;;;;-1:-1:-1;;;969:93:71;;;;703:10647:221;969:93:71;703:10647:221;1079:11:71;;1112:10;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:74;703:10647:221;11011:1:74;703:10647:221;10961:66:74;;;10848:100;703:10647:221;;10861:7:74;10932:1;703:10647:221;;;;10848:100:74;;;10735;10819:1;703:10647:221;;;;;;10735:100:74;;;;10622;10706:1;703:10647:221;;;;;;10622:100:74;;;;10506:103;10592:2;703:10647:221;;;;;;10506:103:74;;;;10390;703:10647:221;;;;;;;10390:103:74;;;;10274;703:10647:221;;;;;;10350:12:74;10274:103;;;;;5797:106:221;703:10647;;;;;;;;;:::i;6166:482::-;6282:24;;;:::i;:::-;-1:-1:-1;;6317:15:221;;6349:35;;;:::i;6313:331::-;703:10647;-1:-1:-1;703:10647:221;6401:12;703:10647;;;;-1:-1:-1;703:10647:221;;;6397:247;703:10647;;;6440:35;;;:::i;6397:247::-;-1:-1:-1;703:10647:221;;;7266:7:61;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;6501:35;;-1:-1:-1;1513:6:42;703:10647:221;-1:-1:-1;;;;;703:10647:221;;6548:14::o;6496:142::-;6594:35;;;:::i;7016:260::-;-1:-1:-1;;;;;703:10647:221;;;7148:17;;;:::i;:::-;703:10647;;;7179:17;;;;:54;;;;;7016:260;7179:91;;;;;;7171:100;;7016:260;:::o;7179:91::-;703:10647;;;-1:-1:-1;703:10647:221;4980:18:61;703:10647:221;;;-1:-1:-1;703:10647:221;;-1:-1:-1;703:10647:221;;;;;-1:-1:-1;703:10647:221;;;7016:260;:::o;7179:54::-;7200:21;;;;;;;:::i;:::-;703:10647;7200:33;7179:54;;;;;7620:398;-1:-1:-1;703:10647:221;;;7731:16;703:10647;;;;;;-1:-1:-1;;;;;703:10647:221;;-1:-1:-1;703:10647:221;;7791:24;703:10647;7791:24;:::i;:::-;7836:40;;;;;;;7620:398;7835:69;;;;7620:398;703:10647;;;;;;;7988:15;703:10647;;;;;7620:398;:::o;703:10647::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;7835:69;703:10647;;;;7882:12;703:10647;;;;;;;;7881:23;7835:69;;7836:40;7854:22;;;;7836:40;;;8022:369;;8127:13;;703:10647;;11851:92:61;8176:24:221;;;;:::i;:::-;8211:54;;;;;8022:369;8211:81;;;8022:369;8207:124;;8022:369;11859:34:61;;;:::i;:::-;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;703:10647:221;11961:16:61;;;703:10647:221;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;703:10647:221;12171:42:61;12163:92;:::i;:::-;12901:27;8139:1:221;703:10647;;;12324:15:61;703:10647:221;;;;;-1:-1:-1;;;;;703:10647:221;;;;;;;;;;;;12792:9:61;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;703:10647:221;;;;;;;;;;;;;12901:27:61;;8022:369:221:o;703:10647::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;8207:124;8315:8;;;;:::i;:::-;8207:124;;8211:81;703:10647;;8139:1;703:10647;8270:12;703:10647;;;;8139:1;703:10647;;;8269:23;8211:81;;:54;-1:-1:-1;;703:10647:221;;;7266:7:61;703:10647:221;;;;;;-1:-1:-1;;;;;703:10647:221;7680:31:61;8211:54:221;;703:10647;;;;:::o;:::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;8502:391;8677:11;703:10647;;8502:391;8670:1;8673:22;;;;;;8867:21;;;;8670:1;8867:21;8670:1;703:10647;;;;;;:::i;:::-;8670:1;703:10647;;8502:391;:::o;8697:3::-;8726:14;;;:::i;:::-;703:10647;;8714:39;;;:80;;;8697:3;8710:145;;-1:-1:-1;;703:10647:221;;;;;;8658:13;;703:10647;;;;8670:1;703:10647;;;;;8670:1;703:10647;8710:145;8823:14;;;;;;;:::i;:::-;8806:40;;703:10647;8823:22;703:10647;8806:40;8823:22;;703:10647;:::i;8714:80::-;8769:14;703:10647;8769:14;;;:::i;:::-;:25;;703:10647;8757:37;;;8714:80;;703:10647;;;;:::o;:::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;1987:344:61;703:10647:221;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;1168:51:72;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;;703:10647:221;;;;:::o;:::-;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;-1:-1:-1;;;703:10647:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;703:10647:221;;;;:::o","linkReferences":{}},"methodIdentifiers":{"addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","areTokenURIsLocked()":"631d1d9a","balanceOf(address)":"70a08231","batchMint(string,uint256)":"7cc918d1","burn(uint256)":"42966c68","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getBatchCount()":"a8fabfa5","getBatchInfo(uint256)":"1a0058f5","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","lockTokenURIs()":"a448dd4f","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","tokenURIsLocked()":"bb2ee99f","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBatchBaseURI(uint256,string)":"de903ddd","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"BatchBaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"TokenURIsLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"areTokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBatchCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"}],\"name\":\"getBatchInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockTokenURIs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newBaseURI\",\"type\":\"string\"}],\"name\":\"updateBatchBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getBatchCount()\":{\"details\":\"Returns the total number of batches.\"},\"getBatchInfo(uint256)\":{\"details\":\"Returns the start and end token IDs and base URI for a specific batch.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/SovereignNFT.sol\":\"SovereignNFT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0x74a1aa566315a4c0d91fc502278a18ecd4b2badc4b8206a1d9b819aa7fa7d9eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccdd47e55f55319ae049c60f843bfd64e0082b38d349e87173dc3eb4fafd04e2\",\"dweb:/ipfs/QmQWDQf4Fw5HDnGKxxoyvS4gvB2yyiKb4L4kHDMPuyPrbd\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"batchIndex","type":"uint256","indexed":true},{"internalType":"string","name":"newBaseURI","type":"string","indexed":false}],"type":"event","name":"BatchBaseURIUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"newURI","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[],"type":"event","name":"TokenURIsLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[],"stateMutability":"view","type":"function","name":"areTokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBatchCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBatchInfo","outputs":[{"internalType":"uint256","name":"startTokenId","type":"uint256"},{"internalType":"uint256","name":"endTokenId","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockTokenURIs"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"},{"internalType":"string","name":"_newBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBatchBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_newURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getBatchCount()":{"details":"Returns the total number of batches."},"getBatchInfo(uint256)":{"details":"Returns the start and end token IDs and base URI for a specific batch."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/SovereignNFT.sol":"SovereignNFT"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFT.sol":{"keccak256":"0x74a1aa566315a4c0d91fc502278a18ecd4b2badc4b8206a1d9b819aa7fa7d9eb","urls":["bzz-raw://ccdd47e55f55319ae049c60f843bfd64e0082b38d349e87173dc3eb4fafd04e2","dweb:/ipfs/QmQWDQf4Fw5HDnGKxxoyvS4gvB2yyiKb4L4kHDMPuyPrbd"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":221} \ No newline at end of file diff --git a/abis/SovereignNFTContractFactory.json b/abis/SovereignNFTContractFactory.json index 3ce4be8..680e112 100644 --- a/abis/SovereignNFTContractFactory.json +++ b/abis/SovereignNFTContractFactory.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"LAZY_ROYALTY_GUARD","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"LAZY_ROYALTY_GUARD_DEADMAN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"LAZY_SOVEREIGN_NFT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ROYALTY_GUARD","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ROYALTY_GUARD_DEADMAN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SOVEREIGN_NFT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"lazySovereignNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lazySovereignNFTRoyaltyGuard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lazySovereignNFTRoyaltyGuardDeadmanTrigger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSovereignNFT","inputs":[{"name":"_sovereignNFT","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSovereignNFT","inputs":[{"name":"_sovereignNFT","type":"address","internalType":"address"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sovereignNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"sovereignNFTRoyaltyGuard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"sovereignNFTRoyaltyGuardDeadmanTrigger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreated","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreated","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"contractType","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false}],"bytecode":{"object":"0x60806040908082523461013f5760008054336001600160a01b031980831682178455936001600160a01b03939290919084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36001600160401b0390612707818101908382118383101761012b5790829162000f5c8339039083f080156101215783168460015416176001558451613075808201908282108483111761012b57908291620036638339039083f08015610121578316846002541617600255845190613201808301918383109083111761010d57908291620066d88339039082f090811561010257501690600354161760035551610e179081620001458239f35b8451903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b85513d84823e3d90fd5b634e487b7160e01b85526041600452602485fd5b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c908162e8ece614610a0e5750806322d60fcb146109e55780633cebcf41146108d1578063637944f514610896578063715018a61461083c578063740adf31146108015780637de4c082146107c6578063877ebf51146104b75780638da5cb5b1461048f5780639607cb4914610448578063a55b1c2514610415578063c4dca7ab146103ec578063c9be0590146103c3578063d05df8831461039a578063d1e0f70014610371578063da8d79f314610269578063ea14289f1461022e578063ef6fde5b146101ef578063f2fde38b146101285763f5e0e6df146100fe57600080fd5b346101245782600319360112610124575490516001600160a01b03909116815260209150f35b8280fd5b503461012457602036600319011261012457610142610ada565b9061014b610af0565b6001600160a01b0391821692831561019d575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b50503461022a578160031936011261022a57602090517f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f8152f35b5080fd5b50503461022a578160031936011261022a57602090517f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8152f35b5090346101245760603660031901126101245767ffffffffffffffff90823582811161036d5761029c9036908501610a72565b9160243590811161036d576102b49036908501610a72565b9284604435946102c5861515610c66565b6001546001600160a01b03959086906102df908216610d4d565b1696873b1561035f576103069086519586948594635edc7c1960e01b865233928601610d0e565b038183885af180156103635761034b575b509260209351927f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a3600154168152f35b6103558591610a48565b61035f5738610317565b8380fd5b82513d87823e3d90fd5b8480fd5b50503461022a578160031936011261022a5760035490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760015490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760025490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760065490516001600160a01b039091168152602090f35b50503461022a5736600319011261044557610442610431610ada565b610439610af0565b60243590610b48565b80f35b80fd5b833461044557602036600319011261044557610462610ada565b61046a610af0565b6001600160a01b0316801561022a576001600160601b0360a01b600154161760015580f35b50503461022a578160031936011261022a57905490516001600160a01b039091168152602090f35b5082903461022a57608036600319011261022a5767ffffffffffffffff813581811161035f576104ea9036908401610a72565b9060243590811161035f576105029036908401610a72565b9060443560643592610515821515610c66565b85937f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8114610751575b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b74381146106ce575b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610647575b5050506001600160a01b03169081156105d157506020925191817f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a38152f35b60a490602085519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b03945091929091610663908516610d4d565b93841691823b156106ca579161069493918780948a5196879586948593635edc7c1960e01b855233918d8601610d0e565b03925af180156106c0579084916106ac575b8061058e565b6106b590610a48565b6101245782856106a6565b85513d86823e3d90fd5b8680fd5b6002546001600160a01b0395506106e6908616610d4d565b948516803b1561074d57878785928583896107168f5197889687958694635edc7c1960e01b865233928601610d0e565b03925af180156107435790889161072f575b5050610567565b61073890610a48565b6106ca578689610728565b89513d8a823e3d90fd5b8780fd5b6001546001600160a01b039550610769908616610d4d565b948516803b1561074d57878785928583896107998f5197889687958694635edc7c1960e01b865233928601610d0e565b03925af18015610743579088916107b2575b505061053f565b6107bb90610a48565b6106ca5786896107ab565b50503461022a578160031936011261022a57602090517fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438152f35b50503461022a578160031936011261022a57602090517f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c66251708152f35b8334610445578060031936011261044557610855610af0565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461022a578160031936011261022a57602090517f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd688152f35b5090346101245760031990808236011261035f5767ffffffffffffffff93833585811161022a576109059036908601610a72565b9460243590811161022a5761091d9036908601610a72565b9360018060a01b0393846109348160015416610d4d565b1695863b1561035f5791610976608092859461096788519b8c968796635edc7c1960e01b88528701526084860190610cce565b91848303016024850152610cce565b3360448301526000196064830152038183885af19485156109d9576020956109ca575b509051927f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a3600154168152f35b6109d390610a48565b38610999565b509051903d90823e3d90fd5b50503461022a578160031936011261022a5760055490516001600160a01b039091168152602090f35b84903461022a578160031936011261022a57807f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c560209252f35b67ffffffffffffffff8111610a5c57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610ad55780359067ffffffffffffffff92838311610a5c5760405193601f8401601f19908116603f0116850190811185821017610a5c5760405282845260208383010111610ad557816000926020809301838601378301015290565b600080fd5b600435906001600160a01b0382168203610ad557565b6000546001600160a01b03163303610b0457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316908115610ad5577f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8114610c50577fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438114610c3a577f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610c255760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b15610c6d57565b60405162461bcd60e51b815260206004820152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b919082519283825260005b848110610cfa575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cd9565b90606092610d2b610d399297969597608085526080850190610cce565b908382036020850152610cce565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b03821615610da357565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfea264697066735822122024d7c9d31eae9d24fde63efb15a1563014e3a2628a21f308a76fbfc58465238c64736f6c6343000812003360808060405234610016576126eb908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146114b25750806306fdde0314611408578063081812fc146113e8578063095ea7b31461127757806318160ddd1461125757806323b872dd146112325780632a55205a146111a05780633403c4e9146111775780633ebc82c51461113557806340c1a0641461110b57806342842e0e146110d757806342966c68146110ba5780634aa52c41146110495780635edc7c1914610b3e5780636297c16c14610ac25780636352211e14610a9157806370a08231146109fb578063715018a61461099e5780637cc918d114610678578063894ba8331461062a5780638da5cb5b1461060157806395d89b411461051c578063a22cb4651461044d578063ab69607a1461042e578063b88d4fde146103a3578063c87b56dd14610368578063d9856c21146102fb578063e8315742146102db578063e985e9c51461028d578063ee0708051461026a578063efc32cd4146102175763f2fde38b1461018357600080fd5b346102135760203660031901126102135761019c611597565b916101a56116e8565b6001600160a01b038316156101c157836101be84611740565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b505034610266578060031936011261026657610231611597565b9061023a6116e8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461026657816003193601126102665760209060ff80541690519015158152f35b50503461026657806003193601126102665760ff816020936102ad611597565b6102b56115b2565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610266578160031936011261026657602090610100549051908152f35b83823461026657602036600319011261026657803567ffffffffffffffff811161021357366023820112156102135761036491816024610340933693013591016116b1565b6103486116e8565b61035660ff80541615611b49565b60fc54339182908190611d35565b5080f35b5091346103a05760203660031901126103a0575061038961039c9235612073565b9051918291602083526020830190611572565b0390f35b80fd5b838234610266576080366003190112610266576103be611597565b906103c76115b2565b916044356064359367ffffffffffffffff851161042a573660238601121561042a57610402610425948660246101be983693013591016116b1565b9261041561041084336122c9565b611869565b6104208383836123fb565b611a5e565b61191e565b8580fd5b50503461026657816003193601126102665760209060fc549051908152f35b509034610213578060031936011261021357610467611597565b9060243591821515809303610518576001600160a01b0316923384146104d65750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102665781600319360112610266578051908260985461053e81611789565b808552916001918083169081156105d9575060011461057c575b50505061056a8261039c940383611673565b51918291602083526020830190611572565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106105c15750505061056a82602061039c9582010194610558565b805460208787018101919091529095019481016105a4565b61039c97508693506020925061056a94915060ff191682840152151560051b82010194610558565b50503461026657816003193601126102665760335490516001600160a01b039091168152602090f35b83346103a057806003193601126103a0576106436116e8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5091903461026657806003193601126102665767ffffffffffffffff92803584811161099a576106ab9036908301611613565b906106b46116e8565b6106c260ff80541615611b49565b610104908154926001978885019485811161098757602490813501938a850180881161097557851161096357885195602096878101818110868211176108fd578b5286905285905561010054851161092157885190606082018281108582111761090f579061073e918b528883528783019587875236916116b1565b93898201948552610105805490680100000000000000008210156108fd578d8201905561076a90611b95565b9290926108ec579060029291518255518c8201550192519687519283116108db5750506107978254611789565b601f8111610899575b50879888969798508497601f8311600114610815578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9461080a575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b0151925038806107e4565b8388528588209098919291601f198316895b818110610881575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610868575b505050811b0190556107f6565b015160001960f88460031b161c1916905538808061085b565b828c015184558d9a5092850192918801918801610827565b828952848920601f830160051c8101918684106108d1575b601f0160051c01905b8181106108c757506107a0565b8981558a016108ba565b90915081906108b1565b634e487b7160e01b8a526041905288fd5b634e487b7160e01b8c528b8a52838cfd5b634e487b7160e01b8d5260418b52848dfd5b634e487b7160e01b8c5260418a52838cfd5b885162461bcd60e51b8152808901879052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b89526011875288fd5b634e487b7160e01b8b5260118952828bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b83346103a057806003193601126103a0576109b76116e8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610266576020366003190112610266576001600160a01b03610a1f611597565b16908115610a3c576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346103a05760203660031901126103a05750610ab160209235612259565b90516001600160a01b039091168152f35b503461021357602036600319011261021357803591610ae083612259565b336001600160a01b0390911603610afb57836101be84611be7565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346102665760803660031901126102665767ffffffffffffffff92813584811161099a57610b729036908401611613565b929060243586811161042a57610b8b9036908401611613565b610b969791976115c8565b9387549860ff94858b60081c16159889809a61103d575b8015611027575b15610fcd5760ff19808d1660019081178d559b9c999a998a610fbc575b506001600160a01b03891615610f795791610c2491610c14898f610c2c9796600a60fc558254168255606435610100555460081c16610c0f81611ae9565b611ae9565b610c1d33611740565b36916116b1565b9336916116b1565b90610c40858b5460081c16610c0f81611ae9565b8251848111610f665780610c55609754611789565b94601f95868111610ef5575b506020908d878411600114610e765792610e6b575b5050600019600383901b1c1916908a1b176097555b8151938411610e585750610ca0609854611789565b828111610df5575b506020918311600114610d69579180610d1d959492610cf5948b92610d5e575b5050600019600383901b1c191690881b176098555b875460081c16610cec81611ae9565b610c0f81611ae9565b60fb80546001600160a01b0319166001600160a01b038316179055610d186116e8565b611740565b610d25578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80610cc8565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110610ddd575091610cf595939185610d1d9998969410610dc4575b505050811b01609855610cdd565b015160001960f88460031b161c191690558a8080610db6565b8284015185558b969094019360209384019301610d99565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710610e4f575b0160051c019089905b828110610e44575050610ca8565b8b8155018990610e36565b92508192610e2d565b634e487b7160e01b8a5260419052602489fd5b015190508c80610c76565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110610edd57508411610ec4575b505050811b01609755610c8b565b015160001960f88460031b161c191690558c8080610eb6565b8284015185558f969094019360209384019301610ea7565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610610f5d575b859493910160051c909101908d908f5b838210610f4f57505050610c61565b81558594508e91018f610f40565b92508192610f30565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610bd1565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610bb457506001878d1614610bb4565b506001878d1610610bad565b83823461026657606036600319011261026657803567ffffffffffffffff8111610213576103649161107d91369101611613565b906110866115b2565b61108e6115c8565b926110976116e8565b6110a560ff80541615611b49565b6110b560fc5493339236916116b1565b611d35565b838234610266576020366003190112610266576101be9035611be7565b505034610266576104256101be916110ee366115de565b919251926110fb84611641565b86845261041561041084336122c9565b5050346102665760203660031901126102665760335490516001600160a01b039091168152602090f35b83346103a05760203660031901126103a0576101be611152611597565b61115a6116e8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461026657816003193601126102665760fb5490516001600160a01b039091168152602090f35b5091346103a057816003193601126103a0578235815260fd60205281812054602435906001600160a01b03908116801561122657925b60fe60205284812054801561121c57925b8381029381850414901517156112095750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926111e7565b508060fb5416926111d6565b83346103a0576101be611244366115de565b9161125261041084336122c9565b6123fb565b505034610266578160031936011261026657602090610104549051908152f35b5034610213578160031936011261021357611290611597565b6024359290916001600160a01b03919082806112ab87612259565b1694169380851461139b5780331490811561137c575b50156113145750838552610103602052842080546001600160a01b031916831790556112ec83611ccf565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386112c1565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346103a05760203660031901126103a05750610ab160209235612333565b5050346102665781600319360112610266578051908260975461142a81611789565b808552916001918083169081156105d957506001146114555750505061056a8261039c940383611673565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061149a5750505061056a82602061039c9582010194610558565b8054602087870181019190915290950194810161147d565b92505034610213576020366003190112610213573563ffffffff60e01b81169081810361099a5760209350631030681960e21b821491821561153e575b8215611515575b508115611505575b5015158152f35b61150f9150612671565b386114fe565b90915063152a902d60e11b14801561152f575b90386114f6565b5061153981612671565b611528565b6301ffc9a760e01b811492506114ef565b60005b8381106115625750506000910152565b8181015183820152602001611552565b9060209161158b8151809281855285808601910161154f565b601f01601f1916010190565b600435906001600160a01b03821682036115ad57565b600080fd5b602435906001600160a01b03821682036115ad57565b604435906001600160a01b03821682036115ad57565b60609060031901126115ad576001600160a01b039060043582811681036115ad579160243590811681036115ad579060443590565b9181601f840112156115ad5782359167ffffffffffffffff83116115ad57602083818601950101116115ad57565b6020810190811067ffffffffffffffff82111761165d57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761165d57604052565b67ffffffffffffffff811161165d57601f01601f191660200190565b9291926116bd82611695565b916116cb6040519384611673565b8294818452818301116115ad578281602093846000960137010152565b6033546001600160a01b031633036116fc57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156117b9575b60208310146117a357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611798565b90604051918260008254926117d784611789565b9081845260019485811690816000146118465750600114611803575b505061180192500383611673565b565b9093915060005260209081600020936000915b81831061182e575050611801935082010138806117f3565b85548884018501529485019487945091830191611816565b91505061180194506020925060ff191682840152151560051b82010138806117f3565b1561187057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561192557565b60405162461bcd60e51b81528061193e600482016118cb565b0390fd5b9192600092909190803b15611a5457611990946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611572565b03926001600160a01b03165af1849181611a14575b50611a03575050503d6000146119fb573d6119bf81611695565b906119cd6040519283611673565b81528091833d92013e5b805191826119f85760405162461bcd60e51b81528061193e600482016118cb565b01fd5b5060606119d7565b6001600160e01b0319161492509050565b9091508581813d8311611a4d575b611a2c8183611673565b8101031261051857516001600160e01b0319811681036105185790386119a5565b503d611a22565b5050915050600190565b9293600093909291803b15611ade57948491611ab89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611572565b0393165af1849181611a145750611a03575050503d6000146119fb573d6119bf81611695565b505050915050600190565b15611af057565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15611b5057565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015611bd157600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b611bf0816125d0565b5050600082815261010260205260408120805460ff191660011790559080611cb0575b611cac57611c2461041083336122c9565b611c2d82611ccf565b50611c3782611ccf565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615611c13565b6000908152609960205260409020546001600160a01b03168015611cf05790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711611eef57611d79610425604051611d6381611641565b89600096878352611d748282611f7f565b611942565b8683526020916101068352604084209181519167ffffffffffffffff8311611edb57611da58454611789565b601f8111611e95575b508490601f8411600114611e2c57928060fd9593819389989660409a94611e21575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880611dd0565b8487528587209293929190601f198416885b818110611e80575091604098979593918560fd98969410611e67575b505050811b019055611de2565b015160001960f88460031b161c19169055388080611e5a565b82840151855593860193928801928801611e3e565b848752858720601f850160051c810191878610611ed1575b601f0160051c019083905b828110611ec6575050611dae565b888155018390611eb8565b9091508190611ead565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15611f3a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561202f57600082815260996020526040902054611fb3906001600160a01b031615155b15611f33565b600082815260996020526040902054611fd6906001600160a01b03161515611fad565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b61207c816125d0565b911515905061209f575060005261010660205261209c60406000206117c3565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561224b575b50506d04ee2d6d415b85acef81000000008082101561223e575b50662386f26fc1000080821015612231575b506305f5e10080821015612224575b5061271080821015612217575b506064811015612209575b600a809110156121ff575b60018084019281602161215361213d87611695565b9661214b6040519889611673565b808852611695565b602087019790601f1901368937860101905b6121c9575b505050506121ac9261209c92602692604051958361219288955180926020808901910161154f565b840191602f60f81b6020840152518093602184019061154f565b0164173539b7b760d91b6021820152036006810184520182611673565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156121fa57919082612165565b61216a565b9160010191612128565b60646002910492019161211d565b6004910492019138612112565b6008910492019138612105565b60109104920191386120f6565b60209104920191386120e4565b6040945004905038806120ca565b612262816125d0565b50506122715761209c90611ccf565b8060005261010260205260ff604060002054166000146122945761209c90611ccf565b6000818152609960205260409020546001600160a01b03166122c057506033546001600160a01b031690565b61209c90611ccf565b6001600160a01b039081806122dd85612259565b1691169181831493841561231c575b505082156122f957505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061232990612333565b16149138806122ec565b600081815260fd60205260408120546001600160a01b039291908316612358836125d0565b50509081156123f1575b50806123d9575b1561237f57604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612369565b9050151538612362565b9082156115ad576124459161240f846125d0565b505080612557575b8061253d575b61252e575b61242b84611ccf565b6001600160a01b0393918416928492909183168414612576565b169182156124dd57816124629161245b86611ccf565b1614612576565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6125388482611f7f565b612422565b508360005261010260205260ff604060002054161561241d565b506000848152609960205260409020546001600160a01b031615612417565b1561257d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106125fd57505090506000906000906040516125f681611641565b6000815290565b61260681611b95565b50548210158061265a575b61263c576000198114612626576001016125d9565b634e487b7160e01b600052601160045260246000fd5b8093506126499150611b95565b509061209c600260019493016117c3565b50600161266682611b95565b500154821115612611565b63ffffffff60e01b166380ac58cd60e01b81149081156126a4575b8115612696575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061268c56fea26469706673582212202506f26fa7d24cbc1690ebf6e03bfb199170c880dd4c2cb3b58b29370d1d98ea64736f6c634300081200336080806040523461001657613059908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e814611b7357806301ffc9a714611a9d57806306fdde03146119f3578063081812fc146119d3578063095ea7b3146117b757806318160ddd14611797578063204274861461176357806323b872dd1461173e5780632a55205a146116ac5780632ce878da146116395780633403c4e9146116105780633ebc82c5146115ce57806340c1a064146115a457806342842e0e1461157057806342966c6814611553578063472a6638146114c35780634aa52c41146114525780635edc7c1914610f475780636297c16c14610ecb5780636352211e14610e9a57806370a0823114610e04578063715018a614610da75780637cc918d114610a8a57806387bc793f14610a62578063894ba83314610a145780638da5cb5b146109eb57806395d89b41146109065780639e860f2a14610815578063a22cb46514610693578063ab69607a14610674578063b88d4fde146105e9578063bc7194551461053b578063c87b56dd14610500578063d9856c2114610497578063e831574214610477578063e985e9c514610429578063eab85118146103ce578063ee070805146103ab578063efc32cd414610358578063f2fde38b146102c75763ff6e8c8f146101e457600080fd5b346102c3576101f236611d3f565b90919260018060a01b0394856033541633036102b65760038510156102a357841561029657505090610225913691612240565b92805b84518110156102925761028d90610254610241856122a7565b8661024c848a6122e6565b511690612328565b50838561026183896122e6565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46122c1565b610228565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346102c35760203660031901126102c3576102e1611c6c565b916102ea611e3f565b6001600160a01b03831615610306578361030384611e97565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103a757806003193601126103a757610372611c6c565b9061037b611e3f565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103a757816003193601126103a75760209060ff80541690519015158152f35b5050346103a75760203660031901126103a7576020906104206103ef611c6c565b6103fe60ff61010854166122a7565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103a757806003193601126103a75760ff81602093610449611c6c565b610451611c87565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103a757816003193601126103a757602090610100549051908152f35b8382346103a75760203660031901126103a757803567ffffffffffffffff81116102c357366023820112156102c357610292918160246104dc93369301359101611e08565b6104e4611e3f565b6104f260ff805416156124e6565b60fc543391829081906126bc565b509134610538576020366003190112610538575061052161053492356129fa565b9051918291602083526020830190611c47565b0390f35b80fd5b5090346102c35760203660031901126102c35781359160038310156105e5576033546001600160a01b031633036105d75750610576826122a7565b805490848155816105b9575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b3339482611d16565b0390a280f35b845260208420908101905b81811015610582578481556001016105c4565b9051635c510c8360e11b8152fd5b8380fd5b8382346103a75760803660031901126103a757610604611c6c565b9061060d611c87565b916044356064359367ffffffffffffffff851161067057366023860112156106705761064861066b9486602461030398369301359101611e08565b9261065b6106568433612c50565b611fc0565b610666838383612d82565b6121b5565b612075565b8580fd5b5050346103a757816003193601126103a75760209060fc549051908152f35b5090346102c357806003193601126102c3576106ad611c6c565b90602435918215158093036108115760ff610108541660038110156107fe57600181036107b45750600180865261010760209081528387206001600160a01b0384166000908152920190526040902054156107a5575b6001600160a01b0316923384146107635750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b60020361070357600285526101076020526107ea82862060018060a01b0383169060019160005201602052604060002054151590565b156107035781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b5090346102c35761082536611d3f565b6033546001600160a01b039490851633036108f7575090610847913691612240565b91600382101590816107fe578261085c578580f35b8591929394955b85518110156108e75761088b610878866122a7565b83610883848a6122e6565b511690612396565b50838261089883896122e6565b5116906108d45790856108cf92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46122c1565b610863565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103a757816003193601126103a7578051908260985461092881611ee0565b808552916001918083169081156109c35750600114610966575b50505061095482610534940383611dca565b51918291602083526020830190611c47565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106109ab575050506109548260206105349582010194610942565b8054602087870181019190915290950194810161098e565b61053497508693506020925061095494915060ff191682840152151560051b82010194610942565b5050346103a757816003193601126103a75760335490516001600160a01b039091168152602090f35b8334610538578060031936011261053857610a2d611e3f565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103a757816003193601126103a7576105349060ff6101085416905191829182611d16565b509190346103a757806003193601126103a75767ffffffffffffffff9280358481116105e557610abd9036908301611ce8565b90610ac6611e3f565b610ad460ff805416156124e6565b6101049081549260019788850194858111610d9457602490813501938a8501808811610d82578511610d705788519560209687810181811086821117610d0a578b52869052859055610100548511610d2e578851906060820182811085821117610d1c5790610b50918b52888352878301958787523691611e08565b93898201948552610105805490600160401b821015610d0a578d82019055610b7790612532565b929092610cf9579060029291518255518c820155019251968751928311610ce8575050610ba48254611ee0565b601f8111610ca6575b50879888969798508497601f8311600114610c22578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610c17575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610bf1565b8388528588209098919291601f198316895b818110610c8e575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610c75575b505050811b019055610c03565b015160001960f88460031b161c19169055388080610c68565b828c015184558d9a5092850192918801918801610c34565b828952848920601f830160051c810191868410610cde575b601f0160051c01905b818110610cd45750610bad565b8981558a01610cc7565b9091508190610cbe565b634e487b7160e01b8a526041905288fd5b634e487b7160e01b8c528b8a52838cfd5b634e487b7160e01b8d5260418b52848dfd5b634e487b7160e01b8c5260418a52838cfd5b885162461bcd60e51b8152808901879052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b89526011875288fd5b634e487b7160e01b8b5260118952828bfd5b634e487b7160e01b895260118752602489fd5b8334610538578060031936011261053857610dc0611e3f565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103a75760203660031901126103a7576001600160a01b03610e28611c6c565b16908115610e45576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105385760203660031901126105385750610eba60209235612be0565b90516001600160a01b039091168152f35b50346102c35760203660031901126102c357803591610ee983612be0565b336001600160a01b0390911603610f0457836103038461256e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346103a75760803660031901126103a75767ffffffffffffffff9281358481116105e557610f7b9036908401611ce8565b929060243586811161067057610f949036908401611ce8565b610f9f979197611c9d565b9387549860ff94858b60081c16159889809a611446575b8015611430575b156113d65760ff19808d1660019081178d559b9c999a998a6113c5575b506001600160a01b03891615611382579161102d9161101d898f6110359796600a60fc558254168255606435610100555460081c1661101881612486565b612486565b61102633611e97565b3691611e08565b933691611e08565b90611049858b5460081c1661101881612486565b825184811161136f578061105e609754611ee0565b94601f958681116112fe575b506020908d87841160011461127f5792611274575b5050600019600383901b1c1916908a1b176097555b815193841161126157506110a9609854611ee0565b8281116111fe575b5060209183116001146111725791806111269594926110fe948b92611167575b5050600019600383901b1c191690881b176098555b875460081c166110f581612486565b61101881612486565b60fb80546001600160a01b0319166001600160a01b038316179055611121611e3f565b611e97565b61112e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a806110d1565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106111e65750916110fe9593918561112699989694106111cd575b505050811b016098556110e6565b015160001960f88460031b161c191690558a80806111bf565b8284015185558b9690940193602093840193016111a2565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611258575b0160051c019089905b82811061124d5750506110b1565b8b815501899061123f565b92508192611236565b634e487b7160e01b8a5260419052602489fd5b015190508c8061107f565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106112e6575084116112cd575b505050811b01609755611094565b015160001960f88460031b161c191690558c80806112bf565b8284015185558f9690940193602093840193016112b0565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611366575b859493910160051c909101908d908f5b8382106113585750505061106a565b81558594508e91018f611349565b92508192611339565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610fda565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610fbd57506001878d1614610fbd565b506001878d1610610fb6565b8382346103a75760603660031901126103a757803567ffffffffffffffff81116102c3576102929161148691369101611ce8565b9061148f611c87565b611497611c9d565b926114a0611e3f565b6114ae60ff805416156124e6565b6114be60fc549333923691611e08565b6126bc565b50346102c35760203660031901126102c35780359160038310156105e5576033546001600160a01b031633036102b657506101089182549160ff83169060038210156115405750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103a75760203660031901126103a757610303903561256e565b5050346103a75761066b6103039161158736611cb3565b9192519261159484611d98565b86845261065b6106568433612c50565b5050346103a75760203660031901126103a75760335490516001600160a01b039091168152602090f35b8334610538576020366003190112610538576103036115eb611c6c565b6115f3611e3f565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103a757816003193601126103a75760fb5490516001600160a01b039091168152602090f35b82843461053857806003193601126105385761165a60ff61010854166122a7565b9180519182845490818152602080910195835280832092905b82821061169557610534868661168b828b0383611dca565b5191829182611be0565b835487529586019560019384019390910190611673565b5091346105385781600319360112610538578235815260fd60205281812054602435906001600160a01b03908116801561173257925b60fe60205284812054801561172857925b8381029381850414901517156117155750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926116f3565b508060fb5416926116e2565b83346105385761030361175036611cb3565b9161175e6106568433612c50565b612d82565b5050346103a75760203660031901126103a757602090611781611c6c565b60018060a01b0380603354169116149051908152f35b5050346103a757816003193601126103a757602090610104549051908152f35b50346102c357816003193601126102c3576117d0611c6c565b906024359260ff610108541660038110156119c057600181036119795750600180865261010760209081528287206001600160a01b03861660009081529201905260409020541561196d575b6001600160a01b0391828061183087612be0565b1694169380851461192057803314908115611901575b50156118995750838552610103602052842080546001600160a01b0319168317905561187183612656565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611846565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b60020361181c57600285526101076020526119af81862060018060a01b0385169060019160005201602052604060002054151590565b1561181c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091346105385760203660031901126105385750610eba60209235612cba565b5050346103a757816003193601126103a75780519082609754611a1581611ee0565b808552916001918083169081156109c35750600114611a405750505061095482610534940383611dca565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a85575050506109548260206105349582010194610942565b80546020878701810191909152909501948101611a68565b50346102c35760203660031901126102c35735906001600160e01b031982168083036105e5576020935063fa31a45b60e01b8114928315611b62575b8315611aea575b5050519015158152f35b919250631030681960e21b811491908215611b51575b8215611b28575b508115611b18575b50903880611ae0565b611b229150612fdf565b38611b0f565b90915063152a902d60e11b148015611b42575b9038611b07565b50611b4c81612fdf565b611b3b565b6301ffc9a760e01b81149250611b00565b6301ffc9a760e01b82149350611ad9565b5090346102c357602091826003193601126105e5573560038110156105e557611b9b906122a7565b9281518093808654928381520195835280832092905b828210611bc957610534868661168b828b0383611dca565b835487529586019560019384019390910190611bb1565b6020908160408183019282815285518094520193019160005b828110611c07575050505090565b83516001600160a01b031685529381019392810192600101611bf9565b60005b838110611c375750506000910152565b8181015183820152602001611c27565b90602091611c6081518092818552858086019101611c24565b601f01601f1916010190565b600435906001600160a01b0382168203611c8257565b600080fd5b602435906001600160a01b0382168203611c8257565b604435906001600160a01b0382168203611c8257565b6060906003190112611c82576001600160a01b03906004358281168103611c8257916024359081168103611c82579060443590565b9181601f84011215611c825782359167ffffffffffffffff8311611c825760208381860195010111611c8257565b919060208301926003821015611d295752565b634e487b7160e01b600052602160045260246000fd5b6040600319820112611c82576004356003811015611c82579160243567ffffffffffffffff92838211611c825780602383011215611c82578160040135938411611c825760248460051b83010111611c82576024019190565b6020810190811067ffffffffffffffff821117611db457604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611db457604052565b67ffffffffffffffff8111611db457601f01601f191660200190565b929192611e1482611dec565b91611e226040519384611dca565b829481845281830111611c82578281602093846000960137010152565b6033546001600160a01b03163303611e5357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611f10575b6020831014611efa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611eef565b9060405191826000825492611f2e84611ee0565b908184526001948581169081600014611f9d5750600114611f5a575b5050611f5892500383611dca565b565b9093915060005260209081600020936000915b818310611f85575050611f5893508201013880611f4a565b85548884018501529485019487945091830191611f6d565b915050611f5894506020925060ff191682840152151560051b8201013880611f4a565b15611fc757565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561207c57565b60405162461bcd60e51b81528061209560048201612022565b0390fd5b9192600092909190803b156121ab576120e7946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611c47565b03926001600160a01b03165af184918161216b575b5061215a575050503d600014612152573d61211681611dec565b906121246040519283611dca565b81528091833d92013e5b8051918261214f5760405162461bcd60e51b81528061209560048201612022565b01fd5b50606061212e565b6001600160e01b0319161492509050565b9091508581813d83116121a4575b6121838183611dca565b8101031261081157516001600160e01b0319811681036108115790386120fc565b503d612179565b5050915050600190565b9293600093909291803b156122355794849161220f9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611c47565b0393165af184918161216b575061215a575050503d600014612152573d61211681611dec565b505050915050600190565b90929167ffffffffffffffff8411611db4578360051b604051926020809461226a82850182611dca565b8097815201918101928311611c8257905b8282106122885750505050565b81356001600160a01b0381168103611c8257815290830190830161227b565b6003811015611d2957600052610107602052604060002090565b60001981146122d05760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156122fa5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156122fa5760005260206000200190600090565b600082815260018201602052604090205461238f57805490600160401b821015611db45782612378612361846001809601855584612310565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b9060018201906000928184528260205260408420549081151560001461247f576000199180830181811161246b5782549084820191821161245757808203612422575b5050508054801561240e578201916123f18383612310565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6124426124326123619386612310565b90549060031b1c92839286612310565b905586528460205260408620553880806123d9565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b1561248d57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b156124ed57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b6101059081548110156122fa57600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b61257781612f57565b5050600082815261010260205260408120805460ff191660011790559080612637575b612633576125ab6106568333612c50565b6125b482612656565b506125be82612656565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561259a565b6000908152609960205260409020546001600160a01b031680156126775790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b9392909160019461010495808754018097556101005487116128765761270061066b6040516126ea81611d98565b896000968783526126fb8282612906565b612099565b8683526020916101068352604084209181519167ffffffffffffffff83116128625761272c8454611ee0565b601f811161281c575b508490601f84116001146127b357928060fd9593819389989660409a946127a8575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612757565b8487528587209293929190601f198416885b818110612807575091604098979593918560fd989694106127ee575b505050811b019055612769565b015160001960f88460031b161c191690553880806127e1565b828401518555938601939288019288016127c5565b848752858720601f850160051c810191878610612858575b601f0160051c019083905b82811061284d575050612735565b88815501839061283f565b9091508190612834565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b156128c157565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b031680156129b65760008281526099602052604090205461293a906001600160a01b031615155b156128ba565b60008281526099602052604090205461295d906001600160a01b03161515612934565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b612a0381612f57565b9115159050612a265750600052610106602052612a236040600020611f1a565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015612bd2575b50506d04ee2d6d415b85acef810000000080821015612bc5575b50662386f26fc1000080821015612bb8575b506305f5e10080821015612bab575b5061271080821015612b9e575b506064811015612b90575b600a80911015612b86575b600180840192816021612ada612ac487611dec565b96612ad26040519889611dca565b808852611dec565b602087019790601f1901368937860101905b612b50575b50505050612b3392612a23926026926040519583612b19889551809260208089019101611c24565b840191602f60f81b60208401525180936021840190611c24565b0164173539b7b760d91b6021820152036006810184520182611dca565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612b8157919082612aec565b612af1565b9160010191612aaf565b606460029104920191612aa4565b6004910492019138612a99565b6008910492019138612a8c565b6010910492019138612a7d565b6020910492019138612a6b565b604094500490503880612a51565b612be981612f57565b5050612bf857612a2390612656565b8060005261010260205260ff60406000205416600014612c1b57612a2390612656565b6000818152609960205260409020546001600160a01b0316612c4757506033546001600160a01b031690565b612a2390612656565b6001600160a01b03908180612c6485612be0565b16911691818314938415612ca3575b50508215612c8057505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b83929450612cb090612cba565b1614913880612c73565b600081815260fd60205260408120546001600160a01b039291908316612cdf83612f57565b5050908115612d78575b5080612d60575b15612d0657604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612cf0565b9050151538612ce9565b908215611c8257612dcc91612d9684612f57565b505080612ede575b80612ec4575b612eb5575b612db284612656565b6001600160a01b0393918416928492909183168414612efd565b16918215612e645781612de991612de286612656565b1614612efd565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612ebf8482612906565b612da9565b508360005261010260205260ff6040600020541615612da4565b506000848152609960205260409020546001600160a01b031615612d9e565b15612f0457565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612f845750509050600090600090604051612f7d81611d98565b6000815290565b612f8d81612532565b505482101580612fc8575b612faa57612fa5906122c1565b612f60565b809350612fb79150612532565b5090612a2360026001949301611f1a565b506001612fd482612532565b500154821115612f98565b63ffffffff60e01b166380ac58cd60e01b8114908115613012575b8115613004575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612ffa56fea2646970667358221220c513c80d3754ef4fd1e7ac6c77aa64158f3d8bb05bfc915f1077fa473753ab6264736f6c6343000812003360808060405234610016576131e5908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e814611cf257806301ffc9a714611c1c57806306fdde0314611b72578063081812fc14611b52578063095ea7b31461193657806318160ddd1461191657806320427486146118e257806321c4a5d81461183d57806323b872dd146118185780632a55205a146117865780632ce878da146117135780633403c4e9146116ea5780633ebc82c5146116a857806340c1a0641461167e57806342842e0e1461164a57806342966c681461162d578063472a66381461159d5780634aa52c411461152c5780635aec8d62146114845780635edc7c1914610f795780636297c16c14610efd5780636352211e14610ecc57806370a0823114610e36578063715018a614610dd9578063717392ed14610db95780637cc918d114610aab57806387bc793f14610a83578063894ba83314610a355780638da5cb5b14610a0c57806395d89b41146109275780639e860f2a14610836578063a22cb465146106b4578063ab69607a14610695578063b88d4fde1461060a578063bc7194551461055c578063c87b56dd14610521578063d9856c21146104b8578063e831574214610498578063e985e9c51461044a578063eab85118146103ef578063ee070805146103cc578063efc32cd414610379578063f2fde38b146102e85763ff6e8c8f1461020557600080fd5b346102e45761021336611ebe565b90919260018060a01b0394856033541633036102d75760038510156102c45784156102b7575050906102469136916123bf565b92805b84518110156102b3576102ae9061027561026285612426565b8661026d848a612465565b5116906124a7565b5083856102828389612465565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612440565b610249565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346102e45760203660031901126102e457610302611deb565b9161030b611fbe565b6001600160a01b03831615610327578361032484612016565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103c857806003193601126103c857610393611deb565b9061039c611fbe565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103c857816003193601126103c85760209060ff80541690519015158152f35b5050346103c85760203660031901126103c857602090610441610410611deb565b61041f60ff6101085416612426565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103c857806003193601126103c85760ff8160209361046a611deb565b610472611e06565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103c857816003193601126103c857602090610100549051908152f35b8382346103c85760203660031901126103c857803567ffffffffffffffff81116102e457366023820112156102e4576102b3918160246104fd93369301359101611f87565b610505611fbe565b61051360ff80541615612672565b60fc54339182908190612848565b50913461055957602036600319011261055957506105426105559235612b86565b9051918291602083526020830190611dc6565b0390f35b80fd5b5090346102e45760203660031901126102e4578135916003831015610606576033546001600160a01b031633036105f8575061059782612426565b805490848155816105da575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d4339482611e95565b0390a280f35b845260208420908101905b818110156105a3578481556001016105e5565b9051635c510c8360e11b8152fd5b8380fd5b8382346103c85760803660031901126103c857610625611deb565b9061062e611e06565b916044356064359367ffffffffffffffff851161069157366023860112156106915761066961068c9486602461032498369301359101611f87565b9261067c6106778433612ddc565b61213f565b610687838383612f0e565b612334565b6121f4565b8580fd5b5050346103c857816003193601126103c85760209060fc549051908152f35b5090346102e457806003193601126102e4576106ce611deb565b90602435918215158093036108325760ff6101085416600381101561081f57600181036107d55750600180865261010760209081528387206001600160a01b0384166000908152920190526040902054156107c6575b6001600160a01b0316923384146107845750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610724576002855261010760205261080b82862060018060a01b0383169060019160005201602052604060002054151590565b156107245781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b5090346102e45761084636611ebe565b6033546001600160a01b039490851633036109185750906108689136916123bf565b916003821015908161081f578261087d578580f35b8591929394955b8551811015610908576108ac61089986612426565b836108a4848a612465565b511690612515565b5083826108b98389612465565b5116906108f55790856108f092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612440565b610884565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103c857816003193601126103c857805190826098546109498161205f565b808552916001918083169081156109e45750600114610987575b50505061097582610555940383611f49565b51918291602083526020830190611dc6565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106109cc575050506109758260206105559582010194610963565b805460208787018101919091529095019481016109af565b61055597508693506020925061097594915060ff191682840152151560051b82010194610963565b5050346103c857816003193601126103c85760335490516001600160a01b039091168152602090f35b8334610559578060031936011261055957610a4e611fbe565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103c857816003193601126103c8576105559060ff6101085416905191829182611e95565b509190346103c857806003193601126103c85767ffffffffffffffff92803584811161060657610ade9036908301611e67565b90610ae7611fbe565b610af560ff80541615612672565b61010490815492600197888501809511610da657602492610b17843587612605565b9360001991828601958611610d945789519660209788810181811087821117610d2e578c52879052869055610100548611610d52578951906060820182811086821117610d405790610b76918c52898352888301968888523691611f87565b948a8201958652610105805490600160401b821015610d2e578e82019055610b9d906126be565b929092610d1d579060029291518255518d820155019351978851938411610d0c575050610bca835461205f565b601f8111610cca575b50889989979899508598601f8411600114610c4557839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610c3a575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610c18565b98909291601f19831691858a52878a20928a5b818110610cb257509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610c9a575b50505050811b019055610c26565b01519060f88460031b161c1916905538808080610c8c565b828d015185558e9b5093860193918901918901610c58565b838a52858a20601f840160051c810191878510610d02575b601f0160051c01905b818110610cf85750610bd3565b8a81558b01610ceb565b9091508190610ce2565b634e487b7160e01b8b526041905289fd5b634e487b7160e01b8d528c8b52838dfd5b634e487b7160e01b8e5260418c52848efd5b634e487b7160e01b8d5260418b52838dfd5b895162461bcd60e51b8152808a01889052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b8a526011885289fd5b634e487b7160e01b885260118652602488fd5b5050346103c857816003193601126103c857602090610109549051908152f35b8334610559578060031936011261055957610df2611fbe565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103c85760203660031901126103c8576001600160a01b03610e5a611deb565b16908115610e77576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105595760203660031901126105595750610eec60209235612d6c565b90516001600160a01b039091168152f35b50346102e45760203660031901126102e457803591610f1b83612d6c565b336001600160a01b0390911603610f365783610324846126fa565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346103c85760803660031901126103c85767ffffffffffffffff92813584811161060657610fad9036908401611e67565b929060243586811161069157610fc69036908401611e67565b610fd1979197611e1c565b9387549860ff94858b60081c16159889809a611478575b8015611462575b156114085760ff19808d1660019081178d559b9c999a998a6113f7575b506001600160a01b038916156113b4579161105f9161104f898f6110679796600a60fc558254168255606435610100555460081c1661104a81612612565b612612565b61105833612016565b3691611f87565b933691611f87565b9061107b858b5460081c1661104a81612612565b82518481116113a1578061109060975461205f565b94601f95868111611330575b506020908d8784116001146112b157926112a6575b5050600019600383901b1c1916908a1b176097555b815193841161129357506110db60985461205f565b828111611230575b5060209183116001146111a4579180611158959492611130948b92611199575b5050600019600383901b1c191690881b176098555b875460081c1661112781612612565b61104a81612612565b60fb80546001600160a01b0319166001600160a01b038316179055611153611fbe565b612016565b611160578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80611103565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106112185750916111309593918561115899989694106111ff575b505050811b01609855611118565b015160001960f88460031b161c191690558a80806111f1565b8284015185558b9690940193602093840193016111d4565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061128a575b0160051c019089905b82811061127f5750506110e3565b8b8155018990611271565b92508192611268565b634e487b7160e01b8a5260419052602489fd5b015190508c806110b1565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611318575084116112ff575b505050811b016097556110c6565b015160001960f88460031b161c191690558c80806112f1565b8284015185558f9690940193602093840193016112e2565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611398575b859493910160051c909101908d908f5b83821061138a5750505061109c565b81558594508e91018f61137b565b9250819261136b565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d61100c565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610fef57506001878d1614610fef565b506001878d1610610fe8565b5090346102e457826003193601126102e45761010954421061151f57506101089081549060ff821690600382101561150c57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346103c85760603660031901126103c857803567ffffffffffffffff81116102e4576102b39161156091369101611e67565b90611569611e06565b611571611e1c565b9261157a611fbe565b61158860ff80541615612672565b61159860fc549333923691611f87565b612848565b50346102e45760203660031901126102e4578035916003831015610606576033546001600160a01b031633036102d757506101089182549160ff831690600382101561161a5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103c85760203660031901126103c85761032490356126fa565b5050346103c85761068c6103249161166136611e32565b9192519261166e84611f17565b86845261067c6106778433612ddc565b5050346103c85760203660031901126103c85760335490516001600160a01b039091168152602090f35b8334610559576020366003190112610559576103246116c5611deb565b6116cd611fbe565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103c857816003193601126103c85760fb5490516001600160a01b039091168152602090f35b82843461055957806003193601126105595761173460ff6101085416612426565b9180519182845490818152602080910195835280832092905b82821061176f576105558686611765828b0383611f49565b5191829182611d5f565b83548752958601956001938401939091019061174d565b5091346105595781600319360112610559578235815260fd60205281812054602435906001600160a01b03908116801561180c57925b60fe60205284812054801561180257925b8381029381850414901517156117ef5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926117cd565b508060fb5416926117bc565b83346105595761032461182a36611e32565b916118386106778433612ddc565b612f0e565b50346102e45760203660031901126102e457603354813591906001600160a01b031633036118d4576301e13380918281029281840414901517156118c157506118869042612605565b90610109907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b5050346103c85760203660031901126103c857602090611900611deb565b60018060a01b0380603354169116149051908152f35b5050346103c857816003193601126103c857602090610104549051908152f35b50346102e457816003193601126102e45761194f611deb565b906024359260ff61010854166003811015611b3f5760018103611af85750600180865261010760209081528287206001600160a01b038616600090815292019052604090205415611aec575b6001600160a01b039182806119af87612d6c565b16941693808514611a9f57803314908115611a80575b5015611a185750838552610103602052842080546001600160a01b031916831790556119f0836127e2565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386119c5565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b60020361199b5760028552610107602052611b2e81862060018060a01b0385169060019160005201602052604060002054151590565b1561199b57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091346105595760203660031901126105595750610eec60209235612e46565b5050346103c857816003193601126103c85780519082609754611b948161205f565b808552916001918083169081156109e45750600114611bbf5750505061097582610555940383611f49565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611c04575050506109758260206105559582010194610963565b80546020878701810191909152909501948101611be7565b50346102e45760203660031901126102e45735906001600160e01b03198216808303610606576020935063fa31a45b60e01b8114928315611ce1575b8315611c69575b5050519015158152f35b919250631030681960e21b811491908215611cd0575b8215611ca7575b508115611c97575b50903880611c5f565b611ca1915061316b565b38611c8e565b90915063152a902d60e11b148015611cc1575b9038611c86565b50611ccb8161316b565b611cba565b6301ffc9a760e01b81149250611c7f565b6301ffc9a760e01b82149350611c58565b5090346102e457602091826003193601126106065735600381101561060657611d1a90612426565b9281518093808654928381520195835280832092905b828210611d48576105558686611765828b0383611f49565b835487529586019560019384019390910190611d30565b6020908160408183019282815285518094520193019160005b828110611d86575050505090565b83516001600160a01b031685529381019392810192600101611d78565b60005b838110611db65750506000910152565b8181015183820152602001611da6565b90602091611ddf81518092818552858086019101611da3565b601f01601f1916010190565b600435906001600160a01b0382168203611e0157565b600080fd5b602435906001600160a01b0382168203611e0157565b604435906001600160a01b0382168203611e0157565b6060906003190112611e01576001600160a01b03906004358281168103611e0157916024359081168103611e01579060443590565b9181601f84011215611e015782359167ffffffffffffffff8311611e015760208381860195010111611e0157565b919060208301926003821015611ea85752565b634e487b7160e01b600052602160045260246000fd5b6040600319820112611e01576004356003811015611e01579160243567ffffffffffffffff92838211611e015780602383011215611e01578160040135938411611e015760248460051b83010111611e01576024019190565b6020810190811067ffffffffffffffff821117611f3357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611f3357604052565b67ffffffffffffffff8111611f3357601f01601f191660200190565b929192611f9382611f6b565b91611fa16040519384611f49565b829481845281830111611e01578281602093846000960137010152565b6033546001600160a01b03163303611fd257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561208f575b602083101461207957565b634e487b7160e01b600052602260045260246000fd5b91607f169161206e565b90604051918260008254926120ad8461205f565b90818452600194858116908160001461211c57506001146120d9575b50506120d792500383611f49565b565b9093915060005260209081600020936000915b8183106121045750506120d7935082010138806120c9565b855488840185015294850194879450918301916120ec565b9150506120d794506020925060ff191682840152151560051b82010138806120c9565b1561214657565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156121fb57565b60405162461bcd60e51b815280612214600482016121a1565b0390fd5b9192600092909190803b1561232a57612266946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611dc6565b03926001600160a01b03165af18491816122ea575b506122d9575050503d6000146122d1573d61229581611f6b565b906122a36040519283611f49565b81528091833d92013e5b805191826122ce5760405162461bcd60e51b815280612214600482016121a1565b01fd5b5060606122ad565b6001600160e01b0319161492509050565b9091508581813d8311612323575b6123028183611f49565b8101031261083257516001600160e01b03198116810361083257903861227b565b503d6122f8565b5050915050600190565b9293600093909291803b156123b45794849161238e9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611dc6565b0393165af18491816122ea57506122d9575050503d6000146122d1573d61229581611f6b565b505050915050600190565b90929167ffffffffffffffff8411611f33578360051b60405192602080946123e982850182611f49565b8097815201918101928311611e0157905b8282106124075750505050565b81356001600160a01b0381168103611e015781529083019083016123fa565b6003811015611ea857600052610107602052604060002090565b600019811461244f5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156124795760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156124795760005260206000200190600090565b600082815260018201602052604090205461250e57805490600160401b821015611f3357826124f76124e084600180960185558461248f565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b906001820190600092818452826020526040842054908115156000146125fe57600019918083018181116125ea578254908482019182116125d6578082036125a1575b5050508054801561258d57820191612570838361248f565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6125c16125b16124e0938661248f565b90549060031b1c9283928661248f565b90558652846020526040862055388080612558565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b9190820180921161244f57565b1561261957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b1561267957565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561247957600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612703816130e3565b5050600082815261010260205260408120805460ff1916600117905590806127c3575b6127bf576127376106778333612ddc565b612740826127e2565b5061274a826127e2565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612726565b6000908152609960205260409020546001600160a01b031680156128035790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612a025761288c61068c60405161287681611f17565b896000968783526128878282612a92565b612218565b8683526020916101068352604084209181519167ffffffffffffffff83116129ee576128b8845461205f565b601f81116129a8575b508490601f841160011461293f57928060fd9593819389989660409a94612934575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b0151925038806128e3565b8487528587209293929190601f198416885b818110612993575091604098979593918560fd9896941061297a575b505050811b0190556128f5565b015160001960f88460031b161c1916905538808061296d565b82840151855593860193928801928801612951565b848752858720601f850160051c8101918786106129e4575b601f0160051c019083905b8281106129d95750506128c1565b8881550183906129cb565b90915081906129c0565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612a4d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612b4257600082815260996020526040902054612ac6906001600160a01b031615155b15612a46565b600082815260996020526040902054612ae9906001600160a01b03161515612ac0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b612b8f816130e3565b9115159050612bb25750600052610106602052612baf6040600020612099565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015612d5e575b50506d04ee2d6d415b85acef810000000080821015612d51575b50662386f26fc1000080821015612d44575b506305f5e10080821015612d37575b5061271080821015612d2a575b506064811015612d1c575b600a80911015612d12575b600180840192816021612c66612c5087611f6b565b96612c5e6040519889611f49565b808852611f6b565b602087019790601f1901368937860101905b612cdc575b50505050612cbf92612baf926026926040519583612ca5889551809260208089019101611da3565b840191602f60f81b60208401525180936021840190611da3565b0164173539b7b760d91b6021820152036006810184520182611f49565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612d0d57919082612c78565b612c7d565b9160010191612c3b565b606460029104920191612c30565b6004910492019138612c25565b6008910492019138612c18565b6010910492019138612c09565b6020910492019138612bf7565b604094500490503880612bdd565b612d75816130e3565b5050612d8457612baf906127e2565b8060005261010260205260ff60406000205416600014612da757612baf906127e2565b6000818152609960205260409020546001600160a01b0316612dd357506033546001600160a01b031690565b612baf906127e2565b6001600160a01b03908180612df085612d6c565b16911691818314938415612e2f575b50508215612e0c57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b83929450612e3c90612e46565b1614913880612dff565b600081815260fd60205260408120546001600160a01b039291908316612e6b836130e3565b5050908115612f04575b5080612eec575b15612e9257604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612e7c565b9050151538612e75565b908215611e0157612f5891612f22846130e3565b50508061306a575b80613050575b613041575b612f3e846127e2565b6001600160a01b0393918416928492909183168414613089565b16918215612ff05781612f7591612f6e866127e2565b1614613089565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61304b8482612a92565b612f35565b508360005261010260205260ff6040600020541615612f30565b506000848152609960205260409020546001600160a01b031615612f2a565b1561309057565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613110575050905060009060009060405161310981611f17565b6000815290565b613119816126be565b505482101580613154575b6131365761313190612440565b6130ec565b80935061314391506126be565b5090612baf60026001949301612099565b506001613160826126be565b500154821115613124565b63ffffffff60e01b166380ac58cd60e01b811490811561319e575b8115613190575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061318656fea2646970667358221220a3175044e6304519644eb3b71be3ca5609bde6d901c79a75f55646334ced483e64736f6c63430008120033","sourceMap":"376:4689:201:-:0;;;;;;;;;2518:6:78;376:4689:201;;719:10:99;-1:-1:-1;;;;;;376:4689:201;;;;;;;;-1:-1:-1;;;;;376:4689:201;2518:6:78;376:4689:201;;719:10:99;376:4689:201;;2566:40:78;2518:6;;2566:40;-1:-1:-1;;;;;1533:18:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:4689;;;;;;;;;;;1638:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:4689;;;1678:44;376:4689;;;1678:44;376:4689;;;1785:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:4689;;;1839:60;376:4689;;;1839:60;376:4689;;;;;;;;;1785:44;376:4689;;;;;;;;;;1785:44;-1:-1:-1;;;376:4689:201;;;;;;;;1638:30;376:4689;;;;;;;;;1638:30;-1:-1:-1;;;376:4689:201;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c908162e8ece614610a0e5750806322d60fcb146109e55780633cebcf41146108d1578063637944f514610896578063715018a61461083c578063740adf31146108015780637de4c082146107c6578063877ebf51146104b75780638da5cb5b1461048f5780639607cb4914610448578063a55b1c2514610415578063c4dca7ab146103ec578063c9be0590146103c3578063d05df8831461039a578063d1e0f70014610371578063da8d79f314610269578063ea14289f1461022e578063ef6fde5b146101ef578063f2fde38b146101285763f5e0e6df146100fe57600080fd5b346101245782600319360112610124575490516001600160a01b03909116815260209150f35b8280fd5b503461012457602036600319011261012457610142610ada565b9061014b610af0565b6001600160a01b0391821692831561019d575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b50503461022a578160031936011261022a57602090517f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f8152f35b5080fd5b50503461022a578160031936011261022a57602090517f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8152f35b5090346101245760603660031901126101245767ffffffffffffffff90823582811161036d5761029c9036908501610a72565b9160243590811161036d576102b49036908501610a72565b9284604435946102c5861515610c66565b6001546001600160a01b03959086906102df908216610d4d565b1696873b1561035f576103069086519586948594635edc7c1960e01b865233928601610d0e565b038183885af180156103635761034b575b509260209351927f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a3600154168152f35b6103558591610a48565b61035f5738610317565b8380fd5b82513d87823e3d90fd5b8480fd5b50503461022a578160031936011261022a5760035490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760015490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760025490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760065490516001600160a01b039091168152602090f35b50503461022a5736600319011261044557610442610431610ada565b610439610af0565b60243590610b48565b80f35b80fd5b833461044557602036600319011261044557610462610ada565b61046a610af0565b6001600160a01b0316801561022a576001600160601b0360a01b600154161760015580f35b50503461022a578160031936011261022a57905490516001600160a01b039091168152602090f35b5082903461022a57608036600319011261022a5767ffffffffffffffff813581811161035f576104ea9036908401610a72565b9060243590811161035f576105029036908401610a72565b9060443560643592610515821515610c66565b85937f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8114610751575b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b74381146106ce575b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610647575b5050506001600160a01b03169081156105d157506020925191817f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a38152f35b60a490602085519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b03945091929091610663908516610d4d565b93841691823b156106ca579161069493918780948a5196879586948593635edc7c1960e01b855233918d8601610d0e565b03925af180156106c0579084916106ac575b8061058e565b6106b590610a48565b6101245782856106a6565b85513d86823e3d90fd5b8680fd5b6002546001600160a01b0395506106e6908616610d4d565b948516803b1561074d57878785928583896107168f5197889687958694635edc7c1960e01b865233928601610d0e565b03925af180156107435790889161072f575b5050610567565b61073890610a48565b6106ca578689610728565b89513d8a823e3d90fd5b8780fd5b6001546001600160a01b039550610769908616610d4d565b948516803b1561074d57878785928583896107998f5197889687958694635edc7c1960e01b865233928601610d0e565b03925af18015610743579088916107b2575b505061053f565b6107bb90610a48565b6106ca5786896107ab565b50503461022a578160031936011261022a57602090517fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438152f35b50503461022a578160031936011261022a57602090517f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c66251708152f35b8334610445578060031936011261044557610855610af0565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461022a578160031936011261022a57602090517f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd688152f35b5090346101245760031990808236011261035f5767ffffffffffffffff93833585811161022a576109059036908601610a72565b9460243590811161022a5761091d9036908601610a72565b9360018060a01b0393846109348160015416610d4d565b1695863b1561035f5791610976608092859461096788519b8c968796635edc7c1960e01b88528701526084860190610cce565b91848303016024850152610cce565b3360448301526000196064830152038183885af19485156109d9576020956109ca575b509051927f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a3600154168152f35b6109d390610a48565b38610999565b509051903d90823e3d90fd5b50503461022a578160031936011261022a5760055490516001600160a01b039091168152602090f35b84903461022a578160031936011261022a57807f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c560209252f35b67ffffffffffffffff8111610a5c57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610ad55780359067ffffffffffffffff92838311610a5c5760405193601f8401601f19908116603f0116850190811185821017610a5c5760405282845260208383010111610ad557816000926020809301838601378301015290565b600080fd5b600435906001600160a01b0382168203610ad557565b6000546001600160a01b03163303610b0457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316908115610ad5577f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8114610c50577fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438114610c3a577f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610c255760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b15610c6d57565b60405162461bcd60e51b815260206004820152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b919082519283825260005b848110610cfa575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cd9565b90606092610d2b610d399297969597608085526080850190610cce565b908382036020850152610cce565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b03821615610da357565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfea264697066735822122024d7c9d31eae9d24fde63efb15a1563014e3a2628a21f308a76fbfc58465238c64736f6c63430008120033","sourceMap":"376:4689:201:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;376:4689:201;;;;;;;-1:-1:-1;376:4689:201;;;;;;;;;;;;-1:-1:-1;;376:4689:201;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;376:4689:201;;;;2162:22:78;;376:4689:201;;;;;;;-1:-1:-1;;;;;376:4689:201;;;;;;;;2566:40:78;376:4689:201;2566:40:78;;376:4689:201;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;376:4689:201;;;;;;;;;;;;;;;;;;;;;;623:34;376:4689;;;;;;;;;;;;;;;;;;;;;;;;471:26;376:4689;;;;;;;;;;;-1:-1:-1;;376:4689:201;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;2903:15;2882:113;2903:15;;;2882:113;:::i;:::-;376:4689;;-1:-1:-1;;;;;376:4689:201;;;;3023:26;;376:4689;;3023:26;:::i;:::-;376:4689;3059:66;;;;;;;376:4689;;;;;;;;;;;3059:66;;3102:10;3059:66;;;;:::i;:::-;;;;;;;;;;;;;376:4689;;;;;;3102:10;3141:48;3102:10;3141:48;;;376:4689;;;;;;3059:66;;;;;:::i;:::-;376:4689;;3059:66;;;376:4689;;;;3059:66;376:4689;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;376:4689:201;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;376:4689:201;;;;;;;;;;;;;;;;;;;;;;959:39;376:4689;;;-1:-1:-1;;;;;376:4689:201;;;;;;;;;;;;;;;;;;;;;;1149:57;376:4689;;;-1:-1:-1;;;;;376:4689:201;;;;;;;;;;;;;;;-1:-1:-1;;376:4689:201;;;;1117:1:78;376:4689:201;;:::i;:::-;1063:62:78;;:::i;:::-;376:4689:201;;1117:1:78;;:::i;:::-;376:4689:201;;;;;;;;;;;;-1:-1:-1;;376:4689:201;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;-1:-1:-1;;;;;376:4689:201;1997:27;;376:4689;;-1:-1:-1;;;;;376:4689:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;376:4689:201;;;;;;;;;;;;;;;;;-1:-1:-1;;376:4689:201;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3897:15;3876:113;3897:15;;;3876:113;:::i;:::-;4000:15;4029:30;471:26;4029:30;;4025:177;;376:4689;543:26;4215:30;;4211:279;;376:4689;623:34;4503:38;4499:314;;376:4689;-1:-1:-1;;;;;;;;376:4689:201;;4844:21;;376:4689;;;;;;5011:10;;4974:48;5011:10;4974:48;;;376:4689;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;376:4689:201;;;;;4499:314;376:4689;;-1:-1:-1;;;;;376:4689:201;-1:-1:-1;376:4689:201;;;;4567:52;;376:4689;;4567:52;:::i;:::-;376:4689;;;4632:170;;;;;;376:4689;4632:170;376:4689;;;;;;;;;;;;;;;;;4632:170;;4750:10;4632:170;;;;;:::i;:::-;;;;;;;;;;;;;;4499:314;;;;4632:170;;;;:::i;:::-;376:4689;;4632:170;;;;;376:4689;;;;;;;;;4632:170;376:4689;;;4211:279;4284:24;376:4689;-1:-1:-1;;;;;376:4689:201;-1:-1:-1;4271:38:201;;376:4689;;4271:38;:::i;:::-;376:4689;;;4323:156;;;;;376:4689;;;;;;;4323:156;376:4689;;;;;;;;;;;;4323:156;;4427:10;4323:156;;;;:::i;:::-;;;;;;;;;;;;;;4211:279;;;;;4323:156;;;;:::i;:::-;376:4689;;4323:156;;;;;376:4689;;;;;;;;;4323:156;376:4689;;;4025:177;376:4689;;-1:-1:-1;;;;;376:4689:201;-1:-1:-1;4085:26:201;;376:4689;;4085:26;:::i;:::-;376:4689;;;4125:66;;;;;376:4689;;;;;;;4125:66;376:4689;;;;;;;;;;;;4125:66;;4168:10;4125:66;;;;:::i;:::-;;;;;;;;;;;;;;4025:177;;;;;4125:66;;;;:::i;:::-;376:4689;;4125:66;;;;376:4689;;;;;;;;;;;;;;;;;543:26;376:4689;;;;;;;;;;;;;;;;;;;;880:39;376:4689;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;376:4689:201;;;-1:-1:-1;;;;;;376:4689:201;;;;-1:-1:-1;;;;;376:4689:201;2566:40:78;376:4689:201;;2566:40:78;376:4689:201;;;;;;;;;;;;;;;;;;;708:31;376:4689;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;3397:26;376:4689;;;;3397:26;:::i;:::-;376:4689;3433:131;;;;;;376:4689;;;;;;;;;;;;;;;;;3433:131;;;;376:4689;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;3513:10;376:4689;;;;-1:-1:-1;;376:4689:201;;;;3433:131;;;;;;;;;;;376:4689;3433:131;;;376:4689;;;;3513:10;3580:48;3513:10;3580:48;;;376:4689;;;;;;3433:131;;;;:::i;:::-;;;;;376:4689;;;;;;;;;;;;;;;;;;;;;;;;;1100:43;376:4689;;;-1:-1:-1;;;;;376:4689:201;;;;;;;;;;;;;;;;;;;;;;;790:31;376:4689;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;376:4689:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;376:4689:201;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;376:4689:201;;;;;;-1:-1:-1;;;;;376:4689:201;;;;;;:::o;1359:130:78:-;1273:6;376:4689:201;-1:-1:-1;;;;;376:4689:201;719:10:99;1422:23:78;376:4689:201;;1359:130:78:o;376:4689:201:-;;;;;;;;;;;;;;;;;;;;;;;;;2076:635;-1:-1:-1;;;;;376:4689:201;;2204:27;;376:4689;;471:26;2246:30;;2242:109;;543:26;2364:30;;2360:121;;623:34;2494:38;2490:143;;376:4689;;-1:-1:-1;;;376:4689:201;;;;;;;;;;;;;;;;;-1:-1:-1;;;376:4689:201;;;;;;;2490:143;-1:-1:-1;;;;;376:4689:201;;2548:54;376:4689;;;2548:54;376:4689;2616:7::o;2360:121::-;376:4689;-1:-1:-1;;;;;376:4689:201;;2410:40;376:4689;;;2410:40;376:4689;2464:7::o;2242:109::-;376:4689;-1:-1:-1;;;;;376:4689:201;;;;;;;;2334:7::o;376:4689::-;;;;:::o;:::-;;;-1:-1:-1;;;376:4689:201;;;;;;;;;;;;;;;;;-1:-1:-1;;;376:4689:201;;;;;;;;;;;;;;;;-1:-1:-1;376:4689:201;;;;;;;;;-1:-1:-1;376:4689:201;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;376:4689:201;;;;;;;;;:::o;973:759:82:-;1101:558;973:759;1101:558;;;;;;;;;;;;;;;;;;376:4689:201;-1:-1:-1;;;;;376:4689:201;;1676:22:82;376:4689:201;;973:759:82:o;376:4689:201:-;;;-1:-1:-1;;;376:4689:201;;1101:558:82;376:4689:201;;;;;;;;;-1:-1:-1;;;376:4689:201;;;;;;","linkReferences":{}},"methodIdentifiers":{"LAZY_ROYALTY_GUARD()":"00e8ece6","LAZY_ROYALTY_GUARD_DEADMAN()":"740adf31","LAZY_SOVEREIGN_NFT()":"637944f5","ROYALTY_GUARD()":"7de4c082","ROYALTY_GUARD_DEADMAN()":"ef6fde5b","SOVEREIGN_NFT()":"ea14289f","createSovereignNFTContract(string,string)":"3cebcf41","createSovereignNFTContract(string,string,uint256)":"da8d79f3","createSovereignNFTContract(string,string,uint256,bytes32)":"877ebf51","lazySovereignNFT()":"f5e0e6df","lazySovereignNFTRoyaltyGuard()":"22d60fcb","lazySovereignNFTRoyaltyGuardDeadmanTrigger()":"c4dca7ab","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setSovereignNFT(address)":"9607cb49","setSovereignNFT(address,bytes32)":"a55b1c25","sovereignNFT()":"d05df883","sovereignNFTRoyaltyGuard()":"c9be0590","sovereignNFTRoyaltyGuardDeadmanTrigger()":"d1e0f700","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"contractType\",\"type\":\"bytes32\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol\":\"SovereignNFTContractFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e\",\"dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0xa1be1f35bfd101d50b527b796d0aafeba837f498ca3359bcc3a29253140209a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7fdc76b2c989d1c0ca725a261e4a1f9088d80ed182c7ad2358e9f06d7cb966c\",\"dweb:/ipfs/QmSmPoy6pWct22yTed4eKRV5Fx67h2FVwrPE133TZEY4g6\"]},\"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol\":{\"keccak256\":\"0xc427971875af9f3a4dbb7aa463090b019aff6c324720bdd51f8d5f860ac682e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8db9f7ec431febdf3a0617f83783d1ba8b9561e702186058baf7689119c87e1\",\"dweb:/ipfs/QmNNrVnKEFTWpw9qfJYdpWxDAZQbhucZ1UCBVyav8FN7k4\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a\",\"dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165\",\"dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true}],"type":"event","name":"SovereignNFTContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"bytes32","name":"contractType","type":"bytes32","indexed":true}],"type":"event","name":"SovereignNFTContractCreated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_ROYALTY_GUARD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_ROYALTY_GUARD_DEADMAN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_SOVEREIGN_NFT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ROYALTY_GUARD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ROYALTY_GUARD_DEADMAN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SOVEREIGN_NFT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFTRoyaltyGuard","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFTRoyaltyGuardDeadmanTrigger","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_sovereignNFT","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSovereignNFT"},{"inputs":[{"internalType":"address","name":"_sovereignNFT","type":"address"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setSovereignNFT"},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFTRoyaltyGuard","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFTRoyaltyGuardDeadmanTrigger","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol":"SovereignNFTContractFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db","urls":["bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e","dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFT.sol":{"keccak256":"0xa1be1f35bfd101d50b527b796d0aafeba837f498ca3359bcc3a29253140209a1","urls":["bzz-raw://c7fdc76b2c989d1c0ca725a261e4a1f9088d80ed182c7ad2358e9f06d7cb966c","dweb:/ipfs/QmSmPoy6pWct22yTed4eKRV5Fx67h2FVwrPE133TZEY4g6"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol":{"keccak256":"0xc427971875af9f3a4dbb7aa463090b019aff6c324720bdd51f8d5f860ac682e4","urls":["bzz-raw://a8db9f7ec431febdf3a0617f83783d1ba8b9561e702186058baf7689119c87e1","dweb:/ipfs/QmNNrVnKEFTWpw9qfJYdpWxDAZQbhucZ1UCBVyav8FN7k4"],"license":"MIT"},"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol":{"keccak256":"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8","urls":["bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a","dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1"],"license":"MIT"},"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318","urls":["bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165","dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":201} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"LAZY_ROYALTY_GUARD","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"LAZY_ROYALTY_GUARD_DEADMAN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"LAZY_SOVEREIGN_NFT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ROYALTY_GUARD","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ROYALTY_GUARD_DEADMAN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SOVEREIGN_NFT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"lazySovereignNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lazySovereignNFTRoyaltyGuard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"lazySovereignNFTRoyaltyGuardDeadmanTrigger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSovereignNFT","inputs":[{"name":"_sovereignNFT","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSovereignNFT","inputs":[{"name":"_sovereignNFT","type":"address","internalType":"address"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sovereignNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"sovereignNFTRoyaltyGuard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"sovereignNFTRoyaltyGuardDeadmanTrigger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreated","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreated","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"contractType","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false}],"bytecode":{"object":"0x60806040908082523461013f5760008054336001600160a01b031980831682178455936001600160a01b03939290919084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36001600160401b0390612e44818101908382118383101761012b5790829162000f5c8339039083f0801561012157831684600154161760015584516137aa808201908282108483111761012b5790829162003da08339039083f0801561012157831684600254161760025584519061392e808301918383109083111761010d579082916200754a8339039082f090811561010257501690600354161760035551610e179081620001458239f35b8451903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b85513d84823e3d90fd5b634e487b7160e01b85526041600452602485fd5b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c908162e8ece614610a0e5750806322d60fcb146109e55780633cebcf41146108d1578063637944f514610896578063715018a61461083c578063740adf31146108015780637de4c082146107c6578063877ebf51146104b75780638da5cb5b1461048f5780639607cb4914610448578063a55b1c2514610415578063c4dca7ab146103ec578063c9be0590146103c3578063d05df8831461039a578063d1e0f70014610371578063da8d79f314610269578063ea14289f1461022e578063ef6fde5b146101ef578063f2fde38b146101285763f5e0e6df146100fe57600080fd5b346101245782600319360112610124575490516001600160a01b03909116815260209150f35b8280fd5b503461012457602036600319011261012457610142610ada565b9061014b610af0565b6001600160a01b0391821692831561019d575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b50503461022a578160031936011261022a57602090517f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f8152f35b5080fd5b50503461022a578160031936011261022a57602090517f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8152f35b5090346101245760603660031901126101245767ffffffffffffffff90823582811161036d5761029c9036908501610a72565b9160243590811161036d576102b49036908501610a72565b9284604435946102c5861515610c66565b6001546001600160a01b03959086906102df908216610d4d565b1696873b1561035f576103069086519586948594635edc7c1960e01b865233928601610d0e565b038183885af180156103635761034b575b509260209351927f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a3600154168152f35b6103558591610a48565b61035f5738610317565b8380fd5b82513d87823e3d90fd5b8480fd5b50503461022a578160031936011261022a5760035490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760015490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760025490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760065490516001600160a01b039091168152602090f35b50503461022a5736600319011261044557610442610431610ada565b610439610af0565b60243590610b48565b80f35b80fd5b833461044557602036600319011261044557610462610ada565b61046a610af0565b6001600160a01b0316801561022a576001600160601b0360a01b600154161760015580f35b50503461022a578160031936011261022a57905490516001600160a01b039091168152602090f35b5082903461022a57608036600319011261022a5767ffffffffffffffff813581811161035f576104ea9036908401610a72565b9060243590811161035f576105029036908401610a72565b9060443560643592610515821515610c66565b85937f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8114610751575b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b74381146106ce575b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610647575b5050506001600160a01b03169081156105d157506020925191817f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a38152f35b60a490602085519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b03945091929091610663908516610d4d565b93841691823b156106ca579161069493918780948a5196879586948593635edc7c1960e01b855233918d8601610d0e565b03925af180156106c0579084916106ac575b8061058e565b6106b590610a48565b6101245782856106a6565b85513d86823e3d90fd5b8680fd5b6002546001600160a01b0395506106e6908616610d4d565b948516803b1561074d57878785928583896107168f5197889687958694635edc7c1960e01b865233928601610d0e565b03925af180156107435790889161072f575b5050610567565b61073890610a48565b6106ca578689610728565b89513d8a823e3d90fd5b8780fd5b6001546001600160a01b039550610769908616610d4d565b948516803b1561074d57878785928583896107998f5197889687958694635edc7c1960e01b865233928601610d0e565b03925af18015610743579088916107b2575b505061053f565b6107bb90610a48565b6106ca5786896107ab565b50503461022a578160031936011261022a57602090517fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438152f35b50503461022a578160031936011261022a57602090517f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c66251708152f35b8334610445578060031936011261044557610855610af0565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461022a578160031936011261022a57602090517f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd688152f35b5090346101245760031990808236011261035f5767ffffffffffffffff93833585811161022a576109059036908601610a72565b9460243590811161022a5761091d9036908601610a72565b9360018060a01b0393846109348160015416610d4d565b1695863b1561035f5791610976608092859461096788519b8c968796635edc7c1960e01b88528701526084860190610cce565b91848303016024850152610cce565b3360448301526000196064830152038183885af19485156109d9576020956109ca575b509051927f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a3600154168152f35b6109d390610a48565b38610999565b509051903d90823e3d90fd5b50503461022a578160031936011261022a5760055490516001600160a01b039091168152602090f35b84903461022a578160031936011261022a57807f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c560209252f35b67ffffffffffffffff8111610a5c57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610ad55780359067ffffffffffffffff92838311610a5c5760405193601f8401601f19908116603f0116850190811185821017610a5c5760405282845260208383010111610ad557816000926020809301838601378301015290565b600080fd5b600435906001600160a01b0382168203610ad557565b6000546001600160a01b03163303610b0457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316908115610ad5577f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8114610c50577fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438114610c3a577f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610c255760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b15610c6d57565b60405162461bcd60e51b815260206004820152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b919082519283825260005b848110610cfa575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cd9565b90606092610d2b610d399297969597608085526080850190610cce565b908382036020850152610cce565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b03821615610da357565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfea2646970667358221220aa0be531b999e1e93886df8c698da59a77e540e33d6d8ebfb9655d72609eae2064736f6c634300081200336080806040523461001657612e28908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714611a8b5750806306fdde03146119e1578063081812fc146119c1578063095ea7b31461185057806318160ddd1461183057806318e97fd11461153f5780631a0058f5146114c357806323b872dd1461149e5780632a55205a1461140c5780633403c4e9146113e35780633ebc82c5146113a157806340c1a0641461137757806342842e0e1461134357806342966c68146113265780634aa52c41146112b65780635edc7c1914610dac5780636297c16c14610d30578063631d1d9a146105745780636352211e14610cff57806370a0823114610c69578063715018a614610c0c5780637cc918d11461092e578063894ba833146108e05780638da5cb5b146108b757806395d89b41146107d2578063a22cb46514610703578063a448dd4f14610663578063a8fabfa514610643578063ab69607a14610624578063b88d4fde1461059a578063bb2ee99f14610574578063c87b56dd14610539578063d9856c21146104cd578063de903ddd14610348578063e831574214610328578063e985e9c5146102da578063ee070805146102b7578063efc32cd4146102645763f2fde38b146101d057600080fd5b34610260576020366003190112610260576101e9611b70565b916101f2611d0b565b6001600160a01b0383161561020e578361020b84611d63565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102b357806003193601126102b35761027e611b70565b90610287611d0b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102b357816003193601126102b35760209060ff80541690519015158152f35b5050346102b357806003193601126102b35760ff816020936102fa611b70565b610302611b8b565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102b357816003193601126102b357602090610100549051908152f35b508290346102b35761035936611be4565b9192610363611d0b565b61038060ff8054610376828216156121c0565b60081c1615612d66565b61038e610105548510612cd6565b60026103998561220c565b5001906001600160401b0384116104ba57506103bf836103b98354611dac565b8361216c565b84601f841160011461042b579561041a918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c979891610420575b508560011b906000198760031b1c19161790555b5192839283612daa565b0390a280f35b9050840135896103fc565b81865260208087209190601f1986169088905b8282106104a25750509161041a9391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610488575b5050600185811b019055610410565b850135600019600388901b60f8161c191690558880610479565b80600185968294968a0135815501950193019061043e565b634e487b7160e01b865260419052602485fd5b8382346102b35760203660031901126102b35780356001600160401b0381116102605736602382011215610260576105359181602461051193369301359101611cd4565b610519611d0b565b61052760ff805416156121c0565b60fc543391829081906123ac565b5080f35b509134610571576020366003190112610571575061055a61056d92356126a3565b9051918291602083526020830190611b4b565b0390f35b80fd5b5050346102b357816003193601126102b35760209060ff805460081c1690519015158152f35b8382346102b35760803660031901126102b3576105b5611b70565b906105be611b8b565b91604435606435936001600160401b0385116106205736602386011215610620576105f861061b9486602461020b98369301359101611cd4565b9261060b610606843361292e565b611e8c565b610616838383612a60565b612081565b611f41565b8580fd5b5050346102b357816003193601126102b35760209060fc549051908152f35b5050346102b357816003193601126102b357602090610105549051908152f35b503461026057826003193601126102605761067c611d0b565b60ff549160ff8360081c166106c05761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461026057806003193601126102605761071d611b70565b90602435918215158093036107ce576001600160a01b03169233841461078c5750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102b357816003193601126102b357805190826098546107f481611dac565b8085529160019180831690811561088f5750600114610832575b5050506108208261056d940383611c98565b51918291602083526020830190611b4b565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106108775750505061082082602061056d958201019461080e565b8054602087870181019190915290950194810161085a565b61056d97508693506020925061082094915060ff191682840152151560051b8201019461080e565b5050346102b357816003193601126102b35760335490516001600160a01b039091168152602090f35b83346105715780600319360112610571576108f9611d0b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102b357806003193601126102b3576001600160401b03928035848111610c08576109609036908301611bb7565b61096b959195611d0b565b61097960ff805416156121c0565b6101049081549660019384890194858a11610bf5576024998a350193818501808811610be3578511610bd15788519560209687810181811086821117610bbf578b52869052859055610100548511610b7d5789906109ed8a51956109dc87611c4c565b898752888701928884523691611cd4565b948a810195865261010580549068010000000000000000821015610b6b578582019055610a199061220c565b939093610b5a575090600292915182555183820155019251968751928311610b485750889950610a5782610a51859b999a9b54611dac565b8561216c565b8497601f8311600114610ac4578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ab9575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610a93565b8388528588209098919291601f198316895b818110610b30575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610b17575b505050811b019055610aa5565b015160001960f88460031b161c19169055388080610b0a565b828c015184558d9a5092850192918801918801610ad6565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b8334610571578060031936011261057157610c25611d0b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102b35760203660031901126102b3576001600160a01b03610c8d611b70565b16908115610caa576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105715760203660031901126105715750610d1f602092356128be565b90516001600160a01b039091168152f35b503461026057602036600319011261026057803591610d4e836128be565b336001600160a01b0390911603610d69578361020b8461225e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610260576080366003190112610260576001600160401b039180358381116107ce57610dde9036908301611bb7565b91906024358581116112b257610df79036908401611bb7565b610e02969196611ba1565b9388549760ff94858a60081c1615978880996112a6575b8015611290575b1561123657600160ff198c1681178d559a89611225575b506001600160a01b038816156111e257610e959291610e8d91610e7d898f600a60fc5561ffff198254168255606435610100555460081c16610e788161210c565b61210c565b610e8633611d63565b3691611cd4565b933691611cd4565b90610ea9858b5460081c16610e788161210c565b82518481116111cf5780610ebe609754611dac565b94601f9586811161115e575b506020908d8784116001146110df57926110d4575b5050600019600383901b1c1916908a1b176097555b81519384116110c15750610f09609854611dac565b82811161105e575b506020918311600114610fd2579180610f86959492610f5e948b92610fc7575b5050600019600383901b1c191690881b176098555b875460081c16610f558161210c565b610e788161210c565b60fb80546001600160a01b0319166001600160a01b038316179055610f81611d0b565b611d63565b610f8e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610f31565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611046575091610f5e95939185610f86999896941061102d575b505050811b01609855610f46565b015160001960f88460031b161c1916905538808061101f565b8284015185558b969094019360209384019301611002565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106110b8575b0160051c019089905b8281106110ad575050610f11565b8b815501899061109f565b92508192611096565b634e487b7160e01b8a5260419052602489fd5b015190503880610edf565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106111465750841161112d575b505050811b01609755610ef4565b015160001960f88460031b161c1916905538808061111f565b8284015185558f969094019360209384019301611110565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106111c6575b859493910160051c909101908d908f5b8382106111b857505050610eca565b81558594508e91018f6111a9565b92508192611199565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c5538610e37565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610e2057506001878c1614610e20565b506001878c1610610e19565b8680fd5b8382346102b35760603660031901126102b35780356001600160401b03811161026057610535916112e991369101611bb7565b906112f2611b8b565b6112fa611ba1565b92611303611d0b565b61131160ff805416156121c0565b61132160fc549333923691611cd4565b6123ac565b8382346102b35760203660031901126102b35761020b903561225e565b5050346102b35761061b61020b9161135a36611c17565b9192519261136784611c7d565b86845261060b610606843361292e565b5050346102b35760203660031901126102b35760335490516001600160a01b039091168152602090f35b83346105715760203660031901126105715761020b6113be611b70565b6113c6611d0b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102b357816003193601126102b35760fb5490516001600160a01b039091168152602090f35b5091346105715781600319360112610571578235815260fd60205281812054602435906001600160a01b03908116801561149257925b60fe60205284812054801561148857925b8381029381850414901517156114755750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611453565b508060fb541692611442565b83346105715761020b6114b036611c17565b916114be610606843361292e565b612a60565b50823461057157602036600319011261057157506114ef90356114ea610105548210612cd6565b61220c565b5061056d82516114fe81611c4c565b82548152606061151c60026001860154956020850196875201611de6565b918286820152519351948051958695865260208601528401526060830190611b4b565b508290346102b35761155036611be4565b919260ff5461156260ff8216156121c0565b6033546001600160a01b031633036117e35760ff6115849160081c1615612d66565b6000848152609960205260409020546001600160a01b0316151580156117ba575b15611780576115b384612c35565b5050156116a65783855260206101078152868620916001600160401b03851161169357506115eb846115e58454611dac565b8461216c565b8590601f851160011461163457509561041a91848798600080516020612dd383398151915297989161042057508560011b906000198760031b1c19161790555192839283612daa565b90601f1985168388528288209288905b82821061167b5750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611644565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b03851161169357506116d1846115e58454611dac565b8590601f851160011461172157509561041a91848798600080516020612dd3833981519152979891611716575b508560011b906000198760031b1c1916179055610410565b9050840135896116fe565b90601f1985168388528288209288905b8282106117685750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611731565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b506117c484612c35565b505080156115a5575083855261010260205260ff8686205416156115a5565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346102b357816003193601126102b357602090610104549051908152f35b5034610260578160031936011261026057611869611b70565b6024359290916001600160a01b0391908280611884876128be565b1694169380851461197457803314908115611955575b50156118ed5750838552610103602052842080546001600160a01b031916831790556118c583612346565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861189a565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346105715760203660031901126105715750610d1f60209235612998565b5050346102b357816003193601126102b35780519082609754611a0381611dac565b8085529160019180831690811561088f5750600114611a2e575050506108208261056d940383611c98565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a735750505061082082602061056d958201019461080e565b80546020878701810191909152909501948101611a56565b92505034610260576020366003190112610260573563ffffffff60e01b811690818103610c085760209350631030681960e21b8214918215611b17575b8215611aee575b508115611ade575b5015158152f35b611ae89150612d22565b38611ad7565b90915063152a902d60e11b148015611b08575b9038611acf565b50611b1281612d22565b611b01565b6301ffc9a760e01b81149250611ac8565b60005b838110611b3b5750506000910152565b8181015183820152602001611b2b565b90602091611b6481518092818552858086019101611b28565b601f01601f1916010190565b600435906001600160a01b0382168203611b8657565b600080fd5b602435906001600160a01b0382168203611b8657565b604435906001600160a01b0382168203611b8657565b9181601f84011215611b86578235916001600160401b038311611b865760208381860195010111611b8657565b906040600319830112611b865760043591602435906001600160401b038211611b8657611c1391600401611bb7565b9091565b6060906003190112611b86576001600160a01b03906004358281168103611b8657916024359081168103611b86579060443590565b606081019081106001600160401b03821117611c6757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117611c6757604052565b90601f801991011681019081106001600160401b03821117611c6757604052565b6001600160401b038111611c6757601f01601f191660200190565b929192611ce082611cb9565b91611cee6040519384611c98565b829481845281830111611b86578281602093846000960137010152565b6033546001600160a01b03163303611d1f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611ddc575b6020831014611dc657565b634e487b7160e01b600052602260045260246000fd5b91607f1691611dbb565b9060405191826000825492611dfa84611dac565b908184526001948581169081600014611e695750600114611e26575b5050611e2492500383611c98565b565b9093915060005260209081600020936000915b818310611e51575050611e2493508201013880611e16565b85548884018501529485019487945091830191611e39565b915050611e2494506020925060ff191682840152151560051b8201013880611e16565b15611e9357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611f4857565b60405162461bcd60e51b815280611f6160048201611eee565b0390fd5b9192600092909190803b1561207757611fb3946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611b4b565b03926001600160a01b03165af1849181612037575b50612026575050503d60001461201e573d611fe281611cb9565b90611ff06040519283611c98565b81528091833d92013e5b8051918261201b5760405162461bcd60e51b815280611f6160048201611eee565b01fd5b506060611ffa565b6001600160e01b0319161492509050565b9091508581813d8311612070575b61204f8183611c98565b810103126107ce57516001600160e01b0319811681036107ce579038611fc8565b503d612045565b5050915050600190565b9293600093909291803b15612101579484916120db9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611b4b565b0393165af18491816120375750612026575050503d60001461201e573d611fe281611cb9565b505050915050600190565b1561211357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f811161217a57505050565b600091825260208220906020601f850160051c830194106121b6575b601f0160051c01915b8281106121ab57505050565b81815560010161219f565b9092508290612196565b156121c757565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561224857600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b61226781612c35565b5050600082815261010260205260408120805460ff191660011790559080612327575b6123235761229b610606833361292e565b6122a482612346565b506122ae82612346565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561228a565b6000908152609960205260409020546001600160a01b031680156123675790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161251f576123f061061b6040516123da81611c7d565b896000968783526123eb82826125af565b611f65565b868352602091610106835260408420918151916001600160401b03831161250b576124258361241f8654611dac565b8661216c565b8490601f84116001146124a257928060fd9593819389989660409a94612497575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612446565b8487528587209293929190601f198416885b8181106124f6575091604098979593918560fd989694106124dd575b505050811b019055612458565b015160001960f88460031b161c191690553880806124d0565b828401518555938601939288019288016124b4565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561256a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561265f576000828152609960205260409020546125e3906001600160a01b031615155b15612563565b600082815260996020526040902054612606906001600160a01b031615156125dd565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926126c184842054611dac565b6128af57506126cf81612c35565b91151590506126ed57506126ea936101069183525220611de6565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156128a0575b5050866d04ee2d6d415b85acef810000000080841015612892575b5050662386f26fc1000080831015612883575b506305f5e10080831015612874575b5061271080831015612865575b506064821015612855575b600a8092101561284b575b600190816021818701966127a261278d89611cb9565b9861279a89519a8b611c98565b808a52611cb9565b888c019990601f1901368b3750870101905b612815575b5050505091602f60f81b946127f86126ea95936026955197856127e58a9751809287808b019101611b28565b8601938401525180936021840190611b28565b0164173539b7b760d91b6021820152036006810184520182611c98565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612846579190826127b4565b6127b9565b9260010192612777565b929060646002910491019261276c565b60049194920491019238612761565b60089194920491019238612754565b60109194920491019238612745565b940193909104908638612732565b91945091500481923880612717565b90936126ea9483525220611de6565b6128c781612c35565b50506128d6576126ea90612346565b8060005261010260205260ff604060002054166000146128f9576126ea90612346565b6000818152609960205260409020546001600160a01b031661292557506033546001600160a01b031690565b6126ea90612346565b6001600160a01b03908180612942856128be565b16911691818314938415612981575b5050821561295e57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061298e90612998565b1614913880612951565b600081815260fd60205260408120546001600160a01b0392919083166129bd83612c35565b5050908115612a56575b5080612a3e575b156129e457604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156129ce565b90501515386129c7565b908215611b8657612aaa91612a7484612c35565b505080612bbc575b80612ba2575b612b93575b612a9084612346565b6001600160a01b0393918416928492909183168414612bdb565b16918215612b425781612ac791612ac086612346565b1614612bdb565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612b9d84826125af565b612a87565b508360005261010260205260ff6040600020541615612a82565b506000848152609960205260409020546001600160a01b031615612a7c565b15612be257565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612c625750509050600090600090604051612c5b81611c7d565b6000815290565b612c6b8161220c565b505482101580612cbf575b612ca1576000198114612c8b57600101612c3e565b634e487b7160e01b600052601160045260246000fd5b809350612cae915061220c565b50906126ea60026001949301611de6565b506001612ccb8261220c565b500154821115612c76565b15612cdd57565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b63ffffffff60e01b166380ac58cd60e01b8114908115612d55575b8115612d47575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612d3d565b15612d6d57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f191601019056fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda264697066735822122030c482ddc2f11683cf03566db4de4f190add1a6bc2989f2500b43aaba62c8d8a64736f6c63430008120033608080604052346100165761378e908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e81461214657806301ffc9a71461207057806306fdde0314611fc6578063081812fc14611fa6578063095ea7b314611d8a57806318160ddd14611d6a57806318e97fd114611a795780631a0058f5146119fd57806320427486146119c957806323b872dd146119a45780632a55205a146119125780632ce878da1461189f5780633403c4e9146118765780633ebc82c51461183457806340c1a0641461180a57806342842e0e146117d657806342966c68146117b9578063472a6638146117295780634aa52c41146116b95780635edc7c19146111af5780636297c16c14611133578063631d1d9a146107b45780636352211e1461110257806370a082311461106c578063715018a61461100f5780637cc918d114610d3a57806387bc793f14610d12578063894ba83314610cc45780638da5cb5b14610c9b57806395d89b4114610bb65780639e860f2a14610ac5578063a22cb46514610943578063a448dd4f146108a3578063a8fabfa514610883578063ab69607a14610864578063b88d4fde146107da578063bb2ee99f146107b4578063bc7194551461070c578063c87b56dd146106d1578063d9856c2114610669578063de903ddd146104e4578063e8315742146104c4578063e985e9c514610476578063eab851181461041b578063ee070805146103f8578063efc32cd4146103a5578063f2fde38b146103145763ff6e8c8f1461023157600080fd5b346103105761023f36612344565b90919260018060a01b0394856033541633036103035760038510156102f05784156102e35750509061027291369161285c565b92805b84518110156102df576102da906102a161028e856128c2565b86610299848a612901565b511690612943565b5083856102ae8389612901565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46128dc565b610275565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103105760203660031901126103105761032e61223f565b9161033761245b565b6001600160a01b038316156103535783610350846124b3565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103f457806003193601126103f4576103bf61223f565b906103c861245b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103f457816003193601126103f45760209060ff80541690519015158152f35b5050346103f45760203660031901126103f45760209061046d61043c61223f565b61044b60ff61010954166128c2565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103f457806003193601126103f45760ff8160209361049661223f565b61049e61225a565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103f457816003193601126103f457602090610100549051908152f35b508290346103f4576104f5366122b3565b91926104ff61245b565b61051c60ff805461051282821615612b55565b60081c1615613688565b61052a61010554851061363c565b600261053585612ba1565b5001906001600160401b038411610656575061055b8361055583546124fc565b83612b01565b84601f84116001146105c757956105b6918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105bc575b508560011b906000198760031b1c19161790555b51928392836136cc565b0390a280f35b905084013589610598565b81865260208087209190601f1986169088905b82821061063e575050916105b69391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610624575b5050600185811b0190556105ac565b850135600019600388901b60f8161c191690558880610615565b80600185968294968a013581550195019301906105da565b634e487b7160e01b865260419052602485fd5b8382346103f45760203660031901126103f45780356001600160401b0381116103105736602382011215610310576102df918160246106ad93369301359101612424565b6106b561245b565b6106c360ff80541615612b55565b60fc54339182908190612d2b565b50913461070957602036600319011261070957506106f26107059235613022565b905191829160208352602083019061221a565b0390f35b80fd5b5090346103105760203660031901126103105781359160038310156107b0576033546001600160a01b031633036107a25750610747826128c2565b80549084815581610784575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b633948261231b565b845260208420908101905b818110156107535784815560010161078f565b9051635c510c8360e11b8152fd5b8380fd5b5050346103f457816003193601126103f45760209060ff805460081c1690519015158152f35b8382346103f45760803660031901126103f4576107f561223f565b906107fe61225a565b91604435606435936001600160401b03851161086057366023860112156108605761083861085b9486602461035098369301359101612424565b9261084b61084684336132ad565b6125dc565b6108568383836133df565b6127d1565b612691565b8580fd5b5050346103f457816003193601126103f45760209060fc549051908152f35b5050346103f457816003193601126103f457602090610105549051908152f35b50346103105782600319360112610310576108bc61245b565b60ff549160ff8360081c166109005761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461031057806003193601126103105761095d61223f565b9060243591821515809303610ac15760ff61010954166003811015610aae5760018103610a645750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a55575b6001600160a01b031692338414610a135750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109b35760028552610108602052610a9a82862060018060a01b0383169060019160005201602052604060002054151590565b156109b35781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461031057610ad536612344565b6033546001600160a01b03949085163303610ba7575090610af791369161285c565b9160038210159081610aae5782610b0c578580f35b8591929394955b8551811015610b9757610b3b610b28866128c2565b83610b33848a612901565b5116906129b1565b508382610b488389612901565b511690610b84579085610b7f92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46128dc565b610b13565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103f457816003193601126103f45780519082609854610bd8816124fc565b80855291600191808316908115610c735750600114610c16575b505050610c04826107059403836123e8565b5191829160208352602083019061221a565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c5b57505050610c048260206107059582010194610bf2565b80546020878701810191909152909501948101610c3e565b610705975086935060209250610c0494915060ff191682840152151560051b82010194610bf2565b5050346103f457816003193601126103f45760335490516001600160a01b039091168152602090f35b8334610709578060031936011261070957610cdd61245b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103f457816003193601126103f4576107059060ff610109541690519182918261231b565b509190346103f457806003193601126103f4576001600160401b039280358481116107b057610d6c9036908301612286565b610d7795919561245b565b610d8560ff80541615612b55565b6101049081549660019384890194858a11610ffc576024998a350193818501808811610fea578511610fd85788519560209687810181811086821117610fc6578b52869052859055610100548511610f84578990610df98a5195610de88761239c565b898752888701928884523691612424565b948a8101958652610105805490600160401b821015610f72578582019055610e2090612ba1565b939093610f61575090600292915182555183820155019251968751928311610f4f5750889950610e5e82610e58859b999a9b546124fc565b85612b01565b8497601f8311600114610ecb578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ec0575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610e9a565b8388528588209098919291601f198316895b818110610f37575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610f1e575b505050811b019055610eac565b015160001960f88460031b161c19169055388080610f11565b828c015184558d9a5092850192918801918801610edd565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b833461070957806003193601126107095761102861245b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103f45760203660031901126103f4576001600160a01b0361109061223f565b169081156110ad576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461070957602036600319011261070957506111226020923561323d565b90516001600160a01b039091168152f35b5034610310576020366003190112610310578035916111518361323d565b336001600160a01b039091160361116c578361035084612bdd565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610310576080366003190112610310576001600160401b03918035838111610ac1576111e19036908301612286565b91906024358581116116b5576111fa9036908401612286565b611205969196612270565b9388549760ff94858a60081c1615978880996116a9575b8015611693575b1561163957600160ff198c1681178d559a89611628575b506001600160a01b038816156115e557611298929161129091611280898f600a60fc5561ffff198254168255606435610100555460081c1661127b81612aa1565b612aa1565b611289336124b3565b3691612424565b933691612424565b906112ac858b5460081c1661127b81612aa1565b82518481116115d257806112c16097546124fc565b94601f95868111611561575b506020908d8784116001146114e257926114d7575b5050600019600383901b1c1916908a1b176097555b81519384116114c4575061130c6098546124fc565b828111611461575b5060209183116001146113d5579180611389959492611361948b926113ca575b5050600019600383901b1c191690881b176098555b875460081c1661135881612aa1565b61127b81612aa1565b60fb80546001600160a01b0319166001600160a01b03831617905561138461245b565b6124b3565b611391578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611334565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611449575091611361959391856113899998969410611430575b505050811b01609855611349565b015160001960f88460031b161c19169055388080611422565b8284015185558b969094019360209384019301611405565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bb575b0160051c019089905b8281106114b0575050611314565b8b81550189906114a2565b92508192611499565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154957508411611530575b505050811b016097556112f7565b015160001960f88460031b161c19169055388080611522565b8284015185558f969094019360209384019301611513565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115c9575b859493910160051c909101908d908f5b8382106115bb575050506112cd565b81558594508e91018f6115ac565b9250819261159c565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861123a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122357506001878c1614611223565b506001878c161061121c565b8680fd5b8382346103f45760603660031901126103f45780356001600160401b038111610310576102df916116ec91369101612286565b906116f561225a565b6116fd612270565b9261170661245b565b61171460ff80541615612b55565b61172460fc549333923691612424565b612d2b565b50346103105760203660031901126103105780359160038310156107b0576033546001600160a01b0316330361030357506101099182549160ff83169060038210156117a65750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103f45760203660031901126103f4576103509035612bdd565b5050346103f45761085b610350916117ed366122e6565b919251926117fa846123cd565b86845261084b61084684336132ad565b5050346103f45760203660031901126103f45760335490516001600160a01b039091168152602090f35b83346107095760203660031901126107095761035061185161223f565b61185961245b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103f457816003193601126103f45760fb5490516001600160a01b039091168152602090f35b8284346107095780600319360112610709576118c060ff61010954166128c2565b9180519182845490818152602080910195835280832092905b8282106118fb5761070586866118f1828b03836123e8565b51918291826121b3565b8354875295860195600193840193909101906118d9565b5091346107095781600319360112610709578235815260fd60205281812054602435906001600160a01b03908116801561199857925b60fe60205284812054801561198e57925b83810293818504149015171561197b5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611959565b508060fb541692611948565b8334610709576103506119b6366122e6565b916119c461084684336132ad565b6133df565b5050346103f45760203660031901126103f4576020906119e761223f565b60018060a01b0380603354169116149051908152f35b5082346107095760203660031901126107095750611a299035611a2461010554821061363c565b612ba1565b506107058251611a388161239c565b825481526060611a5660026001860154956020850196875201612536565b91828682015251935194805195869586526020860152840152606083019061221a565b508290346103f457611a8a366122b3565b919260ff54611a9c60ff821615612b55565b6033546001600160a01b03163303611d1d5760ff611abe9160081c1615613688565b6000848152609960205260409020546001600160a01b031615158015611cf4575b15611cba57611aed846135b4565b505015611be05783855260206101078152868620916001600160401b038511611bcd5750611b2584611b1f84546124fc565b84612b01565b8590601f8511600114611b6e5750956105b6918487986000805160206137398339815191529798916105bc57508560011b906000198760031b1c191617905551928392836136cc565b90601f1985168388528288209288905b828210611bb5575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611b7e565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611bcd5750611c0b84611b1f84546124fc565b8590601f8511600114611c5b5750956105b691848798600080516020613739833981519152979891611c50575b508560011b906000198760031b1c19161790556105ac565b905084013589611c38565b90601f1985168388528288209288905b828210611ca2575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611c6b565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611cfe846135b4565b50508015611adf575083855261010260205260ff868620541615611adf565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346103f457816003193601126103f457602090610104549051908152f35b5034610310578160031936011261031057611da361223f565b906024359260ff61010954166003811015611f935760018103611f4c5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611f40575b6001600160a01b03918280611e038761323d565b16941693808514611ef357803314908115611ed4575b5015611e6c5750838552610103602052842080546001600160a01b03191683179055611e4483612cc5565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611e19565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611def5760028552610108602052611f8281862060018060a01b0385169060019160005201602052604060002054151590565b15611def57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b509134610709576020366003190112610709575061112260209235613317565b5050346103f457816003193601126103f45780519082609754611fe8816124fc565b80855291600191808316908115610c73575060011461201357505050610c04826107059403836123e8565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061205857505050610c048260206107059582010194610bf2565b8054602087870181019190915290950194810161203b565b50346103105760203660031901126103105735906001600160e01b031982168083036107b0576020935063fa31a45b60e01b8114928315612135575b83156120bd575b5050519015158152f35b919250631030681960e21b811491908215612124575b82156120fb575b5081156120eb575b509038806120b3565b6120f591506136f4565b386120e2565b90915063152a902d60e11b148015612115575b90386120da565b5061211f816136f4565b61210e565b6301ffc9a760e01b811492506120d3565b6301ffc9a760e01b821493506120ac565b50903461031057602091826003193601126107b0573560038110156107b05761216e906128c2565b9281518093808654928381520195835280832092905b82821061219c5761070586866118f1828b03836123e8565b835487529586019560019384019390910190612184565b6020908160408183019282815285518094520193019160005b8281106121da575050505090565b83516001600160a01b0316855293810193928101926001016121cc565b60005b83811061220a5750506000910152565b81810151838201526020016121fa565b90602091612233815180928185528580860191016121f7565b601f01601f1916010190565b600435906001600160a01b038216820361225557565b600080fd5b602435906001600160a01b038216820361225557565b604435906001600160a01b038216820361225557565b9181601f84011215612255578235916001600160401b038311612255576020838186019501011161225557565b9060406003198301126122555760043591602435906001600160401b038211612255576122e291600401612286565b9091565b6060906003190112612255576001600160a01b0390600435828116810361225557916024359081168103612255579060443590565b91906020830192600382101561232e5752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261225557600435600381101561225557916024356001600160401b039283821161225557806023830112156122555781600401359384116122555760248460051b83010111612255576024019190565b606081019081106001600160401b038211176123b757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b038211176123b757604052565b90601f801991011681019081106001600160401b038211176123b757604052565b6001600160401b0381116123b757601f01601f191660200190565b92919261243082612409565b9161243e60405193846123e8565b829481845281830111612255578281602093846000960137010152565b6033546001600160a01b0316330361246f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561252c575b602083101461251657565b634e487b7160e01b600052602260045260246000fd5b91607f169161250b565b906040519182600082549261254a846124fc565b9081845260019485811690816000146125b95750600114612576575b5050612574925003836123e8565b565b9093915060005260209081600020936000915b8183106125a157505061257493508201013880612566565b85548884018501529485019487945091830191612589565b91505061257494506020925060ff191682840152151560051b8201013880612566565b156125e357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561269857565b60405162461bcd60e51b8152806126b16004820161263e565b0390fd5b9192600092909190803b156127c757612703946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b96608483019061221a565b03926001600160a01b03165af1849181612787575b50612776575050503d60001461276e573d61273281612409565b9061274060405192836123e8565b81528091833d92013e5b8051918261276b5760405162461bcd60e51b8152806126b16004820161263e565b01fd5b50606061274a565b6001600160e01b0319161492509050565b9091508581813d83116127c0575b61279f81836123e8565b81010312610ac157516001600160e01b031981168103610ac1579038612718565b503d612795565b5050915050600190565b9293600093909291803b156128515794849161282b9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c97608483019061221a565b0393165af18491816127875750612776575050503d60001461276e573d61273281612409565b505050915050600190565b9092916001600160401b0384116123b7578360051b6040519260208094612885828501826123e8565b809781520191810192831161225557905b8282106128a35750505050565b81356001600160a01b0381168103612255578152908301908301612896565b600381101561232e57600052610108602052604060002090565b60001981146128eb5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156129155760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156129155760005260206000200190600090565b60008281526001820160205260409020546129aa57805490600160401b8210156123b7578261299361297c84600180960185558461292b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612a9a5760001991808301818111612a8657825490848201918211612a7257808203612a3d575b50505080548015612a2957820191612a0c838361292b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612a5d612a4d61297c938661292b565b90549060031b1c9283928661292b565b905586528460205260408620553880806129f4565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612aa857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612b0f57505050565b600091825260208220906020601f850160051c83019410612b4b575b601f0160051c01915b828110612b4057505050565b818155600101612b34565b9092508290612b2b565b15612b5c57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561291557600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612be6816135b4565b5050600082815261010260205260408120805460ff191660011790559080612ca6575b612ca257612c1a61084683336132ad565b612c2382612cc5565b50612c2d82612cc5565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612c09565b6000908152609960205260409020546001600160a01b03168015612ce65790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612e9e57612d6f61085b604051612d59816123cd565b89600096878352612d6a8282612f2e565b6126b5565b868352602091610106835260408420918151916001600160401b038311612e8a57612da483612d9e86546124fc565b86612b01565b8490601f8411600114612e2157928060fd9593819389989660409a94612e16575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612dc5565b8487528587209293929190601f198416885b818110612e75575091604098979593918560fd98969410612e5c575b505050811b019055612dd7565b015160001960f88460031b161c19169055388080612e4f565b82840151855593860193928801928801612e33565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612ee957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612fde57600082815260996020526040902054612f62906001600160a01b031615155b15612ee2565b600082815260996020526040902054612f85906001600160a01b03161515612f5c565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b600081815261010790602092828452604092613040848420546124fc565b61322e575061304e816135b4565b911515905061306c5750613069936101069183525220612536565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561321f575b5050866d04ee2d6d415b85acef810000000080841015613211575b5050662386f26fc1000080831015613202575b506305f5e100808310156131f3575b50612710808310156131e4575b5060648210156131d4575b600a809210156131ca575b6001908160218187019661312161310c89612409565b9861311989519a8b6123e8565b808a52612409565b888c019990601f1901368b3750870101905b613194575b5050505091602f60f81b9461317761306995936026955197856131648a9751809287808b0191016121f7565b86019384015251809360218401906121f7565b0164173539b7b760d91b60218201520360068101845201826123e8565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156131c557919082613133565b613138565b92600101926130f6565b92906064600291049101926130eb565b600491949204910192386130e0565b600891949204910192386130d3565b601091949204910192386130c4565b9401939091049086386130b1565b91945091500481923880613096565b90936130699483525220612536565b613246816135b4565b50506132555761306990612cc5565b8060005261010260205260ff604060002054166000146132785761306990612cc5565b6000818152609960205260409020546001600160a01b03166132a457506033546001600160a01b031690565b61306990612cc5565b6001600160a01b039081806132c18561323d565b16911691818314938415613300575b505082156132dd57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061330d90613317565b16149138806132d0565b600081815260fd60205260408120546001600160a01b03929190831661333c836135b4565b50509081156133d5575b50806133bd575b1561336357604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff6040822054161561334d565b9050151538613346565b90821561225557613429916133f3846135b4565b50508061353b575b80613521575b613512575b61340f84612cc5565b6001600160a01b039391841692849290918316841461355a565b169182156134c157816134469161343f86612cc5565b161461355a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61351c8482612f2e565b613406565b508360005261010260205260ff6040600020541615613401565b506000848152609960205260409020546001600160a01b0316156133fb565b1561356157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106135e157505090506000906000906040516135da816123cd565b6000815290565b6135ea81612ba1565b505482101580613625575b61360757613602906128dc565b6135bd565b8093506136149150612ba1565b509061306960026001949301612536565b50600161363182612ba1565b5001548211156135f5565b1561364357565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561368f57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b8114908115613727575b8115613719575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061370f56fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220be53c8926b187489fe6f29e56aeb8816608caa89a6e3dbef780ae5469924967364736f6c634300081200336080806040523461001657613912908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e8146122c357806301ffc9a7146121ed57806306fdde0314612143578063081812fc14612123578063095ea7b314611f0757806318160ddd14611ee757806318e97fd114611bf65780631a0058f514611b7a5780632042748614611b4657806321c4a5d814611aa157806323b872dd14611a7c5780632a55205a146119ea5780632ce878da146119775780633403c4e91461194e5780633ebc82c51461190c57806340c1a064146118e257806342842e0e146118ae57806342966c6814611891578063472a6638146118015780634aa52c41146117915780635aec8d62146116e95780635edc7c19146111df5780636297c16c14611163578063631d1d9a146107d55780636352211e1461113257806370a082311461109c578063715018a61461103f578063717392ed1461101f5780637cc918d114610d5b57806387bc793f14610d33578063894ba83314610ce55780638da5cb5b14610cbc57806395d89b4114610bd75780639e860f2a14610ae6578063a22cb46514610964578063a448dd4f146108c4578063a8fabfa5146108a4578063ab69607a14610885578063b88d4fde146107fb578063bb2ee99f146107d5578063bc7194551461072d578063c87b56dd146106f2578063d9856c211461068a578063de903ddd14610505578063e8315742146104e5578063e985e9c514610497578063eab851181461043c578063ee07080514610419578063efc32cd4146103c6578063f2fde38b146103355763ff6e8c8f1461025257600080fd5b3461033157610260366124c1565b90919260018060a01b039485603354163303610324576003851015610311578415610304575050906102939136916129d9565b92805b8451811015610300576102fb906102c26102af85612a3f565b866102ba848a612a7e565b511690612ac0565b5083856102cf8389612a7e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612a59565b610296565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103315760203660031901126103315761034f6123bc565b916103586125d8565b6001600160a01b03831615610374578361037184612630565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346104155780600319360112610415576103e06123bc565b906103e96125d8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461041557816003193601126104155760209060ff80541690519015158152f35b5050346104155760203660031901126104155760209061048e61045d6123bc565b61046c60ff6101095416612a3f565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b50503461041557806003193601126104155760ff816020936104b76123bc565b6104bf6123d7565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610415578160031936011261041557602090610100549051908152f35b508290346104155761051636612430565b91926105206125d8565b61053d60ff805461053382821615612cdf565b60081c161561380c565b61054b6101055485106137c0565b600261055685612d2b565b5001906001600160401b038411610677575061057c836105768354612679565b83612c8b565b84601f84116001146105e857956105d7918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105dd575b508560011b906000198760031b1c19161790555b5192839283613850565b0390a280f35b9050840135896105b9565b81865260208087209190601f1986169088905b82821061065f575050916105d79391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610645575b5050600185811b0190556105cd565b850135600019600388901b60f8161c191690558880610636565b80600185968294968a013581550195019301906105fb565b634e487b7160e01b865260419052602485fd5b8382346104155760203660031901126104155780356001600160401b038111610331573660238201121561033157610300918160246106ce933693013591016125a1565b6106d66125d8565b6106e460ff80541615612cdf565b60fc54339182908190612eb5565b50913461072a57602036600319011261072a575061071361072692356131a6565b9051918291602083526020830190612397565b0390f35b80fd5b5090346103315760203660031901126103315781359160038310156107d1576033546001600160a01b031633036107c3575061076882612a3f565b805490848155816107a5575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d7339482612498565b845260208420908101905b81811015610774578481556001016107b0565b9051635c510c8360e11b8152fd5b8380fd5b50503461041557816003193601126104155760209060ff805460081c1690519015158152f35b838234610415576080366003190112610415576108166123bc565b9061081f6123d7565b91604435606435936001600160401b03851161088157366023860112156108815761085961087c94866024610371983693013591016125a1565b9261086c6108678433613431565b612759565b610877838383613563565b61294e565b61280e565b8580fd5b50503461041557816003193601126104155760209060fc549051908152f35b505034610415578160031936011261041557602090610105549051908152f35b50346103315782600319360112610331576108dd6125d8565b60ff549160ff8360081c166109215761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461033157806003193601126103315761097e6123bc565b9060243591821515809303610ae25760ff61010954166003811015610acf5760018103610a855750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a76575b6001600160a01b031692338414610a345750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109d45760028552610108602052610abb82862060018060a01b0383169060019160005201602052604060002054151590565b156109d45781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461033157610af6366124c1565b6033546001600160a01b03949085163303610bc8575090610b189136916129d9565b9160038210159081610acf5782610b2d578580f35b8591929394955b8551811015610bb857610b5c610b4986612a3f565b83610b54848a612a7e565b511690612b2e565b508382610b698389612a7e565b511690610ba5579085610ba092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612a59565b610b34565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b50503461041557816003193601126104155780519082609854610bf981612679565b80855291600191808316908115610c945750600114610c37575b505050610c2582610726940383612565565b51918291602083526020830190612397565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c7c57505050610c258260206107269582010194610c13565b80546020878701810191909152909501948101610c5f565b610726975086935060209250610c2594915060ff191682840152151560051b82010194610c13565b50503461041557816003193601126104155760335490516001600160a01b039091168152602090f35b833461072a578060031936011261072a57610cfe6125d8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346104155781600319360112610415576107269060ff6101095416905191829182612498565b509190346104155780600319360112610415576001600160401b039280358481116107d157610d8d9036908301612403565b94610d966125d8565b610da460ff80541615612cdf565b6101049081549260019182850180951161100c57602498610dc68a3587612c1e565b9360001991828601958611610ffa5789519660209788810181811087821117610fe8578c52879052869055610100548611610fa6578a90610e1d8b5196610e0c88612519565b8a88528988019289845236916125a1565b958b8101968752610105805490600160401b821015610f94578582019055610e4490612d2b565b939093610f83575090600292915182555183820155019351978851938411610f715750899a50610e8283610e7c869c9a9b9c54612679565b86612c8b565b8598601f8411600114610eec57839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610ee1575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610ebf565b98909291601f19831691858a52878a20928a5b818110610f5957509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610f41575b50505050811b019055610ecd565b01519060f88460031b161c1916905538808080610f33565b828d015185558e9b5093860193918901918901610eff565b634e487b7160e01b8b52604190528a8afd5b634e487b7160e01b8152808c528e90fd5b634e487b7160e01b855260418d528f85fd5b895162461bcd60e51b8152808a01889052601d818e01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8e5260418c528e8efd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b885260118652602488fd5b50503461041557816003193601126104155760209061010a549051908152f35b833461072a578060031936011261072a576110586125d8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610415576020366003190112610415576001600160a01b036110c06123bc565b169081156110dd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461072a57602036600319011261072a5750611152602092356133c1565b90516001600160a01b039091168152f35b503461033157602036600319011261033157803591611181836133c1565b336001600160a01b039091160361119c578361037184612d67565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610331576080366003190112610331576001600160401b03918035838111610ae2576112119036908301612403565b91906024358581116116e55761122a9036908401612403565b6112359691966123ed565b9388549760ff94858a60081c1615978880996116d9575b80156116c3575b1561166957600160ff198c1681178d559a89611658575b506001600160a01b03881615611615576112c892916112c0916112b0898f600a60fc5561ffff198254168255606435610100555460081c166112ab81612c2b565b612c2b565b6112b933612630565b36916125a1565b9336916125a1565b906112dc858b5460081c166112ab81612c2b565b825184811161160257806112f1609754612679565b94601f95868111611591575b506020908d8784116001146115125792611507575b5050600019600383901b1c1916908a1b176097555b81519384116114f4575061133c609854612679565b828111611491575b5060209183116001146114055791806113b9959492611391948b926113fa575b5050600019600383901b1c191690881b176098555b875460081c1661138881612c2b565b6112ab81612c2b565b60fb80546001600160a01b0319166001600160a01b0383161790556113b46125d8565b612630565b6113c1578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611364565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611479575091611391959391856113b99998969410611460575b505050811b01609855611379565b015160001960f88460031b161c19169055388080611452565b8284015185558b969094019360209384019301611435565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114eb575b0160051c019089905b8281106114e0575050611344565b8b81550189906114d2565b925081926114c9565b634e487b7160e01b8a5260419052602489fd5b015190503880611312565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061157957508411611560575b505050811b01609755611327565b015160001960f88460031b161c19169055388080611552565b8284015185558f969094019360209384019301611543565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115f9575b859493910160051c909101908d908f5b8382106115eb575050506112fd565b81558594508e91018f6115dc565b925081926115cc565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861126a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561125357506001878c1614611253565b506001878c161061124c565b8680fd5b50903461033157826003193601126103315761010a54421061178457506101099081549060ff821690600382101561177157508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346104155760603660031901126104155780356001600160401b03811161033157610300916117c491369101612403565b906117cd6123d7565b6117d56123ed565b926117de6125d8565b6117ec60ff80541615612cdf565b6117fc60fc5493339236916125a1565b612eb5565b50346103315760203660031901126103315780359160038310156107d1576033546001600160a01b0316330361032457506101099182549160ff831690600382101561187e5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b838234610415576020366003190112610415576103719035612d67565b5050346104155761087c610371916118c536612463565b919251926118d28461254a565b86845261086c6108678433613431565b5050346104155760203660031901126104155760335490516001600160a01b039091168152602090f35b833461072a57602036600319011261072a576103716119296123bc565b6119316125d8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461041557816003193601126104155760fb5490516001600160a01b039091168152602090f35b82843461072a578060031936011261072a5761199860ff6101095416612a3f565b9180519182845490818152602080910195835280832092905b8282106119d35761072686866119c9828b0383612565565b5191829182612330565b8354875295860195600193840193909101906119b1565b50913461072a578160031936011261072a578235815260fd60205281812054602435906001600160a01b039081168015611a7057925b60fe602052848120548015611a6657925b838102938185041490151715611a535750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a31565b508060fb541692611a20565b833461072a57610371611a8e36612463565b91611a9c6108678433613431565b613563565b503461033157602036600319011261033157603354813591906001600160a01b03163303611b38576301e1338091828102928184041490151715611b255750611aea9042612c1e565b9061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b50503461041557602036600319011261041557602090611b646123bc565b60018060a01b0380603354169116149051908152f35b50823461072a57602036600319011261072a5750611ba69035611ba16101055482106137c0565b612d2b565b506107268251611bb581612519565b825481526060611bd3600260018601549560208501968752016126b3565b918286820152519351948051958695865260208601528401526060830190612397565b5082903461041557611c0736612430565b919260ff54611c1960ff821615612cdf565b6033546001600160a01b03163303611e9a5760ff611c3b9160081c161561380c565b6000848152609960205260409020546001600160a01b031615158015611e71575b15611e3757611c6a84613738565b505015611d5d5783855260206101078152868620916001600160401b038511611d4a5750611ca284611c9c8454612679565b84612c8b565b8590601f8511600114611ceb5750956105d7918487986000805160206138bd8339815191529798916105dd57508560011b906000198760031b1c19161790555192839283613850565b90601f1985168388528288209288905b828210611d32575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611cfb565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611d4a5750611d8884611c9c8454612679565b8590601f8511600114611dd85750956105d7918487986000805160206138bd833981519152979891611dcd575b508560011b906000198760031b1c19161790556105cd565b905084013589611db5565b90601f1985168388528288209288905b828210611e1f575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611de8565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611e7b84613738565b50508015611c5c575083855261010260205260ff868620541615611c5c565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b505034610415578160031936011261041557602090610104549051908152f35b5034610331578160031936011261033157611f206123bc565b906024359260ff6101095416600381101561211057600181036120c95750600180865261010860209081528287206001600160a01b0386166000908152920190526040902054156120bd575b6001600160a01b03918280611f80876133c1565b1694169380851461207057803314908115612051575b5015611fe95750838552610103602052842080546001600160a01b03191683179055611fc183612e4f565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611f96565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611f6c57600285526101086020526120ff81862060018060a01b0385169060019160005201602052604060002054151590565b15611f6c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b50913461072a57602036600319011261072a57506111526020923561349b565b5050346104155781600319360112610415578051908260975461216581612679565b80855291600191808316908115610c94575060011461219057505050610c2582610726940383612565565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106121d557505050610c258260206107269582010194610c13565b805460208787018101919091529095019481016121b8565b50346103315760203660031901126103315735906001600160e01b031982168083036107d1576020935063fa31a45b60e01b81149283156122b2575b831561223a575b5050519015158152f35b919250631030681960e21b8114919082156122a1575b8215612278575b508115612268575b50903880612230565b6122729150613878565b3861225f565b90915063152a902d60e11b148015612292575b9038612257565b5061229c81613878565b61228b565b6301ffc9a760e01b81149250612250565b6301ffc9a760e01b82149350612229565b50903461033157602091826003193601126107d1573560038110156107d1576122eb90612a3f565b9281518093808654928381520195835280832092905b8282106123195761072686866119c9828b0383612565565b835487529586019560019384019390910190612301565b6020908160408183019282815285518094520193019160005b828110612357575050505090565b83516001600160a01b031685529381019392810192600101612349565b60005b8381106123875750506000910152565b8181015183820152602001612377565b906020916123b081518092818552858086019101612374565b601f01601f1916010190565b600435906001600160a01b03821682036123d257565b600080fd5b602435906001600160a01b03821682036123d257565b604435906001600160a01b03821682036123d257565b9181601f840112156123d2578235916001600160401b0383116123d257602083818601950101116123d257565b9060406003198301126123d25760043591602435906001600160401b0382116123d25761245f91600401612403565b9091565b60609060031901126123d2576001600160a01b039060043582811681036123d2579160243590811681036123d2579060443590565b9190602083019260038210156124ab5752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126123d25760043560038110156123d257916024356001600160401b03928382116123d257806023830112156123d25781600401359384116123d25760248460051b830101116123d2576024019190565b606081019081106001600160401b0382111761253457604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761253457604052565b90601f801991011681019081106001600160401b0382111761253457604052565b6001600160401b03811161253457601f01601f191660200190565b9291926125ad82612586565b916125bb6040519384612565565b8294818452818301116123d2578281602093846000960137010152565b6033546001600160a01b031633036125ec57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156126a9575b602083101461269357565b634e487b7160e01b600052602260045260246000fd5b91607f1691612688565b90604051918260008254926126c784612679565b90818452600194858116908160001461273657506001146126f3575b50506126f192500383612565565b565b9093915060005260209081600020936000915b81831061271e5750506126f1935082010138806126e3565b85548884018501529485019487945091830191612706565b9150506126f194506020925060ff191682840152151560051b82010138806126e3565b1561276057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561281557565b60405162461bcd60e51b81528061282e600482016127bb565b0390fd5b9192600092909190803b1561294457612880946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612397565b03926001600160a01b03165af1849181612904575b506128f3575050503d6000146128eb573d6128af81612586565b906128bd6040519283612565565b81528091833d92013e5b805191826128e85760405162461bcd60e51b81528061282e600482016127bb565b01fd5b5060606128c7565b6001600160e01b0319161492509050565b9091508581813d831161293d575b61291c8183612565565b81010312610ae257516001600160e01b031981168103610ae2579038612895565b503d612912565b5050915050600190565b9293600093909291803b156129ce579484916129a89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612397565b0393165af184918161290457506128f3575050503d6000146128eb573d6128af81612586565b505050915050600190565b9092916001600160401b038411612534578360051b6040519260208094612a0282850182612565565b80978152019181019283116123d257905b828210612a205750505050565b81356001600160a01b03811681036123d2578152908301908301612a13565b60038110156124ab57600052610108602052604060002090565b6000198114612a685760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015612a925760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612a925760005260206000200190600090565b6000828152600182016020526040902054612b2757805490600160401b8210156125345782612b10612af9846001809601855584612aa8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c175760001991808301818111612c0357825490848201918211612bef57808203612bba575b50505080548015612ba657820191612b898383612aa8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612bda612bca612af99386612aa8565b90549060031b1c92839286612aa8565b90558652846020526040862055388080612b71565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b91908201809211612a6857565b15612c3257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612c9957505050565b600091825260208220906020601f850160051c83019410612cd5575b601f0160051c01915b828110612cca57505050565b818155600101612cbe565b9092508290612cb5565b15612ce657565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015612a9257600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612d7081613738565b5050600082815261010260205260408120805460ff191660011790559080612e30575b612e2c57612da46108678333613431565b612dad82612e4f565b50612db782612e4f565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612d93565b6000908152609960205260409020546001600160a01b03168015612e705790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161302257612ef961087c604051612ee38161254a565b89600096878352612ef482826130b2565b612832565b868352602091610106835260408420918151916001600160401b03831161300e57612f2883610e7c8654612679565b8490601f8411600114612fa557928060fd9593819389989660409a94612f9a575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612f49565b8487528587209293929190601f198416885b818110612ff9575091604098979593918560fd98969410612fe0575b505050811b019055612f5b565b015160001960f88460031b161c19169055388080612fd3565b82840151855593860193928801928801612fb7565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561306d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015613162576000828152609960205260409020546130e6906001600160a01b031615155b15613066565b600082815260996020526040902054613109906001600160a01b031615156130e0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926131c484842054612679565b6133b257506131d281613738565b91151590506131f057506131ed9361010691835252206126b3565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156133a3575b5050866d04ee2d6d415b85acef810000000080841015613395575b5050662386f26fc1000080831015613386575b506305f5e10080831015613377575b5061271080831015613368575b506064821015613358575b600a8092101561334e575b600190816021818701966132a561329089612586565b9861329d89519a8b612565565b808a52612586565b888c019990601f1901368b3750870101905b613318575b5050505091602f60f81b946132fb6131ed95936026955197856132e88a9751809287808b019101612374565b8601938401525180936021840190612374565b0164173539b7b760d91b6021820152036006810184520182612565565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215613349579190826132b7565b6132bc565b926001019261327a565b929060646002910491019261326f565b60049194920491019238613264565b60089194920491019238613257565b60109194920491019238613248565b940193909104908638613235565b9194509150048192388061321a565b90936131ed94835252206126b3565b6133ca81613738565b50506133d9576131ed90612e4f565b8060005261010260205260ff604060002054166000146133fc576131ed90612e4f565b6000818152609960205260409020546001600160a01b031661342857506033546001600160a01b031690565b6131ed90612e4f565b6001600160a01b03908180613445856133c1565b16911691818314938415613484575b5050821561346157505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b839294506134919061349b565b1614913880613454565b600081815260fd60205260408120546001600160a01b0392919083166134c083613738565b5050908115613559575b5080613541575b156134e757604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156134d1565b90501515386134ca565b9082156123d2576135ad9161357784613738565b5050806136bf575b806136a5575b613696575b61359384612e4f565b6001600160a01b03939184169284929091831684146136de565b1691821561364557816135ca916135c386612e4f565b16146136de565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6136a084826130b2565b61358a565b508360005261010260205260ff6040600020541615613585565b506000848152609960205260409020546001600160a01b03161561357f565b156136e557565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613765575050905060009060009060405161375e8161254a565b6000815290565b61376e81612d2b565b5054821015806137a9575b61378b5761378690612a59565b613741565b8093506137989150612d2b565b50906131ed600260019493016126b3565b5060016137b582612d2b565b500154821115613779565b156137c757565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561381357565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b81149081156138ab575b811561389d575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061389356fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220b7b3549eeb6c701b304d1daf1583e6551a16b339b46acbccf877e20c1d2eba9c64736f6c63430008120033","sourceMap":"376:4689:222:-:0;;;;;;;;;2518:6:81;376:4689:222;;719:10:102;-1:-1:-1;;;;;;376:4689:222;;;;;;;;-1:-1:-1;;;;;376:4689:222;2518:6:81;376:4689:222;;719:10:102;376:4689:222;;2566:40:81;2518:6;;2566:40;-1:-1:-1;;;;;1533:18:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:4689;;;;;;;;;;;1638:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:4689;;;1678:44;376:4689;;;1678:44;376:4689;;;1785:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:4689;;;1839:60;376:4689;;;1839:60;376:4689;;;;;;;;;1785:44;376:4689;;;;;;;;;;1785:44;-1:-1:-1;;;376:4689:222;;;;;;;;1638:30;376:4689;;;;;;;;;1638:30;-1:-1:-1;;;376:4689:222;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c908162e8ece614610a0e5750806322d60fcb146109e55780633cebcf41146108d1578063637944f514610896578063715018a61461083c578063740adf31146108015780637de4c082146107c6578063877ebf51146104b75780638da5cb5b1461048f5780639607cb4914610448578063a55b1c2514610415578063c4dca7ab146103ec578063c9be0590146103c3578063d05df8831461039a578063d1e0f70014610371578063da8d79f314610269578063ea14289f1461022e578063ef6fde5b146101ef578063f2fde38b146101285763f5e0e6df146100fe57600080fd5b346101245782600319360112610124575490516001600160a01b03909116815260209150f35b8280fd5b503461012457602036600319011261012457610142610ada565b9061014b610af0565b6001600160a01b0391821692831561019d575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b50503461022a578160031936011261022a57602090517f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f8152f35b5080fd5b50503461022a578160031936011261022a57602090517f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8152f35b5090346101245760603660031901126101245767ffffffffffffffff90823582811161036d5761029c9036908501610a72565b9160243590811161036d576102b49036908501610a72565b9284604435946102c5861515610c66565b6001546001600160a01b03959086906102df908216610d4d565b1696873b1561035f576103069086519586948594635edc7c1960e01b865233928601610d0e565b038183885af180156103635761034b575b509260209351927f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a3600154168152f35b6103558591610a48565b61035f5738610317565b8380fd5b82513d87823e3d90fd5b8480fd5b50503461022a578160031936011261022a5760035490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760015490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760025490516001600160a01b039091168152602090f35b50503461022a578160031936011261022a5760065490516001600160a01b039091168152602090f35b50503461022a5736600319011261044557610442610431610ada565b610439610af0565b60243590610b48565b80f35b80fd5b833461044557602036600319011261044557610462610ada565b61046a610af0565b6001600160a01b0316801561022a576001600160601b0360a01b600154161760015580f35b50503461022a578160031936011261022a57905490516001600160a01b039091168152602090f35b5082903461022a57608036600319011261022a5767ffffffffffffffff813581811161035f576104ea9036908401610a72565b9060243590811161035f576105029036908401610a72565b9060443560643592610515821515610c66565b85937f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8114610751575b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b74381146106ce575b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610647575b5050506001600160a01b03169081156105d157506020925191817f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a38152f35b60a490602085519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b03945091929091610663908516610d4d565b93841691823b156106ca579161069493918780948a5196879586948593635edc7c1960e01b855233918d8601610d0e565b03925af180156106c0579084916106ac575b8061058e565b6106b590610a48565b6101245782856106a6565b85513d86823e3d90fd5b8680fd5b6002546001600160a01b0395506106e6908616610d4d565b948516803b1561074d57878785928583896107168f5197889687958694635edc7c1960e01b865233928601610d0e565b03925af180156107435790889161072f575b5050610567565b61073890610a48565b6106ca578689610728565b89513d8a823e3d90fd5b8780fd5b6001546001600160a01b039550610769908616610d4d565b948516803b1561074d57878785928583896107998f5197889687958694635edc7c1960e01b865233928601610d0e565b03925af18015610743579088916107b2575b505061053f565b6107bb90610a48565b6106ca5786896107ab565b50503461022a578160031936011261022a57602090517fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438152f35b50503461022a578160031936011261022a57602090517f6c556facba1fb001f8d830adc0dcceae3a683a8890dc3299db292ca0c66251708152f35b8334610445578060031936011261044557610855610af0565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461022a578160031936011261022a57602090517f8eae45f58440dde5634b0645eea1e0aa7e9dfd92d41ded6de63fc6498057dd688152f35b5090346101245760031990808236011261035f5767ffffffffffffffff93833585811161022a576109059036908601610a72565b9460243590811161022a5761091d9036908601610a72565b9360018060a01b0393846109348160015416610d4d565b1695863b1561035f5791610976608092859461096788519b8c968796635edc7c1960e01b88528701526084860190610cce565b91848303016024850152610cce565b3360448301526000196064830152038183885af19485156109d9576020956109ca575b509051927f46dd19b0bfeba14ab8b9e9c9e4179a2f8a3ba70420a845ea8da585dd8e59eeec339280a3600154168152f35b6109d390610a48565b38610999565b509051903d90823e3d90fd5b50503461022a578160031936011261022a5760055490516001600160a01b039091168152602090f35b84903461022a578160031936011261022a57807f5d53444d40ee2f466d1c91f96d7c4d4b6bcb514ac7911b9a6c947234a2f957c560209252f35b67ffffffffffffffff8111610a5c57604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610ad55780359067ffffffffffffffff92838311610a5c5760405193601f8401601f19908116603f0116850190811185821017610a5c5760405282845260208383010111610ad557816000926020809301838601378301015290565b600080fd5b600435906001600160a01b0382168203610ad557565b6000546001600160a01b03163303610b0457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b0316908115610ad5577f618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fd8114610c50577fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438114610c3a577f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610c255760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b15610c6d57565b60405162461bcd60e51b815260206004820152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b919082519283825260005b848110610cfa575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cd9565b90606092610d2b610d399297969597608085526080850190610cce565b908382036020850152610cce565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b03821615610da357565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfea2646970667358221220aa0be531b999e1e93886df8c698da59a77e540e33d6d8ebfb9655d72609eae2064736f6c63430008120033","sourceMap":"376:4689:222:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;376:4689:222;;;;;;;-1:-1:-1;376:4689:222;;;;;;;;;;;;-1:-1:-1;;376:4689:222;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;-1:-1:-1;;;;;376:4689:222;;;;2162:22:81;;376:4689:222;;;;;;;-1:-1:-1;;;;;376:4689:222;;;;;;;;2566:40:81;376:4689:222;2566:40:81;;376:4689:222;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;376:4689:222;;;;;;;;;;;;;;;;;;;;;;623:34;376:4689;;;;;;;;;;;;;;;;;;;;;;;;471:26;376:4689;;;;;;;;;;;-1:-1:-1;;376:4689:222;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;2903:15;2882:113;2903:15;;;2882:113;:::i;:::-;376:4689;;-1:-1:-1;;;;;376:4689:222;;;;3023:26;;376:4689;;3023:26;:::i;:::-;376:4689;3059:66;;;;;;;376:4689;;;;;;;;;;;3059:66;;3102:10;3059:66;;;;:::i;:::-;;;;;;;;;;;;;376:4689;;;;;;3102:10;3141:48;3102:10;3141:48;;;376:4689;;;;;;3059:66;;;;;:::i;:::-;376:4689;;3059:66;;;376:4689;;;;3059:66;376:4689;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;376:4689:222;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;376:4689:222;;;;;;;;;;;;;;;;;;;;;;959:39;376:4689;;;-1:-1:-1;;;;;376:4689:222;;;;;;;;;;;;;;;;;;;;;;1149:57;376:4689;;;-1:-1:-1;;;;;376:4689:222;;;;;;;;;;;;;;;-1:-1:-1;;376:4689:222;;;;1117:1:81;376:4689:222;;:::i;:::-;1063:62:81;;:::i;:::-;376:4689:222;;1117:1:81;;:::i;:::-;376:4689:222;;;;;;;;;;;;-1:-1:-1;;376:4689:222;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;-1:-1:-1;;;;;376:4689:222;1997:27;;376:4689;;-1:-1:-1;;;;;376:4689:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;376:4689:222;;;;;;;;;;;;;;;;;-1:-1:-1;;376:4689:222;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3897:15;3876:113;3897:15;;;3876:113;:::i;:::-;4000:15;4029:30;471:26;4029:30;;4025:177;;376:4689;543:26;4215:30;;4211:279;;376:4689;623:34;4503:38;4499:314;;376:4689;-1:-1:-1;;;;;;;;376:4689:222;;4844:21;;376:4689;;;;;;5011:10;;4974:48;5011:10;4974:48;;;376:4689;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;376:4689:222;;;;;4499:314;376:4689;;-1:-1:-1;;;;;376:4689:222;-1:-1:-1;376:4689:222;;;;4567:52;;376:4689;;4567:52;:::i;:::-;376:4689;;;4632:170;;;;;;376:4689;4632:170;376:4689;;;;;;;;;;;;;;;;;4632:170;;4750:10;4632:170;;;;;:::i;:::-;;;;;;;;;;;;;;4499:314;;;;4632:170;;;;:::i;:::-;376:4689;;4632:170;;;;;376:4689;;;;;;;;;4632:170;376:4689;;;4211:279;4284:24;376:4689;-1:-1:-1;;;;;376:4689:222;-1:-1:-1;4271:38:222;;376:4689;;4271:38;:::i;:::-;376:4689;;;4323:156;;;;;376:4689;;;;;;;4323:156;376:4689;;;;;;;;;;;;4323:156;;4427:10;4323:156;;;;:::i;:::-;;;;;;;;;;;;;;4211:279;;;;;4323:156;;;;:::i;:::-;376:4689;;4323:156;;;;;376:4689;;;;;;;;;4323:156;376:4689;;;4025:177;376:4689;;-1:-1:-1;;;;;376:4689:222;-1:-1:-1;4085:26:222;;376:4689;;4085:26;:::i;:::-;376:4689;;;4125:66;;;;;376:4689;;;;;;;4125:66;376:4689;;;;;;;;;;;;4125:66;;4168:10;4125:66;;;;:::i;:::-;;;;;;;;;;;;;;4025:177;;;;;4125:66;;;;:::i;:::-;376:4689;;4125:66;;;;376:4689;;;;;;;;;;;;;;;;;543:26;376:4689;;;;;;;;;;;;;;;;;;;;880:39;376:4689;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;376:4689:222;;;-1:-1:-1;;;;;;376:4689:222;;;;-1:-1:-1;;;;;376:4689:222;2566:40:81;376:4689:222;;2566:40:81;376:4689:222;;;;;;;;;;;;;;;;;;;708:31;376:4689;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;3397:26;376:4689;;;;3397:26;:::i;:::-;376:4689;3433:131;;;;;;376:4689;;;;;;;;;;;;;;;;;3433:131;;;;376:4689;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;3513:10;376:4689;;;;-1:-1:-1;;376:4689:222;;;;3433:131;;;;;;;;;;;376:4689;3433:131;;;376:4689;;;;3513:10;3580:48;3513:10;3580:48;;;376:4689;;;;;;3433:131;;;;:::i;:::-;;;;;376:4689;;;;;;;;;;;;;;;;;;;;;;;;;1100:43;376:4689;;;-1:-1:-1;;;;;376:4689:222;;;;;;;;;;;;;;;;;;;;;;;790:31;376:4689;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;376:4689:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;376:4689:222;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;376:4689:222;;;;;;-1:-1:-1;;;;;376:4689:222;;;;;;:::o;1359:130:81:-;1273:6;376:4689:222;-1:-1:-1;;;;;376:4689:222;719:10:102;1422:23:81;376:4689:222;;1359:130:81:o;376:4689:222:-;;;;;;;;;;;;;;;;;;;;;;;;;2076:635;-1:-1:-1;;;;;376:4689:222;;2204:27;;376:4689;;471:26;2246:30;;2242:109;;543:26;2364:30;;2360:121;;623:34;2494:38;2490:143;;376:4689;;-1:-1:-1;;;376:4689:222;;;;;;;;;;;;;;;;;-1:-1:-1;;;376:4689:222;;;;;;;2490:143;-1:-1:-1;;;;;376:4689:222;;2548:54;376:4689;;;2548:54;376:4689;2616:7::o;2360:121::-;376:4689;-1:-1:-1;;;;;376:4689:222;;2410:40;376:4689;;;2410:40;376:4689;2464:7::o;2242:109::-;376:4689;-1:-1:-1;;;;;376:4689:222;;;;;;;;2334:7::o;376:4689::-;;;;:::o;:::-;;;-1:-1:-1;;;376:4689:222;;;;;;;;;;;;;;;;;-1:-1:-1;;;376:4689:222;;;;;;;;;;;;;;;;-1:-1:-1;376:4689:222;;;;;;;;;-1:-1:-1;376:4689:222;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;376:4689:222;;;;;;;;;:::o;973:759:85:-;1101:558;973:759;1101:558;;;;;;;;;;;;;;;;;;376:4689:222;-1:-1:-1;;;;;376:4689:222;;1676:22:85;376:4689:222;;973:759:85:o;376:4689:222:-;;;-1:-1:-1;;;376:4689:222;;1101:558:85;376:4689:222;;;;;;;;;-1:-1:-1;;;376:4689:222;;;;;;","linkReferences":{}},"methodIdentifiers":{"LAZY_ROYALTY_GUARD()":"00e8ece6","LAZY_ROYALTY_GUARD_DEADMAN()":"740adf31","LAZY_SOVEREIGN_NFT()":"637944f5","ROYALTY_GUARD()":"7de4c082","ROYALTY_GUARD_DEADMAN()":"ef6fde5b","SOVEREIGN_NFT()":"ea14289f","createSovereignNFTContract(string,string)":"3cebcf41","createSovereignNFTContract(string,string,uint256)":"da8d79f3","createSovereignNFTContract(string,string,uint256,bytes32)":"877ebf51","lazySovereignNFT()":"f5e0e6df","lazySovereignNFTRoyaltyGuard()":"22d60fcb","lazySovereignNFTRoyaltyGuardDeadmanTrigger()":"c4dca7ab","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setSovereignNFT(address)":"9607cb49","setSovereignNFT(address,bytes32)":"a55b1c25","sovereignNFT()":"d05df883","sovereignNFTRoyaltyGuard()":"c9be0590","sovereignNFTRoyaltyGuardDeadmanTrigger()":"d1e0f700","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"contractType\",\"type\":\"bytes32\"}],\"name\":\"SovereignNFTContractCreated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAZY_SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lazySovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol\":\"SovereignNFTContractFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e\",\"dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0x74a1aa566315a4c0d91fc502278a18ecd4b2badc4b8206a1d9b819aa7fa7d9eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccdd47e55f55319ae049c60f843bfd64e0082b38d349e87173dc3eb4fafd04e2\",\"dweb:/ipfs/QmQWDQf4Fw5HDnGKxxoyvS4gvB2yyiKb4L4kHDMPuyPrbd\"]},\"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol\":{\"keccak256\":\"0xc427971875af9f3a4dbb7aa463090b019aff6c324720bdd51f8d5f860ac682e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8db9f7ec431febdf3a0617f83783d1ba8b9561e702186058baf7689119c87e1\",\"dweb:/ipfs/QmNNrVnKEFTWpw9qfJYdpWxDAZQbhucZ1UCBVyav8FN7k4\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a\",\"dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165\",\"dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true}],"type":"event","name":"SovereignNFTContractCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"bytes32","name":"contractType","type":"bytes32","indexed":true}],"type":"event","name":"SovereignNFTContractCreated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_ROYALTY_GUARD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_ROYALTY_GUARD_DEADMAN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAZY_SOVEREIGN_NFT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ROYALTY_GUARD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ROYALTY_GUARD_DEADMAN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SOVEREIGN_NFT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFTRoyaltyGuard","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"lazySovereignNFTRoyaltyGuardDeadmanTrigger","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_sovereignNFT","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSovereignNFT"},{"inputs":[{"internalType":"address","name":"_sovereignNFT","type":"address"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setSovereignNFT"},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFTRoyaltyGuard","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFTRoyaltyGuardDeadmanTrigger","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol":"SovereignNFTContractFactory"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db","urls":["bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e","dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFT.sol":{"keccak256":"0x74a1aa566315a4c0d91fc502278a18ecd4b2badc4b8206a1d9b819aa7fa7d9eb","urls":["bzz-raw://ccdd47e55f55319ae049c60f843bfd64e0082b38d349e87173dc3eb4fafd04e2","dweb:/ipfs/QmQWDQf4Fw5HDnGKxxoyvS4gvB2yyiKb4L4kHDMPuyPrbd"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFTContractFactory.sol":{"keccak256":"0xc427971875af9f3a4dbb7aa463090b019aff6c324720bdd51f8d5f860ac682e4","urls":["bzz-raw://a8db9f7ec431febdf3a0617f83783d1ba8b9561e702186058baf7689119c87e1","dweb:/ipfs/QmNNrVnKEFTWpw9qfJYdpWxDAZQbhucZ1UCBVyav8FN7k4"],"license":"MIT"},"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol":{"keccak256":"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8","urls":["bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a","dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1"],"license":"MIT"},"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318","urls":["bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165","dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":222} \ No newline at end of file diff --git a/abis/SovereignNFTContractFactoryV2.json b/abis/SovereignNFTContractFactoryV2.json new file mode 100644 index 0000000..953b221 --- /dev/null +++ b/abis/SovereignNFTContractFactoryV2.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ROYALTY_GUARD","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ROYALTY_GUARD_DEADMAN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SOVEREIGN_NFT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSovereignNFTContract","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSovereignNFT","inputs":[{"name":"_sovereignNFT","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSovereignNFT","inputs":[{"name":"_sovereignNFT","type":"address","internalType":"address"},{"name":"_contractType","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sovereignNFT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"sovereignNFTRoyaltyGuard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"sovereignNFTRoyaltyGuardDeadmanTrigger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SovereignNFTContractCreatedV2","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"contractType","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false}],"bytecode":{"object":"0x60806040908082523461013f5760008054336001600160a01b031980831682178455936001600160a01b03939290919084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36001600160401b0390612e44818101908382118383101761012b5790829162000de98339039083f0801561012157831684600154161760015584516137aa808201908282108483111761012b579082916200755b8339039083f0801561012157831684600254161760025584519061392e808301918383109083111761010d5790829162003c2d8339039082f090811561010257501690600354161760035551610ca49081620001458239f35b8451903d90823e3d90fd5b634e487b7160e01b84526041600452602484fd5b85513d84823e3d90fd5b634e487b7160e01b85526041600452602485fd5b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80633cebcf41146107b1578063715018a6146107575780637de4c0821461071c578063877ebf51146104215780638da5cb5b146103f95780639607cb49146103b2578063a55b1c251461037f578063c9be059014610356578063d05df8831461032d578063d1e0f70014610304578063da8d79f3146101ed578063ea14289f146101c4578063ef6fde5b146101855763f2fde38b146100bb57600080fd5b34610181576020366003190112610181576100d4610959565b906100dd61096f565b6001600160a01b0391821692831561012f575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101c057816003193601126101c057602090517f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f8152f35b5080fd5b5050346101c057816003193601126101c05760209051600080516020610c4f8339815191528152f35b5090346101815760603660031901126101815767ffffffffffffffff9082358281116103005761022090369085016108f1565b916024359081116103005761023890369085016108f1565b928460443594610249861515610ad3565b6001546001600160a01b0395908690610263908216610bba565b1696873b156102f25761028a9086519586948594635edc7c1960e01b865233928601610b7b565b038183885af180156102f6576102de575b50602093600080516020610c4f8339815191529151937fa838c9ce3fa39c7f5b1872ef1e902e94003d66b42f13994792daf8e68d7bb9b7339280a4600154168152f35b6102e885916108c7565b6102f2573861029b565b8380fd5b82513d87823e3d90fd5b8480fd5b5050346101c057816003193601126101c05760035490516001600160a01b039091168152602090f35b5050346101c057816003193601126101c05760015490516001600160a01b039091168152602090f35b5050346101c057816003193601126101c05760025490516001600160a01b039091168152602090f35b5050346101c0573660031901126103af576103ac61039b610959565b6103a361096f565b602435906109c7565b80f35b80fd5b83346103af5760203660031901126103af576103cc610959565b6103d461096f565b6001600160a01b031680156101c0576001600160601b0360a01b600154161760015580f35b5050346101c057816003193601126101c057905490516001600160a01b039091168152602090f35b508290346101c05760803660031901126101c05767ffffffffffffffff81358181116102f25761045490369084016108f1565b906024359081116102f25761046c90369084016108f1565b606435919060443561047f811515610ad3565b8592600080516020610c4f83398151915285146106a8575b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438514610626575b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f85146105a0575b5050506001600160a01b031691821561052a57506020935192827fa838c9ce3fa39c7f5b1872ef1e902e94003d66b42f13994792daf8e68d7bb9b7339280a48152f35b60a490602086519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b039450919290916105bc908516610bba565b93841691823b15610622579186918880946105ec8c5197889687958694635edc7c1960e01b865233928601610b7b565b03925af1801561061857908591610604575b806104e7565b61060d906108c7565b6102f25783866105fe565b86513d87823e3d90fd5b8780fd5b6002546001600160a01b03945061063e908516610bba565b938416803b1561062257878361066d9289838d51809681958294635edc7c1960e01b84528c8b33928601610b7b565b03925af1801561069e57908891610686575b50506104bf565b61068f906108c7565b61069a57868961067f565b8680fd5b89513d8a823e3d90fd5b6001546001600160a01b0394506106c0908516610bba565b938416803b156106225787836106ef9289838d51809681958294635edc7c1960e01b84528c8b33928601610b7b565b03925af1801561069e57908891610708575b5050610497565b610711906108c7565b61069a578689610701565b5050346101c057816003193601126101c057602090517fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438152f35b83346103af57806003193601126103af5761077061096f565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610181576003199180833601126102f25767ffffffffffffffff8483358281116101c0576107e490369086016108f1565b916024359081116101c0576107fc90369086016108f1565b9460018060a01b0394856108138160015416610bba565b1696873b156102f2576080926108539161084488519788968796635edc7c1960e01b88528701526084860190610b3b565b91848303016024850152610b3b565b3360448301526000196064830152038183885af180156102f65794600080516020610c4f83398151915292916020966108b8575b509051937fa838c9ce3fa39c7f5b1872ef1e902e94003d66b42f13994792daf8e68d7bb9b7339280a4600154168152f35b6108c1906108c7565b38610887565b67ffffffffffffffff81116108db57604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156109545780359067ffffffffffffffff928383116108db5760405193601f8401601f19908116603f01168501908111858210176108db576040528284526020838301011161095457816000926020809301838601378301015290565b600080fd5b600435906001600160a01b038216820361095457565b6000546001600160a01b0316330361098357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b031690811561095457600080516020610c4f8339815191528114610abd577fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438114610aa7577f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610a925760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b15610ada57565b60405162461bcd60e51b815260206004820152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b919082519283825260005b848110610b67575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610b46565b90606092610b98610ba69297969597608085526080850190610b3b565b908382036020850152610b3b565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b03821615610c1057565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfe618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fda264697066735822122070e07687b230808316966ad12276b69b54e41ae7ed460085203f201a9fd7ba4f64736f6c634300081200336080806040523461001657612e28908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714611a8b5750806306fdde03146119e1578063081812fc146119c1578063095ea7b31461185057806318160ddd1461183057806318e97fd11461153f5780631a0058f5146114c357806323b872dd1461149e5780632a55205a1461140c5780633403c4e9146113e35780633ebc82c5146113a157806340c1a0641461137757806342842e0e1461134357806342966c68146113265780634aa52c41146112b65780635edc7c1914610dac5780636297c16c14610d30578063631d1d9a146105745780636352211e14610cff57806370a0823114610c69578063715018a614610c0c5780637cc918d11461092e578063894ba833146108e05780638da5cb5b146108b757806395d89b41146107d2578063a22cb46514610703578063a448dd4f14610663578063a8fabfa514610643578063ab69607a14610624578063b88d4fde1461059a578063bb2ee99f14610574578063c87b56dd14610539578063d9856c21146104cd578063de903ddd14610348578063e831574214610328578063e985e9c5146102da578063ee070805146102b7578063efc32cd4146102645763f2fde38b146101d057600080fd5b34610260576020366003190112610260576101e9611b70565b916101f2611d0b565b6001600160a01b0383161561020e578361020b84611d63565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102b357806003193601126102b35761027e611b70565b90610287611d0b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102b357816003193601126102b35760209060ff80541690519015158152f35b5050346102b357806003193601126102b35760ff816020936102fa611b70565b610302611b8b565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102b357816003193601126102b357602090610100549051908152f35b508290346102b35761035936611be4565b9192610363611d0b565b61038060ff8054610376828216156121c0565b60081c1615612d66565b61038e610105548510612cd6565b60026103998561220c565b5001906001600160401b0384116104ba57506103bf836103b98354611dac565b8361216c565b84601f841160011461042b579561041a918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c979891610420575b508560011b906000198760031b1c19161790555b5192839283612daa565b0390a280f35b9050840135896103fc565b81865260208087209190601f1986169088905b8282106104a25750509161041a9391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610488575b5050600185811b019055610410565b850135600019600388901b60f8161c191690558880610479565b80600185968294968a0135815501950193019061043e565b634e487b7160e01b865260419052602485fd5b8382346102b35760203660031901126102b35780356001600160401b0381116102605736602382011215610260576105359181602461051193369301359101611cd4565b610519611d0b565b61052760ff805416156121c0565b60fc543391829081906123ac565b5080f35b509134610571576020366003190112610571575061055a61056d92356126a3565b9051918291602083526020830190611b4b565b0390f35b80fd5b5050346102b357816003193601126102b35760209060ff805460081c1690519015158152f35b8382346102b35760803660031901126102b3576105b5611b70565b906105be611b8b565b91604435606435936001600160401b0385116106205736602386011215610620576105f861061b9486602461020b98369301359101611cd4565b9261060b610606843361292e565b611e8c565b610616838383612a60565b612081565b611f41565b8580fd5b5050346102b357816003193601126102b35760209060fc549051908152f35b5050346102b357816003193601126102b357602090610105549051908152f35b503461026057826003193601126102605761067c611d0b565b60ff549160ff8360081c166106c05761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461026057806003193601126102605761071d611b70565b90602435918215158093036107ce576001600160a01b03169233841461078c5750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102b357816003193601126102b357805190826098546107f481611dac565b8085529160019180831690811561088f5750600114610832575b5050506108208261056d940383611c98565b51918291602083526020830190611b4b565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106108775750505061082082602061056d958201019461080e565b8054602087870181019190915290950194810161085a565b61056d97508693506020925061082094915060ff191682840152151560051b8201019461080e565b5050346102b357816003193601126102b35760335490516001600160a01b039091168152602090f35b83346105715780600319360112610571576108f9611d0b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102b357806003193601126102b3576001600160401b03928035848111610c08576109609036908301611bb7565b61096b959195611d0b565b61097960ff805416156121c0565b6101049081549660019384890194858a11610bf5576024998a350193818501808811610be3578511610bd15788519560209687810181811086821117610bbf578b52869052859055610100548511610b7d5789906109ed8a51956109dc87611c4c565b898752888701928884523691611cd4565b948a810195865261010580549068010000000000000000821015610b6b578582019055610a199061220c565b939093610b5a575090600292915182555183820155019251968751928311610b485750889950610a5782610a51859b999a9b54611dac565b8561216c565b8497601f8311600114610ac4578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ab9575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610a93565b8388528588209098919291601f198316895b818110610b30575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610b17575b505050811b019055610aa5565b015160001960f88460031b161c19169055388080610b0a565b828c015184558d9a5092850192918801918801610ad6565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b8334610571578060031936011261057157610c25611d0b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102b35760203660031901126102b3576001600160a01b03610c8d611b70565b16908115610caa576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105715760203660031901126105715750610d1f602092356128be565b90516001600160a01b039091168152f35b503461026057602036600319011261026057803591610d4e836128be565b336001600160a01b0390911603610d69578361020b8461225e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610260576080366003190112610260576001600160401b039180358381116107ce57610dde9036908301611bb7565b91906024358581116112b257610df79036908401611bb7565b610e02969196611ba1565b9388549760ff94858a60081c1615978880996112a6575b8015611290575b1561123657600160ff198c1681178d559a89611225575b506001600160a01b038816156111e257610e959291610e8d91610e7d898f600a60fc5561ffff198254168255606435610100555460081c16610e788161210c565b61210c565b610e8633611d63565b3691611cd4565b933691611cd4565b90610ea9858b5460081c16610e788161210c565b82518481116111cf5780610ebe609754611dac565b94601f9586811161115e575b506020908d8784116001146110df57926110d4575b5050600019600383901b1c1916908a1b176097555b81519384116110c15750610f09609854611dac565b82811161105e575b506020918311600114610fd2579180610f86959492610f5e948b92610fc7575b5050600019600383901b1c191690881b176098555b875460081c16610f558161210c565b610e788161210c565b60fb80546001600160a01b0319166001600160a01b038316179055610f81611d0b565b611d63565b610f8e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610f31565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611046575091610f5e95939185610f86999896941061102d575b505050811b01609855610f46565b015160001960f88460031b161c1916905538808061101f565b8284015185558b969094019360209384019301611002565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106110b8575b0160051c019089905b8281106110ad575050610f11565b8b815501899061109f565b92508192611096565b634e487b7160e01b8a5260419052602489fd5b015190503880610edf565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106111465750841161112d575b505050811b01609755610ef4565b015160001960f88460031b161c1916905538808061111f565b8284015185558f969094019360209384019301611110565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106111c6575b859493910160051c909101908d908f5b8382106111b857505050610eca565b81558594508e91018f6111a9565b92508192611199565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c5538610e37565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610e2057506001878c1614610e20565b506001878c1610610e19565b8680fd5b8382346102b35760603660031901126102b35780356001600160401b03811161026057610535916112e991369101611bb7565b906112f2611b8b565b6112fa611ba1565b92611303611d0b565b61131160ff805416156121c0565b61132160fc549333923691611cd4565b6123ac565b8382346102b35760203660031901126102b35761020b903561225e565b5050346102b35761061b61020b9161135a36611c17565b9192519261136784611c7d565b86845261060b610606843361292e565b5050346102b35760203660031901126102b35760335490516001600160a01b039091168152602090f35b83346105715760203660031901126105715761020b6113be611b70565b6113c6611d0b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102b357816003193601126102b35760fb5490516001600160a01b039091168152602090f35b5091346105715781600319360112610571578235815260fd60205281812054602435906001600160a01b03908116801561149257925b60fe60205284812054801561148857925b8381029381850414901517156114755750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611453565b508060fb541692611442565b83346105715761020b6114b036611c17565b916114be610606843361292e565b612a60565b50823461057157602036600319011261057157506114ef90356114ea610105548210612cd6565b61220c565b5061056d82516114fe81611c4c565b82548152606061151c60026001860154956020850196875201611de6565b918286820152519351948051958695865260208601528401526060830190611b4b565b508290346102b35761155036611be4565b919260ff5461156260ff8216156121c0565b6033546001600160a01b031633036117e35760ff6115849160081c1615612d66565b6000848152609960205260409020546001600160a01b0316151580156117ba575b15611780576115b384612c35565b5050156116a65783855260206101078152868620916001600160401b03851161169357506115eb846115e58454611dac565b8461216c565b8590601f851160011461163457509561041a91848798600080516020612dd383398151915297989161042057508560011b906000198760031b1c19161790555192839283612daa565b90601f1985168388528288209288905b82821061167b5750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611644565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b03851161169357506116d1846115e58454611dac565b8590601f851160011461172157509561041a91848798600080516020612dd3833981519152979891611716575b508560011b906000198760031b1c1916179055610410565b9050840135896116fe565b90601f1985168388528288209288905b8282106117685750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611731565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b506117c484612c35565b505080156115a5575083855261010260205260ff8686205416156115a5565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346102b357816003193601126102b357602090610104549051908152f35b5034610260578160031936011261026057611869611b70565b6024359290916001600160a01b0391908280611884876128be565b1694169380851461197457803314908115611955575b50156118ed5750838552610103602052842080546001600160a01b031916831790556118c583612346565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861189a565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346105715760203660031901126105715750610d1f60209235612998565b5050346102b357816003193601126102b35780519082609754611a0381611dac565b8085529160019180831690811561088f5750600114611a2e575050506108208261056d940383611c98565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a735750505061082082602061056d958201019461080e565b80546020878701810191909152909501948101611a56565b92505034610260576020366003190112610260573563ffffffff60e01b811690818103610c085760209350631030681960e21b8214918215611b17575b8215611aee575b508115611ade575b5015158152f35b611ae89150612d22565b38611ad7565b90915063152a902d60e11b148015611b08575b9038611acf565b50611b1281612d22565b611b01565b6301ffc9a760e01b81149250611ac8565b60005b838110611b3b5750506000910152565b8181015183820152602001611b2b565b90602091611b6481518092818552858086019101611b28565b601f01601f1916010190565b600435906001600160a01b0382168203611b8657565b600080fd5b602435906001600160a01b0382168203611b8657565b604435906001600160a01b0382168203611b8657565b9181601f84011215611b86578235916001600160401b038311611b865760208381860195010111611b8657565b906040600319830112611b865760043591602435906001600160401b038211611b8657611c1391600401611bb7565b9091565b6060906003190112611b86576001600160a01b03906004358281168103611b8657916024359081168103611b86579060443590565b606081019081106001600160401b03821117611c6757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117611c6757604052565b90601f801991011681019081106001600160401b03821117611c6757604052565b6001600160401b038111611c6757601f01601f191660200190565b929192611ce082611cb9565b91611cee6040519384611c98565b829481845281830111611b86578281602093846000960137010152565b6033546001600160a01b03163303611d1f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611ddc575b6020831014611dc657565b634e487b7160e01b600052602260045260246000fd5b91607f1691611dbb565b9060405191826000825492611dfa84611dac565b908184526001948581169081600014611e695750600114611e26575b5050611e2492500383611c98565b565b9093915060005260209081600020936000915b818310611e51575050611e2493508201013880611e16565b85548884018501529485019487945091830191611e39565b915050611e2494506020925060ff191682840152151560051b8201013880611e16565b15611e9357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611f4857565b60405162461bcd60e51b815280611f6160048201611eee565b0390fd5b9192600092909190803b1561207757611fb3946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611b4b565b03926001600160a01b03165af1849181612037575b50612026575050503d60001461201e573d611fe281611cb9565b90611ff06040519283611c98565b81528091833d92013e5b8051918261201b5760405162461bcd60e51b815280611f6160048201611eee565b01fd5b506060611ffa565b6001600160e01b0319161492509050565b9091508581813d8311612070575b61204f8183611c98565b810103126107ce57516001600160e01b0319811681036107ce579038611fc8565b503d612045565b5050915050600190565b9293600093909291803b15612101579484916120db9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611b4b565b0393165af18491816120375750612026575050503d60001461201e573d611fe281611cb9565b505050915050600190565b1561211357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f811161217a57505050565b600091825260208220906020601f850160051c830194106121b6575b601f0160051c01915b8281106121ab57505050565b81815560010161219f565b9092508290612196565b156121c757565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561224857600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b61226781612c35565b5050600082815261010260205260408120805460ff191660011790559080612327575b6123235761229b610606833361292e565b6122a482612346565b506122ae82612346565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561228a565b6000908152609960205260409020546001600160a01b031680156123675790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161251f576123f061061b6040516123da81611c7d565b896000968783526123eb82826125af565b611f65565b868352602091610106835260408420918151916001600160401b03831161250b576124258361241f8654611dac565b8661216c565b8490601f84116001146124a257928060fd9593819389989660409a94612497575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612446565b8487528587209293929190601f198416885b8181106124f6575091604098979593918560fd989694106124dd575b505050811b019055612458565b015160001960f88460031b161c191690553880806124d0565b828401518555938601939288019288016124b4565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561256a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561265f576000828152609960205260409020546125e3906001600160a01b031615155b15612563565b600082815260996020526040902054612606906001600160a01b031615156125dd565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926126c184842054611dac565b6128af57506126cf81612c35565b91151590506126ed57506126ea936101069183525220611de6565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156128a0575b5050866d04ee2d6d415b85acef810000000080841015612892575b5050662386f26fc1000080831015612883575b506305f5e10080831015612874575b5061271080831015612865575b506064821015612855575b600a8092101561284b575b600190816021818701966127a261278d89611cb9565b9861279a89519a8b611c98565b808a52611cb9565b888c019990601f1901368b3750870101905b612815575b5050505091602f60f81b946127f86126ea95936026955197856127e58a9751809287808b019101611b28565b8601938401525180936021840190611b28565b0164173539b7b760d91b6021820152036006810184520182611c98565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612846579190826127b4565b6127b9565b9260010192612777565b929060646002910491019261276c565b60049194920491019238612761565b60089194920491019238612754565b60109194920491019238612745565b940193909104908638612732565b91945091500481923880612717565b90936126ea9483525220611de6565b6128c781612c35565b50506128d6576126ea90612346565b8060005261010260205260ff604060002054166000146128f9576126ea90612346565b6000818152609960205260409020546001600160a01b031661292557506033546001600160a01b031690565b6126ea90612346565b6001600160a01b03908180612942856128be565b16911691818314938415612981575b5050821561295e57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061298e90612998565b1614913880612951565b600081815260fd60205260408120546001600160a01b0392919083166129bd83612c35565b5050908115612a56575b5080612a3e575b156129e457604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156129ce565b90501515386129c7565b908215611b8657612aaa91612a7484612c35565b505080612bbc575b80612ba2575b612b93575b612a9084612346565b6001600160a01b0393918416928492909183168414612bdb565b16918215612b425781612ac791612ac086612346565b1614612bdb565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612b9d84826125af565b612a87565b508360005261010260205260ff6040600020541615612a82565b506000848152609960205260409020546001600160a01b031615612a7c565b15612be257565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612c625750509050600090600090604051612c5b81611c7d565b6000815290565b612c6b8161220c565b505482101580612cbf575b612ca1576000198114612c8b57600101612c3e565b634e487b7160e01b600052601160045260246000fd5b809350612cae915061220c565b50906126ea60026001949301611de6565b506001612ccb8261220c565b500154821115612c76565b15612cdd57565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b63ffffffff60e01b166380ac58cd60e01b8114908115612d55575b8115612d47575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612d3d565b15612d6d57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f191601019056fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220969e2394308c567c997d6e7dca65a30180f130833068728b683321d2017dc08764736f6c634300081200336080806040523461001657613912908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e8146122c357806301ffc9a7146121ed57806306fdde0314612143578063081812fc14612123578063095ea7b314611f0757806318160ddd14611ee757806318e97fd114611bf65780631a0058f514611b7a5780632042748614611b4657806321c4a5d814611aa157806323b872dd14611a7c5780632a55205a146119ea5780632ce878da146119775780633403c4e91461194e5780633ebc82c51461190c57806340c1a064146118e257806342842e0e146118ae57806342966c6814611891578063472a6638146118015780634aa52c41146117915780635aec8d62146116e95780635edc7c19146111df5780636297c16c14611163578063631d1d9a146107d55780636352211e1461113257806370a082311461109c578063715018a61461103f578063717392ed1461101f5780637cc918d114610d5b57806387bc793f14610d33578063894ba83314610ce55780638da5cb5b14610cbc57806395d89b4114610bd75780639e860f2a14610ae6578063a22cb46514610964578063a448dd4f146108c4578063a8fabfa5146108a4578063ab69607a14610885578063b88d4fde146107fb578063bb2ee99f146107d5578063bc7194551461072d578063c87b56dd146106f2578063d9856c211461068a578063de903ddd14610505578063e8315742146104e5578063e985e9c514610497578063eab851181461043c578063ee07080514610419578063efc32cd4146103c6578063f2fde38b146103355763ff6e8c8f1461025257600080fd5b3461033157610260366124c1565b90919260018060a01b039485603354163303610324576003851015610311578415610304575050906102939136916129d9565b92805b8451811015610300576102fb906102c26102af85612a3f565b866102ba848a612a7e565b511690612ac0565b5083856102cf8389612a7e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612a59565b610296565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103315760203660031901126103315761034f6123bc565b916103586125d8565b6001600160a01b03831615610374578361037184612630565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346104155780600319360112610415576103e06123bc565b906103e96125d8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461041557816003193601126104155760209060ff80541690519015158152f35b5050346104155760203660031901126104155760209061048e61045d6123bc565b61046c60ff6101095416612a3f565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b50503461041557806003193601126104155760ff816020936104b76123bc565b6104bf6123d7565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610415578160031936011261041557602090610100549051908152f35b508290346104155761051636612430565b91926105206125d8565b61053d60ff805461053382821615612cdf565b60081c161561380c565b61054b6101055485106137c0565b600261055685612d2b565b5001906001600160401b038411610677575061057c836105768354612679565b83612c8b565b84601f84116001146105e857956105d7918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105dd575b508560011b906000198760031b1c19161790555b5192839283613850565b0390a280f35b9050840135896105b9565b81865260208087209190601f1986169088905b82821061065f575050916105d79391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610645575b5050600185811b0190556105cd565b850135600019600388901b60f8161c191690558880610636565b80600185968294968a013581550195019301906105fb565b634e487b7160e01b865260419052602485fd5b8382346104155760203660031901126104155780356001600160401b038111610331573660238201121561033157610300918160246106ce933693013591016125a1565b6106d66125d8565b6106e460ff80541615612cdf565b60fc54339182908190612eb5565b50913461072a57602036600319011261072a575061071361072692356131a6565b9051918291602083526020830190612397565b0390f35b80fd5b5090346103315760203660031901126103315781359160038310156107d1576033546001600160a01b031633036107c3575061076882612a3f565b805490848155816107a5575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d7339482612498565b845260208420908101905b81811015610774578481556001016107b0565b9051635c510c8360e11b8152fd5b8380fd5b50503461041557816003193601126104155760209060ff805460081c1690519015158152f35b838234610415576080366003190112610415576108166123bc565b9061081f6123d7565b91604435606435936001600160401b03851161088157366023860112156108815761085961087c94866024610371983693013591016125a1565b9261086c6108678433613431565b612759565b610877838383613563565b61294e565b61280e565b8580fd5b50503461041557816003193601126104155760209060fc549051908152f35b505034610415578160031936011261041557602090610105549051908152f35b50346103315782600319360112610331576108dd6125d8565b60ff549160ff8360081c166109215761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461033157806003193601126103315761097e6123bc565b9060243591821515809303610ae25760ff61010954166003811015610acf5760018103610a855750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a76575b6001600160a01b031692338414610a345750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109d45760028552610108602052610abb82862060018060a01b0383169060019160005201602052604060002054151590565b156109d45781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461033157610af6366124c1565b6033546001600160a01b03949085163303610bc8575090610b189136916129d9565b9160038210159081610acf5782610b2d578580f35b8591929394955b8551811015610bb857610b5c610b4986612a3f565b83610b54848a612a7e565b511690612b2e565b508382610b698389612a7e565b511690610ba5579085610ba092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612a59565b610b34565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b50503461041557816003193601126104155780519082609854610bf981612679565b80855291600191808316908115610c945750600114610c37575b505050610c2582610726940383612565565b51918291602083526020830190612397565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c7c57505050610c258260206107269582010194610c13565b80546020878701810191909152909501948101610c5f565b610726975086935060209250610c2594915060ff191682840152151560051b82010194610c13565b50503461041557816003193601126104155760335490516001600160a01b039091168152602090f35b833461072a578060031936011261072a57610cfe6125d8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346104155781600319360112610415576107269060ff6101095416905191829182612498565b509190346104155780600319360112610415576001600160401b039280358481116107d157610d8d9036908301612403565b94610d966125d8565b610da460ff80541615612cdf565b6101049081549260019182850180951161100c57602498610dc68a3587612c1e565b9360001991828601958611610ffa5789519660209788810181811087821117610fe8578c52879052869055610100548611610fa6578a90610e1d8b5196610e0c88612519565b8a88528988019289845236916125a1565b958b8101968752610105805490600160401b821015610f94578582019055610e4490612d2b565b939093610f83575090600292915182555183820155019351978851938411610f715750899a50610e8283610e7c869c9a9b9c54612679565b86612c8b565b8598601f8411600114610eec57839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610ee1575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610ebf565b98909291601f19831691858a52878a20928a5b818110610f5957509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610f41575b50505050811b019055610ecd565b01519060f88460031b161c1916905538808080610f33565b828d015185558e9b5093860193918901918901610eff565b634e487b7160e01b8b52604190528a8afd5b634e487b7160e01b8152808c528e90fd5b634e487b7160e01b855260418d528f85fd5b895162461bcd60e51b8152808a01889052601d818e01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8e5260418c528e8efd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b885260118652602488fd5b50503461041557816003193601126104155760209061010a549051908152f35b833461072a578060031936011261072a576110586125d8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610415576020366003190112610415576001600160a01b036110c06123bc565b169081156110dd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461072a57602036600319011261072a5750611152602092356133c1565b90516001600160a01b039091168152f35b503461033157602036600319011261033157803591611181836133c1565b336001600160a01b039091160361119c578361037184612d67565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610331576080366003190112610331576001600160401b03918035838111610ae2576112119036908301612403565b91906024358581116116e55761122a9036908401612403565b6112359691966123ed565b9388549760ff94858a60081c1615978880996116d9575b80156116c3575b1561166957600160ff198c1681178d559a89611658575b506001600160a01b03881615611615576112c892916112c0916112b0898f600a60fc5561ffff198254168255606435610100555460081c166112ab81612c2b565b612c2b565b6112b933612630565b36916125a1565b9336916125a1565b906112dc858b5460081c166112ab81612c2b565b825184811161160257806112f1609754612679565b94601f95868111611591575b506020908d8784116001146115125792611507575b5050600019600383901b1c1916908a1b176097555b81519384116114f4575061133c609854612679565b828111611491575b5060209183116001146114055791806113b9959492611391948b926113fa575b5050600019600383901b1c191690881b176098555b875460081c1661138881612c2b565b6112ab81612c2b565b60fb80546001600160a01b0319166001600160a01b0383161790556113b46125d8565b612630565b6113c1578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611364565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611479575091611391959391856113b99998969410611460575b505050811b01609855611379565b015160001960f88460031b161c19169055388080611452565b8284015185558b969094019360209384019301611435565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114eb575b0160051c019089905b8281106114e0575050611344565b8b81550189906114d2565b925081926114c9565b634e487b7160e01b8a5260419052602489fd5b015190503880611312565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061157957508411611560575b505050811b01609755611327565b015160001960f88460031b161c19169055388080611552565b8284015185558f969094019360209384019301611543565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115f9575b859493910160051c909101908d908f5b8382106115eb575050506112fd565b81558594508e91018f6115dc565b925081926115cc565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861126a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561125357506001878c1614611253565b506001878c161061124c565b8680fd5b50903461033157826003193601126103315761010a54421061178457506101099081549060ff821690600382101561177157508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346104155760603660031901126104155780356001600160401b03811161033157610300916117c491369101612403565b906117cd6123d7565b6117d56123ed565b926117de6125d8565b6117ec60ff80541615612cdf565b6117fc60fc5493339236916125a1565b612eb5565b50346103315760203660031901126103315780359160038310156107d1576033546001600160a01b0316330361032457506101099182549160ff831690600382101561187e5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b838234610415576020366003190112610415576103719035612d67565b5050346104155761087c610371916118c536612463565b919251926118d28461254a565b86845261086c6108678433613431565b5050346104155760203660031901126104155760335490516001600160a01b039091168152602090f35b833461072a57602036600319011261072a576103716119296123bc565b6119316125d8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461041557816003193601126104155760fb5490516001600160a01b039091168152602090f35b82843461072a578060031936011261072a5761199860ff6101095416612a3f565b9180519182845490818152602080910195835280832092905b8282106119d35761072686866119c9828b0383612565565b5191829182612330565b8354875295860195600193840193909101906119b1565b50913461072a578160031936011261072a578235815260fd60205281812054602435906001600160a01b039081168015611a7057925b60fe602052848120548015611a6657925b838102938185041490151715611a535750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a31565b508060fb541692611a20565b833461072a57610371611a8e36612463565b91611a9c6108678433613431565b613563565b503461033157602036600319011261033157603354813591906001600160a01b03163303611b38576301e1338091828102928184041490151715611b255750611aea9042612c1e565b9061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b50503461041557602036600319011261041557602090611b646123bc565b60018060a01b0380603354169116149051908152f35b50823461072a57602036600319011261072a5750611ba69035611ba16101055482106137c0565b612d2b565b506107268251611bb581612519565b825481526060611bd3600260018601549560208501968752016126b3565b918286820152519351948051958695865260208601528401526060830190612397565b5082903461041557611c0736612430565b919260ff54611c1960ff821615612cdf565b6033546001600160a01b03163303611e9a5760ff611c3b9160081c161561380c565b6000848152609960205260409020546001600160a01b031615158015611e71575b15611e3757611c6a84613738565b505015611d5d5783855260206101078152868620916001600160401b038511611d4a5750611ca284611c9c8454612679565b84612c8b565b8590601f8511600114611ceb5750956105d7918487986000805160206138bd8339815191529798916105dd57508560011b906000198760031b1c19161790555192839283613850565b90601f1985168388528288209288905b828210611d32575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611cfb565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611d4a5750611d8884611c9c8454612679565b8590601f8511600114611dd85750956105d7918487986000805160206138bd833981519152979891611dcd575b508560011b906000198760031b1c19161790556105cd565b905084013589611db5565b90601f1985168388528288209288905b828210611e1f575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611de8565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611e7b84613738565b50508015611c5c575083855261010260205260ff868620541615611c5c565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b505034610415578160031936011261041557602090610104549051908152f35b5034610331578160031936011261033157611f206123bc565b906024359260ff6101095416600381101561211057600181036120c95750600180865261010860209081528287206001600160a01b0386166000908152920190526040902054156120bd575b6001600160a01b03918280611f80876133c1565b1694169380851461207057803314908115612051575b5015611fe95750838552610103602052842080546001600160a01b03191683179055611fc183612e4f565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611f96565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611f6c57600285526101086020526120ff81862060018060a01b0385169060019160005201602052604060002054151590565b15611f6c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b50913461072a57602036600319011261072a57506111526020923561349b565b5050346104155781600319360112610415578051908260975461216581612679565b80855291600191808316908115610c94575060011461219057505050610c2582610726940383612565565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106121d557505050610c258260206107269582010194610c13565b805460208787018101919091529095019481016121b8565b50346103315760203660031901126103315735906001600160e01b031982168083036107d1576020935063fa31a45b60e01b81149283156122b2575b831561223a575b5050519015158152f35b919250631030681960e21b8114919082156122a1575b8215612278575b508115612268575b50903880612230565b6122729150613878565b3861225f565b90915063152a902d60e11b148015612292575b9038612257565b5061229c81613878565b61228b565b6301ffc9a760e01b81149250612250565b6301ffc9a760e01b82149350612229565b50903461033157602091826003193601126107d1573560038110156107d1576122eb90612a3f565b9281518093808654928381520195835280832092905b8282106123195761072686866119c9828b0383612565565b835487529586019560019384019390910190612301565b6020908160408183019282815285518094520193019160005b828110612357575050505090565b83516001600160a01b031685529381019392810192600101612349565b60005b8381106123875750506000910152565b8181015183820152602001612377565b906020916123b081518092818552858086019101612374565b601f01601f1916010190565b600435906001600160a01b03821682036123d257565b600080fd5b602435906001600160a01b03821682036123d257565b604435906001600160a01b03821682036123d257565b9181601f840112156123d2578235916001600160401b0383116123d257602083818601950101116123d257565b9060406003198301126123d25760043591602435906001600160401b0382116123d25761245f91600401612403565b9091565b60609060031901126123d2576001600160a01b039060043582811681036123d2579160243590811681036123d2579060443590565b9190602083019260038210156124ab5752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126123d25760043560038110156123d257916024356001600160401b03928382116123d257806023830112156123d25781600401359384116123d25760248460051b830101116123d2576024019190565b606081019081106001600160401b0382111761253457604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761253457604052565b90601f801991011681019081106001600160401b0382111761253457604052565b6001600160401b03811161253457601f01601f191660200190565b9291926125ad82612586565b916125bb6040519384612565565b8294818452818301116123d2578281602093846000960137010152565b6033546001600160a01b031633036125ec57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156126a9575b602083101461269357565b634e487b7160e01b600052602260045260246000fd5b91607f1691612688565b90604051918260008254926126c784612679565b90818452600194858116908160001461273657506001146126f3575b50506126f192500383612565565b565b9093915060005260209081600020936000915b81831061271e5750506126f1935082010138806126e3565b85548884018501529485019487945091830191612706565b9150506126f194506020925060ff191682840152151560051b82010138806126e3565b1561276057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561281557565b60405162461bcd60e51b81528061282e600482016127bb565b0390fd5b9192600092909190803b1561294457612880946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612397565b03926001600160a01b03165af1849181612904575b506128f3575050503d6000146128eb573d6128af81612586565b906128bd6040519283612565565b81528091833d92013e5b805191826128e85760405162461bcd60e51b81528061282e600482016127bb565b01fd5b5060606128c7565b6001600160e01b0319161492509050565b9091508581813d831161293d575b61291c8183612565565b81010312610ae257516001600160e01b031981168103610ae2579038612895565b503d612912565b5050915050600190565b9293600093909291803b156129ce579484916129a89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612397565b0393165af184918161290457506128f3575050503d6000146128eb573d6128af81612586565b505050915050600190565b9092916001600160401b038411612534578360051b6040519260208094612a0282850182612565565b80978152019181019283116123d257905b828210612a205750505050565b81356001600160a01b03811681036123d2578152908301908301612a13565b60038110156124ab57600052610108602052604060002090565b6000198114612a685760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015612a925760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612a925760005260206000200190600090565b6000828152600182016020526040902054612b2757805490600160401b8210156125345782612b10612af9846001809601855584612aa8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c175760001991808301818111612c0357825490848201918211612bef57808203612bba575b50505080548015612ba657820191612b898383612aa8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612bda612bca612af99386612aa8565b90549060031b1c92839286612aa8565b90558652846020526040862055388080612b71565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b91908201809211612a6857565b15612c3257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612c9957505050565b600091825260208220906020601f850160051c83019410612cd5575b601f0160051c01915b828110612cca57505050565b818155600101612cbe565b9092508290612cb5565b15612ce657565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015612a9257600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612d7081613738565b5050600082815261010260205260408120805460ff191660011790559080612e30575b612e2c57612da46108678333613431565b612dad82612e4f565b50612db782612e4f565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612d93565b6000908152609960205260409020546001600160a01b03168015612e705790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161302257612ef961087c604051612ee38161254a565b89600096878352612ef482826130b2565b612832565b868352602091610106835260408420918151916001600160401b03831161300e57612f2883610e7c8654612679565b8490601f8411600114612fa557928060fd9593819389989660409a94612f9a575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612f49565b8487528587209293929190601f198416885b818110612ff9575091604098979593918560fd98969410612fe0575b505050811b019055612f5b565b015160001960f88460031b161c19169055388080612fd3565b82840151855593860193928801928801612fb7565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561306d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015613162576000828152609960205260409020546130e6906001600160a01b031615155b15613066565b600082815260996020526040902054613109906001600160a01b031615156130e0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926131c484842054612679565b6133b257506131d281613738565b91151590506131f057506131ed9361010691835252206126b3565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156133a3575b5050866d04ee2d6d415b85acef810000000080841015613395575b5050662386f26fc1000080831015613386575b506305f5e10080831015613377575b5061271080831015613368575b506064821015613358575b600a8092101561334e575b600190816021818701966132a561329089612586565b9861329d89519a8b612565565b808a52612586565b888c019990601f1901368b3750870101905b613318575b5050505091602f60f81b946132fb6131ed95936026955197856132e88a9751809287808b019101612374565b8601938401525180936021840190612374565b0164173539b7b760d91b6021820152036006810184520182612565565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215613349579190826132b7565b6132bc565b926001019261327a565b929060646002910491019261326f565b60049194920491019238613264565b60089194920491019238613257565b60109194920491019238613248565b940193909104908638613235565b9194509150048192388061321a565b90936131ed94835252206126b3565b6133ca81613738565b50506133d9576131ed90612e4f565b8060005261010260205260ff604060002054166000146133fc576131ed90612e4f565b6000818152609960205260409020546001600160a01b031661342857506033546001600160a01b031690565b6131ed90612e4f565b6001600160a01b03908180613445856133c1565b16911691818314938415613484575b5050821561346157505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b839294506134919061349b565b1614913880613454565b600081815260fd60205260408120546001600160a01b0392919083166134c083613738565b5050908115613559575b5080613541575b156134e757604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156134d1565b90501515386134ca565b9082156123d2576135ad9161357784613738565b5050806136bf575b806136a5575b613696575b61359384612e4f565b6001600160a01b03939184169284929091831684146136de565b1691821561364557816135ca916135c386612e4f565b16146136de565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6136a084826130b2565b61358a565b508360005261010260205260ff6040600020541615613585565b506000848152609960205260409020546001600160a01b03161561357f565b156136e557565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613765575050905060009060009060405161375e8161254a565b6000815290565b61376e81612d2b565b5054821015806137a9575b61378b5761378690612a59565b613741565b8093506137989150612d2b565b50906131ed600260019493016126b3565b5060016137b582612d2b565b500154821115613779565b156137c757565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561381357565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b81149081156138ab575b811561389d575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061389356fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220278cbf2aa15dd6b8cc1ca3a2cdd56b7c7c99ef1ff329756416d84e4d4be73edf64736f6c63430008120033608080604052346100165761378e908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e81461214657806301ffc9a71461207057806306fdde0314611fc6578063081812fc14611fa6578063095ea7b314611d8a57806318160ddd14611d6a57806318e97fd114611a795780631a0058f5146119fd57806320427486146119c957806323b872dd146119a45780632a55205a146119125780632ce878da1461189f5780633403c4e9146118765780633ebc82c51461183457806340c1a0641461180a57806342842e0e146117d657806342966c68146117b9578063472a6638146117295780634aa52c41146116b95780635edc7c19146111af5780636297c16c14611133578063631d1d9a146107b45780636352211e1461110257806370a082311461106c578063715018a61461100f5780637cc918d114610d3a57806387bc793f14610d12578063894ba83314610cc45780638da5cb5b14610c9b57806395d89b4114610bb65780639e860f2a14610ac5578063a22cb46514610943578063a448dd4f146108a3578063a8fabfa514610883578063ab69607a14610864578063b88d4fde146107da578063bb2ee99f146107b4578063bc7194551461070c578063c87b56dd146106d1578063d9856c2114610669578063de903ddd146104e4578063e8315742146104c4578063e985e9c514610476578063eab851181461041b578063ee070805146103f8578063efc32cd4146103a5578063f2fde38b146103145763ff6e8c8f1461023157600080fd5b346103105761023f36612344565b90919260018060a01b0394856033541633036103035760038510156102f05784156102e35750509061027291369161285c565b92805b84518110156102df576102da906102a161028e856128c2565b86610299848a612901565b511690612943565b5083856102ae8389612901565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46128dc565b610275565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103105760203660031901126103105761032e61223f565b9161033761245b565b6001600160a01b038316156103535783610350846124b3565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103f457806003193601126103f4576103bf61223f565b906103c861245b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103f457816003193601126103f45760209060ff80541690519015158152f35b5050346103f45760203660031901126103f45760209061046d61043c61223f565b61044b60ff61010954166128c2565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103f457806003193601126103f45760ff8160209361049661223f565b61049e61225a565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103f457816003193601126103f457602090610100549051908152f35b508290346103f4576104f5366122b3565b91926104ff61245b565b61051c60ff805461051282821615612b55565b60081c1615613688565b61052a61010554851061363c565b600261053585612ba1565b5001906001600160401b038411610656575061055b8361055583546124fc565b83612b01565b84601f84116001146105c757956105b6918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105bc575b508560011b906000198760031b1c19161790555b51928392836136cc565b0390a280f35b905084013589610598565b81865260208087209190601f1986169088905b82821061063e575050916105b69391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610624575b5050600185811b0190556105ac565b850135600019600388901b60f8161c191690558880610615565b80600185968294968a013581550195019301906105da565b634e487b7160e01b865260419052602485fd5b8382346103f45760203660031901126103f45780356001600160401b0381116103105736602382011215610310576102df918160246106ad93369301359101612424565b6106b561245b565b6106c360ff80541615612b55565b60fc54339182908190612d2b565b50913461070957602036600319011261070957506106f26107059235613022565b905191829160208352602083019061221a565b0390f35b80fd5b5090346103105760203660031901126103105781359160038310156107b0576033546001600160a01b031633036107a25750610747826128c2565b80549084815581610784575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b633948261231b565b845260208420908101905b818110156107535784815560010161078f565b9051635c510c8360e11b8152fd5b8380fd5b5050346103f457816003193601126103f45760209060ff805460081c1690519015158152f35b8382346103f45760803660031901126103f4576107f561223f565b906107fe61225a565b91604435606435936001600160401b03851161086057366023860112156108605761083861085b9486602461035098369301359101612424565b9261084b61084684336132ad565b6125dc565b6108568383836133df565b6127d1565b612691565b8580fd5b5050346103f457816003193601126103f45760209060fc549051908152f35b5050346103f457816003193601126103f457602090610105549051908152f35b50346103105782600319360112610310576108bc61245b565b60ff549160ff8360081c166109005761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461031057806003193601126103105761095d61223f565b9060243591821515809303610ac15760ff61010954166003811015610aae5760018103610a645750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a55575b6001600160a01b031692338414610a135750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109b35760028552610108602052610a9a82862060018060a01b0383169060019160005201602052604060002054151590565b156109b35781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461031057610ad536612344565b6033546001600160a01b03949085163303610ba7575090610af791369161285c565b9160038210159081610aae5782610b0c578580f35b8591929394955b8551811015610b9757610b3b610b28866128c2565b83610b33848a612901565b5116906129b1565b508382610b488389612901565b511690610b84579085610b7f92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46128dc565b610b13565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103f457816003193601126103f45780519082609854610bd8816124fc565b80855291600191808316908115610c735750600114610c16575b505050610c04826107059403836123e8565b5191829160208352602083019061221a565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c5b57505050610c048260206107059582010194610bf2565b80546020878701810191909152909501948101610c3e565b610705975086935060209250610c0494915060ff191682840152151560051b82010194610bf2565b5050346103f457816003193601126103f45760335490516001600160a01b039091168152602090f35b8334610709578060031936011261070957610cdd61245b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103f457816003193601126103f4576107059060ff610109541690519182918261231b565b509190346103f457806003193601126103f4576001600160401b039280358481116107b057610d6c9036908301612286565b610d7795919561245b565b610d8560ff80541615612b55565b6101049081549660019384890194858a11610ffc576024998a350193818501808811610fea578511610fd85788519560209687810181811086821117610fc6578b52869052859055610100548511610f84578990610df98a5195610de88761239c565b898752888701928884523691612424565b948a8101958652610105805490600160401b821015610f72578582019055610e2090612ba1565b939093610f61575090600292915182555183820155019251968751928311610f4f5750889950610e5e82610e58859b999a9b546124fc565b85612b01565b8497601f8311600114610ecb578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ec0575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610e9a565b8388528588209098919291601f198316895b818110610f37575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610f1e575b505050811b019055610eac565b015160001960f88460031b161c19169055388080610f11565b828c015184558d9a5092850192918801918801610edd565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b833461070957806003193601126107095761102861245b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103f45760203660031901126103f4576001600160a01b0361109061223f565b169081156110ad576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461070957602036600319011261070957506111226020923561323d565b90516001600160a01b039091168152f35b5034610310576020366003190112610310578035916111518361323d565b336001600160a01b039091160361116c578361035084612bdd565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610310576080366003190112610310576001600160401b03918035838111610ac1576111e19036908301612286565b91906024358581116116b5576111fa9036908401612286565b611205969196612270565b9388549760ff94858a60081c1615978880996116a9575b8015611693575b1561163957600160ff198c1681178d559a89611628575b506001600160a01b038816156115e557611298929161129091611280898f600a60fc5561ffff198254168255606435610100555460081c1661127b81612aa1565b612aa1565b611289336124b3565b3691612424565b933691612424565b906112ac858b5460081c1661127b81612aa1565b82518481116115d257806112c16097546124fc565b94601f95868111611561575b506020908d8784116001146114e257926114d7575b5050600019600383901b1c1916908a1b176097555b81519384116114c4575061130c6098546124fc565b828111611461575b5060209183116001146113d5579180611389959492611361948b926113ca575b5050600019600383901b1c191690881b176098555b875460081c1661135881612aa1565b61127b81612aa1565b60fb80546001600160a01b0319166001600160a01b03831617905561138461245b565b6124b3565b611391578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611334565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611449575091611361959391856113899998969410611430575b505050811b01609855611349565b015160001960f88460031b161c19169055388080611422565b8284015185558b969094019360209384019301611405565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bb575b0160051c019089905b8281106114b0575050611314565b8b81550189906114a2565b92508192611499565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154957508411611530575b505050811b016097556112f7565b015160001960f88460031b161c19169055388080611522565b8284015185558f969094019360209384019301611513565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115c9575b859493910160051c909101908d908f5b8382106115bb575050506112cd565b81558594508e91018f6115ac565b9250819261159c565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861123a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122357506001878c1614611223565b506001878c161061121c565b8680fd5b8382346103f45760603660031901126103f45780356001600160401b038111610310576102df916116ec91369101612286565b906116f561225a565b6116fd612270565b9261170661245b565b61171460ff80541615612b55565b61172460fc549333923691612424565b612d2b565b50346103105760203660031901126103105780359160038310156107b0576033546001600160a01b0316330361030357506101099182549160ff83169060038210156117a65750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103f45760203660031901126103f4576103509035612bdd565b5050346103f45761085b610350916117ed366122e6565b919251926117fa846123cd565b86845261084b61084684336132ad565b5050346103f45760203660031901126103f45760335490516001600160a01b039091168152602090f35b83346107095760203660031901126107095761035061185161223f565b61185961245b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103f457816003193601126103f45760fb5490516001600160a01b039091168152602090f35b8284346107095780600319360112610709576118c060ff61010954166128c2565b9180519182845490818152602080910195835280832092905b8282106118fb5761070586866118f1828b03836123e8565b51918291826121b3565b8354875295860195600193840193909101906118d9565b5091346107095781600319360112610709578235815260fd60205281812054602435906001600160a01b03908116801561199857925b60fe60205284812054801561198e57925b83810293818504149015171561197b5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611959565b508060fb541692611948565b8334610709576103506119b6366122e6565b916119c461084684336132ad565b6133df565b5050346103f45760203660031901126103f4576020906119e761223f565b60018060a01b0380603354169116149051908152f35b5082346107095760203660031901126107095750611a299035611a2461010554821061363c565b612ba1565b506107058251611a388161239c565b825481526060611a5660026001860154956020850196875201612536565b91828682015251935194805195869586526020860152840152606083019061221a565b508290346103f457611a8a366122b3565b919260ff54611a9c60ff821615612b55565b6033546001600160a01b03163303611d1d5760ff611abe9160081c1615613688565b6000848152609960205260409020546001600160a01b031615158015611cf4575b15611cba57611aed846135b4565b505015611be05783855260206101078152868620916001600160401b038511611bcd5750611b2584611b1f84546124fc565b84612b01565b8590601f8511600114611b6e5750956105b6918487986000805160206137398339815191529798916105bc57508560011b906000198760031b1c191617905551928392836136cc565b90601f1985168388528288209288905b828210611bb5575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611b7e565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611bcd5750611c0b84611b1f84546124fc565b8590601f8511600114611c5b5750956105b691848798600080516020613739833981519152979891611c50575b508560011b906000198760031b1c19161790556105ac565b905084013589611c38565b90601f1985168388528288209288905b828210611ca2575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611c6b565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611cfe846135b4565b50508015611adf575083855261010260205260ff868620541615611adf565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346103f457816003193601126103f457602090610104549051908152f35b5034610310578160031936011261031057611da361223f565b906024359260ff61010954166003811015611f935760018103611f4c5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611f40575b6001600160a01b03918280611e038761323d565b16941693808514611ef357803314908115611ed4575b5015611e6c5750838552610103602052842080546001600160a01b03191683179055611e4483612cc5565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611e19565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611def5760028552610108602052611f8281862060018060a01b0385169060019160005201602052604060002054151590565b15611def57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b509134610709576020366003190112610709575061112260209235613317565b5050346103f457816003193601126103f45780519082609754611fe8816124fc565b80855291600191808316908115610c73575060011461201357505050610c04826107059403836123e8565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061205857505050610c048260206107059582010194610bf2565b8054602087870181019190915290950194810161203b565b50346103105760203660031901126103105735906001600160e01b031982168083036107b0576020935063fa31a45b60e01b8114928315612135575b83156120bd575b5050519015158152f35b919250631030681960e21b811491908215612124575b82156120fb575b5081156120eb575b509038806120b3565b6120f591506136f4565b386120e2565b90915063152a902d60e11b148015612115575b90386120da565b5061211f816136f4565b61210e565b6301ffc9a760e01b811492506120d3565b6301ffc9a760e01b821493506120ac565b50903461031057602091826003193601126107b0573560038110156107b05761216e906128c2565b9281518093808654928381520195835280832092905b82821061219c5761070586866118f1828b03836123e8565b835487529586019560019384019390910190612184565b6020908160408183019282815285518094520193019160005b8281106121da575050505090565b83516001600160a01b0316855293810193928101926001016121cc565b60005b83811061220a5750506000910152565b81810151838201526020016121fa565b90602091612233815180928185528580860191016121f7565b601f01601f1916010190565b600435906001600160a01b038216820361225557565b600080fd5b602435906001600160a01b038216820361225557565b604435906001600160a01b038216820361225557565b9181601f84011215612255578235916001600160401b038311612255576020838186019501011161225557565b9060406003198301126122555760043591602435906001600160401b038211612255576122e291600401612286565b9091565b6060906003190112612255576001600160a01b0390600435828116810361225557916024359081168103612255579060443590565b91906020830192600382101561232e5752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261225557600435600381101561225557916024356001600160401b039283821161225557806023830112156122555781600401359384116122555760248460051b83010111612255576024019190565b606081019081106001600160401b038211176123b757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b038211176123b757604052565b90601f801991011681019081106001600160401b038211176123b757604052565b6001600160401b0381116123b757601f01601f191660200190565b92919261243082612409565b9161243e60405193846123e8565b829481845281830111612255578281602093846000960137010152565b6033546001600160a01b0316330361246f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561252c575b602083101461251657565b634e487b7160e01b600052602260045260246000fd5b91607f169161250b565b906040519182600082549261254a846124fc565b9081845260019485811690816000146125b95750600114612576575b5050612574925003836123e8565b565b9093915060005260209081600020936000915b8183106125a157505061257493508201013880612566565b85548884018501529485019487945091830191612589565b91505061257494506020925060ff191682840152151560051b8201013880612566565b156125e357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561269857565b60405162461bcd60e51b8152806126b16004820161263e565b0390fd5b9192600092909190803b156127c757612703946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b96608483019061221a565b03926001600160a01b03165af1849181612787575b50612776575050503d60001461276e573d61273281612409565b9061274060405192836123e8565b81528091833d92013e5b8051918261276b5760405162461bcd60e51b8152806126b16004820161263e565b01fd5b50606061274a565b6001600160e01b0319161492509050565b9091508581813d83116127c0575b61279f81836123e8565b81010312610ac157516001600160e01b031981168103610ac1579038612718565b503d612795565b5050915050600190565b9293600093909291803b156128515794849161282b9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c97608483019061221a565b0393165af18491816127875750612776575050503d60001461276e573d61273281612409565b505050915050600190565b9092916001600160401b0384116123b7578360051b6040519260208094612885828501826123e8565b809781520191810192831161225557905b8282106128a35750505050565b81356001600160a01b0381168103612255578152908301908301612896565b600381101561232e57600052610108602052604060002090565b60001981146128eb5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156129155760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156129155760005260206000200190600090565b60008281526001820160205260409020546129aa57805490600160401b8210156123b7578261299361297c84600180960185558461292b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612a9a5760001991808301818111612a8657825490848201918211612a7257808203612a3d575b50505080548015612a2957820191612a0c838361292b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612a5d612a4d61297c938661292b565b90549060031b1c9283928661292b565b905586528460205260408620553880806129f4565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612aa857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612b0f57505050565b600091825260208220906020601f850160051c83019410612b4b575b601f0160051c01915b828110612b4057505050565b818155600101612b34565b9092508290612b2b565b15612b5c57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561291557600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612be6816135b4565b5050600082815261010260205260408120805460ff191660011790559080612ca6575b612ca257612c1a61084683336132ad565b612c2382612cc5565b50612c2d82612cc5565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612c09565b6000908152609960205260409020546001600160a01b03168015612ce65790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612e9e57612d6f61085b604051612d59816123cd565b89600096878352612d6a8282612f2e565b6126b5565b868352602091610106835260408420918151916001600160401b038311612e8a57612da483612d9e86546124fc565b86612b01565b8490601f8411600114612e2157928060fd9593819389989660409a94612e16575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612dc5565b8487528587209293929190601f198416885b818110612e75575091604098979593918560fd98969410612e5c575b505050811b019055612dd7565b015160001960f88460031b161c19169055388080612e4f565b82840151855593860193928801928801612e33565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612ee957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612fde57600082815260996020526040902054612f62906001600160a01b031615155b15612ee2565b600082815260996020526040902054612f85906001600160a01b03161515612f5c565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b600081815261010790602092828452604092613040848420546124fc565b61322e575061304e816135b4565b911515905061306c5750613069936101069183525220612536565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561321f575b5050866d04ee2d6d415b85acef810000000080841015613211575b5050662386f26fc1000080831015613202575b506305f5e100808310156131f3575b50612710808310156131e4575b5060648210156131d4575b600a809210156131ca575b6001908160218187019661312161310c89612409565b9861311989519a8b6123e8565b808a52612409565b888c019990601f1901368b3750870101905b613194575b5050505091602f60f81b9461317761306995936026955197856131648a9751809287808b0191016121f7565b86019384015251809360218401906121f7565b0164173539b7b760d91b60218201520360068101845201826123e8565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156131c557919082613133565b613138565b92600101926130f6565b92906064600291049101926130eb565b600491949204910192386130e0565b600891949204910192386130d3565b601091949204910192386130c4565b9401939091049086386130b1565b91945091500481923880613096565b90936130699483525220612536565b613246816135b4565b50506132555761306990612cc5565b8060005261010260205260ff604060002054166000146132785761306990612cc5565b6000818152609960205260409020546001600160a01b03166132a457506033546001600160a01b031690565b61306990612cc5565b6001600160a01b039081806132c18561323d565b16911691818314938415613300575b505082156132dd57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061330d90613317565b16149138806132d0565b600081815260fd60205260408120546001600160a01b03929190831661333c836135b4565b50509081156133d5575b50806133bd575b1561336357604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff6040822054161561334d565b9050151538613346565b90821561225557613429916133f3846135b4565b50508061353b575b80613521575b613512575b61340f84612cc5565b6001600160a01b039391841692849290918316841461355a565b169182156134c157816134469161343f86612cc5565b161461355a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61351c8482612f2e565b613406565b508360005261010260205260ff6040600020541615613401565b506000848152609960205260409020546001600160a01b0316156133fb565b1561356157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106135e157505090506000906000906040516135da816123cd565b6000815290565b6135ea81612ba1565b505482101580613625575b61360757613602906128dc565b6135bd565b8093506136149150612ba1565b509061306960026001949301612536565b50600161363182612ba1565b5001548211156135f5565b1561364357565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561368f57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b8114908115613727575b8115613719575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061370f56fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda264697066735822122017eb82674d3c42f7b9581bfa83424e75a929e877e6c40d9a17e90386f33585a764736f6c63430008120033","sourceMap":"382:3578:251:-:0;;;;;;;;;2518:6:81;382:3578:251;;719:10:102;-1:-1:-1;;;;;;382:3578:251;;;;;;;;-1:-1:-1;;;;;382:3578:251;2518:6:81;382:3578:251;;719:10:102;382:3578:251;;2566:40:81;2518:6;;2566:40;-1:-1:-1;;;;;981:20:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:3578;;;;;;;;;;;1082:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:3578;;;1120:44;382:3578;;;1120:44;382:3578;;;1225:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:3578;;;1277:60;382:3578;;;1277:60;382:3578;;;;;;;;;1225:46;382:3578;;;;;;;;;;1225:46;-1:-1:-1;;;382:3578:251;;;;;;;;1082:32;382:3578;;;;;;;;;1082:32;-1:-1:-1;;;382:3578:251;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c80633cebcf41146107b1578063715018a6146107575780637de4c0821461071c578063877ebf51146104215780638da5cb5b146103f95780639607cb49146103b2578063a55b1c251461037f578063c9be059014610356578063d05df8831461032d578063d1e0f70014610304578063da8d79f3146101ed578063ea14289f146101c4578063ef6fde5b146101855763f2fde38b146100bb57600080fd5b34610181576020366003190112610181576100d4610959565b906100dd61096f565b6001600160a01b0391821692831561012f575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101c057816003193601126101c057602090517f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f8152f35b5080fd5b5050346101c057816003193601126101c05760209051600080516020610c4f8339815191528152f35b5090346101815760603660031901126101815767ffffffffffffffff9082358281116103005761022090369085016108f1565b916024359081116103005761023890369085016108f1565b928460443594610249861515610ad3565b6001546001600160a01b0395908690610263908216610bba565b1696873b156102f25761028a9086519586948594635edc7c1960e01b865233928601610b7b565b038183885af180156102f6576102de575b50602093600080516020610c4f8339815191529151937fa838c9ce3fa39c7f5b1872ef1e902e94003d66b42f13994792daf8e68d7bb9b7339280a4600154168152f35b6102e885916108c7565b6102f2573861029b565b8380fd5b82513d87823e3d90fd5b8480fd5b5050346101c057816003193601126101c05760035490516001600160a01b039091168152602090f35b5050346101c057816003193601126101c05760015490516001600160a01b039091168152602090f35b5050346101c057816003193601126101c05760025490516001600160a01b039091168152602090f35b5050346101c0573660031901126103af576103ac61039b610959565b6103a361096f565b602435906109c7565b80f35b80fd5b83346103af5760203660031901126103af576103cc610959565b6103d461096f565b6001600160a01b031680156101c0576001600160601b0360a01b600154161760015580f35b5050346101c057816003193601126101c057905490516001600160a01b039091168152602090f35b508290346101c05760803660031901126101c05767ffffffffffffffff81358181116102f25761045490369084016108f1565b906024359081116102f25761046c90369084016108f1565b606435919060443561047f811515610ad3565b8592600080516020610c4f83398151915285146106a8575b7fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438514610626575b7f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f85146105a0575b5050506001600160a01b031691821561052a57506020935192827fa838c9ce3fa39c7f5b1872ef1e902e94003d66b42f13994792daf8e68d7bb9b7339280a48152f35b60a490602086519162461bcd60e51b8352820152604460248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f636f6e60448201527f74726163745479706520756e737570706f7274656420636f6e747261637420746064820152633cb8329760e11b6084820152fd5b6003546001600160a01b039450919290916105bc908516610bba565b93841691823b15610622579186918880946105ec8c5197889687958694635edc7c1960e01b865233928601610b7b565b03925af1801561061857908591610604575b806104e7565b61060d906108c7565b6102f25783866105fe565b86513d87823e3d90fd5b8780fd5b6002546001600160a01b03945061063e908516610bba565b938416803b1561062257878361066d9289838d51809681958294635edc7c1960e01b84528c8b33928601610b7b565b03925af1801561069e57908891610686575b50506104bf565b61068f906108c7565b61069a57868961067f565b8680fd5b89513d8a823e3d90fd5b6001546001600160a01b0394506106c0908516610bba565b938416803b156106225787836106ef9289838d51809681958294635edc7c1960e01b84528c8b33928601610b7b565b03925af1801561069e57908891610708575b5050610497565b610711906108c7565b61069a578689610701565b5050346101c057816003193601126101c057602090517fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438152f35b83346103af57806003193601126103af5761077061096f565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610181576003199180833601126102f25767ffffffffffffffff8483358281116101c0576107e490369086016108f1565b916024359081116101c0576107fc90369086016108f1565b9460018060a01b0394856108138160015416610bba565b1696873b156102f2576080926108539161084488519788968796635edc7c1960e01b88528701526084860190610b3b565b91848303016024850152610b3b565b3360448301526000196064830152038183885af180156102f65794600080516020610c4f83398151915292916020966108b8575b509051937fa838c9ce3fa39c7f5b1872ef1e902e94003d66b42f13994792daf8e68d7bb9b7339280a4600154168152f35b6108c1906108c7565b38610887565b67ffffffffffffffff81116108db57604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156109545780359067ffffffffffffffff928383116108db5760405193601f8401601f19908116603f01168501908111858210176108db576040528284526020838301011161095457816000926020809301838601378301015290565b600080fd5b600435906001600160a01b038216820361095457565b6000546001600160a01b0316330361098357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b031690811561095457600080516020610c4f8339815191528114610abd577fa8d9137ee02dda9849b76493a51586dc45475f3b363c8fc8b3d134685280b7438114610aa7577f087ecff7ca60b68738fb37e03219d7acf0291a744def7c97de03b25dfe4b910f14610a925760405162461bcd60e51b815260206004820152602b60248201527f736574536f7665726569676e4e46543a3a556e737570706f72746564205f636f60448201526a373a3930b1ba2a3cb8329760a91b6064820152608490fd5b6001600160601b0360a01b6003541617600355565b506001600160601b0360a01b6002541617600255565b506001600160601b0360a01b6001541617600155565b15610ada57565b60405162461bcd60e51b815260206004820152603360248201527f637265617465536f7665726569676e4e4654436f6e74726163743a3a5f6d6178604482015272546f6b656e732063616e74206265207a65726f60681b6064820152608490fd5b919082519283825260005b848110610b67575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610b46565b90606092610b98610ba69297969597608085526080850190610b3b565b908382036020850152610b3b565b6001600160a01b0390951660408201520152565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c161760005260781b17602052603760096000f0906001600160a01b03821615610c1057565b60405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b6044820152606490fdfe618bb03e363d77d1aa6e06dbc7ec814178513d4ccfaa94fb485275fe016567fda264697066735822122070e07687b230808316966ad12276b69b54e41ae7ed460085203f201a9fd7ba4f64736f6c63430008120033","sourceMap":"382:3578:251:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;382:3578:251;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;-1:-1:-1;;;;;382:3578:251;;;;2162:22:81;;382:3578:251;;;;;;;-1:-1:-1;;;;;382:3578:251;;;;;;;;2566:40:81;382:3578:251;2566:40:81;;382:3578:251;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;382:3578:251;;;;;;;;;;;;;;;;;;;;;;;;;;624:34;382:3578;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;382:3578:251;;;;;;;;;;;-1:-1:-1;;382:3578:251;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;2202:15;2194:79;2202:15;;;2194:79;:::i;:::-;382:3578;;-1:-1:-1;;;;;382:3578:251;;;;2297:26;;382:3578;;2297:26;:::i;:::-;382:3578;2329:68;;;;;;;382:3578;;;;;;;;;;;2329:68;;2374:10;2329:68;;;;:::i;:::-;;;;;;;;;;;;;382:3578;;;;-1:-1:-1;;;;;;;;;;;382:3578:251;;2374:10;2409:65;2374:10;2409:65;;;382:3578;;;;;;2329:68;;;;;:::i;:::-;382:3578;;2329:68;;;382:3578;;;;2329:68;382:3578;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;382:3578:251;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;382:3578:251;;;;;;;;;;;;;;;;;;;;;;694:39;382:3578;;;-1:-1:-1;;;;;382:3578:251;;;;;;;;;;;;;;;-1:-1:-1;;382:3578:251;;;;1117:1:81;382:3578:251;;:::i;:::-;1063:62:81;;:::i;:::-;382:3578:251;;1117:1:81;;:::i;:::-;382:3578:251;;;;;;;;;;;;-1:-1:-1;;382:3578:251;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;-1:-1:-1;;;;;382:3578:251;1427:27;;382:3578;;-1:-1:-1;;;;;382:3578:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;382:3578:251;;;;;;;;;;;;;;;;;-1:-1:-1;;382:3578:251;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;3049:79;3057:15;;;3049:79;:::i;:::-;3135:15;3160:30;-1:-1:-1;;;;;;;;;;;3160:30:251;;3156:163;;382:3578;546:26;3328:30;;3324:187;;382:3578;624:34;3520:38;;3516:223;;382:3578;-1:-1:-1;;;;;;;;382:3578:251;;3753:21;;382:3578;;;;;;3897:10;;3858:65;3897:10;3858:65;;;382:3578;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;382:3578:251;;;;;3516:223;382:3578;;-1:-1:-1;;;;;382:3578:251;-1:-1:-1;382:3578:251;;;;3578:52;;382:3578;;3578:52;:::i;:::-;382:3578;;;3638:94;;;;;;382:3578;;;;;;3638:94;382:3578;;;;;;;;;;;;3638:94;;3709:10;3638:94;;;;:::i;:::-;;;;;;;;;;;;;;3516:223;;;;3638:94;;;;:::i;:::-;382:3578;;3638:94;;;;;382:3578;;;;;;;;;3638:94;382:3578;;;3324:187;3391:24;382:3578;-1:-1:-1;;;;;382:3578:251;-1:-1:-1;3378:38:251;;382:3578;;3378:38;:::i;:::-;382:3578;;;3424:80;;;;;382:3578;;3424:80;382:3578;;;;;;;;;;;;;;3424:80;;3481:10;;;3424:80;;;;:::i;:::-;;;;;;;;;;;;;;3324:187;;;;;3424:80;;;;:::i;:::-;382:3578;;3424:80;;;;382:3578;;;;3424:80;382:3578;;;;;;;;;3156:163;382:3578;;-1:-1:-1;;;;;382:3578:251;-1:-1:-1;3210:26:251;;382:3578;;3210:26;:::i;:::-;382:3578;;;3244:68;;;;;382:3578;;3244:68;382:3578;;;;;;;;;;;;;;3244:68;;3289:10;;;3244:68;;;;:::i;:::-;;;;;;;;;;;;;;3156:163;;;;;3244:68;;;;:::i;:::-;382:3578;;3244:68;;;;382:3578;;;;;;;;;;;;;;;;;546:26;382:3578;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;382:3578:251;;;-1:-1:-1;;;;;;382:3578:251;;;;-1:-1:-1;;;;;382:3578:251;2566:40:81;382:3578:251;;2566:40:81;382:3578:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;2647:26;382:3578;;;;2647:26;:::i;:::-;382:3578;2679:75;;;;;;382:3578;;;;;;;;;;;;;;;2679:75;;;;382:3578;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;2724:10;382:3578;;;;-1:-1:-1;;382:3578:251;;;;2679:75;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2679:75:251;;382:3578;2679:75;;;382:3578;;;;2724:10;2766:65;2724:10;2766:65;;;382:3578;;;;;;2679:75;;;;:::i;:::-;;;;382:3578;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;382:3578:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;382:3578:251;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;382:3578:251;;;;;;-1:-1:-1;;;;;382:3578:251;;;;;;:::o;1359:130:81:-;1273:6;382:3578:251;-1:-1:-1;;;;;382:3578:251;719:10:102;1422:23:81;382:3578:251;;1359:130:81:o;382:3578:251:-;;;;;;;;;;;;;;;;;;;;;;;;;1498:545;-1:-1:-1;;;;;382:3578:251;;1602:27;;382:3578;;-1:-1:-1;;;;;;;;;;;1640:30:251;;1636:93;;546:26;1738:30;;1734:105;;624:34;1848:38;1844:127;;382:3578;;-1:-1:-1;;;382:3578:251;;;;;;;;;;;;;;;;;-1:-1:-1;;;382:3578:251;;;;;;;1844:127;-1:-1:-1;;;;;382:3578:251;;1896:54;382:3578;;;1896:54;382:3578;1958:7::o;1734:105::-;382:3578;-1:-1:-1;;;;;382:3578:251;;1778:40;382:3578;;;1778:40;382:3578;1826:7::o;1636:93::-;382:3578;-1:-1:-1;;;;;382:3578:251;;;;;;;;1716:7::o;382:3578::-;;;;:::o;:::-;;;-1:-1:-1;;;382:3578:251;;;;;;;;;;;;;;;;;-1:-1:-1;;;382:3578:251;;;;;;;;;;;;;;;;-1:-1:-1;382:3578:251;;;;;;;;;-1:-1:-1;382:3578:251;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;382:3578:251;;;;;;;;;:::o;973:759:85:-;1101:558;973:759;1101:558;;;;;;;;;;;;;;;;;;382:3578:251;-1:-1:-1;;;;;382:3578:251;;1676:22:85;382:3578:251;;973:759:85:o;382:3578:251:-;;;-1:-1:-1;;;382:3578:251;;1101:558:85;382:3578:251;;;;;;;;;-1:-1:-1;;;382:3578:251;;;;;;","linkReferences":{}},"methodIdentifiers":{"ROYALTY_GUARD()":"7de4c082","ROYALTY_GUARD_DEADMAN()":"ef6fde5b","SOVEREIGN_NFT()":"ea14289f","createSovereignNFTContract(string,string)":"3cebcf41","createSovereignNFTContract(string,string,uint256)":"da8d79f3","createSovereignNFTContract(string,string,uint256,bytes32)":"877ebf51","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setSovereignNFT(address)":"9607cb49","setSovereignNFT(address,bytes32)":"a55b1c25","sovereignNFT()":"d05df883","sovereignNFTRoyaltyGuard()":"c9be0590","sovereignNFTRoyaltyGuardDeadmanTrigger()":"d1e0f700","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"contractType\",\"type\":\"bytes32\"}],\"name\":\"SovereignNFTContractCreatedV2\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROYALTY_GUARD_DEADMAN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SOVEREIGN_NFT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"createSovereignNFTContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sovereignNFT\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_contractType\",\"type\":\"bytes32\"}],\"name\":\"setSovereignNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sovereignNFTRoyaltyGuardDeadmanTrigger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol\":\"SovereignNFTContractFactoryV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e\",\"dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol\":{\"keccak256\":\"0x624a4b9c52523329f276f0c23467761f98d65010945e9afd42a9e3abcf27cc24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://071bdbba4b1ccdd7267a1d47d310dfe7fb339c104218ae72cd067fd9b4f06075\",\"dweb:/ipfs/QmdoqKCWRoEvNjj9VDzEF5X8VHwGmsHKHvkbi2YJinPKnD\"]},\"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol\":{\"keccak256\":\"0xad6fb9ab7c1070f13cc4adece25f8d4e85bda48423f123157e310204ae8406fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f07a2aa442f240475dbb0b8c416233627b0d3044b5983b069d19d9c76245548\",\"dweb:/ipfs/QmePkcqv2oDL8Bdn5kXm6DEqoztYvY3uWmKSy4LjSG3PX8\"]},\"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol\":{\"keccak256\":\"0x9e94a56dcda0ab921c017dc639ba0eac9bbbf0332d372f76b71b341278eb18ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9841cb37c0fad595be724a3c190991f2913cd0724d0f5cf945fbdb17228aa764\",\"dweb:/ipfs/QmeHqsn3yM4WK9SPdaTG6MY3tgT5z2g7732VvriZozjwen\"]},\"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol\":{\"keccak256\":\"0x5e23a83c99c8a7508915a26b220b5048fd50a5b99e8d3a3b0d3305739fc0addd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a857dce7c5361cbe9551c7b61962d3ae6b3ea71301ccbcbceed299f39be4d8b7\",\"dweb:/ipfs/QmREEpUuUbnwDhJ3pxrqiXjxW1i6mVUpeLqAS4cAiW7BzZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"bytes32","name":"contractType","type":"bytes32","indexed":true}],"type":"event","name":"SovereignNFTContractCreatedV2","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ROYALTY_GUARD","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ROYALTY_GUARD_DEADMAN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SOVEREIGN_NFT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createSovereignNFTContract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_sovereignNFT","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSovereignNFT"},{"inputs":[{"internalType":"address","name":"_sovereignNFT","type":"address"},{"internalType":"bytes32","name":"_contractType","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setSovereignNFT"},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFT","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFTRoyaltyGuard","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sovereignNFTRoyaltyGuardDeadmanTrigger","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol":"SovereignNFTContractFactoryV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Clones.sol":{"keccak256":"0x0e1fe02da411a6293004e5ee85bdd1facef5f1b6ef2aab8d36c73f0d77b448db","urls":["bzz-raw://c5bfd474499866fe24ac6b88eb92969395baf1e644a0f0b0054e66f9ae90c00e","dweb:/ipfs/QmS5j268UauZARToNJazEBJDWvWM35j8kHx779PF3c5rib"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol":{"keccak256":"0x624a4b9c52523329f276f0c23467761f98d65010945e9afd42a9e3abcf27cc24","urls":["bzz-raw://071bdbba4b1ccdd7267a1d47d310dfe7fb339c104218ae72cd067fd9b4f06075","dweb:/ipfs/QmdoqKCWRoEvNjj9VDzEF5X8VHwGmsHKHvkbi2YJinPKnD"],"license":"MIT"},"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol":{"keccak256":"0xad6fb9ab7c1070f13cc4adece25f8d4e85bda48423f123157e310204ae8406fd","urls":["bzz-raw://7f07a2aa442f240475dbb0b8c416233627b0d3044b5983b069d19d9c76245548","dweb:/ipfs/QmePkcqv2oDL8Bdn5kXm6DEqoztYvY3uWmKSy4LjSG3PX8"],"license":"MIT"},"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol":{"keccak256":"0x9e94a56dcda0ab921c017dc639ba0eac9bbbf0332d372f76b71b341278eb18ce","urls":["bzz-raw://9841cb37c0fad595be724a3c190991f2913cd0724d0f5cf945fbdb17228aa764","dweb:/ipfs/QmeHqsn3yM4WK9SPdaTG6MY3tgT5z2g7732VvriZozjwen"],"license":"MIT"},"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol":{"keccak256":"0x5e23a83c99c8a7508915a26b220b5048fd50a5b99e8d3a3b0d3305739fc0addd","urls":["bzz-raw://a857dce7c5361cbe9551c7b61962d3ae6b3ea71301ccbcbceed299f39be4d8b7","dweb:/ipfs/QmREEpUuUbnwDhJ3pxrqiXjxW1i6mVUpeLqAS4cAiW7BzZ"],"license":"MIT"}},"version":1},"id":251} \ No newline at end of file diff --git a/abis/SovereignNFTRoyaltyGuard.json b/abis/SovereignNFTRoyaltyGuard.json index 1173b66..b00db63 100644 --- a/abis/SovereignNFTRoyaltyGuard.json +++ b/abis/SovereignNFTRoyaltyGuard.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657613059908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e814611b7357806301ffc9a714611a9d57806306fdde03146119f3578063081812fc146119d3578063095ea7b3146117b757806318160ddd14611797578063204274861461176357806323b872dd1461173e5780632a55205a146116ac5780632ce878da146116395780633403c4e9146116105780633ebc82c5146115ce57806340c1a064146115a457806342842e0e1461157057806342966c6814611553578063472a6638146114c35780634aa52c41146114525780635edc7c1914610f475780636297c16c14610ecb5780636352211e14610e9a57806370a0823114610e04578063715018a614610da75780637cc918d114610a8a57806387bc793f14610a62578063894ba83314610a145780638da5cb5b146109eb57806395d89b41146109065780639e860f2a14610815578063a22cb46514610693578063ab69607a14610674578063b88d4fde146105e9578063bc7194551461053b578063c87b56dd14610500578063d9856c2114610497578063e831574214610477578063e985e9c514610429578063eab85118146103ce578063ee070805146103ab578063efc32cd414610358578063f2fde38b146102c75763ff6e8c8f146101e457600080fd5b346102c3576101f236611d3f565b90919260018060a01b0394856033541633036102b65760038510156102a357841561029657505090610225913691612240565b92805b84518110156102925761028d90610254610241856122a7565b8661024c848a6122e6565b511690612328565b50838561026183896122e6565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46122c1565b610228565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346102c35760203660031901126102c3576102e1611c6c565b916102ea611e3f565b6001600160a01b03831615610306578361030384611e97565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103a757806003193601126103a757610372611c6c565b9061037b611e3f565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103a757816003193601126103a75760209060ff80541690519015158152f35b5050346103a75760203660031901126103a7576020906104206103ef611c6c565b6103fe60ff61010854166122a7565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103a757806003193601126103a75760ff81602093610449611c6c565b610451611c87565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103a757816003193601126103a757602090610100549051908152f35b8382346103a75760203660031901126103a757803567ffffffffffffffff81116102c357366023820112156102c357610292918160246104dc93369301359101611e08565b6104e4611e3f565b6104f260ff805416156124e6565b60fc543391829081906126bc565b509134610538576020366003190112610538575061052161053492356129fa565b9051918291602083526020830190611c47565b0390f35b80fd5b5090346102c35760203660031901126102c35781359160038310156105e5576033546001600160a01b031633036105d75750610576826122a7565b805490848155816105b9575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b3339482611d16565b0390a280f35b845260208420908101905b81811015610582578481556001016105c4565b9051635c510c8360e11b8152fd5b8380fd5b8382346103a75760803660031901126103a757610604611c6c565b9061060d611c87565b916044356064359367ffffffffffffffff851161067057366023860112156106705761064861066b9486602461030398369301359101611e08565b9261065b6106568433612c50565b611fc0565b610666838383612d82565b6121b5565b612075565b8580fd5b5050346103a757816003193601126103a75760209060fc549051908152f35b5090346102c357806003193601126102c3576106ad611c6c565b90602435918215158093036108115760ff610108541660038110156107fe57600181036107b45750600180865261010760209081528387206001600160a01b0384166000908152920190526040902054156107a5575b6001600160a01b0316923384146107635750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b60020361070357600285526101076020526107ea82862060018060a01b0383169060019160005201602052604060002054151590565b156107035781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b5090346102c35761082536611d3f565b6033546001600160a01b039490851633036108f7575090610847913691612240565b91600382101590816107fe578261085c578580f35b8591929394955b85518110156108e75761088b610878866122a7565b83610883848a6122e6565b511690612396565b50838261089883896122e6565b5116906108d45790856108cf92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46122c1565b610863565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103a757816003193601126103a7578051908260985461092881611ee0565b808552916001918083169081156109c35750600114610966575b50505061095482610534940383611dca565b51918291602083526020830190611c47565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106109ab575050506109548260206105349582010194610942565b8054602087870181019190915290950194810161098e565b61053497508693506020925061095494915060ff191682840152151560051b82010194610942565b5050346103a757816003193601126103a75760335490516001600160a01b039091168152602090f35b8334610538578060031936011261053857610a2d611e3f565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103a757816003193601126103a7576105349060ff6101085416905191829182611d16565b509190346103a757806003193601126103a75767ffffffffffffffff9280358481116105e557610abd9036908301611ce8565b90610ac6611e3f565b610ad460ff805416156124e6565b6101049081549260019788850194858111610d9457602490813501938a8501808811610d82578511610d705788519560209687810181811086821117610d0a578b52869052859055610100548511610d2e578851906060820182811085821117610d1c5790610b50918b52888352878301958787523691611e08565b93898201948552610105805490600160401b821015610d0a578d82019055610b7790612532565b929092610cf9579060029291518255518c820155019251968751928311610ce8575050610ba48254611ee0565b601f8111610ca6575b50879888969798508497601f8311600114610c22578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610c17575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610bf1565b8388528588209098919291601f198316895b818110610c8e575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610c75575b505050811b019055610c03565b015160001960f88460031b161c19169055388080610c68565b828c015184558d9a5092850192918801918801610c34565b828952848920601f830160051c810191868410610cde575b601f0160051c01905b818110610cd45750610bad565b8981558a01610cc7565b9091508190610cbe565b634e487b7160e01b8a526041905288fd5b634e487b7160e01b8c528b8a52838cfd5b634e487b7160e01b8d5260418b52848dfd5b634e487b7160e01b8c5260418a52838cfd5b885162461bcd60e51b8152808901879052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b89526011875288fd5b634e487b7160e01b8b5260118952828bfd5b634e487b7160e01b895260118752602489fd5b8334610538578060031936011261053857610dc0611e3f565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103a75760203660031901126103a7576001600160a01b03610e28611c6c565b16908115610e45576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105385760203660031901126105385750610eba60209235612be0565b90516001600160a01b039091168152f35b50346102c35760203660031901126102c357803591610ee983612be0565b336001600160a01b0390911603610f0457836103038461256e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346103a75760803660031901126103a75767ffffffffffffffff9281358481116105e557610f7b9036908401611ce8565b929060243586811161067057610f949036908401611ce8565b610f9f979197611c9d565b9387549860ff94858b60081c16159889809a611446575b8015611430575b156113d65760ff19808d1660019081178d559b9c999a998a6113c5575b506001600160a01b03891615611382579161102d9161101d898f6110359796600a60fc558254168255606435610100555460081c1661101881612486565b612486565b61102633611e97565b3691611e08565b933691611e08565b90611049858b5460081c1661101881612486565b825184811161136f578061105e609754611ee0565b94601f958681116112fe575b506020908d87841160011461127f5792611274575b5050600019600383901b1c1916908a1b176097555b815193841161126157506110a9609854611ee0565b8281116111fe575b5060209183116001146111725791806111269594926110fe948b92611167575b5050600019600383901b1c191690881b176098555b875460081c166110f581612486565b61101881612486565b60fb80546001600160a01b0319166001600160a01b038316179055611121611e3f565b611e97565b61112e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a806110d1565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106111e65750916110fe9593918561112699989694106111cd575b505050811b016098556110e6565b015160001960f88460031b161c191690558a80806111bf565b8284015185558b9690940193602093840193016111a2565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611258575b0160051c019089905b82811061124d5750506110b1565b8b815501899061123f565b92508192611236565b634e487b7160e01b8a5260419052602489fd5b015190508c8061107f565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106112e6575084116112cd575b505050811b01609755611094565b015160001960f88460031b161c191690558c80806112bf565b8284015185558f9690940193602093840193016112b0565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611366575b859493910160051c909101908d908f5b8382106113585750505061106a565b81558594508e91018f611349565b92508192611339565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610fda565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610fbd57506001878d1614610fbd565b506001878d1610610fb6565b8382346103a75760603660031901126103a757803567ffffffffffffffff81116102c3576102929161148691369101611ce8565b9061148f611c87565b611497611c9d565b926114a0611e3f565b6114ae60ff805416156124e6565b6114be60fc549333923691611e08565b6126bc565b50346102c35760203660031901126102c35780359160038310156105e5576033546001600160a01b031633036102b657506101089182549160ff83169060038210156115405750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103a75760203660031901126103a757610303903561256e565b5050346103a75761066b6103039161158736611cb3565b9192519261159484611d98565b86845261065b6106568433612c50565b5050346103a75760203660031901126103a75760335490516001600160a01b039091168152602090f35b8334610538576020366003190112610538576103036115eb611c6c565b6115f3611e3f565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103a757816003193601126103a75760fb5490516001600160a01b039091168152602090f35b82843461053857806003193601126105385761165a60ff61010854166122a7565b9180519182845490818152602080910195835280832092905b82821061169557610534868661168b828b0383611dca565b5191829182611be0565b835487529586019560019384019390910190611673565b5091346105385781600319360112610538578235815260fd60205281812054602435906001600160a01b03908116801561173257925b60fe60205284812054801561172857925b8381029381850414901517156117155750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926116f3565b508060fb5416926116e2565b83346105385761030361175036611cb3565b9161175e6106568433612c50565b612d82565b5050346103a75760203660031901126103a757602090611781611c6c565b60018060a01b0380603354169116149051908152f35b5050346103a757816003193601126103a757602090610104549051908152f35b50346102c357816003193601126102c3576117d0611c6c565b906024359260ff610108541660038110156119c057600181036119795750600180865261010760209081528287206001600160a01b03861660009081529201905260409020541561196d575b6001600160a01b0391828061183087612be0565b1694169380851461192057803314908115611901575b50156118995750838552610103602052842080546001600160a01b0319168317905561187183612656565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611846565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b60020361181c57600285526101076020526119af81862060018060a01b0385169060019160005201602052604060002054151590565b1561181c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091346105385760203660031901126105385750610eba60209235612cba565b5050346103a757816003193601126103a75780519082609754611a1581611ee0565b808552916001918083169081156109c35750600114611a405750505061095482610534940383611dca565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a85575050506109548260206105349582010194610942565b80546020878701810191909152909501948101611a68565b50346102c35760203660031901126102c35735906001600160e01b031982168083036105e5576020935063fa31a45b60e01b8114928315611b62575b8315611aea575b5050519015158152f35b919250631030681960e21b811491908215611b51575b8215611b28575b508115611b18575b50903880611ae0565b611b229150612fdf565b38611b0f565b90915063152a902d60e11b148015611b42575b9038611b07565b50611b4c81612fdf565b611b3b565b6301ffc9a760e01b81149250611b00565b6301ffc9a760e01b82149350611ad9565b5090346102c357602091826003193601126105e5573560038110156105e557611b9b906122a7565b9281518093808654928381520195835280832092905b828210611bc957610534868661168b828b0383611dca565b835487529586019560019384019390910190611bb1565b6020908160408183019282815285518094520193019160005b828110611c07575050505090565b83516001600160a01b031685529381019392810192600101611bf9565b60005b838110611c375750506000910152565b8181015183820152602001611c27565b90602091611c6081518092818552858086019101611c24565b601f01601f1916010190565b600435906001600160a01b0382168203611c8257565b600080fd5b602435906001600160a01b0382168203611c8257565b604435906001600160a01b0382168203611c8257565b6060906003190112611c82576001600160a01b03906004358281168103611c8257916024359081168103611c82579060443590565b9181601f84011215611c825782359167ffffffffffffffff8311611c825760208381860195010111611c8257565b919060208301926003821015611d295752565b634e487b7160e01b600052602160045260246000fd5b6040600319820112611c82576004356003811015611c82579160243567ffffffffffffffff92838211611c825780602383011215611c82578160040135938411611c825760248460051b83010111611c82576024019190565b6020810190811067ffffffffffffffff821117611db457604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611db457604052565b67ffffffffffffffff8111611db457601f01601f191660200190565b929192611e1482611dec565b91611e226040519384611dca565b829481845281830111611c82578281602093846000960137010152565b6033546001600160a01b03163303611e5357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611f10575b6020831014611efa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611eef565b9060405191826000825492611f2e84611ee0565b908184526001948581169081600014611f9d5750600114611f5a575b5050611f5892500383611dca565b565b9093915060005260209081600020936000915b818310611f85575050611f5893508201013880611f4a565b85548884018501529485019487945091830191611f6d565b915050611f5894506020925060ff191682840152151560051b8201013880611f4a565b15611fc757565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561207c57565b60405162461bcd60e51b81528061209560048201612022565b0390fd5b9192600092909190803b156121ab576120e7946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611c47565b03926001600160a01b03165af184918161216b575b5061215a575050503d600014612152573d61211681611dec565b906121246040519283611dca565b81528091833d92013e5b8051918261214f5760405162461bcd60e51b81528061209560048201612022565b01fd5b50606061212e565b6001600160e01b0319161492509050565b9091508581813d83116121a4575b6121838183611dca565b8101031261081157516001600160e01b0319811681036108115790386120fc565b503d612179565b5050915050600190565b9293600093909291803b156122355794849161220f9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611c47565b0393165af184918161216b575061215a575050503d600014612152573d61211681611dec565b505050915050600190565b90929167ffffffffffffffff8411611db4578360051b604051926020809461226a82850182611dca565b8097815201918101928311611c8257905b8282106122885750505050565b81356001600160a01b0381168103611c8257815290830190830161227b565b6003811015611d2957600052610107602052604060002090565b60001981146122d05760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156122fa5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156122fa5760005260206000200190600090565b600082815260018201602052604090205461238f57805490600160401b821015611db45782612378612361846001809601855584612310565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b9060018201906000928184528260205260408420549081151560001461247f576000199180830181811161246b5782549084820191821161245757808203612422575b5050508054801561240e578201916123f18383612310565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6124426124326123619386612310565b90549060031b1c92839286612310565b905586528460205260408620553880806123d9565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b1561248d57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b156124ed57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b6101059081548110156122fa57600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b61257781612f57565b5050600082815261010260205260408120805460ff191660011790559080612637575b612633576125ab6106568333612c50565b6125b482612656565b506125be82612656565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561259a565b6000908152609960205260409020546001600160a01b031680156126775790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b9392909160019461010495808754018097556101005487116128765761270061066b6040516126ea81611d98565b896000968783526126fb8282612906565b612099565b8683526020916101068352604084209181519167ffffffffffffffff83116128625761272c8454611ee0565b601f811161281c575b508490601f84116001146127b357928060fd9593819389989660409a946127a8575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612757565b8487528587209293929190601f198416885b818110612807575091604098979593918560fd989694106127ee575b505050811b019055612769565b015160001960f88460031b161c191690553880806127e1565b828401518555938601939288019288016127c5565b848752858720601f850160051c810191878610612858575b601f0160051c019083905b82811061284d575050612735565b88815501839061283f565b9091508190612834565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b156128c157565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b031680156129b65760008281526099602052604090205461293a906001600160a01b031615155b156128ba565b60008281526099602052604090205461295d906001600160a01b03161515612934565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b612a0381612f57565b9115159050612a265750600052610106602052612a236040600020611f1a565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015612bd2575b50506d04ee2d6d415b85acef810000000080821015612bc5575b50662386f26fc1000080821015612bb8575b506305f5e10080821015612bab575b5061271080821015612b9e575b506064811015612b90575b600a80911015612b86575b600180840192816021612ada612ac487611dec565b96612ad26040519889611dca565b808852611dec565b602087019790601f1901368937860101905b612b50575b50505050612b3392612a23926026926040519583612b19889551809260208089019101611c24565b840191602f60f81b60208401525180936021840190611c24565b0164173539b7b760d91b6021820152036006810184520182611dca565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612b8157919082612aec565b612af1565b9160010191612aaf565b606460029104920191612aa4565b6004910492019138612a99565b6008910492019138612a8c565b6010910492019138612a7d565b6020910492019138612a6b565b604094500490503880612a51565b612be981612f57565b5050612bf857612a2390612656565b8060005261010260205260ff60406000205416600014612c1b57612a2390612656565b6000818152609960205260409020546001600160a01b0316612c4757506033546001600160a01b031690565b612a2390612656565b6001600160a01b03908180612c6485612be0565b16911691818314938415612ca3575b50508215612c8057505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b83929450612cb090612cba565b1614913880612c73565b600081815260fd60205260408120546001600160a01b039291908316612cdf83612f57565b5050908115612d78575b5080612d60575b15612d0657604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612cf0565b9050151538612ce9565b908215611c8257612dcc91612d9684612f57565b505080612ede575b80612ec4575b612eb5575b612db284612656565b6001600160a01b0393918416928492909183168414612efd565b16918215612e645781612de991612de286612656565b1614612efd565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612ebf8482612906565b612da9565b508360005261010260205260ff6040600020541615612da4565b506000848152609960205260409020546001600160a01b031615612d9e565b15612f0457565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612f845750509050600090600090604051612f7d81611d98565b6000815290565b612f8d81612532565b505482101580612fc8575b612faa57612fa5906122c1565b612f60565b809350612fb79150612532565b5090612a2360026001949301611f1a565b506001612fd482612532565b500154821115612f98565b63ffffffff60e01b166380ac58cd60e01b8114908115613012575b8115613004575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612ffa56fea2646970667358221220c513c80d3754ef4fd1e7ac6c77aa64158f3d8bb05bfc915f1077fa473753ab6264736f6c63430008120033","sourceMap":"183:1643:202:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e814611b7357806301ffc9a714611a9d57806306fdde03146119f3578063081812fc146119d3578063095ea7b3146117b757806318160ddd14611797578063204274861461176357806323b872dd1461173e5780632a55205a146116ac5780632ce878da146116395780633403c4e9146116105780633ebc82c5146115ce57806340c1a064146115a457806342842e0e1461157057806342966c6814611553578063472a6638146114c35780634aa52c41146114525780635edc7c1914610f475780636297c16c14610ecb5780636352211e14610e9a57806370a0823114610e04578063715018a614610da75780637cc918d114610a8a57806387bc793f14610a62578063894ba83314610a145780638da5cb5b146109eb57806395d89b41146109065780639e860f2a14610815578063a22cb46514610693578063ab69607a14610674578063b88d4fde146105e9578063bc7194551461053b578063c87b56dd14610500578063d9856c2114610497578063e831574214610477578063e985e9c514610429578063eab85118146103ce578063ee070805146103ab578063efc32cd414610358578063f2fde38b146102c75763ff6e8c8f146101e457600080fd5b346102c3576101f236611d3f565b90919260018060a01b0394856033541633036102b65760038510156102a357841561029657505090610225913691612240565b92805b84518110156102925761028d90610254610241856122a7565b8661024c848a6122e6565b511690612328565b50838561026183896122e6565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46122c1565b610228565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346102c35760203660031901126102c3576102e1611c6c565b916102ea611e3f565b6001600160a01b03831615610306578361030384611e97565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103a757806003193601126103a757610372611c6c565b9061037b611e3f565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103a757816003193601126103a75760209060ff80541690519015158152f35b5050346103a75760203660031901126103a7576020906104206103ef611c6c565b6103fe60ff61010854166122a7565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103a757806003193601126103a75760ff81602093610449611c6c565b610451611c87565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103a757816003193601126103a757602090610100549051908152f35b8382346103a75760203660031901126103a757803567ffffffffffffffff81116102c357366023820112156102c357610292918160246104dc93369301359101611e08565b6104e4611e3f565b6104f260ff805416156124e6565b60fc543391829081906126bc565b509134610538576020366003190112610538575061052161053492356129fa565b9051918291602083526020830190611c47565b0390f35b80fd5b5090346102c35760203660031901126102c35781359160038310156105e5576033546001600160a01b031633036105d75750610576826122a7565b805490848155816105b9575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b3339482611d16565b0390a280f35b845260208420908101905b81811015610582578481556001016105c4565b9051635c510c8360e11b8152fd5b8380fd5b8382346103a75760803660031901126103a757610604611c6c565b9061060d611c87565b916044356064359367ffffffffffffffff851161067057366023860112156106705761064861066b9486602461030398369301359101611e08565b9261065b6106568433612c50565b611fc0565b610666838383612d82565b6121b5565b612075565b8580fd5b5050346103a757816003193601126103a75760209060fc549051908152f35b5090346102c357806003193601126102c3576106ad611c6c565b90602435918215158093036108115760ff610108541660038110156107fe57600181036107b45750600180865261010760209081528387206001600160a01b0384166000908152920190526040902054156107a5575b6001600160a01b0316923384146107635750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b60020361070357600285526101076020526107ea82862060018060a01b0383169060019160005201602052604060002054151590565b156107035781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b5090346102c35761082536611d3f565b6033546001600160a01b039490851633036108f7575090610847913691612240565b91600382101590816107fe578261085c578580f35b8591929394955b85518110156108e75761088b610878866122a7565b83610883848a6122e6565b511690612396565b50838261089883896122e6565b5116906108d45790856108cf92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46122c1565b610863565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103a757816003193601126103a7578051908260985461092881611ee0565b808552916001918083169081156109c35750600114610966575b50505061095482610534940383611dca565b51918291602083526020830190611c47565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106109ab575050506109548260206105349582010194610942565b8054602087870181019190915290950194810161098e565b61053497508693506020925061095494915060ff191682840152151560051b82010194610942565b5050346103a757816003193601126103a75760335490516001600160a01b039091168152602090f35b8334610538578060031936011261053857610a2d611e3f565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103a757816003193601126103a7576105349060ff6101085416905191829182611d16565b509190346103a757806003193601126103a75767ffffffffffffffff9280358481116105e557610abd9036908301611ce8565b90610ac6611e3f565b610ad460ff805416156124e6565b6101049081549260019788850194858111610d9457602490813501938a8501808811610d82578511610d705788519560209687810181811086821117610d0a578b52869052859055610100548511610d2e578851906060820182811085821117610d1c5790610b50918b52888352878301958787523691611e08565b93898201948552610105805490600160401b821015610d0a578d82019055610b7790612532565b929092610cf9579060029291518255518c820155019251968751928311610ce8575050610ba48254611ee0565b601f8111610ca6575b50879888969798508497601f8311600114610c22578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610c17575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610bf1565b8388528588209098919291601f198316895b818110610c8e575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610c75575b505050811b019055610c03565b015160001960f88460031b161c19169055388080610c68565b828c015184558d9a5092850192918801918801610c34565b828952848920601f830160051c810191868410610cde575b601f0160051c01905b818110610cd45750610bad565b8981558a01610cc7565b9091508190610cbe565b634e487b7160e01b8a526041905288fd5b634e487b7160e01b8c528b8a52838cfd5b634e487b7160e01b8d5260418b52848dfd5b634e487b7160e01b8c5260418a52838cfd5b885162461bcd60e51b8152808901879052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b89526011875288fd5b634e487b7160e01b8b5260118952828bfd5b634e487b7160e01b895260118752602489fd5b8334610538578060031936011261053857610dc0611e3f565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103a75760203660031901126103a7576001600160a01b03610e28611c6c565b16908115610e45576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105385760203660031901126105385750610eba60209235612be0565b90516001600160a01b039091168152f35b50346102c35760203660031901126102c357803591610ee983612be0565b336001600160a01b0390911603610f0457836103038461256e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346103a75760803660031901126103a75767ffffffffffffffff9281358481116105e557610f7b9036908401611ce8565b929060243586811161067057610f949036908401611ce8565b610f9f979197611c9d565b9387549860ff94858b60081c16159889809a611446575b8015611430575b156113d65760ff19808d1660019081178d559b9c999a998a6113c5575b506001600160a01b03891615611382579161102d9161101d898f6110359796600a60fc558254168255606435610100555460081c1661101881612486565b612486565b61102633611e97565b3691611e08565b933691611e08565b90611049858b5460081c1661101881612486565b825184811161136f578061105e609754611ee0565b94601f958681116112fe575b506020908d87841160011461127f5792611274575b5050600019600383901b1c1916908a1b176097555b815193841161126157506110a9609854611ee0565b8281116111fe575b5060209183116001146111725791806111269594926110fe948b92611167575b5050600019600383901b1c191690881b176098555b875460081c166110f581612486565b61101881612486565b60fb80546001600160a01b0319166001600160a01b038316179055611121611e3f565b611e97565b61112e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a806110d1565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106111e65750916110fe9593918561112699989694106111cd575b505050811b016098556110e6565b015160001960f88460031b161c191690558a80806111bf565b8284015185558b9690940193602093840193016111a2565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c82019260208710611258575b0160051c019089905b82811061124d5750506110b1565b8b815501899061123f565b92508192611236565b634e487b7160e01b8a5260419052602489fd5b015190508c8061107f565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106112e6575084116112cd575b505050811b01609755611094565b015160001960f88460031b161c191690558c80806112bf565b8284015185558f9690940193602093840193016112b0565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611366575b859493910160051c909101908d908f5b8382106113585750505061106a565b81558594508e91018f611349565b92508192611339565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d610fda565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610fbd57506001878d1614610fbd565b506001878d1610610fb6565b8382346103a75760603660031901126103a757803567ffffffffffffffff81116102c3576102929161148691369101611ce8565b9061148f611c87565b611497611c9d565b926114a0611e3f565b6114ae60ff805416156124e6565b6114be60fc549333923691611e08565b6126bc565b50346102c35760203660031901126102c35780359160038310156105e5576033546001600160a01b031633036102b657506101089182549160ff83169060038210156115405750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103a75760203660031901126103a757610303903561256e565b5050346103a75761066b6103039161158736611cb3565b9192519261159484611d98565b86845261065b6106568433612c50565b5050346103a75760203660031901126103a75760335490516001600160a01b039091168152602090f35b8334610538576020366003190112610538576103036115eb611c6c565b6115f3611e3f565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103a757816003193601126103a75760fb5490516001600160a01b039091168152602090f35b82843461053857806003193601126105385761165a60ff61010854166122a7565b9180519182845490818152602080910195835280832092905b82821061169557610534868661168b828b0383611dca565b5191829182611be0565b835487529586019560019384019390910190611673565b5091346105385781600319360112610538578235815260fd60205281812054602435906001600160a01b03908116801561173257925b60fe60205284812054801561172857925b8381029381850414901517156117155750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926116f3565b508060fb5416926116e2565b83346105385761030361175036611cb3565b9161175e6106568433612c50565b612d82565b5050346103a75760203660031901126103a757602090611781611c6c565b60018060a01b0380603354169116149051908152f35b5050346103a757816003193601126103a757602090610104549051908152f35b50346102c357816003193601126102c3576117d0611c6c565b906024359260ff610108541660038110156119c057600181036119795750600180865261010760209081528287206001600160a01b03861660009081529201905260409020541561196d575b6001600160a01b0391828061183087612be0565b1694169380851461192057803314908115611901575b50156118995750838552610103602052842080546001600160a01b0319168317905561187183612656565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611846565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b60020361181c57600285526101076020526119af81862060018060a01b0385169060019160005201602052604060002054151590565b1561181c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091346105385760203660031901126105385750610eba60209235612cba565b5050346103a757816003193601126103a75780519082609754611a1581611ee0565b808552916001918083169081156109c35750600114611a405750505061095482610534940383611dca565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a85575050506109548260206105349582010194610942565b80546020878701810191909152909501948101611a68565b50346102c35760203660031901126102c35735906001600160e01b031982168083036105e5576020935063fa31a45b60e01b8114928315611b62575b8315611aea575b5050519015158152f35b919250631030681960e21b811491908215611b51575b8215611b28575b508115611b18575b50903880611ae0565b611b229150612fdf565b38611b0f565b90915063152a902d60e11b148015611b42575b9038611b07565b50611b4c81612fdf565b611b3b565b6301ffc9a760e01b81149250611b00565b6301ffc9a760e01b82149350611ad9565b5090346102c357602091826003193601126105e5573560038110156105e557611b9b906122a7565b9281518093808654928381520195835280832092905b828210611bc957610534868661168b828b0383611dca565b835487529586019560019384019390910190611bb1565b6020908160408183019282815285518094520193019160005b828110611c07575050505090565b83516001600160a01b031685529381019392810192600101611bf9565b60005b838110611c375750506000910152565b8181015183820152602001611c27565b90602091611c6081518092818552858086019101611c24565b601f01601f1916010190565b600435906001600160a01b0382168203611c8257565b600080fd5b602435906001600160a01b0382168203611c8257565b604435906001600160a01b0382168203611c8257565b6060906003190112611c82576001600160a01b03906004358281168103611c8257916024359081168103611c82579060443590565b9181601f84011215611c825782359167ffffffffffffffff8311611c825760208381860195010111611c8257565b919060208301926003821015611d295752565b634e487b7160e01b600052602160045260246000fd5b6040600319820112611c82576004356003811015611c82579160243567ffffffffffffffff92838211611c825780602383011215611c82578160040135938411611c825760248460051b83010111611c82576024019190565b6020810190811067ffffffffffffffff821117611db457604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611db457604052565b67ffffffffffffffff8111611db457601f01601f191660200190565b929192611e1482611dec565b91611e226040519384611dca565b829481845281830111611c82578281602093846000960137010152565b6033546001600160a01b03163303611e5357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611f10575b6020831014611efa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611eef565b9060405191826000825492611f2e84611ee0565b908184526001948581169081600014611f9d5750600114611f5a575b5050611f5892500383611dca565b565b9093915060005260209081600020936000915b818310611f85575050611f5893508201013880611f4a565b85548884018501529485019487945091830191611f6d565b915050611f5894506020925060ff191682840152151560051b8201013880611f4a565b15611fc757565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561207c57565b60405162461bcd60e51b81528061209560048201612022565b0390fd5b9192600092909190803b156121ab576120e7946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611c47565b03926001600160a01b03165af184918161216b575b5061215a575050503d600014612152573d61211681611dec565b906121246040519283611dca565b81528091833d92013e5b8051918261214f5760405162461bcd60e51b81528061209560048201612022565b01fd5b50606061212e565b6001600160e01b0319161492509050565b9091508581813d83116121a4575b6121838183611dca565b8101031261081157516001600160e01b0319811681036108115790386120fc565b503d612179565b5050915050600190565b9293600093909291803b156122355794849161220f9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611c47565b0393165af184918161216b575061215a575050503d600014612152573d61211681611dec565b505050915050600190565b90929167ffffffffffffffff8411611db4578360051b604051926020809461226a82850182611dca565b8097815201918101928311611c8257905b8282106122885750505050565b81356001600160a01b0381168103611c8257815290830190830161227b565b6003811015611d2957600052610107602052604060002090565b60001981146122d05760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156122fa5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156122fa5760005260206000200190600090565b600082815260018201602052604090205461238f57805490600160401b821015611db45782612378612361846001809601855584612310565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b9060018201906000928184528260205260408420549081151560001461247f576000199180830181811161246b5782549084820191821161245757808203612422575b5050508054801561240e578201916123f18383612310565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6124426124326123619386612310565b90549060031b1c92839286612310565b905586528460205260408620553880806123d9565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b1561248d57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b156124ed57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b6101059081548110156122fa57600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b61257781612f57565b5050600082815261010260205260408120805460ff191660011790559080612637575b612633576125ab6106568333612c50565b6125b482612656565b506125be82612656565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561259a565b6000908152609960205260409020546001600160a01b031680156126775790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b9392909160019461010495808754018097556101005487116128765761270061066b6040516126ea81611d98565b896000968783526126fb8282612906565b612099565b8683526020916101068352604084209181519167ffffffffffffffff83116128625761272c8454611ee0565b601f811161281c575b508490601f84116001146127b357928060fd9593819389989660409a946127a8575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612757565b8487528587209293929190601f198416885b818110612807575091604098979593918560fd989694106127ee575b505050811b019055612769565b015160001960f88460031b161c191690553880806127e1565b828401518555938601939288019288016127c5565b848752858720601f850160051c810191878610612858575b601f0160051c019083905b82811061284d575050612735565b88815501839061283f565b9091508190612834565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b156128c157565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b031680156129b65760008281526099602052604090205461293a906001600160a01b031615155b156128ba565b60008281526099602052604090205461295d906001600160a01b03161515612934565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b612a0381612f57565b9115159050612a265750600052610106602052612a236040600020611f1a565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015612bd2575b50506d04ee2d6d415b85acef810000000080821015612bc5575b50662386f26fc1000080821015612bb8575b506305f5e10080821015612bab575b5061271080821015612b9e575b506064811015612b90575b600a80911015612b86575b600180840192816021612ada612ac487611dec565b96612ad26040519889611dca565b808852611dec565b602087019790601f1901368937860101905b612b50575b50505050612b3392612a23926026926040519583612b19889551809260208089019101611c24565b840191602f60f81b60208401525180936021840190611c24565b0164173539b7b760d91b6021820152036006810184520182611dca565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612b8157919082612aec565b612af1565b9160010191612aaf565b606460029104920191612aa4565b6004910492019138612a99565b6008910492019138612a8c565b6010910492019138612a7d565b6020910492019138612a6b565b604094500490503880612a51565b612be981612f57565b5050612bf857612a2390612656565b8060005261010260205260ff60406000205416600014612c1b57612a2390612656565b6000818152609960205260409020546001600160a01b0316612c4757506033546001600160a01b031690565b612a2390612656565b6001600160a01b03908180612c6485612be0565b16911691818314938415612ca3575b50508215612c8057505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b83929450612cb090612cba565b1614913880612c73565b600081815260fd60205260408120546001600160a01b039291908316612cdf83612f57565b5050908115612d78575b5080612d60575b15612d0657604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612cf0565b9050151538612ce9565b908215611c8257612dcc91612d9684612f57565b505080612ede575b80612ec4575b612eb5575b612db284612656565b6001600160a01b0393918416928492909183168414612efd565b16918215612e645781612de991612de286612656565b1614612efd565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612ebf8482612906565b612da9565b508360005261010260205260ff6040600020541615612da4565b506000848152609960205260409020546001600160a01b031615612d9e565b15612f0457565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612f845750509050600090600090604051612f7d81611d98565b6000815290565b612f8d81612532565b505482101580612fc8575b612faa57612fa5906122c1565b612f60565b809350612fb79150612532565b5090612a2360026001949301611f1a565b506001612fd482612532565b500154821115612f98565b63ffffffff60e01b166380ac58cd60e01b8114908115613012575b8115613004575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612ffa56fea2646970667358221220c513c80d3754ef4fd1e7ac6c77aa64158f3d8bb05bfc915f1077fa473753ab6264736f6c63430008120033","sourceMap":"183:1643:202:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;1513:6:39;183:1643:202;;2088:10:111;1200:16:202;2064:71:111;;183:1643:202;;;;;;2839:39:111;;2835:84;;183:1643:202;;;;;;;;:::i;:::-;5643:13:111;;5677:3;183:1643:202;;5658:17:111;;;;;5677:3;5717:15;8398:50:109;5717:15:111;;;:::i;:::-;5737:9;;;;;:::i;:::-;183:1643:202;;8398:50:109;;:::i;:::-;;5795:9:111;;;;;;:::i;:::-;183:1643:202;;2088:10:111;5764:52;;;;5677:3;:::i;:::-;5643:13;;5658:17;;183:1643:202;;2835:84:111;183:1643:202;-1:-1:-1;;;2887:32:111;;;183:1643:202;-1:-1:-1;;;183:1643:202;;;;;;;;2064:71:111;183:1643:202;-1:-1:-1;;;2108:27:111;;;183:1643:202;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;183:1643:202;;2402:22:39;183:1643:202;;2496:8:39;;;;:::i;:::-;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;183:1643:202;;;;4978:16:200;183:1643:202;;;;;;-1:-1:-1;;;;;;183:1643:202;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1138:20:200;183:1643:202;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;8963:55:109;183:1643:202;;:::i;:::-;4167:14:111;183:1643:202;4172:8:111;183:1643:202;;4167:14:111;:::i;:::-;-1:-1:-1;;;;;183:1643:202;;;-1:-1:-1;183:1643:202;;;;4351:12:109;;;183:1643:202;;;;;;4351:24:109;;;4255:127;8963:55;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;183:1643:202;;;;;4980:18:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1165:24:200;183:1643:202;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;;;;;;;;3510:155:200;183:1643:202;;;;;;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;2737:52:200;2746:8;183:1643:202;;;2745:9:200;2737:52;:::i;:::-;2453:24:212;183:1643:202;3554:10:200;;;;;;3510:155;:::i;183:1643:202:-;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;;1513:6:39;183:1643:202;-1:-1:-1;;;;;183:1643:202;2088:10:111;1200:16:202;2064:71:111;;3436:15;;;;:::i;:::-;183:1643:202;;;;;;;;;;;;3462:34:111;183:1643:202;;2088:10:111;3462:34;2088:10;3462:34;;;:::i;:::-;;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;2064:71:111;183:1643:202;;-1:-1:-1;;;2108:27:111;;;183:1643:202;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6956:47:58;183:1643:202;;;6948:110:58;183:1643:202;;;;;;;;:::i;:::-;929:10:65;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;183:1643:202:-;;;;;;;;;;;;;;;;;;;;2453:24:212;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1460:8:111;183:1643:202;;;;;;;;1472:28:111;1460:40;;1472:28;;-1:-1:-1;1472:28:111;183:1643:202;;;1515:4:111;183:1643:202;;;;;;;-1:-1:-1;;;;;183:1643:202;;-1:-1:-1;183:1643:202;;;4351:12:109;;183:1643:202;;;;;;4351:24:109;1510:92:111;;1456:309;-1:-1:-1;;;;;183:1643:202;;929:10:65;13528:17:58;;183:1643:202;;929:10:65;;183:1643:202;;13585:18:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:58;183:1643:202;929:10:65;13646:41:58;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:111;183:1643:202;;-1:-1:-1;;;1574:28:111;;183:1643:202;;1574:28:111;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;183:1643:202;;1672:4:111;183:1643:202;;8963:55:109;183:1643:202;;;;;;;;;;8963:55:109;4351:12;4255:127;-1:-1:-1;183:1643:202;4351:12:109;183:1643:202;;;-1:-1:-1;183:1643:202;;4351:24:109;;4255:127;;8963:55;1668:90:111;1456:309;1668:90;183:1643:202;;-1:-1:-1;;;1730:28:111;;183:1643:202;;1730:28:111;183:1643:202;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:39;183:1643:202;-1:-1:-1;;;;;183:1643:202;;;;2088:10:111;1200:16:202;2064:71:111;;183:1643:202;;;;;;;:::i;:::-;;;;;;;;;;5589:39:111;5585:387;;183:1643:202;;;5585:387:111;5643:13;;;;;;5677:3;183:1643:202;;5658:17:111;;;;;8719:53:109;5845:15:111;;;:::i;:::-;5868:9;;;;;:::i;:::-;183:1643:202;;8719:53:109;;:::i;:::-;;5926:9:111;;;;;;:::i;:::-;183:1643:202;;;;;2088:10:111;;5677:3;2088:10;;5895:52;;;;5677:3;:::i;:::-;5643:13;;183:1643:202;-1:-1:-1;;;183:1643:202;;;;;;;;5658:17:111;;;;;;;;5585:387;;;;;183:1643:202;;;2064:71:111;183:1643:202;-1:-1:-1;;;2108:27:111;;183:1643:202;;2108:27:111;183:1643:202;;;;;;;;;;;;;;;;;;3182:7:58;183:1643:202;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;183:1643:202;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;4663:4:200;183:1643:202;;;;;;;;4699:10:200;4682:28;;;;183:1643:202;;;;;;;;;;;;;;;;;;;4333:8:111;183:1643:202;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;2737:52:200;2746:8;183:1643:202;;;2745:9:200;2737:52;:::i;:::-;2975:14;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3195:9:200;183:1643:202;3167:37:200;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;3287:45:200;;;183:1643:202;;;;;;;:::i;:::-;3287:45:200;;;;183:1643:202;;;3270:11:200;183:1643:202;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3349:66:200;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;183:1643:202;;;;;;;3349:66:200;183:1643:202;;;;;;-1:-1:-1;183:1643:202;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;3349:66:200;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;183:1643:202;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;183:1643:202;;-1:-1:-1;;;;;;183:1643:202;;;;;;;-1:-1:-1;;;;;183:1643:202;2806:40:39;183:1643:202;;2806:40:39;183:1643:202;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;-1:-1:-1;;;;;183:1643:202;;:::i;:::-;;2489:19:58;;;183:1643:202;;;;;;;;;2571:9:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;2619:17:200;;;;:::i;:::-;2640:10;-1:-1:-1;;;;;183:1643:202;;;2619:31:200;183:1643:202;;4093:8:200;;;;:::i;183:1643:202:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:45;3347:34;;;;;;183:1643:202;3346:108:45;;;;183:1643:202;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;;;;3562:65:45;;183:1643:202;-1:-1:-1;;;;;;183:1643:202;;2180:22:200;183:1643:202;;;;;5366:69:45;183:1643:202;;;;;2276:2:200;2197:38:212;183:1643:202;;;;;;;;2315:22:200;183:1643:202;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;183:1643:202;;;:::i;:::-;;;;;:::i;:::-;;5366:69:45;183:1643:202;;;;;;5366:69:45;;;:::i;:::-;183:1643:202;;;;;;;;;1873:13:58;183:1643:202;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;183:1643:202;;;;;;;;;;;1873:13:58;183:1643:202;;;;;;;;;;;1896:17:58;183:1643:202;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:39;183:1643:202;;;5366:69:45;183:1643:202;;;;;;-1:-1:-1;;;;183:1643:202;;;;;;;;;;;1896:17:58;183:1643:202;;;;;;;5366:69:45;;;:::i;:::-;;;;:::i;:::-;1492:34:212;183:1643:202;;-1:-1:-1;;;;;;183:1643:202;-1:-1:-1;;;;;183:1643:202;;;;;1303:62:39;;:::i;:::-;2496:8;:::i;:::-;3647:99:45;;183:1643:202;;;3647:99:45;183:1643:202;;-1:-1:-1;;183:1643:202;;;;;;;3721:14:45;;183:1643:202;;3721:14:45;3647:99;;183:1643:202;;;;;;;-1:-1:-1;183:1643:202;;;;;1896:17:58;183:1643:202;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;5366:69:45;183:1643:202;;;;2496:8:39;183:1643:202;;;;;;;;;;;;;;1896:17:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;;;;;;;;;;1873:13:58;183:1643:202;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;;;;;1873:13:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;3562:65:45;-1:-1:-1;;183:1643:202;;;;;3562:65:45;;;183:1643:202;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;183:1643:202;;;;;3436:17:45;3346:108;;3347:34;183:1643:202;;;;;3365:16:45;3347:34;;183:1643:202;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;3834:160:200;183:1643:202;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:39;;;:::i;:::-;2737:52:200;2746:8;183:1643:202;;;2745:9:200;2737:52;:::i;:::-;183:1643:202;2453:24:212;183:1643:202;3878:10:200;;183:1643:202;;;;:::i;:::-;3834:160:200;:::i;183:1643:202:-;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;;1513:6:39;183:1643:202;-1:-1:-1;;;;;183:1643:202;2088:10:111;1200:16:202;2064:71:111;;5330:8;;183:1643:202;;;;;;;;;;;;;;2088:10:111;;;183:1643:202;2088:10:111;;5302:51;;;;183:1643:202;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;:::i;:::-;;;;;;6956:47:58;6948:110;183:1643:202;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;183:1643:202:-;;;;;;;;-1:-1:-1;;183:1643:202;;;;1513:6:39;183:1643:202;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;4833:9:200;183:1643:202;;:::i;:::-;1303:62:39;;:::i;:::-;183:1643:202;;;;;;-1:-1:-1;;;;;183:1643:202;;1492:34:212;183:1643:202;;;1492:34:212;183:1643:202;1418:115:212;183:1643:202;;;;;;;;;;;;;;2332:22:212;183:1643:202;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;4008:14:111;183:1643:202;4013:8:111;183:1643:202;;4008:14:111;:::i;:::-;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:212;183:1643:202;;;;;;;;;-1:-1:-1;;;;;183:1643:202;;;1049:40:212;;183:1643:202;;1049:118:212;;1238:18;183:1643:202;;;;;;1238:33:212;;;;:131;;183:1643:202;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;;1401:3:212;183:1643:202;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;1238:131:212;183:1643:202;1345:24:212;183:1643:202;1238:131:212;;;1049:118;183:1643:202;;1145:22:212;183:1643:202;;1049:118:212;;;183:1643:202;;;;;5365:7:58;183:1643:202;;;:::i;:::-;929:10:65;5235:99:58;5243:41;929:10:65;;5243:41:58;:::i;5235:99::-;5365:7;:::i;183:1643:202:-;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;:::i;:::-;;;;;;;1513:6:39;183:1643:202;;;;1200:16;183:1643;;;;;;;;;;;;;;;;;;;;;;9313:14:200;183:1643:202;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:111;183:1643:202;;;;;;;;;1460:40:111;;183:1643:202;;-1:-1:-1;183:1643:202;;;;1515:4:111;183:1643:202;;;;;;;-1:-1:-1;;;;;183:1643:202;;-1:-1:-1;183:1643:202;;;4351:12:109;;183:1643:202;;;;;;4351:24:109;1510:92:111;;1456:309;-1:-1:-1;;;;;183:1643:202;;;7258:16:200;;;:::i;:::-;183:1643:202;;;7292:11:200;;;;183:1643:202;;929:10:65;;7373:21:200;:62;;;;;1456:309:111;183:1643:202;;;;-1:-1:-1;183:1643:202;;;8087:15:200;183:1643:202;;;;;;-1:-1:-1;;;;;;183:1643:202;;;;;8140:34:200;183:1643:202;8140:34:200;:::i;:::-;183:1643:202;8131:57:200;;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7373:62:200;183:1643:202;;;;4980:18:58;183:1643:202;;;;;929:10:65;183:1643:202;;;;;;;;;;7373:62:200;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;1510:92:111;183:1643:202;-1:-1:-1;;;1574:28:111;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;183:1643:202;;1672:4:111;183:1643:202;;8963:55:109;183:1643:202;;;;;;;;;;8963:55:109;4351:12;4255:127;-1:-1:-1;183:1643:202;4351:12:109;183:1643:202;;;-1:-1:-1;183:1643:202;;4351:24:109;;4255:127;;8963:55;1668:90:111;1456:309;1668:90;183:1643:202;-1:-1:-1;;;1730:28:111;;;183:1643:202;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:58;183:1643:202;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;-1:-1:-1;;;;;;183:1643:202;;;;;;;;;-1:-1:-1;;;;4844:47:111;;;:88;;;;183:1643:202;696:104;;;;183:1643;;;;;;;;;;696:104;10191:31:200;;-1:-1:-1;;;;10176:46:200;;;10191:31;10176:110;;;;696:104:202;10176:175:200;;;;696:104:202;10176:239:200;;;;;696:104:202;;;;;;;10176:239:200;10367:48;;;;:::i;:::-;10176:239;;;:175;2028:26:212;;-1:-1:-1;;;;2013:41:212;:93;;;;10176:175:200;;;;;2013:93:212;2070:36;;;;:::i;:::-;2013:93;;10176:110:200;-1:-1:-1;;;937:40:103;;;-1:-1:-1;10176:110:200;;4844:88:111;-1:-1:-1;;;937:40:103;;;-1:-1:-1;4844:88:111;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;3857:15:111;;;:::i;:::-;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;183:1643:202;;;;:::o;:::-;;;;-1:-1:-1;;;;;183:1643:202;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;183:1643:202;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;183:1643:202;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;183:1643:202;;;;;-1:-1:-1;183:1643:202;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;183:1643:202;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;;:::o;1599:130:39:-;1513:6;183:1643:202;-1:-1:-1;;;;;183:1643:202;929:10:65;1662:23:39;183:1643:202;;1599:130:39:o;183:1643:202:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;183:1643:202;;-1:-1:-1;;;;;183:1643:202;;;-1:-1:-1;;;;;;183:1643:202;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;183:1643:202:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;183:1643:202;;;;-1:-1:-1;183:1643:202;;-1:-1:-1;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:202;;;;;;;;:::i;:::-;;;;14463:853:58;;;183:1643:202;;14463:853:58;;;1713:19:63;;:23;:19;;183:1643:202;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;183:1643:202;;;;;;;;;;;;;;;14667:82:58;;;;183:1643:202;;;;;;;;:::i;:::-;14667:82:58;;-1:-1:-1;;;;;183:1643:202;14667:82:58;;;;;;;14628:682;-1:-1:-1;14663:595:58;;14877:381;;;183:1643:202;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:58;;;183:1643:202;;-1:-1:-1;;;14969:60:58;;183:1643:202;14969:60:58;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;183:1643:202;;;;;14663:595:58;-1:-1:-1;;;;;;183:1643:202;14799:62:58;;-1:-1:-1;183:1643:202;-1:-1:-1;14792:69:58:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;183:1643:202;;;;;-1:-1:-1;;;;;;183:1643:202;;;;;;14667:82:58;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;183:1643:202;;14463:853:58;;;1713:19:63;;:23;:19;;183:1643:202;;;;;;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;14667:82:58;;183:1643:202;;;;;;;;:::i;:::-;14667:82:58;183:1643:202;;14667:82:58;;;;;;;-1:-1:-1;14663:595:58;;14877:381;;;183:1643:202;;;;;;;;;:::i;14628:682:58:-;15288:11;;;;;;15295:4;15288:11;:::o;183:1643:202:-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;3857:4:111;183:1643:202;;;-1:-1:-1;183:1643:202;;:::o;:::-;-1:-1:-1;;183:1643:202;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;-1:-1:-1;183:1643:202;;;-1:-1:-1;183:1643:202;:::o;2214:404:109:-;-1:-1:-1;183:1643:202;;;4351:12:109;;;183:1643:202;;;;;;2298:21:109;;183:1643:202;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;2493:12:109;183:1643:202;;;-1:-1:-1;183:1643:202;;;2547:11:109;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:109;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;3023:15:109;;;;3019:1149;3023:15;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;;;;;;;;;3505:26:109;;;3501:398;;3019:1149;183:1643:202;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:109;4103:11;:::o;183:1643:202:-;-1:-1:-1;;;183:1643:202;;;;;;;;3501:398:109;183:1643:202;3571:22:109;3693:26;3571:22;;;:::i;:::-;183:1643:202;;;;;;3693:26:109;;;;;:::i;183:1643:202:-;;;;;;;;;;;;3501:398:109;;;;;183:1643:202;-1:-1:-1;;;183:1643:202;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;3019:1149:109;4145:12;;;;;:::o;183:1643:202:-;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;3270:11:200;183:1643:202;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;-1:-1:-1;183:1643:202;:::o;4115:317:200:-;4209:24;;;:::i;:::-;-1:-1:-1;;;183:1643:202;;;4244:12:200;183:1643:202;;;;;;;-1:-1:-1;;183:1643:202;4269:4:200;183:1643:202;;;-1:-1:-1;183:1643:202;4288:54:200;;4115:317;4284:91;;911:99:61;919:41;929:10:65;;919:41:61;:::i;911:99::-;10729:34:58;;;:::i;:::-;;10935;;;:::i;:::-;183:1643:202;;;11014:15:58;183:1643:202;;;;;;;;;;-1:-1:-1;;;;;;183:1643:202;;;;;;-1:-1:-1;;;;;183:1643:202;;;;;;11254:9:58;183:1643:202;;;;;;;-1:-1:-1;;183:1643:202;;;;;;11302:7:58;183:1643:202;;;;;;;;;;;;;11334:36:58;183:1643:202;;11334:36:58;4115:317:200:o;4284:91::-;4358:7;;:::o;4288:54::-;-1:-1:-1;;183:1643:202;;;7266:7:58;183:1643:202;;;;;;-1:-1:-1;;;;;183:1643:202;7680:31:58;4288:54:200;;2651:219:58;-1:-1:-1;183:1643:202;;;7266:7:58;183:1643:202;;;;;;-1:-1:-1;;;;;183:1643:202;2793:19:58;;183:1643:202;;2651:219:58;:::o;183:1643:202:-;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;5157:624:200;;;;;1061:1:66;5367:14:200;;183:1643:202;;;;;;;;5474:9:200;183:1643:202;5463:20:200;;183:1643:202;;8929:150:58;8950:53;183:1643:202;;;;;:::i;:::-;-1:-1:-1;;183:1643:202;;;;8911:7:58;;;;:::i;:::-;8950:53;:::i;8929:150::-;183:1643:202;;;;;5563:10:200;183:1643:202;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5157:624:200;183:1643:202;;;;;;;;;;;;1639:16:212;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5110:13:200;183:1643:202;;;;;;;;;;;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;1794:18:212;183:1643:202;;;;;;;;;;;;;;;;;5157:624:200;:::o;183:1643:202:-;;;;-1:-1:-1;183:1643:202;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:202;;;;;;;;;;;;;;;;;;1639:16:212;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:202;;;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;;;;9408:920:58;-1:-1:-1;;;;;183:1643:202;9487:16:58;;183:1643:202;;-1:-1:-1;183:1643:202;;;7266:7:58;183:1643:202;;;;;;9550:58:58;;-1:-1:-1;;;;;183:1643:202;7680:31:58;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;183:1643:202;;;7266:7:58;183:1643:202;;;;;;9754:58:58;;-1:-1:-1;;;;;183:1643:202;7680:31:58;;9763:16;7592:126;9754:58;9501:1;183:1643:202;;;10154:9:58;183:1643:202;;;;;;;;;;;;;;10193:7:58;183:1643:202;;;;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;10230:33:58;;;;9408:920::o;183:1643:202:-;;;;;;;;;;;;;;;;;;;;;;;;;5940:616:200;6137:46;;;:::i;:::-;6198:15;;;;-1:-1:-1;6198:15:200;;183:1643:202;-1:-1:-1;183:1643:202;6236:10:200;183:1643:202;;;;-1:-1:-1;183:1643:202;;:::i;:::-;6229:27:200;:::o;6194:356::-;6447:19;-1:-1:-1;;6447:19:200;10287:8:71;6447:19:200;10278:17:71;;;;10274:103;;6194:356:200;10403:8:71;;;10394:17;;;;10390:103;;6194:356:200;10519:8:71;;10510:17;;;;10506:103;;6194:356:200;10635:7:71;;10626:16;;;;10622:100;;6194:356:200;10748:7:71;;10739:16;;;;10735:100;;6194:356:200;10852:16:71;10861:7;10852:16;;;10848:100;;6194:356:200;10974:7:71;10965:16;;;;10961:66;;6194:356:200;633:1:68;183:1643:202;;;;;775:76:68;183:1643:202;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;183:1643:202;;;;775:76:68;;;864:280;633:1;;;864:280;183:1643:202;;;;;;6338:183:200;183:1643:202;6338:183:200;183:1643:202;;;;;;;;;6338:183:200;;183:1643:202;6338:183:200;;;183:1643:202;;;:::i;:::-;;;;-1:-1:-1;;;183:1643:202;;;;;;;775:76:68;183:1643:202;;;;:::i;:::-;;-1:-1:-1;;;775:76:68;183:1643:202;;;6338:183:200;;;;;;;;;:::i;864:280:68:-;-1:-1:-1;;183:1643:202;;;;-1:-1:-1;;;969:93:68;;;;183:1643:202;969:93:68;183:1643:202;1112:10:68;;;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:71;183:1643:202;11011:1:71;183:1643:202;10961:66:71;;;10848:100;10861:7;10932:1;183:1643:202;;;;10848:100:71;;;10735;10819:1;183:1643:202;;;;10735:100:71;;;;10622;10706:1;183:1643:202;;;;10622:100:71;;;;10506:103;10592:2;183:1643:202;;;;10506:103:71;;;;10390;10476:2;183:1643:202;;;;10390:103:71;;;;10274;10360:2;;-1:-1:-1;183:1643:202;;-1:-1:-1;10274:103:71;;;;6562:594:200;6726:24;;;:::i;:::-;-1:-1:-1;;6765:15:200;;6803:35;;;:::i;6761:389::-;183:1643:202;-1:-1:-1;183:1643:202;6859:12:200;183:1643:202;;;;-1:-1:-1;183:1643:202;;;6855:295:200;183:1643:202;;;6904:35:200;;;:::i;6855:295::-;-1:-1:-1;183:1643:202;;;7266:7:58;183:1643:202;;;;;;-1:-1:-1;;;;;183:1643:202;6975:35:200;;-1:-1:-1;1513:6:39;183:1643:202;-1:-1:-1;;;;;183:1643:202;;7030:14:200:o;6970:170::-;7090:35;;;:::i;7562:338::-;-1:-1:-1;;;;;183:1643:202;;;7742:17:200;;;:::i;:::-;183:1643:202;;;7777:17:200;;;;:66;;;;;7562:338;7777:115;;;;;;7769:124;;7562:338;:::o;7777:115::-;183:1643:202;;;-1:-1:-1;183:1643:202;4980:18:58;183:1643:202;;;-1:-1:-1;183:1643:202;;-1:-1:-1;183:1643:202;;;;;-1:-1:-1;183:1643:202;;;7562:338:200;:::o;7777:66::-;7810:21;;;;;;;:::i;:::-;183:1643:202;7810:33:200;7777:66;;;;;8274:476;-1:-1:-1;183:1643:202;;;8433:16:200;183:1643:202;;;;;;-1:-1:-1;;;;;183:1643:202;;-1:-1:-1;183:1643:202;;8497:24:200;183:1643:202;8497:24:200;:::i;:::-;8546:40;;;;;;;8274:476;8545:81;;;;8274:476;183:1643:202;;;;;;;8718:15:200;183:1643:202;;;;;8274:476:200;:::o;183:1643:202:-;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;8545:81:200;183:1643:202;;;;8604:12:200;183:1643:202;;;;;;;;8603:23:200;8545:81;;8546:40;8564:22;;;;8546:40;;;8756:473;;8895:13;;183:1643:202;;11851:92:58;8948:24:200;;;;:::i;:::-;9000:66;;;;;8756:473;9000:105;;;8756:473;8983:180;;8756:473;11859:34:58;;;:::i;:::-;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;11859:42:58;;11851:92;:::i;:::-;183:1643:202;11961:16:58;;;183:1643:202;;12171:34:58;12163:92;12171:34;;;;:::i;:::-;183:1643:202;12171:42:58;12163:92;:::i;:::-;12901:27;8907:1:200;183:1643:202;;;12324:15:58;183:1643:202;;;;;-1:-1:-1;;;;;183:1643:202;;;;;;;;;;;;12792:9:58;183:1643:202;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:58;183:1643:202;;;;;;;;;;;;;12901:27:58;;8756:473:200:o;183:1643:202:-;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;8983:180:200;9143:8;;;;:::i;:::-;8983:180;;9000:105;183:1643:202;;8907:1:200;183:1643:202;9083:12:200;183:1643:202;;;;8907:1:200;183:1643:202;;;9082:23:200;9000:105;;:66;-1:-1:-1;;183:1643:202;;;7266:7:58;183:1643:202;;;;;;-1:-1:-1;;;;;183:1643:202;7680:31:58;9000:66:200;;183:1643:202;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:202;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:202;;;;;;;9350:537:200;9595:11;183:1643:202;;9350:537:200;9588:1;9591:22;;;;;;9859:21;;;;9588:1;9859:21;9588:1;183:1643:202;;;;;;:::i;:::-;9588:1:200;183:1643:202;;9350:537:200;:::o;9615:3::-;9667:14;;;:::i;:::-;183:1643:202;;9655:39:200;;;:96;;;9615:3;9634:205;;9615:3;;;:::i;:::-;9576:13;;9634:205;9801:14;;;;;;;:::i;:::-;9784:40;;183:1643:202;9801:22:200;9792:4;9784:40;9801:22;;183:1643:202;:::i;9655:96:200:-;9726:14;:25;:14;;;:::i;:::-;:25;;183:1643:202;9714:37:200;;;9655:96;;1987:344:58;183:1643:202;;;;2161:36:58;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:103;;1987:344:58;-1:-1:-1;1987:344:58:o;2146:126::-;-1:-1:-1;;;2213:59:58;;;-1:-1:-1;2146:126:58;","linkReferences":{}},"methodIdentifiers":{"addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchMint(string,uint256)":"7cc918d1","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isOperatorInList(address)":"eab85118","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol\":\"SovereignNFTRoyaltyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0xa1be1f35bfd101d50b527b796d0aafeba837f498ca3359bcc3a29253140209a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7fdc76b2c989d1c0ca725a261e4a1f9088d80ed182c7ad2358e9f06d7cb966c\",\"dweb:/ipfs/QmSmPoy6pWct22yTed4eKRV5Fx67h2FVwrPE133TZEY4g6\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a\",\"dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol":"SovereignNFTRoyaltyGuard"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFT.sol":{"keccak256":"0xa1be1f35bfd101d50b527b796d0aafeba837f498ca3359bcc3a29253140209a1","urls":["bzz-raw://c7fdc76b2c989d1c0ca725a261e4a1f9088d80ed182c7ad2358e9f06d7cb966c","dweb:/ipfs/QmSmPoy6pWct22yTed4eKRV5Fx67h2FVwrPE133TZEY4g6"],"license":"MIT"},"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol":{"keccak256":"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8","urls":["bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a","dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":202} \ No newline at end of file +{"abi":[{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"areTokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBatchCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBatchInfo","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"startTokenId","type":"uint256","internalType":"uint256"},{"name":"endTokenId","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockTokenURIs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBatchBaseURI","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"},{"name":"_newBaseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_newURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchBaseURIUpdated","inputs":[{"name":"batchIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newBaseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIsLocked","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x608080604052346100165761378e908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e81461214657806301ffc9a71461207057806306fdde0314611fc6578063081812fc14611fa6578063095ea7b314611d8a57806318160ddd14611d6a57806318e97fd114611a795780631a0058f5146119fd57806320427486146119c957806323b872dd146119a45780632a55205a146119125780632ce878da1461189f5780633403c4e9146118765780633ebc82c51461183457806340c1a0641461180a57806342842e0e146117d657806342966c68146117b9578063472a6638146117295780634aa52c41146116b95780635edc7c19146111af5780636297c16c14611133578063631d1d9a146107b45780636352211e1461110257806370a082311461106c578063715018a61461100f5780637cc918d114610d3a57806387bc793f14610d12578063894ba83314610cc45780638da5cb5b14610c9b57806395d89b4114610bb65780639e860f2a14610ac5578063a22cb46514610943578063a448dd4f146108a3578063a8fabfa514610883578063ab69607a14610864578063b88d4fde146107da578063bb2ee99f146107b4578063bc7194551461070c578063c87b56dd146106d1578063d9856c2114610669578063de903ddd146104e4578063e8315742146104c4578063e985e9c514610476578063eab851181461041b578063ee070805146103f8578063efc32cd4146103a5578063f2fde38b146103145763ff6e8c8f1461023157600080fd5b346103105761023f36612344565b90919260018060a01b0394856033541633036103035760038510156102f05784156102e35750509061027291369161285c565b92805b84518110156102df576102da906102a161028e856128c2565b86610299848a612901565b511690612943565b5083856102ae8389612901565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46128dc565b610275565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103105760203660031901126103105761032e61223f565b9161033761245b565b6001600160a01b038316156103535783610350846124b3565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103f457806003193601126103f4576103bf61223f565b906103c861245b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103f457816003193601126103f45760209060ff80541690519015158152f35b5050346103f45760203660031901126103f45760209061046d61043c61223f565b61044b60ff61010954166128c2565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103f457806003193601126103f45760ff8160209361049661223f565b61049e61225a565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103f457816003193601126103f457602090610100549051908152f35b508290346103f4576104f5366122b3565b91926104ff61245b565b61051c60ff805461051282821615612b55565b60081c1615613688565b61052a61010554851061363c565b600261053585612ba1565b5001906001600160401b038411610656575061055b8361055583546124fc565b83612b01565b84601f84116001146105c757956105b6918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105bc575b508560011b906000198760031b1c19161790555b51928392836136cc565b0390a280f35b905084013589610598565b81865260208087209190601f1986169088905b82821061063e575050916105b69391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610624575b5050600185811b0190556105ac565b850135600019600388901b60f8161c191690558880610615565b80600185968294968a013581550195019301906105da565b634e487b7160e01b865260419052602485fd5b8382346103f45760203660031901126103f45780356001600160401b0381116103105736602382011215610310576102df918160246106ad93369301359101612424565b6106b561245b565b6106c360ff80541615612b55565b60fc54339182908190612d2b565b50913461070957602036600319011261070957506106f26107059235613022565b905191829160208352602083019061221a565b0390f35b80fd5b5090346103105760203660031901126103105781359160038310156107b0576033546001600160a01b031633036107a25750610747826128c2565b80549084815581610784575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b633948261231b565b845260208420908101905b818110156107535784815560010161078f565b9051635c510c8360e11b8152fd5b8380fd5b5050346103f457816003193601126103f45760209060ff805460081c1690519015158152f35b8382346103f45760803660031901126103f4576107f561223f565b906107fe61225a565b91604435606435936001600160401b03851161086057366023860112156108605761083861085b9486602461035098369301359101612424565b9261084b61084684336132ad565b6125dc565b6108568383836133df565b6127d1565b612691565b8580fd5b5050346103f457816003193601126103f45760209060fc549051908152f35b5050346103f457816003193601126103f457602090610105549051908152f35b50346103105782600319360112610310576108bc61245b565b60ff549160ff8360081c166109005761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461031057806003193601126103105761095d61223f565b9060243591821515809303610ac15760ff61010954166003811015610aae5760018103610a645750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a55575b6001600160a01b031692338414610a135750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109b35760028552610108602052610a9a82862060018060a01b0383169060019160005201602052604060002054151590565b156109b35781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461031057610ad536612344565b6033546001600160a01b03949085163303610ba7575090610af791369161285c565b9160038210159081610aae5782610b0c578580f35b8591929394955b8551811015610b9757610b3b610b28866128c2565b83610b33848a612901565b5116906129b1565b508382610b488389612901565b511690610b84579085610b7f92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46128dc565b610b13565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103f457816003193601126103f45780519082609854610bd8816124fc565b80855291600191808316908115610c735750600114610c16575b505050610c04826107059403836123e8565b5191829160208352602083019061221a565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c5b57505050610c048260206107059582010194610bf2565b80546020878701810191909152909501948101610c3e565b610705975086935060209250610c0494915060ff191682840152151560051b82010194610bf2565b5050346103f457816003193601126103f45760335490516001600160a01b039091168152602090f35b8334610709578060031936011261070957610cdd61245b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103f457816003193601126103f4576107059060ff610109541690519182918261231b565b509190346103f457806003193601126103f4576001600160401b039280358481116107b057610d6c9036908301612286565b610d7795919561245b565b610d8560ff80541615612b55565b6101049081549660019384890194858a11610ffc576024998a350193818501808811610fea578511610fd85788519560209687810181811086821117610fc6578b52869052859055610100548511610f84578990610df98a5195610de88761239c565b898752888701928884523691612424565b948a8101958652610105805490600160401b821015610f72578582019055610e2090612ba1565b939093610f61575090600292915182555183820155019251968751928311610f4f5750889950610e5e82610e58859b999a9b546124fc565b85612b01565b8497601f8311600114610ecb578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ec0575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610e9a565b8388528588209098919291601f198316895b818110610f37575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610f1e575b505050811b019055610eac565b015160001960f88460031b161c19169055388080610f11565b828c015184558d9a5092850192918801918801610edd565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b833461070957806003193601126107095761102861245b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103f45760203660031901126103f4576001600160a01b0361109061223f565b169081156110ad576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461070957602036600319011261070957506111226020923561323d565b90516001600160a01b039091168152f35b5034610310576020366003190112610310578035916111518361323d565b336001600160a01b039091160361116c578361035084612bdd565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610310576080366003190112610310576001600160401b03918035838111610ac1576111e19036908301612286565b91906024358581116116b5576111fa9036908401612286565b611205969196612270565b9388549760ff94858a60081c1615978880996116a9575b8015611693575b1561163957600160ff198c1681178d559a89611628575b506001600160a01b038816156115e557611298929161129091611280898f600a60fc5561ffff198254168255606435610100555460081c1661127b81612aa1565b612aa1565b611289336124b3565b3691612424565b933691612424565b906112ac858b5460081c1661127b81612aa1565b82518481116115d257806112c16097546124fc565b94601f95868111611561575b506020908d8784116001146114e257926114d7575b5050600019600383901b1c1916908a1b176097555b81519384116114c4575061130c6098546124fc565b828111611461575b5060209183116001146113d5579180611389959492611361948b926113ca575b5050600019600383901b1c191690881b176098555b875460081c1661135881612aa1565b61127b81612aa1565b60fb80546001600160a01b0319166001600160a01b03831617905561138461245b565b6124b3565b611391578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611334565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611449575091611361959391856113899998969410611430575b505050811b01609855611349565b015160001960f88460031b161c19169055388080611422565b8284015185558b969094019360209384019301611405565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bb575b0160051c019089905b8281106114b0575050611314565b8b81550189906114a2565b92508192611499565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154957508411611530575b505050811b016097556112f7565b015160001960f88460031b161c19169055388080611522565b8284015185558f969094019360209384019301611513565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115c9575b859493910160051c909101908d908f5b8382106115bb575050506112cd565b81558594508e91018f6115ac565b9250819261159c565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861123a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122357506001878c1614611223565b506001878c161061121c565b8680fd5b8382346103f45760603660031901126103f45780356001600160401b038111610310576102df916116ec91369101612286565b906116f561225a565b6116fd612270565b9261170661245b565b61171460ff80541615612b55565b61172460fc549333923691612424565b612d2b565b50346103105760203660031901126103105780359160038310156107b0576033546001600160a01b0316330361030357506101099182549160ff83169060038210156117a65750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103f45760203660031901126103f4576103509035612bdd565b5050346103f45761085b610350916117ed366122e6565b919251926117fa846123cd565b86845261084b61084684336132ad565b5050346103f45760203660031901126103f45760335490516001600160a01b039091168152602090f35b83346107095760203660031901126107095761035061185161223f565b61185961245b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103f457816003193601126103f45760fb5490516001600160a01b039091168152602090f35b8284346107095780600319360112610709576118c060ff61010954166128c2565b9180519182845490818152602080910195835280832092905b8282106118fb5761070586866118f1828b03836123e8565b51918291826121b3565b8354875295860195600193840193909101906118d9565b5091346107095781600319360112610709578235815260fd60205281812054602435906001600160a01b03908116801561199857925b60fe60205284812054801561198e57925b83810293818504149015171561197b5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611959565b508060fb541692611948565b8334610709576103506119b6366122e6565b916119c461084684336132ad565b6133df565b5050346103f45760203660031901126103f4576020906119e761223f565b60018060a01b0380603354169116149051908152f35b5082346107095760203660031901126107095750611a299035611a2461010554821061363c565b612ba1565b506107058251611a388161239c565b825481526060611a5660026001860154956020850196875201612536565b91828682015251935194805195869586526020860152840152606083019061221a565b508290346103f457611a8a366122b3565b919260ff54611a9c60ff821615612b55565b6033546001600160a01b03163303611d1d5760ff611abe9160081c1615613688565b6000848152609960205260409020546001600160a01b031615158015611cf4575b15611cba57611aed846135b4565b505015611be05783855260206101078152868620916001600160401b038511611bcd5750611b2584611b1f84546124fc565b84612b01565b8590601f8511600114611b6e5750956105b6918487986000805160206137398339815191529798916105bc57508560011b906000198760031b1c191617905551928392836136cc565b90601f1985168388528288209288905b828210611bb5575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611b7e565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611bcd5750611c0b84611b1f84546124fc565b8590601f8511600114611c5b5750956105b691848798600080516020613739833981519152979891611c50575b508560011b906000198760031b1c19161790556105ac565b905084013589611c38565b90601f1985168388528288209288905b828210611ca2575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611c6b565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611cfe846135b4565b50508015611adf575083855261010260205260ff868620541615611adf565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346103f457816003193601126103f457602090610104549051908152f35b5034610310578160031936011261031057611da361223f565b906024359260ff61010954166003811015611f935760018103611f4c5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611f40575b6001600160a01b03918280611e038761323d565b16941693808514611ef357803314908115611ed4575b5015611e6c5750838552610103602052842080546001600160a01b03191683179055611e4483612cc5565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611e19565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611def5760028552610108602052611f8281862060018060a01b0385169060019160005201602052604060002054151590565b15611def57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b509134610709576020366003190112610709575061112260209235613317565b5050346103f457816003193601126103f45780519082609754611fe8816124fc565b80855291600191808316908115610c73575060011461201357505050610c04826107059403836123e8565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061205857505050610c048260206107059582010194610bf2565b8054602087870181019190915290950194810161203b565b50346103105760203660031901126103105735906001600160e01b031982168083036107b0576020935063fa31a45b60e01b8114928315612135575b83156120bd575b5050519015158152f35b919250631030681960e21b811491908215612124575b82156120fb575b5081156120eb575b509038806120b3565b6120f591506136f4565b386120e2565b90915063152a902d60e11b148015612115575b90386120da565b5061211f816136f4565b61210e565b6301ffc9a760e01b811492506120d3565b6301ffc9a760e01b821493506120ac565b50903461031057602091826003193601126107b0573560038110156107b05761216e906128c2565b9281518093808654928381520195835280832092905b82821061219c5761070586866118f1828b03836123e8565b835487529586019560019384019390910190612184565b6020908160408183019282815285518094520193019160005b8281106121da575050505090565b83516001600160a01b0316855293810193928101926001016121cc565b60005b83811061220a5750506000910152565b81810151838201526020016121fa565b90602091612233815180928185528580860191016121f7565b601f01601f1916010190565b600435906001600160a01b038216820361225557565b600080fd5b602435906001600160a01b038216820361225557565b604435906001600160a01b038216820361225557565b9181601f84011215612255578235916001600160401b038311612255576020838186019501011161225557565b9060406003198301126122555760043591602435906001600160401b038211612255576122e291600401612286565b9091565b6060906003190112612255576001600160a01b0390600435828116810361225557916024359081168103612255579060443590565b91906020830192600382101561232e5752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261225557600435600381101561225557916024356001600160401b039283821161225557806023830112156122555781600401359384116122555760248460051b83010111612255576024019190565b606081019081106001600160401b038211176123b757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b038211176123b757604052565b90601f801991011681019081106001600160401b038211176123b757604052565b6001600160401b0381116123b757601f01601f191660200190565b92919261243082612409565b9161243e60405193846123e8565b829481845281830111612255578281602093846000960137010152565b6033546001600160a01b0316330361246f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561252c575b602083101461251657565b634e487b7160e01b600052602260045260246000fd5b91607f169161250b565b906040519182600082549261254a846124fc565b9081845260019485811690816000146125b95750600114612576575b5050612574925003836123e8565b565b9093915060005260209081600020936000915b8183106125a157505061257493508201013880612566565b85548884018501529485019487945091830191612589565b91505061257494506020925060ff191682840152151560051b8201013880612566565b156125e357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561269857565b60405162461bcd60e51b8152806126b16004820161263e565b0390fd5b9192600092909190803b156127c757612703946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b96608483019061221a565b03926001600160a01b03165af1849181612787575b50612776575050503d60001461276e573d61273281612409565b9061274060405192836123e8565b81528091833d92013e5b8051918261276b5760405162461bcd60e51b8152806126b16004820161263e565b01fd5b50606061274a565b6001600160e01b0319161492509050565b9091508581813d83116127c0575b61279f81836123e8565b81010312610ac157516001600160e01b031981168103610ac1579038612718565b503d612795565b5050915050600190565b9293600093909291803b156128515794849161282b9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c97608483019061221a565b0393165af18491816127875750612776575050503d60001461276e573d61273281612409565b505050915050600190565b9092916001600160401b0384116123b7578360051b6040519260208094612885828501826123e8565b809781520191810192831161225557905b8282106128a35750505050565b81356001600160a01b0381168103612255578152908301908301612896565b600381101561232e57600052610108602052604060002090565b60001981146128eb5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156129155760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156129155760005260206000200190600090565b60008281526001820160205260409020546129aa57805490600160401b8210156123b7578261299361297c84600180960185558461292b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612a9a5760001991808301818111612a8657825490848201918211612a7257808203612a3d575b50505080548015612a2957820191612a0c838361292b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612a5d612a4d61297c938661292b565b90549060031b1c9283928661292b565b905586528460205260408620553880806129f4565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612aa857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612b0f57505050565b600091825260208220906020601f850160051c83019410612b4b575b601f0160051c01915b828110612b4057505050565b818155600101612b34565b9092508290612b2b565b15612b5c57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561291557600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612be6816135b4565b5050600082815261010260205260408120805460ff191660011790559080612ca6575b612ca257612c1a61084683336132ad565b612c2382612cc5565b50612c2d82612cc5565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612c09565b6000908152609960205260409020546001600160a01b03168015612ce65790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612e9e57612d6f61085b604051612d59816123cd565b89600096878352612d6a8282612f2e565b6126b5565b868352602091610106835260408420918151916001600160401b038311612e8a57612da483612d9e86546124fc565b86612b01565b8490601f8411600114612e2157928060fd9593819389989660409a94612e16575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612dc5565b8487528587209293929190601f198416885b818110612e75575091604098979593918560fd98969410612e5c575b505050811b019055612dd7565b015160001960f88460031b161c19169055388080612e4f565b82840151855593860193928801928801612e33565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612ee957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612fde57600082815260996020526040902054612f62906001600160a01b031615155b15612ee2565b600082815260996020526040902054612f85906001600160a01b03161515612f5c565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b600081815261010790602092828452604092613040848420546124fc565b61322e575061304e816135b4565b911515905061306c5750613069936101069183525220612536565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561321f575b5050866d04ee2d6d415b85acef810000000080841015613211575b5050662386f26fc1000080831015613202575b506305f5e100808310156131f3575b50612710808310156131e4575b5060648210156131d4575b600a809210156131ca575b6001908160218187019661312161310c89612409565b9861311989519a8b6123e8565b808a52612409565b888c019990601f1901368b3750870101905b613194575b5050505091602f60f81b9461317761306995936026955197856131648a9751809287808b0191016121f7565b86019384015251809360218401906121f7565b0164173539b7b760d91b60218201520360068101845201826123e8565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156131c557919082613133565b613138565b92600101926130f6565b92906064600291049101926130eb565b600491949204910192386130e0565b600891949204910192386130d3565b601091949204910192386130c4565b9401939091049086386130b1565b91945091500481923880613096565b90936130699483525220612536565b613246816135b4565b50506132555761306990612cc5565b8060005261010260205260ff604060002054166000146132785761306990612cc5565b6000818152609960205260409020546001600160a01b03166132a457506033546001600160a01b031690565b61306990612cc5565b6001600160a01b039081806132c18561323d565b16911691818314938415613300575b505082156132dd57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061330d90613317565b16149138806132d0565b600081815260fd60205260408120546001600160a01b03929190831661333c836135b4565b50509081156133d5575b50806133bd575b1561336357604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff6040822054161561334d565b9050151538613346565b90821561225557613429916133f3846135b4565b50508061353b575b80613521575b613512575b61340f84612cc5565b6001600160a01b039391841692849290918316841461355a565b169182156134c157816134469161343f86612cc5565b161461355a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61351c8482612f2e565b613406565b508360005261010260205260ff6040600020541615613401565b506000848152609960205260409020546001600160a01b0316156133fb565b1561356157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106135e157505090506000906000906040516135da816123cd565b6000815290565b6135ea81612ba1565b505482101580613625575b61360757613602906128dc565b6135bd565b8093506136149150612ba1565b509061306960026001949301612536565b50600161363182612ba1565b5001548211156135f5565b1561364357565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561368f57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b8114908115613727575b8115613719575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061370f56fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220be53c8926b187489fe6f29e56aeb8816608caa89a6e3dbef780ae5469924967364736f6c63430008120033","sourceMap":"183:1643:223:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e81461214657806301ffc9a71461207057806306fdde0314611fc6578063081812fc14611fa6578063095ea7b314611d8a57806318160ddd14611d6a57806318e97fd114611a795780631a0058f5146119fd57806320427486146119c957806323b872dd146119a45780632a55205a146119125780632ce878da1461189f5780633403c4e9146118765780633ebc82c51461183457806340c1a0641461180a57806342842e0e146117d657806342966c68146117b9578063472a6638146117295780634aa52c41146116b95780635edc7c19146111af5780636297c16c14611133578063631d1d9a146107b45780636352211e1461110257806370a082311461106c578063715018a61461100f5780637cc918d114610d3a57806387bc793f14610d12578063894ba83314610cc45780638da5cb5b14610c9b57806395d89b4114610bb65780639e860f2a14610ac5578063a22cb46514610943578063a448dd4f146108a3578063a8fabfa514610883578063ab69607a14610864578063b88d4fde146107da578063bb2ee99f146107b4578063bc7194551461070c578063c87b56dd146106d1578063d9856c2114610669578063de903ddd146104e4578063e8315742146104c4578063e985e9c514610476578063eab851181461041b578063ee070805146103f8578063efc32cd4146103a5578063f2fde38b146103145763ff6e8c8f1461023157600080fd5b346103105761023f36612344565b90919260018060a01b0394856033541633036103035760038510156102f05784156102e35750509061027291369161285c565b92805b84518110156102df576102da906102a161028e856128c2565b86610299848a612901565b511690612943565b5083856102ae8389612901565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46128dc565b610275565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103105760203660031901126103105761032e61223f565b9161033761245b565b6001600160a01b038316156103535783610350846124b3565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103f457806003193601126103f4576103bf61223f565b906103c861245b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103f457816003193601126103f45760209060ff80541690519015158152f35b5050346103f45760203660031901126103f45760209061046d61043c61223f565b61044b60ff61010954166128c2565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103f457806003193601126103f45760ff8160209361049661223f565b61049e61225a565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103f457816003193601126103f457602090610100549051908152f35b508290346103f4576104f5366122b3565b91926104ff61245b565b61051c60ff805461051282821615612b55565b60081c1615613688565b61052a61010554851061363c565b600261053585612ba1565b5001906001600160401b038411610656575061055b8361055583546124fc565b83612b01565b84601f84116001146105c757956105b6918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105bc575b508560011b906000198760031b1c19161790555b51928392836136cc565b0390a280f35b905084013589610598565b81865260208087209190601f1986169088905b82821061063e575050916105b69391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610624575b5050600185811b0190556105ac565b850135600019600388901b60f8161c191690558880610615565b80600185968294968a013581550195019301906105da565b634e487b7160e01b865260419052602485fd5b8382346103f45760203660031901126103f45780356001600160401b0381116103105736602382011215610310576102df918160246106ad93369301359101612424565b6106b561245b565b6106c360ff80541615612b55565b60fc54339182908190612d2b565b50913461070957602036600319011261070957506106f26107059235613022565b905191829160208352602083019061221a565b0390f35b80fd5b5090346103105760203660031901126103105781359160038310156107b0576033546001600160a01b031633036107a25750610747826128c2565b80549084815581610784575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b633948261231b565b845260208420908101905b818110156107535784815560010161078f565b9051635c510c8360e11b8152fd5b8380fd5b5050346103f457816003193601126103f45760209060ff805460081c1690519015158152f35b8382346103f45760803660031901126103f4576107f561223f565b906107fe61225a565b91604435606435936001600160401b03851161086057366023860112156108605761083861085b9486602461035098369301359101612424565b9261084b61084684336132ad565b6125dc565b6108568383836133df565b6127d1565b612691565b8580fd5b5050346103f457816003193601126103f45760209060fc549051908152f35b5050346103f457816003193601126103f457602090610105549051908152f35b50346103105782600319360112610310576108bc61245b565b60ff549160ff8360081c166109005761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461031057806003193601126103105761095d61223f565b9060243591821515809303610ac15760ff61010954166003811015610aae5760018103610a645750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a55575b6001600160a01b031692338414610a135750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109b35760028552610108602052610a9a82862060018060a01b0383169060019160005201602052604060002054151590565b156109b35781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461031057610ad536612344565b6033546001600160a01b03949085163303610ba7575090610af791369161285c565b9160038210159081610aae5782610b0c578580f35b8591929394955b8551811015610b9757610b3b610b28866128c2565b83610b33848a612901565b5116906129b1565b508382610b488389612901565b511690610b84579085610b7f92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46128dc565b610b13565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103f457816003193601126103f45780519082609854610bd8816124fc565b80855291600191808316908115610c735750600114610c16575b505050610c04826107059403836123e8565b5191829160208352602083019061221a565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c5b57505050610c048260206107059582010194610bf2565b80546020878701810191909152909501948101610c3e565b610705975086935060209250610c0494915060ff191682840152151560051b82010194610bf2565b5050346103f457816003193601126103f45760335490516001600160a01b039091168152602090f35b8334610709578060031936011261070957610cdd61245b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103f457816003193601126103f4576107059060ff610109541690519182918261231b565b509190346103f457806003193601126103f4576001600160401b039280358481116107b057610d6c9036908301612286565b610d7795919561245b565b610d8560ff80541615612b55565b6101049081549660019384890194858a11610ffc576024998a350193818501808811610fea578511610fd85788519560209687810181811086821117610fc6578b52869052859055610100548511610f84578990610df98a5195610de88761239c565b898752888701928884523691612424565b948a8101958652610105805490600160401b821015610f72578582019055610e2090612ba1565b939093610f61575090600292915182555183820155019251968751928311610f4f5750889950610e5e82610e58859b999a9b546124fc565b85612b01565b8497601f8311600114610ecb578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ec0575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610e9a565b8388528588209098919291601f198316895b818110610f37575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610f1e575b505050811b019055610eac565b015160001960f88460031b161c19169055388080610f11565b828c015184558d9a5092850192918801918801610edd565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b833461070957806003193601126107095761102861245b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103f45760203660031901126103f4576001600160a01b0361109061223f565b169081156110ad576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461070957602036600319011261070957506111226020923561323d565b90516001600160a01b039091168152f35b5034610310576020366003190112610310578035916111518361323d565b336001600160a01b039091160361116c578361035084612bdd565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610310576080366003190112610310576001600160401b03918035838111610ac1576111e19036908301612286565b91906024358581116116b5576111fa9036908401612286565b611205969196612270565b9388549760ff94858a60081c1615978880996116a9575b8015611693575b1561163957600160ff198c1681178d559a89611628575b506001600160a01b038816156115e557611298929161129091611280898f600a60fc5561ffff198254168255606435610100555460081c1661127b81612aa1565b612aa1565b611289336124b3565b3691612424565b933691612424565b906112ac858b5460081c1661127b81612aa1565b82518481116115d257806112c16097546124fc565b94601f95868111611561575b506020908d8784116001146114e257926114d7575b5050600019600383901b1c1916908a1b176097555b81519384116114c4575061130c6098546124fc565b828111611461575b5060209183116001146113d5579180611389959492611361948b926113ca575b5050600019600383901b1c191690881b176098555b875460081c1661135881612aa1565b61127b81612aa1565b60fb80546001600160a01b0319166001600160a01b03831617905561138461245b565b6124b3565b611391578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611334565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611449575091611361959391856113899998969410611430575b505050811b01609855611349565b015160001960f88460031b161c19169055388080611422565b8284015185558b969094019360209384019301611405565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bb575b0160051c019089905b8281106114b0575050611314565b8b81550189906114a2565b92508192611499565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154957508411611530575b505050811b016097556112f7565b015160001960f88460031b161c19169055388080611522565b8284015185558f969094019360209384019301611513565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115c9575b859493910160051c909101908d908f5b8382106115bb575050506112cd565b81558594508e91018f6115ac565b9250819261159c565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861123a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122357506001878c1614611223565b506001878c161061121c565b8680fd5b8382346103f45760603660031901126103f45780356001600160401b038111610310576102df916116ec91369101612286565b906116f561225a565b6116fd612270565b9261170661245b565b61171460ff80541615612b55565b61172460fc549333923691612424565b612d2b565b50346103105760203660031901126103105780359160038310156107b0576033546001600160a01b0316330361030357506101099182549160ff83169060038210156117a65750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103f45760203660031901126103f4576103509035612bdd565b5050346103f45761085b610350916117ed366122e6565b919251926117fa846123cd565b86845261084b61084684336132ad565b5050346103f45760203660031901126103f45760335490516001600160a01b039091168152602090f35b83346107095760203660031901126107095761035061185161223f565b61185961245b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103f457816003193601126103f45760fb5490516001600160a01b039091168152602090f35b8284346107095780600319360112610709576118c060ff61010954166128c2565b9180519182845490818152602080910195835280832092905b8282106118fb5761070586866118f1828b03836123e8565b51918291826121b3565b8354875295860195600193840193909101906118d9565b5091346107095781600319360112610709578235815260fd60205281812054602435906001600160a01b03908116801561199857925b60fe60205284812054801561198e57925b83810293818504149015171561197b5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611959565b508060fb541692611948565b8334610709576103506119b6366122e6565b916119c461084684336132ad565b6133df565b5050346103f45760203660031901126103f4576020906119e761223f565b60018060a01b0380603354169116149051908152f35b5082346107095760203660031901126107095750611a299035611a2461010554821061363c565b612ba1565b506107058251611a388161239c565b825481526060611a5660026001860154956020850196875201612536565b91828682015251935194805195869586526020860152840152606083019061221a565b508290346103f457611a8a366122b3565b919260ff54611a9c60ff821615612b55565b6033546001600160a01b03163303611d1d5760ff611abe9160081c1615613688565b6000848152609960205260409020546001600160a01b031615158015611cf4575b15611cba57611aed846135b4565b505015611be05783855260206101078152868620916001600160401b038511611bcd5750611b2584611b1f84546124fc565b84612b01565b8590601f8511600114611b6e5750956105b6918487986000805160206137398339815191529798916105bc57508560011b906000198760031b1c191617905551928392836136cc565b90601f1985168388528288209288905b828210611bb5575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611b7e565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611bcd5750611c0b84611b1f84546124fc565b8590601f8511600114611c5b5750956105b691848798600080516020613739833981519152979891611c50575b508560011b906000198760031b1c19161790556105ac565b905084013589611c38565b90601f1985168388528288209288905b828210611ca2575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611c6b565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611cfe846135b4565b50508015611adf575083855261010260205260ff868620541615611adf565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346103f457816003193601126103f457602090610104549051908152f35b5034610310578160031936011261031057611da361223f565b906024359260ff61010954166003811015611f935760018103611f4c5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611f40575b6001600160a01b03918280611e038761323d565b16941693808514611ef357803314908115611ed4575b5015611e6c5750838552610103602052842080546001600160a01b03191683179055611e4483612cc5565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611e19565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611def5760028552610108602052611f8281862060018060a01b0385169060019160005201602052604060002054151590565b15611def57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b509134610709576020366003190112610709575061112260209235613317565b5050346103f457816003193601126103f45780519082609754611fe8816124fc565b80855291600191808316908115610c73575060011461201357505050610c04826107059403836123e8565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061205857505050610c048260206107059582010194610bf2565b8054602087870181019190915290950194810161203b565b50346103105760203660031901126103105735906001600160e01b031982168083036107b0576020935063fa31a45b60e01b8114928315612135575b83156120bd575b5050519015158152f35b919250631030681960e21b811491908215612124575b82156120fb575b5081156120eb575b509038806120b3565b6120f591506136f4565b386120e2565b90915063152a902d60e11b148015612115575b90386120da565b5061211f816136f4565b61210e565b6301ffc9a760e01b811492506120d3565b6301ffc9a760e01b821493506120ac565b50903461031057602091826003193601126107b0573560038110156107b05761216e906128c2565b9281518093808654928381520195835280832092905b82821061219c5761070586866118f1828b03836123e8565b835487529586019560019384019390910190612184565b6020908160408183019282815285518094520193019160005b8281106121da575050505090565b83516001600160a01b0316855293810193928101926001016121cc565b60005b83811061220a5750506000910152565b81810151838201526020016121fa565b90602091612233815180928185528580860191016121f7565b601f01601f1916010190565b600435906001600160a01b038216820361225557565b600080fd5b602435906001600160a01b038216820361225557565b604435906001600160a01b038216820361225557565b9181601f84011215612255578235916001600160401b038311612255576020838186019501011161225557565b9060406003198301126122555760043591602435906001600160401b038211612255576122e291600401612286565b9091565b6060906003190112612255576001600160a01b0390600435828116810361225557916024359081168103612255579060443590565b91906020830192600382101561232e5752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261225557600435600381101561225557916024356001600160401b039283821161225557806023830112156122555781600401359384116122555760248460051b83010111612255576024019190565b606081019081106001600160401b038211176123b757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b038211176123b757604052565b90601f801991011681019081106001600160401b038211176123b757604052565b6001600160401b0381116123b757601f01601f191660200190565b92919261243082612409565b9161243e60405193846123e8565b829481845281830111612255578281602093846000960137010152565b6033546001600160a01b0316330361246f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561252c575b602083101461251657565b634e487b7160e01b600052602260045260246000fd5b91607f169161250b565b906040519182600082549261254a846124fc565b9081845260019485811690816000146125b95750600114612576575b5050612574925003836123e8565b565b9093915060005260209081600020936000915b8183106125a157505061257493508201013880612566565b85548884018501529485019487945091830191612589565b91505061257494506020925060ff191682840152151560051b8201013880612566565b156125e357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561269857565b60405162461bcd60e51b8152806126b16004820161263e565b0390fd5b9192600092909190803b156127c757612703946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b96608483019061221a565b03926001600160a01b03165af1849181612787575b50612776575050503d60001461276e573d61273281612409565b9061274060405192836123e8565b81528091833d92013e5b8051918261276b5760405162461bcd60e51b8152806126b16004820161263e565b01fd5b50606061274a565b6001600160e01b0319161492509050565b9091508581813d83116127c0575b61279f81836123e8565b81010312610ac157516001600160e01b031981168103610ac1579038612718565b503d612795565b5050915050600190565b9293600093909291803b156128515794849161282b9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c97608483019061221a565b0393165af18491816127875750612776575050503d60001461276e573d61273281612409565b505050915050600190565b9092916001600160401b0384116123b7578360051b6040519260208094612885828501826123e8565b809781520191810192831161225557905b8282106128a35750505050565b81356001600160a01b0381168103612255578152908301908301612896565b600381101561232e57600052610108602052604060002090565b60001981146128eb5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156129155760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156129155760005260206000200190600090565b60008281526001820160205260409020546129aa57805490600160401b8210156123b7578261299361297c84600180960185558461292b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612a9a5760001991808301818111612a8657825490848201918211612a7257808203612a3d575b50505080548015612a2957820191612a0c838361292b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612a5d612a4d61297c938661292b565b90549060031b1c9283928661292b565b905586528460205260408620553880806129f4565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612aa857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612b0f57505050565b600091825260208220906020601f850160051c83019410612b4b575b601f0160051c01915b828110612b4057505050565b818155600101612b34565b9092508290612b2b565b15612b5c57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561291557600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612be6816135b4565b5050600082815261010260205260408120805460ff191660011790559080612ca6575b612ca257612c1a61084683336132ad565b612c2382612cc5565b50612c2d82612cc5565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612c09565b6000908152609960205260409020546001600160a01b03168015612ce65790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612e9e57612d6f61085b604051612d59816123cd565b89600096878352612d6a8282612f2e565b6126b5565b868352602091610106835260408420918151916001600160401b038311612e8a57612da483612d9e86546124fc565b86612b01565b8490601f8411600114612e2157928060fd9593819389989660409a94612e16575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612dc5565b8487528587209293929190601f198416885b818110612e75575091604098979593918560fd98969410612e5c575b505050811b019055612dd7565b015160001960f88460031b161c19169055388080612e4f565b82840151855593860193928801928801612e33565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612ee957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612fde57600082815260996020526040902054612f62906001600160a01b031615155b15612ee2565b600082815260996020526040902054612f85906001600160a01b03161515612f5c565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b600081815261010790602092828452604092613040848420546124fc565b61322e575061304e816135b4565b911515905061306c5750613069936101069183525220612536565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561321f575b5050866d04ee2d6d415b85acef810000000080841015613211575b5050662386f26fc1000080831015613202575b506305f5e100808310156131f3575b50612710808310156131e4575b5060648210156131d4575b600a809210156131ca575b6001908160218187019661312161310c89612409565b9861311989519a8b6123e8565b808a52612409565b888c019990601f1901368b3750870101905b613194575b5050505091602f60f81b9461317761306995936026955197856131648a9751809287808b0191016121f7565b86019384015251809360218401906121f7565b0164173539b7b760d91b60218201520360068101845201826123e8565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156131c557919082613133565b613138565b92600101926130f6565b92906064600291049101926130eb565b600491949204910192386130e0565b600891949204910192386130d3565b601091949204910192386130c4565b9401939091049086386130b1565b91945091500481923880613096565b90936130699483525220612536565b613246816135b4565b50506132555761306990612cc5565b8060005261010260205260ff604060002054166000146132785761306990612cc5565b6000818152609960205260409020546001600160a01b03166132a457506033546001600160a01b031690565b61306990612cc5565b6001600160a01b039081806132c18561323d565b16911691818314938415613300575b505082156132dd57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061330d90613317565b16149138806132d0565b600081815260fd60205260408120546001600160a01b03929190831661333c836135b4565b50509081156133d5575b50806133bd575b1561336357604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff6040822054161561334d565b9050151538613346565b90821561225557613429916133f3846135b4565b50508061353b575b80613521575b613512575b61340f84612cc5565b6001600160a01b039391841692849290918316841461355a565b169182156134c157816134469161343f86612cc5565b161461355a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61351c8482612f2e565b613406565b508360005261010260205260ff6040600020541615613401565b506000848152609960205260409020546001600160a01b0316156133fb565b1561356157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106135e157505090506000906000906040516135da816123cd565b6000815290565b6135ea81612ba1565b505482101580613625575b61360757613602906128dc565b6135bd565b8093506136149150612ba1565b509061306960026001949301612536565b50600161363182612ba1565b5001548211156135f5565b1561364357565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561368f57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b8114908115613727575b8115613719575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061370f56fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220be53c8926b187489fe6f29e56aeb8816608caa89a6e3dbef780ae5469924967364736f6c63430008120033","sourceMap":"183:1643:223:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;1513:6:42;183:1643:223;;2088:10:115;1200:16:223;2064:71:115;;183:1643:223;;;;;;2839:39:115;;2835:84;;183:1643:223;;;;;;;;:::i;:::-;5643:13:115;;5677:3;183:1643:223;;5658:17:115;;;;;5677:3;5717:15;8398:50:113;5717:15:115;;;:::i;:::-;5737:9;;;;;:::i;:::-;183:1643:223;;8398:50:113;;:::i;:::-;;5795:9:115;;;;;;:::i;:::-;183:1643:223;;2088:10:115;5764:52;;;;5677:3;:::i;:::-;5643:13;;5658:17;;183:1643:223;;2835:84:115;183:1643:223;-1:-1:-1;;;2887:32:115;;;183:1643:223;-1:-1:-1;;;183:1643:223;;;;;;;;2064:71:115;183:1643:223;-1:-1:-1;;;2108:27:115;;;183:1643:223;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;183:1643:223;;2402:22:42;183:1643:223;;2496:8:42;;;;:::i;:::-;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;183:1643:223;;;;4776:16:221;183:1643:223;;;;;;-1:-1:-1;;;;;;183:1643:223;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1102:20:221;183:1643:223;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;8963:55:113;183:1643:223;;:::i;:::-;4167:14:115;183:1643:223;4172:8:115;183:1643:223;;4167:14:115;:::i;:::-;-1:-1:-1;;;;;183:1643:223;;;-1:-1:-1;183:1643:223;;;;4351:12:113;;;183:1643:223;;;;;;4351:24:113;;;4255:127;8963:55;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;183:1643:223;;;;;4980:18:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1195:24:221;183:1643:223;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;10639:50:221;2954:8;183:1643:223;;2945:52:221;183:1643:223;;;2953:9:221;2945:52;:::i;:::-;183:1643:223;;;10647:16:221;10639:50;:::i;:::-;10695:70;10717:11;183:1643:223;10703:32:221;;10695:70;:::i;:::-;10772:32;:24;;;:::i;:::-;:32;;183:1643:223;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;10830:45:221;183:1643:223;;;;10830:45:221;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;10830:45:221;;;;;:::i;:::-;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;;;;10830:45:221;183:1643:223;;;10830:45:221;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;3616:85:221;183:1643:223;;;;;;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;2945:52:221;2954:8;183:1643:223;;;2953:9:221;2945:52;:::i;:::-;2453:24:233;183:1643:223;3635:10:221;;;;;;3616:85;:::i;183:1643:223:-;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;;;1513:6:42;183:1643:223;-1:-1:-1;;;;;183:1643:223;2088:10:115;1200:16:223;2064:71:115;;3436:15;;;;:::i;:::-;183:1643:223;;;;;;;;;;;;3462:34:115;183:1643:223;;2088:10:115;3462:34;2088:10;3462:34;;;:::i;183:1643:223:-;;;;;;;;;;;;;;;;;;;;;;;;2064:71:115;183:1643:223;;-1:-1:-1;;;2108:27:115;;;183:1643:223;;;;;;;;;;;;;;;;;;;;1163:27:221;183:1643:223;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;6956:47:61;183:1643:223;;;6948:110:61;183:1643:223;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;183:1643:223:-;;;;;;;;;;;;;;;;;;;;2453:24:233;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;9465:11:221;183:1643:223;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;10943:15:221;183:1643:223;;10943:15:221;183:1643:223;;;;;;-1:-1:-1;;183:1643:223;;;;10943:15:221;183:1643:223;;11033:17:221;183:1643:223;;11033:17:221;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1460:8:115;183:1643:223;;;;;;;;1472:28:115;1460:40;;1472:28;;-1:-1:-1;1472:28:115;183:1643:223;;;1515:4:115;183:1643:223;;;;;;;-1:-1:-1;;;;;183:1643:223;;-1:-1:-1;183:1643:223;;;4351:12:113;;183:1643:223;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;183:1643:223;;929:10:68;13528:17:61;;183:1643:223;;929:10:68;;183:1643:223;;13585:18:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:61;183:1643:223;929:10:68;13646:41:61;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:115;183:1643:223;;-1:-1:-1;;;1574:28:115;;183:1643:223;;1574:28:115;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;183:1643:223;;1672:4:115;183:1643:223;;8963:55:113;183:1643:223;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;183:1643:223;4351:12:113;183:1643:223;;;-1:-1:-1;183:1643:223;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;183:1643:223;;-1:-1:-1;;;1730:28:115;;183:1643:223;;1730:28:115;183:1643:223;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:42;183:1643:223;-1:-1:-1;;;;;183:1643:223;;;;2088:10:115;1200:16:223;2064:71:115;;183:1643:223;;;;;;;:::i;:::-;;;;;;;;;;5589:39:115;5585:387;;183:1643:223;;;5585:387:115;5643:13;;;;;;5677:3;183:1643:223;;5658:17:115;;;;;8719:53:113;5845:15:115;;;:::i;:::-;5868:9;;;;;:::i;:::-;183:1643:223;;8719:53:113;;:::i;:::-;;5926:9:115;;;;;;:::i;:::-;183:1643:223;;;;;2088:10:115;;5677:3;2088:10;;5895:52;;;;5677:3;:::i;:::-;5643:13;;183:1643:223;-1:-1:-1;;;183:1643:223;;;;;;;;5658:17:115;;;;;;;;5585:387;;;;;183:1643:223;;;2064:71:115;183:1643:223;-1:-1:-1;;;2108:27:115;;183:1643:223;;2108:27:115;183:1643:223;;;;;;;;;;;;;;;;;;3182:7:61;183:1643:223;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;183:1643:223;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;4501:4:221;183:1643:223;;;;;;;;4533:10:221;4516:28;;;;183:1643:223;;;;;;;;;;;;;;;;;;;4333:8:115;183:1643:223;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;2945:52:221;2954:8;183:1643:223;;;2953:9:221;2945:52;:::i;:::-;3143:14;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3338:9:221;183:1643:223;3310:37:221;;183:1643:223;;;;;;;;;;;:::i;:::-;;;;3405:45:221;;;183:1643:223;;;;;;;:::i;:::-;3405:45:221;;;;183:1643:223;;;3388:11:221;183:1643:223;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;3463:66:221;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;183:1643:223;;;;;;;3463:66:221;183:1643:223;;;;;;-1:-1:-1;183:1643:223;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;;3463:66:221;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;183:1643:223;;-1:-1:-1;;;;;;183:1643:223;;;;;;;-1:-1:-1;;;;;183:1643:223;2806:40:42;183:1643:223;;2806:40:42;183:1643:223;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;-1:-1:-1;;;;;183:1643:223;;:::i;:::-;;2489:19:61;;;183:1643:223;;;;;;;;;2571:9:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;2839:17:221;;;;:::i;:::-;2860:10;-1:-1:-1;;;;;183:1643:223;;;2839:31:221;183:1643:223;;4013:8:221;;;;:::i;183:1643:223:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;183:1643:223;3346:108:48;;;;183:1643:223;;;;;-1:-1:-1;;183:1643:223;;;;;;;;3562:65:48;;183:1643:223;-1:-1:-1;;;;;;183:1643:223;;2415:22:221;183:1643:223;;;;;;;5366:69:48;183:1643:223;;2507:2:221;2197:38:233;183:1643:223;;;;;;;;;;2567:22:221;183:1643:223;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;183:1643:223;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;183:1643:223;;;;;;5366:69:48;;;:::i;:::-;183:1643:223;;;;;;;;;1873:13:61;183:1643:223;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;183:1643:223;;;;;;;;;;;1873:13:61;183:1643:223;;;;;;;;;;;1896:17:61;183:1643:223;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;183:1643:223;;;5366:69:48;183:1643:223;;;;;;-1:-1:-1;;;;183:1643:223;;;;;;;;;;;1896:17:61;183:1643:223;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;183:1643:223;;-1:-1:-1;;;;;;183:1643:223;-1:-1:-1;;;;;183:1643:223;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;183:1643:223;;;3647:99:48;183:1643:223;;-1:-1:-1;;183:1643:223;;;;;;;3721:14:48;;183:1643:223;;3721:14:48;3647:99;;183:1643:223;;;;;;;-1:-1:-1;183:1643:223;;;;;1896:17:61;183:1643:223;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;5366:69:48;183:1643:223;;;;2496:8:42;183:1643:223;;;;;;;;;;;;;;1896:17:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;;;;;;;;;1873:13:61;183:1643:223;;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;;;;1873:13:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;183:1643:223;;;;;3562:65:48;;;183:1643:223;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;183:1643:223;;;;;3436:17:48;3346:108;;3347:34;183:1643:223;;;;;3365:16:48;3347:34;;183:1643:223;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;;;;3832:90:221;183:1643:223;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:42;;;:::i;:::-;2945:52:221;2954:8;183:1643:223;;;2953:9:221;2945:52;:::i;:::-;183:1643:223;2453:24:233;183:1643:223;3851:10:221;;183:1643:223;;;;:::i;:::-;3832:90:221;:::i;183:1643:223:-;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;;;1513:6:42;183:1643:223;-1:-1:-1;;;;;183:1643:223;2088:10:115;1200:16:223;2064:71:115;;5330:8;;183:1643:223;;;;;;;;;;;;;;2088:10:115;;;183:1643:223;2088:10:115;;5302:51;;;;183:1643:223;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;183:1643:223;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;183:1643:223:-;;;;;;;;-1:-1:-1;;183:1643:223;;;;1513:6:42;183:1643:223;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;4659:9:221;183:1643:223;;:::i;:::-;1303:62:42;;:::i;:::-;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;;1492:34:233;183:1643:223;;;1492:34:233;183:1643:223;1418:115:233;183:1643:223;;;;;;;;;;;;;;2332:22:233;183:1643:223;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;4008:14:115;183:1643:223;4013:8:115;183:1643:223;;4008:14:115;:::i;:::-;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;183:1643:223;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;1049:40:233;;183:1643:223;;1049:118:233;;1238:18;183:1643:223;;;;;;1238:33:233;;;;:131;;183:1643:223;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;1401:3:233;183:1643:223;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;1238:131:233;183:1643:223;1345:24:233;183:1643:223;1238:131:233;;;1049:118;183:1643:223;;1145:22:233;183:1643:223;;1049:118:233;;;183:1643:223;;;;;5365:7:61;183:1643:223;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;183:1643:223:-;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;:::i;:::-;;;;;;;1513:6:42;183:1643:223;;;;1200:16;183:1643;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;9237:24:221;183:1643:223;;9135:70:221;9157:11;183:1643:223;9143:32:221;;9135:70;:::i;:::-;9237:24;:::i;:::-;183:1643:223;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;2954:8:221;183:1643:223;2945:52:221;2954:8;183:1643:223;;2953:9:221;2945:52;:::i;:::-;1513:6:42;183:1643:223;-1:-1:-1;;;;;183:1643:223;10057:10:221;:36;183:1643:223;;2954:8:221;10137:50;183:1643:223;;;;10145:16:221;10137:50;:::i;:::-;-1:-1:-1;183:1643:223;;;7266:7:61;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;7680:31:61;;10201:50:221;;;;183:1643:223;;;;10311:24:221;;;:::i;:::-;-1:-1:-1;;10342:126:221;;;183:1643:223;;;;10370:20:221;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;10479:34:221;183:1643:223;;;;-1:-1:-1;;;;;;;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;10479:34:221;;;;;:::i;183:1643:223:-;;;;;;;;;;;;;;;;;;;;;;;;10479:34:221;183:1643:223;;;-1:-1:-1;;;;;;;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;10342:126:221;183:1643:223;;;;10431:10:221;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;10479:34:221;183:1643:223;;;;-1:-1:-1;;;;;;;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;10342:126:221;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10479:34:221;183:1643:223;;;-1:-1:-1;;;;;;;;;;;183:1643:223;;;;;;;;;;;;;;;;10342:126:221;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;10201:50:221;11265:24;;;;:::i;:::-;11302:41;;;;10201:50;11302:41;183:1643:223;;;;11321:12:221;183:1643:223;;2954:8:221;183:1643:223;;;;;11320:23:221;10201:50;;183:1643:223;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;8469:14:221;183:1643:223;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:115;183:1643:223;;;;;;;;;1460:40:115;;183:1643:223;;-1:-1:-1;183:1643:223;;;;1515:4:115;183:1643:223;;;;;;;-1:-1:-1;;;;;183:1643:223;;-1:-1:-1;183:1643:223;;;4351:12:113;;183:1643:223;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;183:1643:223;;;6744:16:221;;;:::i;:::-;183:1643:223;;;6774:11:221;;;;183:1643:223;;929:10:68;;6845:21:221;:62;;;;;1456:309:115;183:1643:223;;;;-1:-1:-1;183:1643:223;;;7447:15:221;183:1643:223;;;;;;-1:-1:-1;;;;;;183:1643:223;;;;;7496:34:221;183:1643:223;7496:34:221;:::i;:::-;183:1643:223;7487:57:221;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6845:62:221;183:1643:223;;;;4980:18:61;183:1643:223;;;;;929:10:68;183:1643:223;;;;;;;;;;6845:62:221;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;1510:92:115;183:1643:223;-1:-1:-1;;;1574:28:115;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;183:1643:223;;1672:4:115;183:1643:223;;8963:55:113;183:1643:223;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;183:1643:223;4351:12:113;183:1643:223;;;-1:-1:-1;183:1643:223;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;183:1643:223;-1:-1:-1;;;1730:28:115;;;183:1643:223;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;183:1643:223;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;-1:-1:-1;;;;;;183:1643:223;;;;;;;;;-1:-1:-1;;;;4844:47:115;;;:88;;;;183:1643:223;696:104;;;;183:1643;;;;;;;;;;696:104;9738:31:221;;-1:-1:-1;;;;9723:46:221;;;9738:31;9723:104;;;;696::223;9723:163:221;;;;696:104:223;9723:221:221;;;;;696:104:223;;;;;;;9723:221:221;9896:48;;;;:::i;:::-;9723:221;;;:163;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;9723:163:221;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;9723:104:221;-1:-1:-1;;;937:40:107;;;-1:-1:-1;9723:104:221;;4844:88:115;-1:-1:-1;;;937:40:107;;;-1:-1:-1;4844:88:115;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;3857:15:115;;;:::i;:::-;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;183:1643:223;;;;:::o;:::-;;;;-1:-1:-1;;;;;183:1643:223;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;183:1643:223;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;183:1643:223;;;;;-1:-1:-1;183:1643:223;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;:::o;:::-;-1:-1:-1;;;;;183:1643:223;;;;;;-1:-1:-1;;183:1643:223;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;:::o;1599:130:42:-;1513:6;183:1643:223;-1:-1:-1;;;;;183:1643:223;929:10:68;1662:23:42;183:1643:223;;1599:130:42:o;183:1643:223:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;183:1643:223;;-1:-1:-1;;;;;183:1643:223;;;-1:-1:-1;;;;;;183:1643:223;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;183:1643:223:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;183:1643:223;;;;-1:-1:-1;183:1643:223;;-1:-1:-1;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:223;;;;;;;;:::i;:::-;;;;14463:853:61;;;183:1643:223;;14463:853:61;;;1713:19:66;;:23;:19;;183:1643:223;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;183:1643:223;;;;;;;;;;;;;;;14667:82:61;;;;183:1643:223;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;183:1643:223;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;183:1643:223;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;183:1643:223;;-1:-1:-1;;;14969:60:61;;183:1643:223;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;183:1643:223;;;;;14663:595:61;-1:-1:-1;;;;;;183:1643:223;14799:62:61;;-1:-1:-1;183:1643:223;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;183:1643:223;;;;;-1:-1:-1;;;;;;183:1643:223;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;183:1643:223;;14463:853:61;;;1713:19:66;;:23;:19;;183:1643:223;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;183:1643:223;;;;;;;;:::i;:::-;14667:82:61;183:1643:223;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;183:1643:223;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;183:1643:223:-;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;3857:4:115;183:1643:223;;;-1:-1:-1;183:1643:223;;:::o;:::-;-1:-1:-1;;183:1643:223;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;;-1:-1:-1;183:1643:223;;;-1:-1:-1;183:1643:223;:::o;2214:404:113:-;-1:-1:-1;183:1643:223;;;4351:12:113;;;183:1643:223;;;;;;2298:21:113;;183:1643:223;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;183:1643:223;2493:12:113;183:1643:223;;;-1:-1:-1;183:1643:223;;;2547:11:113;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:113;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;3023:15:113;;;;3019:1149;3023:15;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;;;;;;;;;;3505:26:113;;;3501:398;;3019:1149;183:1643:223;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:113;4103:11;:::o;183:1643:223:-;-1:-1:-1;;;183:1643:223;;;;;;;;3501:398:113;183:1643:223;3571:22:113;3693:26;3571:22;;;:::i;:::-;183:1643:223;;;;;;3693:26:113;;;;;:::i;183:1643:223:-;;;;;;;;;;;;3501:398:113;;;;;183:1643:223;-1:-1:-1;;;183:1643:223;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;3019:1149:113;4145:12;;;;;:::o;183:1643:223:-;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;9157:11:221;183:1643:223;;;;;;;;;;-1:-1:-1;183:1643:223;;;;;-1:-1:-1;183:1643:223;:::o;4031:289:221:-;4121:24;;;:::i;:::-;-1:-1:-1;;;183:1643:223;;;4152:12:221;183:1643:223;;;;;;;-1:-1:-1;;183:1643:223;4177:4:221;183:1643:223;;;-1:-1:-1;183:1643:223;4192:54:221;;4031:289;4188:81;;911:99:64;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;183:1643:223;;;11014:15:61;183:1643:223;;;;;;;;;;-1:-1:-1;;;;;;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;11254:9:61;183:1643:223;;;;;;;-1:-1:-1;;183:1643:223;;;;;;11302:7:61;183:1643:223;;;;;;;;;;;;;11334:36:61;183:1643:223;;11334:36:61;4031:289:221:o;4188:81::-;4256:7;;:::o;4192:54::-;-1:-1:-1;;183:1643:223;;;7266:7:61;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;7680:31:61;4192:54:221;;2651:219:61;-1:-1:-1;183:1643:223;;;7266:7:61;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;2793:19:61;;183:1643:223;;2651:219:61;:::o;183:1643:223:-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;4943:564:221;;;;;1061:1:69;5127:14:221;;183:1643:223;;;;;;;;5226:9:221;183:1643:223;5215:20:221;;183:1643:223;;8929:150:61;8950:53;183:1643:223;;;;;:::i;:::-;-1:-1:-1;;183:1643:223;;;;8911:7:61;;;;:::i;:::-;8950:53;:::i;8929:150::-;183:1643:223;;;;;5307:10:221;183:1643:223;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;1639:16:233;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4900:13:221;183:1643:223;;;;;;;;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;1794:18:233;183:1643:223;;;;;;;;;;;;;;;;;4943:564:221;:::o;183:1643:223:-;;;;-1:-1:-1;183:1643:223;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;;;;;;;;;;;;;;;1639:16:233;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;9408:920:61;-1:-1:-1;;;;;183:1643:223;9487:16:61;;183:1643:223;;-1:-1:-1;183:1643:223;;;7266:7:61;183:1643:223;;;;;;9550:58:61;;-1:-1:-1;;;;;183:1643:223;7680:31:61;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;183:1643:223;;;7266:7:61;183:1643:223;;;;;;9754:58:61;;-1:-1:-1;;;;;183:1643:223;7680:31:61;;9763:16;7592:126;9754:58;9501:1;183:1643:223;;;10154:9:61;183:1643:223;;;;;;;;;;;;;;10193:7:61;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;10230:33:61;;;;9408:920::o;183:1643:223:-;;;;;;;;;;;;;;;;;;;;;;;;;5658:504:221;-1:-1:-1;183:1643:223;;;5807:20:221;183:1643:223;;;;;;;;;;;;;;:::i;:::-;5797:106:221;;5963:24;;;;:::i;:::-;5998:15;;;;-1:-1:-1;5998:15:221;;183:1643:223;;;6030:10:221;183:1643:223;;;;;;:::i;:::-;6023:27:221;:::o;5994:164::-;6121:19;10222:18:74;;6121:19:221;10287:8:74;6121:19:221;10278:17:74;;;;10274:103;;5994:164:221;10403:8:74;;;;10394:17;;;;10390:103;;5994:164:221;10519:8:74;;;10510:17;;;;10506:103;;5994:164:221;10635:7:74;;10626:16;;;;10622:100;;5994:164:221;10748:7:74;;10739:16;;;;10735:100;;5994:164:221;10852:16:74;10861:7;10852:16;;;10848:100;;5994:164:221;10974:7:74;10965:16;;;;10961:66;;5994:164:221;633:1:71;183:1643:223;;775:76:71;183:1643:223;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;183:1643:223;;;;775:76:71;;;;864:280;633:1;;;864:280;183:1643:223;;;;;-1:-1:-1;;;183:1643:223;;6085:65:221;183:1643:223;;6085:65:221;183:1643:223;;;;;;;;6085:65:221;;;;;;183:1643:223;;;:::i;:::-;;;;;;;;;;775:76:71;183:1643:223;;;;:::i;:::-;;-1:-1:-1;;;775:76:71;183:1643:223;;;6085:65:221;;;;;;;;;:::i;864:280:71:-;-1:-1:-1;;183:1643:223;;;;-1:-1:-1;;;969:93:71;;;;183:1643:223;969:93:71;183:1643:223;1112:10:71;;;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:74;183:1643:223;11011:1:74;183:1643:223;10961:66:74;;;10848:100;183:1643:223;;10861:7:74;10932:1;183:1643:223;;;;10848:100:74;;;10735;10819:1;183:1643:223;;;;;;10735:100:74;;;;10622;10706:1;183:1643:223;;;;;;10622:100:74;;;;10506:103;10592:2;183:1643:223;;;;;;10506:103:74;;;;10390;183:1643:223;;;;;;;10390:103:74;;;;10274;183:1643:223;;;;;;10350:12:74;10274:103;;;;;5797:106:221;183:1643:223;;;;;;;;;:::i;6166:482:221:-;6282:24;;;:::i;:::-;-1:-1:-1;;6317:15:221;;6349:35;;;:::i;6313:331::-;183:1643:223;-1:-1:-1;183:1643:223;6401:12:221;183:1643:223;;;;-1:-1:-1;183:1643:223;;;6397:247:221;183:1643:223;;;6440:35:221;;;:::i;6397:247::-;-1:-1:-1;183:1643:223;;;7266:7:61;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;6501:35:221;;-1:-1:-1;1513:6:42;183:1643:223;-1:-1:-1;;;;;183:1643:223;;6548:14:221:o;6496:142::-;6594:35;;;:::i;7016:260::-;-1:-1:-1;;;;;183:1643:223;;;7148:17:221;;;:::i;:::-;183:1643:223;;;7179:17:221;;;;:54;;;;;7016:260;7179:91;;;;;;7171:100;;7016:260;:::o;7179:91::-;183:1643:223;;;-1:-1:-1;183:1643:223;4980:18:61;183:1643:223;;;-1:-1:-1;183:1643:223;;-1:-1:-1;183:1643:223;;;;;-1:-1:-1;183:1643:223;;;7016:260:221;:::o;7179:54::-;7200:21;;;;;;;:::i;:::-;183:1643:223;7200:33:221;7179:54;;;;;7620:398;-1:-1:-1;183:1643:223;;;7731:16:221;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;;-1:-1:-1;183:1643:223;;7791:24:221;183:1643:223;7791:24:221;:::i;:::-;7836:40;;;;;;;7620:398;7835:69;;;;7620:398;183:1643:223;;;;;;;7988:15:221;183:1643:223;;;;;7620:398:221;:::o;183:1643:223:-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;7835:69:221;183:1643:223;;;;7882:12:221;183:1643:223;;;;;;;;7881:23:221;7835:69;;7836:40;7854:22;;;;7836:40;;;8022:369;;8127:13;;183:1643:223;;11851:92:61;8176:24:221;;;;:::i;:::-;8211:54;;;;;8022:369;8211:81;;;8022:369;8207:124;;8022:369;11859:34:61;;;:::i;:::-;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;183:1643:223;11961:16:61;;;183:1643:223;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;183:1643:223;12171:42:61;12163:92;:::i;:::-;12901:27;8139:1:221;183:1643:223;;;12324:15:61;183:1643:223;;;;;-1:-1:-1;;;;;183:1643:223;;;;;;;;;;;;12792:9:61;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;183:1643:223;;;;;;;;;;;;;12901:27:61;;8022:369:221:o;183:1643:223:-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;8207:124:221;8315:8;;;;:::i;:::-;8207:124;;8211:81;183:1643:223;;8139:1:221;183:1643:223;8270:12:221;183:1643:223;;;;8139:1:221;183:1643:223;;;8269:23:221;8211:81;;:54;-1:-1:-1;;183:1643:223;;;7266:7:61;183:1643:223;;;;;;-1:-1:-1;;;;;183:1643:223;7680:31:61;8211:54:221;;183:1643:223;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;8502:391:221;8677:11;183:1643:223;;8502:391:221;8670:1;8673:22;;;;;;8867:21;;;;8670:1;8867:21;8670:1;183:1643:223;;;;;;:::i;:::-;8670:1:221;183:1643:223;;8502:391:221;:::o;8697:3::-;8726:14;;;:::i;:::-;183:1643:223;;8714:39:221;;;:80;;;8697:3;8710:145;;8697:3;;;:::i;:::-;8658:13;;8710:145;8823:14;;;;;;;:::i;:::-;8806:40;;183:1643:223;8823:22:221;8814:4;8806:40;8823:22;;183:1643:223;:::i;8714:80:221:-;8769:14;:25;:14;;;:::i;:::-;:25;;183:1643:223;8757:37:221;;;8714:80;;183:1643:223;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;-1:-1:-1;;;183:1643:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;183:1643:223;;;;:::o;1987:344:61:-;183:1643:223;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:107;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;","linkReferences":{}},"methodIdentifiers":{"addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","areTokenURIsLocked()":"631d1d9a","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchMint(string,uint256)":"7cc918d1","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getBatchCount()":"a8fabfa5","getBatchInfo(uint256)":"1a0058f5","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isOperatorInList(address)":"eab85118","lockTokenURIs()":"a448dd4f","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","tokenURIsLocked()":"bb2ee99f","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBatchBaseURI(uint256,string)":"de903ddd","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"BatchBaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"TokenURIsLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"areTokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBatchCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"}],\"name\":\"getBatchInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockTokenURIs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newBaseURI\",\"type\":\"string\"}],\"name\":\"updateBatchBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getBatchCount()\":{\"details\":\"Returns the total number of batches.\"},\"getBatchInfo(uint256)\":{\"details\":\"Returns the start and end token IDs and base URI for a specific batch.\"},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol\":\"SovereignNFTRoyaltyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0x74a1aa566315a4c0d91fc502278a18ecd4b2badc4b8206a1d9b819aa7fa7d9eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccdd47e55f55319ae049c60f843bfd64e0082b38d349e87173dc3eb4fafd04e2\",\"dweb:/ipfs/QmQWDQf4Fw5HDnGKxxoyvS4gvB2yyiKb4L4kHDMPuyPrbd\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol\":{\"keccak256\":\"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a\",\"dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"batchIndex","type":"uint256","indexed":true},{"internalType":"string","name":"newBaseURI","type":"string","indexed":false}],"type":"event","name":"BatchBaseURIUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"newURI","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[],"type":"event","name":"TokenURIsLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[],"stateMutability":"view","type":"function","name":"areTokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBatchCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBatchInfo","outputs":[{"internalType":"uint256","name":"startTokenId","type":"uint256"},{"internalType":"uint256","name":"endTokenId","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockTokenURIs"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"},{"internalType":"string","name":"_newBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBatchBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_newURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getBatchCount()":{"details":"Returns the total number of batches."},"getBatchInfo(uint256)":{"details":"Returns the start and end token IDs and base URI for a specific batch."},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol":"SovereignNFTRoyaltyGuard"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFT.sol":{"keccak256":"0x74a1aa566315a4c0d91fc502278a18ecd4b2badc4b8206a1d9b819aa7fa7d9eb","urls":["bzz-raw://ccdd47e55f55319ae049c60f843bfd64e0082b38d349e87173dc3eb4fafd04e2","dweb:/ipfs/QmQWDQf4Fw5HDnGKxxoyvS4gvB2yyiKb4L4kHDMPuyPrbd"],"license":"MIT"},"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuard.sol":{"keccak256":"0xdc4744ba9693b17dcb6bf34354531a6b85e3ed53a5529f128811f60bf7f7d6b8","urls":["bzz-raw://3585861c3af4c62e76dafa32bebeeeb4dd5cfdee77850010ad3e3d8902baa93a","dweb:/ipfs/QmSTWwX64TULoxQZ5GhBrdbXfGyX3XET6pwJVwc37C7uA1"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":223} \ No newline at end of file diff --git a/abis/SovereignNFTRoyaltyGuardDeadmanTrigger.json b/abis/SovereignNFTRoyaltyGuardDeadmanTrigger.json index fa1d9d9..51189cf 100644 --- a/abis/SovereignNFTRoyaltyGuardDeadmanTrigger.json +++ b/abis/SovereignNFTRoyaltyGuardDeadmanTrigger.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"activateDeadmanListTrigger","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeadmanTriggerAvailableDatetime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeadmanListTriggerRenewalDuration","inputs":[{"name":"_numYears","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerActivated","inputs":[{"name":"_activator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerDatetimeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldDatetime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newDatetime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"DeadmanTriggerStillActive","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x60808060405234610016576131e5908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e814611cf257806301ffc9a714611c1c57806306fdde0314611b72578063081812fc14611b52578063095ea7b31461193657806318160ddd1461191657806320427486146118e257806321c4a5d81461183d57806323b872dd146118185780632a55205a146117865780632ce878da146117135780633403c4e9146116ea5780633ebc82c5146116a857806340c1a0641461167e57806342842e0e1461164a57806342966c681461162d578063472a66381461159d5780634aa52c411461152c5780635aec8d62146114845780635edc7c1914610f795780636297c16c14610efd5780636352211e14610ecc57806370a0823114610e36578063715018a614610dd9578063717392ed14610db95780637cc918d114610aab57806387bc793f14610a83578063894ba83314610a355780638da5cb5b14610a0c57806395d89b41146109275780639e860f2a14610836578063a22cb465146106b4578063ab69607a14610695578063b88d4fde1461060a578063bc7194551461055c578063c87b56dd14610521578063d9856c21146104b8578063e831574214610498578063e985e9c51461044a578063eab85118146103ef578063ee070805146103cc578063efc32cd414610379578063f2fde38b146102e85763ff6e8c8f1461020557600080fd5b346102e45761021336611ebe565b90919260018060a01b0394856033541633036102d75760038510156102c45784156102b7575050906102469136916123bf565b92805b84518110156102b3576102ae9061027561026285612426565b8661026d848a612465565b5116906124a7565b5083856102828389612465565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612440565b610249565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346102e45760203660031901126102e457610302611deb565b9161030b611fbe565b6001600160a01b03831615610327578361032484612016565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103c857806003193601126103c857610393611deb565b9061039c611fbe565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103c857816003193601126103c85760209060ff80541690519015158152f35b5050346103c85760203660031901126103c857602090610441610410611deb565b61041f60ff6101085416612426565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103c857806003193601126103c85760ff8160209361046a611deb565b610472611e06565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103c857816003193601126103c857602090610100549051908152f35b8382346103c85760203660031901126103c857803567ffffffffffffffff81116102e457366023820112156102e4576102b3918160246104fd93369301359101611f87565b610505611fbe565b61051360ff80541615612672565b60fc54339182908190612848565b50913461055957602036600319011261055957506105426105559235612b86565b9051918291602083526020830190611dc6565b0390f35b80fd5b5090346102e45760203660031901126102e4578135916003831015610606576033546001600160a01b031633036105f8575061059782612426565b805490848155816105da575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d4339482611e95565b0390a280f35b845260208420908101905b818110156105a3578481556001016105e5565b9051635c510c8360e11b8152fd5b8380fd5b8382346103c85760803660031901126103c857610625611deb565b9061062e611e06565b916044356064359367ffffffffffffffff851161069157366023860112156106915761066961068c9486602461032498369301359101611f87565b9261067c6106778433612ddc565b61213f565b610687838383612f0e565b612334565b6121f4565b8580fd5b5050346103c857816003193601126103c85760209060fc549051908152f35b5090346102e457806003193601126102e4576106ce611deb565b90602435918215158093036108325760ff6101085416600381101561081f57600181036107d55750600180865261010760209081528387206001600160a01b0384166000908152920190526040902054156107c6575b6001600160a01b0316923384146107845750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610724576002855261010760205261080b82862060018060a01b0383169060019160005201602052604060002054151590565b156107245781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b5090346102e45761084636611ebe565b6033546001600160a01b039490851633036109185750906108689136916123bf565b916003821015908161081f578261087d578580f35b8591929394955b8551811015610908576108ac61089986612426565b836108a4848a612465565b511690612515565b5083826108b98389612465565b5116906108f55790856108f092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612440565b610884565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103c857816003193601126103c857805190826098546109498161205f565b808552916001918083169081156109e45750600114610987575b50505061097582610555940383611f49565b51918291602083526020830190611dc6565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106109cc575050506109758260206105559582010194610963565b805460208787018101919091529095019481016109af565b61055597508693506020925061097594915060ff191682840152151560051b82010194610963565b5050346103c857816003193601126103c85760335490516001600160a01b039091168152602090f35b8334610559578060031936011261055957610a4e611fbe565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103c857816003193601126103c8576105559060ff6101085416905191829182611e95565b509190346103c857806003193601126103c85767ffffffffffffffff92803584811161060657610ade9036908301611e67565b90610ae7611fbe565b610af560ff80541615612672565b61010490815492600197888501809511610da657602492610b17843587612605565b9360001991828601958611610d945789519660209788810181811087821117610d2e578c52879052869055610100548611610d52578951906060820182811086821117610d405790610b76918c52898352888301968888523691611f87565b948a8201958652610105805490600160401b821015610d2e578e82019055610b9d906126be565b929092610d1d579060029291518255518d820155019351978851938411610d0c575050610bca835461205f565b601f8111610cca575b50889989979899508598601f8411600114610c4557839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610c3a575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610c18565b98909291601f19831691858a52878a20928a5b818110610cb257509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610c9a575b50505050811b019055610c26565b01519060f88460031b161c1916905538808080610c8c565b828d015185558e9b5093860193918901918901610c58565b838a52858a20601f840160051c810191878510610d02575b601f0160051c01905b818110610cf85750610bd3565b8a81558b01610ceb565b9091508190610ce2565b634e487b7160e01b8b526041905289fd5b634e487b7160e01b8d528c8b52838dfd5b634e487b7160e01b8e5260418c52848efd5b634e487b7160e01b8d5260418b52838dfd5b895162461bcd60e51b8152808a01889052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b8a526011885289fd5b634e487b7160e01b885260118652602488fd5b5050346103c857816003193601126103c857602090610109549051908152f35b8334610559578060031936011261055957610df2611fbe565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103c85760203660031901126103c8576001600160a01b03610e5a611deb565b16908115610e77576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105595760203660031901126105595750610eec60209235612d6c565b90516001600160a01b039091168152f35b50346102e45760203660031901126102e457803591610f1b83612d6c565b336001600160a01b0390911603610f365783610324846126fa565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346103c85760803660031901126103c85767ffffffffffffffff92813584811161060657610fad9036908401611e67565b929060243586811161069157610fc69036908401611e67565b610fd1979197611e1c565b9387549860ff94858b60081c16159889809a611478575b8015611462575b156114085760ff19808d1660019081178d559b9c999a998a6113f7575b506001600160a01b038916156113b4579161105f9161104f898f6110679796600a60fc558254168255606435610100555460081c1661104a81612612565b612612565b61105833612016565b3691611f87565b933691611f87565b9061107b858b5460081c1661104a81612612565b82518481116113a1578061109060975461205f565b94601f95868111611330575b506020908d8784116001146112b157926112a6575b5050600019600383901b1c1916908a1b176097555b815193841161129357506110db60985461205f565b828111611230575b5060209183116001146111a4579180611158959492611130948b92611199575b5050600019600383901b1c191690881b176098555b875460081c1661112781612612565b61104a81612612565b60fb80546001600160a01b0319166001600160a01b038316179055611153611fbe565b612016565b611160578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80611103565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106112185750916111309593918561115899989694106111ff575b505050811b01609855611118565b015160001960f88460031b161c191690558a80806111f1565b8284015185558b9690940193602093840193016111d4565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061128a575b0160051c019089905b82811061127f5750506110e3565b8b8155018990611271565b92508192611268565b634e487b7160e01b8a5260419052602489fd5b015190508c806110b1565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611318575084116112ff575b505050811b016097556110c6565b015160001960f88460031b161c191690558c80806112f1565b8284015185558f9690940193602093840193016112e2565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611398575b859493910160051c909101908d908f5b83821061138a5750505061109c565b81558594508e91018f61137b565b9250819261136b565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d61100c565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610fef57506001878d1614610fef565b506001878d1610610fe8565b5090346102e457826003193601126102e45761010954421061151f57506101089081549060ff821690600382101561150c57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346103c85760603660031901126103c857803567ffffffffffffffff81116102e4576102b39161156091369101611e67565b90611569611e06565b611571611e1c565b9261157a611fbe565b61158860ff80541615612672565b61159860fc549333923691611f87565b612848565b50346102e45760203660031901126102e4578035916003831015610606576033546001600160a01b031633036102d757506101089182549160ff831690600382101561161a5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103c85760203660031901126103c85761032490356126fa565b5050346103c85761068c6103249161166136611e32565b9192519261166e84611f17565b86845261067c6106778433612ddc565b5050346103c85760203660031901126103c85760335490516001600160a01b039091168152602090f35b8334610559576020366003190112610559576103246116c5611deb565b6116cd611fbe565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103c857816003193601126103c85760fb5490516001600160a01b039091168152602090f35b82843461055957806003193601126105595761173460ff6101085416612426565b9180519182845490818152602080910195835280832092905b82821061176f576105558686611765828b0383611f49565b5191829182611d5f565b83548752958601956001938401939091019061174d565b5091346105595781600319360112610559578235815260fd60205281812054602435906001600160a01b03908116801561180c57925b60fe60205284812054801561180257925b8381029381850414901517156117ef5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926117cd565b508060fb5416926117bc565b83346105595761032461182a36611e32565b916118386106778433612ddc565b612f0e565b50346102e45760203660031901126102e457603354813591906001600160a01b031633036118d4576301e13380918281029281840414901517156118c157506118869042612605565b90610109907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b5050346103c85760203660031901126103c857602090611900611deb565b60018060a01b0380603354169116149051908152f35b5050346103c857816003193601126103c857602090610104549051908152f35b50346102e457816003193601126102e45761194f611deb565b906024359260ff61010854166003811015611b3f5760018103611af85750600180865261010760209081528287206001600160a01b038616600090815292019052604090205415611aec575b6001600160a01b039182806119af87612d6c565b16941693808514611a9f57803314908115611a80575b5015611a185750838552610103602052842080546001600160a01b031916831790556119f0836127e2565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386119c5565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b60020361199b5760028552610107602052611b2e81862060018060a01b0385169060019160005201602052604060002054151590565b1561199b57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091346105595760203660031901126105595750610eec60209235612e46565b5050346103c857816003193601126103c85780519082609754611b948161205f565b808552916001918083169081156109e45750600114611bbf5750505061097582610555940383611f49565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611c04575050506109758260206105559582010194610963565b80546020878701810191909152909501948101611be7565b50346102e45760203660031901126102e45735906001600160e01b03198216808303610606576020935063fa31a45b60e01b8114928315611ce1575b8315611c69575b5050519015158152f35b919250631030681960e21b811491908215611cd0575b8215611ca7575b508115611c97575b50903880611c5f565b611ca1915061316b565b38611c8e565b90915063152a902d60e11b148015611cc1575b9038611c86565b50611ccb8161316b565b611cba565b6301ffc9a760e01b81149250611c7f565b6301ffc9a760e01b82149350611c58565b5090346102e457602091826003193601126106065735600381101561060657611d1a90612426565b9281518093808654928381520195835280832092905b828210611d48576105558686611765828b0383611f49565b835487529586019560019384019390910190611d30565b6020908160408183019282815285518094520193019160005b828110611d86575050505090565b83516001600160a01b031685529381019392810192600101611d78565b60005b838110611db65750506000910152565b8181015183820152602001611da6565b90602091611ddf81518092818552858086019101611da3565b601f01601f1916010190565b600435906001600160a01b0382168203611e0157565b600080fd5b602435906001600160a01b0382168203611e0157565b604435906001600160a01b0382168203611e0157565b6060906003190112611e01576001600160a01b03906004358281168103611e0157916024359081168103611e01579060443590565b9181601f84011215611e015782359167ffffffffffffffff8311611e015760208381860195010111611e0157565b919060208301926003821015611ea85752565b634e487b7160e01b600052602160045260246000fd5b6040600319820112611e01576004356003811015611e01579160243567ffffffffffffffff92838211611e015780602383011215611e01578160040135938411611e015760248460051b83010111611e01576024019190565b6020810190811067ffffffffffffffff821117611f3357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611f3357604052565b67ffffffffffffffff8111611f3357601f01601f191660200190565b929192611f9382611f6b565b91611fa16040519384611f49565b829481845281830111611e01578281602093846000960137010152565b6033546001600160a01b03163303611fd257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561208f575b602083101461207957565b634e487b7160e01b600052602260045260246000fd5b91607f169161206e565b90604051918260008254926120ad8461205f565b90818452600194858116908160001461211c57506001146120d9575b50506120d792500383611f49565b565b9093915060005260209081600020936000915b8183106121045750506120d7935082010138806120c9565b855488840185015294850194879450918301916120ec565b9150506120d794506020925060ff191682840152151560051b82010138806120c9565b1561214657565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156121fb57565b60405162461bcd60e51b815280612214600482016121a1565b0390fd5b9192600092909190803b1561232a57612266946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611dc6565b03926001600160a01b03165af18491816122ea575b506122d9575050503d6000146122d1573d61229581611f6b565b906122a36040519283611f49565b81528091833d92013e5b805191826122ce5760405162461bcd60e51b815280612214600482016121a1565b01fd5b5060606122ad565b6001600160e01b0319161492509050565b9091508581813d8311612323575b6123028183611f49565b8101031261083257516001600160e01b03198116810361083257903861227b565b503d6122f8565b5050915050600190565b9293600093909291803b156123b45794849161238e9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611dc6565b0393165af18491816122ea57506122d9575050503d6000146122d1573d61229581611f6b565b505050915050600190565b90929167ffffffffffffffff8411611f33578360051b60405192602080946123e982850182611f49565b8097815201918101928311611e0157905b8282106124075750505050565b81356001600160a01b0381168103611e015781529083019083016123fa565b6003811015611ea857600052610107602052604060002090565b600019811461244f5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156124795760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156124795760005260206000200190600090565b600082815260018201602052604090205461250e57805490600160401b821015611f3357826124f76124e084600180960185558461248f565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b906001820190600092818452826020526040842054908115156000146125fe57600019918083018181116125ea578254908482019182116125d6578082036125a1575b5050508054801561258d57820191612570838361248f565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6125c16125b16124e0938661248f565b90549060031b1c9283928661248f565b90558652846020526040862055388080612558565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b9190820180921161244f57565b1561261957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b1561267957565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561247957600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612703816130e3565b5050600082815261010260205260408120805460ff1916600117905590806127c3575b6127bf576127376106778333612ddc565b612740826127e2565b5061274a826127e2565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612726565b6000908152609960205260409020546001600160a01b031680156128035790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612a025761288c61068c60405161287681611f17565b896000968783526128878282612a92565b612218565b8683526020916101068352604084209181519167ffffffffffffffff83116129ee576128b8845461205f565b601f81116129a8575b508490601f841160011461293f57928060fd9593819389989660409a94612934575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b0151925038806128e3565b8487528587209293929190601f198416885b818110612993575091604098979593918560fd9896941061297a575b505050811b0190556128f5565b015160001960f88460031b161c1916905538808061296d565b82840151855593860193928801928801612951565b848752858720601f850160051c8101918786106129e4575b601f0160051c019083905b8281106129d95750506128c1565b8881550183906129cb565b90915081906129c0565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612a4d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612b4257600082815260996020526040902054612ac6906001600160a01b031615155b15612a46565b600082815260996020526040902054612ae9906001600160a01b03161515612ac0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b612b8f816130e3565b9115159050612bb25750600052610106602052612baf6040600020612099565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015612d5e575b50506d04ee2d6d415b85acef810000000080821015612d51575b50662386f26fc1000080821015612d44575b506305f5e10080821015612d37575b5061271080821015612d2a575b506064811015612d1c575b600a80911015612d12575b600180840192816021612c66612c5087611f6b565b96612c5e6040519889611f49565b808852611f6b565b602087019790601f1901368937860101905b612cdc575b50505050612cbf92612baf926026926040519583612ca5889551809260208089019101611da3565b840191602f60f81b60208401525180936021840190611da3565b0164173539b7b760d91b6021820152036006810184520182611f49565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612d0d57919082612c78565b612c7d565b9160010191612c3b565b606460029104920191612c30565b6004910492019138612c25565b6008910492019138612c18565b6010910492019138612c09565b6020910492019138612bf7565b604094500490503880612bdd565b612d75816130e3565b5050612d8457612baf906127e2565b8060005261010260205260ff60406000205416600014612da757612baf906127e2565b6000818152609960205260409020546001600160a01b0316612dd357506033546001600160a01b031690565b612baf906127e2565b6001600160a01b03908180612df085612d6c565b16911691818314938415612e2f575b50508215612e0c57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b83929450612e3c90612e46565b1614913880612dff565b600081815260fd60205260408120546001600160a01b039291908316612e6b836130e3565b5050908115612f04575b5080612eec575b15612e9257604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612e7c565b9050151538612e75565b908215611e0157612f5891612f22846130e3565b50508061306a575b80613050575b613041575b612f3e846127e2565b6001600160a01b0393918416928492909183168414613089565b16918215612ff05781612f7591612f6e866127e2565b1614613089565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61304b8482612a92565b612f35565b508360005261010260205260ff6040600020541615612f30565b506000848152609960205260409020546001600160a01b031615612f2a565b1561309057565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613110575050905060009060009060405161310981611f17565b6000815290565b613119816126be565b505482101580613154575b6131365761313190612440565b6130ec565b80935061314391506126be565b5090612baf60026001949301612099565b506001613160826126be565b500154821115613124565b63ffffffff60e01b166380ac58cd60e01b811490811561319e575b8115613190575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061318656fea2646970667358221220a3175044e6304519644eb3b71be3ca5609bde6d901c79a75f55646334ced483e64736f6c63430008120033","sourceMap":"208:1708:203:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e814611cf257806301ffc9a714611c1c57806306fdde0314611b72578063081812fc14611b52578063095ea7b31461193657806318160ddd1461191657806320427486146118e257806321c4a5d81461183d57806323b872dd146118185780632a55205a146117865780632ce878da146117135780633403c4e9146116ea5780633ebc82c5146116a857806340c1a0641461167e57806342842e0e1461164a57806342966c681461162d578063472a66381461159d5780634aa52c411461152c5780635aec8d62146114845780635edc7c1914610f795780636297c16c14610efd5780636352211e14610ecc57806370a0823114610e36578063715018a614610dd9578063717392ed14610db95780637cc918d114610aab57806387bc793f14610a83578063894ba83314610a355780638da5cb5b14610a0c57806395d89b41146109275780639e860f2a14610836578063a22cb465146106b4578063ab69607a14610695578063b88d4fde1461060a578063bc7194551461055c578063c87b56dd14610521578063d9856c21146104b8578063e831574214610498578063e985e9c51461044a578063eab85118146103ef578063ee070805146103cc578063efc32cd414610379578063f2fde38b146102e85763ff6e8c8f1461020557600080fd5b346102e45761021336611ebe565b90919260018060a01b0394856033541633036102d75760038510156102c45784156102b7575050906102469136916123bf565b92805b84518110156102b3576102ae9061027561026285612426565b8661026d848a612465565b5116906124a7565b5083856102828389612465565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612440565b610249565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346102e45760203660031901126102e457610302611deb565b9161030b611fbe565b6001600160a01b03831615610327578361032484612016565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103c857806003193601126103c857610393611deb565b9061039c611fbe565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103c857816003193601126103c85760209060ff80541690519015158152f35b5050346103c85760203660031901126103c857602090610441610410611deb565b61041f60ff6101085416612426565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103c857806003193601126103c85760ff8160209361046a611deb565b610472611e06565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103c857816003193601126103c857602090610100549051908152f35b8382346103c85760203660031901126103c857803567ffffffffffffffff81116102e457366023820112156102e4576102b3918160246104fd93369301359101611f87565b610505611fbe565b61051360ff80541615612672565b60fc54339182908190612848565b50913461055957602036600319011261055957506105426105559235612b86565b9051918291602083526020830190611dc6565b0390f35b80fd5b5090346102e45760203660031901126102e4578135916003831015610606576033546001600160a01b031633036105f8575061059782612426565b805490848155816105da575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d4339482611e95565b0390a280f35b845260208420908101905b818110156105a3578481556001016105e5565b9051635c510c8360e11b8152fd5b8380fd5b8382346103c85760803660031901126103c857610625611deb565b9061062e611e06565b916044356064359367ffffffffffffffff851161069157366023860112156106915761066961068c9486602461032498369301359101611f87565b9261067c6106778433612ddc565b61213f565b610687838383612f0e565b612334565b6121f4565b8580fd5b5050346103c857816003193601126103c85760209060fc549051908152f35b5090346102e457806003193601126102e4576106ce611deb565b90602435918215158093036108325760ff6101085416600381101561081f57600181036107d55750600180865261010760209081528387206001600160a01b0384166000908152920190526040902054156107c6575b6001600160a01b0316923384146107845750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b600203610724576002855261010760205261080b82862060018060a01b0383169060019160005201602052604060002054151590565b156107245781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b5090346102e45761084636611ebe565b6033546001600160a01b039490851633036109185750906108689136916123bf565b916003821015908161081f578261087d578580f35b8591929394955b8551811015610908576108ac61089986612426565b836108a4848a612465565b511690612515565b5083826108b98389612465565b5116906108f55790856108f092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612440565b610884565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103c857816003193601126103c857805190826098546109498161205f565b808552916001918083169081156109e45750600114610987575b50505061097582610555940383611f49565b51918291602083526020830190611dc6565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106109cc575050506109758260206105559582010194610963565b805460208787018101919091529095019481016109af565b61055597508693506020925061097594915060ff191682840152151560051b82010194610963565b5050346103c857816003193601126103c85760335490516001600160a01b039091168152602090f35b8334610559578060031936011261055957610a4e611fbe565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103c857816003193601126103c8576105559060ff6101085416905191829182611e95565b509190346103c857806003193601126103c85767ffffffffffffffff92803584811161060657610ade9036908301611e67565b90610ae7611fbe565b610af560ff80541615612672565b61010490815492600197888501809511610da657602492610b17843587612605565b9360001991828601958611610d945789519660209788810181811087821117610d2e578c52879052869055610100548611610d52578951906060820182811086821117610d405790610b76918c52898352888301968888523691611f87565b948a8201958652610105805490600160401b821015610d2e578e82019055610b9d906126be565b929092610d1d579060029291518255518d820155019351978851938411610d0c575050610bca835461205f565b601f8111610cca575b50889989979899508598601f8411600114610c4557839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610c3a575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610c18565b98909291601f19831691858a52878a20928a5b818110610cb257509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610c9a575b50505050811b019055610c26565b01519060f88460031b161c1916905538808080610c8c565b828d015185558e9b5093860193918901918901610c58565b838a52858a20601f840160051c810191878510610d02575b601f0160051c01905b818110610cf85750610bd3565b8a81558b01610ceb565b9091508190610ce2565b634e487b7160e01b8b526041905289fd5b634e487b7160e01b8d528c8b52838dfd5b634e487b7160e01b8e5260418c52848efd5b634e487b7160e01b8d5260418b52838dfd5b895162461bcd60e51b8152808a01889052601d818401527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b50634e487b7160e01b8a526011885289fd5b634e487b7160e01b885260118652602488fd5b5050346103c857816003193601126103c857602090610109549051908152f35b8334610559578060031936011261055957610df2611fbe565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103c85760203660031901126103c8576001600160a01b03610e5a611deb565b16908115610e77576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105595760203660031901126105595750610eec60209235612d6c565b90516001600160a01b039091168152f35b50346102e45760203660031901126102e457803591610f1b83612d6c565b336001600160a01b0390911603610f365783610324846126fa565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b508290346103c85760803660031901126103c85767ffffffffffffffff92813584811161060657610fad9036908401611e67565b929060243586811161069157610fc69036908401611e67565b610fd1979197611e1c565b9387549860ff94858b60081c16159889809a611478575b8015611462575b156114085760ff19808d1660019081178d559b9c999a998a6113f7575b506001600160a01b038916156113b4579161105f9161104f898f6110679796600a60fc558254168255606435610100555460081c1661104a81612612565b612612565b61105833612016565b3691611f87565b933691611f87565b9061107b858b5460081c1661104a81612612565b82518481116113a1578061109060975461205f565b94601f95868111611330575b506020908d8784116001146112b157926112a6575b5050600019600383901b1c1916908a1b176097555b815193841161129357506110db60985461205f565b828111611230575b5060209183116001146111a4579180611158959492611130948b92611199575b5050600019600383901b1c191690881b176098555b875460081c1661112781612612565b61104a81612612565b60fb80546001600160a01b0319166001600160a01b038316179055611153611fbe565b612016565b611160578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a181808280f35b015190508a80611103565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b8181106112185750916111309593918561115899989694106111ff575b505050811b01609855611118565b015160001960f88460031b161c191690558a80806111f1565b8284015185558b9690940193602093840193016111d4565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c8201926020871061128a575b0160051c019089905b82811061127f5750506110e3565b8b8155018990611271565b92508192611268565b634e487b7160e01b8a5260419052602489fd5b015190508c806110b1565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b818110611318575084116112ff575b505050811b016097556110c6565b015160001960f88460031b161c191690558c80806112f1565b8284015185558f9690940193602093840193016112e2565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c82019260208610611398575b859493910160051c909101908d908f5b83821061138a5750505061109c565b81558594508e91018f61137b565b9250819261136b565b634e487b7160e01b8b526041825260248bfd5b8a5162461bcd60e51b8152602081870152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178d558d61100c565b885162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610fef57506001878d1614610fef565b506001878d1610610fe8565b5090346102e457826003193601126102e45761010954421061151f57506101089081549060ff821690600382101561150c57508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346103c85760603660031901126103c857803567ffffffffffffffff81116102e4576102b39161156091369101611e67565b90611569611e06565b611571611e1c565b9261157a611fbe565b61158860ff80541615612672565b61159860fc549333923691611f87565b612848565b50346102e45760203660031901126102e4578035916003831015610606576033546001600160a01b031633036102d757506101089182549160ff831690600382101561161a5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103c85760203660031901126103c85761032490356126fa565b5050346103c85761068c6103249161166136611e32565b9192519261166e84611f17565b86845261067c6106778433612ddc565b5050346103c85760203660031901126103c85760335490516001600160a01b039091168152602090f35b8334610559576020366003190112610559576103246116c5611deb565b6116cd611fbe565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103c857816003193601126103c85760fb5490516001600160a01b039091168152602090f35b82843461055957806003193601126105595761173460ff6101085416612426565b9180519182845490818152602080910195835280832092905b82821061176f576105558686611765828b0383611f49565b5191829182611d5f565b83548752958601956001938401939091019061174d565b5091346105595781600319360112610559578235815260fd60205281812054602435906001600160a01b03908116801561180c57925b60fe60205284812054801561180257925b8381029381850414901517156117ef5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc54926117cd565b508060fb5416926117bc565b83346105595761032461182a36611e32565b916118386106778433612ddc565b612f0e565b50346102e45760203660031901126102e457603354813591906001600160a01b031633036118d4576301e13380918281029281840414901517156118c157506118869042612605565b90610109907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b5050346103c85760203660031901126103c857602090611900611deb565b60018060a01b0380603354169116149051908152f35b5050346103c857816003193601126103c857602090610104549051908152f35b50346102e457816003193601126102e45761194f611deb565b906024359260ff61010854166003811015611b3f5760018103611af85750600180865261010760209081528287206001600160a01b038616600090815292019052604090205415611aec575b6001600160a01b039182806119af87612d6c565b16941693808514611a9f57803314908115611a80575b5015611a185750838552610103602052842080546001600160a01b031916831790556119f0836127e2565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff8287205416386119c5565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b60020361199b5760028552610107602052611b2e81862060018060a01b0385169060019160005201602052604060002054151590565b1561199b57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b5091346105595760203660031901126105595750610eec60209235612e46565b5050346103c857816003193601126103c85780519082609754611b948161205f565b808552916001918083169081156109e45750600114611bbf5750505061097582610555940383611f49565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611c04575050506109758260206105559582010194610963565b80546020878701810191909152909501948101611be7565b50346102e45760203660031901126102e45735906001600160e01b03198216808303610606576020935063fa31a45b60e01b8114928315611ce1575b8315611c69575b5050519015158152f35b919250631030681960e21b811491908215611cd0575b8215611ca7575b508115611c97575b50903880611c5f565b611ca1915061316b565b38611c8e565b90915063152a902d60e11b148015611cc1575b9038611c86565b50611ccb8161316b565b611cba565b6301ffc9a760e01b81149250611c7f565b6301ffc9a760e01b82149350611c58565b5090346102e457602091826003193601126106065735600381101561060657611d1a90612426565b9281518093808654928381520195835280832092905b828210611d48576105558686611765828b0383611f49565b835487529586019560019384019390910190611d30565b6020908160408183019282815285518094520193019160005b828110611d86575050505090565b83516001600160a01b031685529381019392810192600101611d78565b60005b838110611db65750506000910152565b8181015183820152602001611da6565b90602091611ddf81518092818552858086019101611da3565b601f01601f1916010190565b600435906001600160a01b0382168203611e0157565b600080fd5b602435906001600160a01b0382168203611e0157565b604435906001600160a01b0382168203611e0157565b6060906003190112611e01576001600160a01b03906004358281168103611e0157916024359081168103611e01579060443590565b9181601f84011215611e015782359167ffffffffffffffff8311611e015760208381860195010111611e0157565b919060208301926003821015611ea85752565b634e487b7160e01b600052602160045260246000fd5b6040600319820112611e01576004356003811015611e01579160243567ffffffffffffffff92838211611e015780602383011215611e01578160040135938411611e015760248460051b83010111611e01576024019190565b6020810190811067ffffffffffffffff821117611f3357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611f3357604052565b67ffffffffffffffff8111611f3357601f01601f191660200190565b929192611f9382611f6b565b91611fa16040519384611f49565b829481845281830111611e01578281602093846000960137010152565b6033546001600160a01b03163303611fd257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561208f575b602083101461207957565b634e487b7160e01b600052602260045260246000fd5b91607f169161206e565b90604051918260008254926120ad8461205f565b90818452600194858116908160001461211c57506001146120d9575b50506120d792500383611f49565b565b9093915060005260209081600020936000915b8183106121045750506120d7935082010138806120c9565b855488840185015294850194879450918301916120ec565b9150506120d794506020925060ff191682840152151560051b82010138806120c9565b1561214657565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b156121fb57565b60405162461bcd60e51b815280612214600482016121a1565b0390fd5b9192600092909190803b1561232a57612266946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611dc6565b03926001600160a01b03165af18491816122ea575b506122d9575050503d6000146122d1573d61229581611f6b565b906122a36040519283611f49565b81528091833d92013e5b805191826122ce5760405162461bcd60e51b815280612214600482016121a1565b01fd5b5060606122ad565b6001600160e01b0319161492509050565b9091508581813d8311612323575b6123028183611f49565b8101031261083257516001600160e01b03198116810361083257903861227b565b503d6122f8565b5050915050600190565b9293600093909291803b156123b45794849161238e9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611dc6565b0393165af18491816122ea57506122d9575050503d6000146122d1573d61229581611f6b565b505050915050600190565b90929167ffffffffffffffff8411611f33578360051b60405192602080946123e982850182611f49565b8097815201918101928311611e0157905b8282106124075750505050565b81356001600160a01b0381168103611e015781529083019083016123fa565b6003811015611ea857600052610107602052604060002090565b600019811461244f5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156124795760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156124795760005260206000200190600090565b600082815260018201602052604090205461250e57805490600160401b821015611f3357826124f76124e084600180960185558461248f565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b906001820190600092818452826020526040842054908115156000146125fe57600019918083018181116125ea578254908482019182116125d6578082036125a1575b5050508054801561258d57820191612570838361248f565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6125c16125b16124e0938661248f565b90549060031b1c9283928661248f565b90558652846020526040862055388080612558565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b9190820180921161244f57565b1561261957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b1561267957565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561247957600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612703816130e3565b5050600082815261010260205260408120805460ff1916600117905590806127c3575b6127bf576127376106778333612ddc565b612740826127e2565b5061274a826127e2565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612726565b6000908152609960205260409020546001600160a01b031680156128035790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612a025761288c61068c60405161287681611f17565b896000968783526128878282612a92565b612218565b8683526020916101068352604084209181519167ffffffffffffffff83116129ee576128b8845461205f565b601f81116129a8575b508490601f841160011461293f57928060fd9593819389989660409a94612934575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b0151925038806128e3565b8487528587209293929190601f198416885b818110612993575091604098979593918560fd9896941061297a575b505050811b0190556128f5565b015160001960f88460031b161c1916905538808061296d565b82840151855593860193928801928801612951565b848752858720601f850160051c8101918786106129e4575b601f0160051c019083905b8281106129d95750506128c1565b8881550183906129cb565b90915081906129c0565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612a4d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612b4257600082815260996020526040902054612ac6906001600160a01b031615155b15612a46565b600082815260996020526040902054612ae9906001600160a01b03161515612ac0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b612b8f816130e3565b9115159050612bb25750600052610106602052612baf6040600020612099565b90565b90600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015612d5e575b50506d04ee2d6d415b85acef810000000080821015612d51575b50662386f26fc1000080821015612d44575b506305f5e10080821015612d37575b5061271080821015612d2a575b506064811015612d1c575b600a80911015612d12575b600180840192816021612c66612c5087611f6b565b96612c5e6040519889611f49565b808852611f6b565b602087019790601f1901368937860101905b612cdc575b50505050612cbf92612baf926026926040519583612ca5889551809260208089019101611da3565b840191602f60f81b60208401525180936021840190611da3565b0164173539b7b760d91b6021820152036006810184520182611f49565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612d0d57919082612c78565b612c7d565b9160010191612c3b565b606460029104920191612c30565b6004910492019138612c25565b6008910492019138612c18565b6010910492019138612c09565b6020910492019138612bf7565b604094500490503880612bdd565b612d75816130e3565b5050612d8457612baf906127e2565b8060005261010260205260ff60406000205416600014612da757612baf906127e2565b6000818152609960205260409020546001600160a01b0316612dd357506033546001600160a01b031690565b612baf906127e2565b6001600160a01b03908180612df085612d6c565b16911691818314938415612e2f575b50508215612e0c57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b83929450612e3c90612e46565b1614913880612dff565b600081815260fd60205260408120546001600160a01b039291908316612e6b836130e3565b5050908115612f04575b5080612eec575b15612e9257604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff60408220541615612e7c565b9050151538612e75565b908215611e0157612f5891612f22846130e3565b50508061306a575b80613050575b613041575b612f3e846127e2565b6001600160a01b0393918416928492909183168414613089565b16918215612ff05781612f7591612f6e866127e2565b1614613089565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61304b8482612a92565b612f35565b508360005261010260205260ff6040600020541615612f30565b506000848152609960205260409020546001600160a01b031615612f2a565b1561309057565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613110575050905060009060009060405161310981611f17565b6000815290565b613119816126be565b505482101580613154575b6131365761313190612440565b6130ec565b80935061314391506126be565b5090612baf60026001949301612099565b506001613160826126be565b500154821115613124565b63ffffffff60e01b166380ac58cd60e01b811490811561319e575b8115613190575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061318656fea2646970667358221220a3175044e6304519644eb3b71be3ca5609bde6d901c79a75f55646334ced483e64736f6c63430008120033","sourceMap":"208:1708:203:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;1513:6:39;208:1708:203;;2088:10:111;1290:16:203;2064:71:111;;208:1708:203;;;;;;2839:39:111;;2835:84;;208:1708:203;;;;;;;;:::i;:::-;5643:13:111;;5677:3;208:1708:203;;5658:17:111;;;;;5677:3;5717:15;8398:50:109;5717:15:111;;;:::i;:::-;5737:9;;;;;:::i;:::-;208:1708:203;;8398:50:109;;:::i;:::-;;5795:9:111;;;;;;:::i;:::-;208:1708:203;;2088:10:111;5764:52;;;;5677:3;:::i;:::-;5643:13;;5658:17;;208:1708:203;;2835:84:111;208:1708:203;-1:-1:-1;;;2887:32:111;;;208:1708:203;-1:-1:-1;;;208:1708:203;;;;;;;;2064:71:111;208:1708:203;-1:-1:-1;;;2108:27:111;;;208:1708:203;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;208:1708:203;;2402:22:39;208:1708:203;;2496:8:39;;;;:::i;:::-;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;208:1708:203;;;;4978:16:200;208:1708:203;;;;;;-1:-1:-1;;;;;;208:1708:203;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1138:20:200;208:1708:203;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;8963:55:109;208:1708:203;;:::i;:::-;4167:14:111;208:1708:203;4172:8:111;208:1708:203;;4167:14:111;:::i;:::-;-1:-1:-1;;;;;208:1708:203;;;-1:-1:-1;208:1708:203;;;;4351:12:109;;;208:1708:203;;;;;;4351:24:109;;;4255:127;8963:55;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;208:1708:203;;;;;4980:18:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1165:24:200;208:1708:203;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;;;;;;;;;3510:155:200;208:1708:203;;;;;;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;2737:52:200;2746:8;208:1708:203;;;2745:9:200;2737:52;:::i;:::-;2453:24:212;208:1708:203;3554:10:200;;;;;;3510:155;:::i;208:1708:203:-;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;;;1513:6:39;208:1708:203;-1:-1:-1;;;;;208:1708:203;2088:10:111;1290:16:203;2064:71:111;;3436:15;;;;:::i;:::-;208:1708:203;;;;;;;;;;;;3462:34:111;208:1708:203;;2088:10:111;3462:34;2088:10;3462:34;;;:::i;:::-;;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;2064:71:111;208:1708:203;;-1:-1:-1;;;2108:27:111;;;208:1708:203;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6956:47:58;208:1708:203;;;6948:110:58;208:1708:203;;;;;;;;:::i;:::-;929:10:65;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;208:1708:203:-;;;;;;;;;;;;;;;;;;;;2453:24:212;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1460:8:111;208:1708:203;;;;;;;;1472:28:111;1460:40;;1472:28;;-1:-1:-1;1472:28:111;208:1708:203;;;1515:4:111;208:1708:203;;;;;;;-1:-1:-1;;;;;208:1708:203;;-1:-1:-1;208:1708:203;;;4351:12:109;;208:1708:203;;;;;;4351:24:109;1510:92:111;;1456:309;-1:-1:-1;;;;;208:1708:203;;929:10:65;13528:17:58;;208:1708:203;;929:10:65;;208:1708:203;;13585:18:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:58;208:1708:203;929:10:65;13646:41:58;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:111;208:1708:203;;-1:-1:-1;;;1574:28:111;;208:1708:203;;1574:28:111;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;208:1708:203;;1672:4:111;208:1708:203;;8963:55:109;208:1708:203;;;;;;;;;;8963:55:109;4351:12;4255:127;-1:-1:-1;208:1708:203;4351:12:109;208:1708:203;;;-1:-1:-1;208:1708:203;;4351:24:109;;4255:127;;8963:55;1668:90:111;1456:309;1668:90;208:1708:203;;-1:-1:-1;;;1730:28:111;;208:1708:203;;1730:28:111;208:1708:203;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:39;208:1708:203;-1:-1:-1;;;;;208:1708:203;;;;2088:10:111;1290:16:203;2064:71:111;;208:1708:203;;;;;;;:::i;:::-;;;;;;;;;;5589:39:111;5585:387;;208:1708:203;;;5585:387:111;5643:13;;;;;;5677:3;208:1708:203;;5658:17:111;;;;;8719:53:109;5845:15:111;;;:::i;:::-;5868:9;;;;;:::i;:::-;208:1708:203;;8719:53:109;;:::i;:::-;;5926:9:111;;;;;;:::i;:::-;208:1708:203;;;;;2088:10:111;;5677:3;2088:10;;5895:52;;;;5677:3;:::i;:::-;5643:13;;208:1708:203;-1:-1:-1;;;208:1708:203;;;;;;;;5658:17:111;;;;;;;;5585:387;;;;;208:1708:203;;;2064:71:111;208:1708:203;-1:-1:-1;;;2108:27:111;;208:1708:203;;2108:27:111;208:1708:203;;;;;;;;;;;;;;;;;;3182:7:58;208:1708:203;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;208:1708:203;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;4663:4:200;208:1708:203;;;;;;;;4699:10:200;4682:28;;;;208:1708:203;;;;;;;;;;;;;;;;;;;4333:8:111;208:1708:203;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;2737:52:200;2746:8;208:1708:203;;;2745:9:200;2737:52;:::i;:::-;2975:14;208:1708:203;;;;;;;;;;;;;;;;3034:30:200;208:1708:203;;3034:30:200;;:::i;:::-;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3195:9:200;208:1708:203;3167:37:200;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;3287:45:200;;;208:1708:203;;;;;;;:::i;:::-;3287:45:200;;;;208:1708:203;;;3270:11:200;208:1708:203;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3349:66:200;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;208:1708:203;;;;;;;3349:66:200;208:1708:203;;;;;;-1:-1:-1;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3349:66:200;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;208:1708:203;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;2482:31:113;208:1708:203;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;208:1708:203;;-1:-1:-1;;;;;;208:1708:203;;;;;;;-1:-1:-1;;;;;208:1708:203;2806:40:39;208:1708:203;;2806:40:39;208:1708:203;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;-1:-1:-1;;;;;208:1708:203;;:::i;:::-;;2489:19:58;;;208:1708:203;;;;;;;;;2571:9:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;2619:17:200;;;;:::i;:::-;2640:10;-1:-1:-1;;;;;208:1708:203;;;2619:31:200;208:1708:203;;4093:8:200;;;;:::i;208:1708:203:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:45;3347:34;;;;;;208:1708:203;3346:108:45;;;;208:1708:203;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;;;;;3562:65:45;;208:1708:203;-1:-1:-1;;;;;;208:1708:203;;2180:22:200;208:1708:203;;;;;5366:69:45;208:1708:203;;;;;2276:2:200;2197:38:212;208:1708:203;;;;;;;;2315:22:200;208:1708:203;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;208:1708:203;;;:::i;:::-;;;;;:::i;:::-;;5366:69:45;208:1708:203;;;;;;5366:69:45;;;:::i;:::-;208:1708:203;;;;;;;;;1873:13:58;208:1708:203;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;208:1708:203;;;;;;;;;;;1873:13:58;208:1708:203;;;;;;;;;;;1896:17:58;208:1708:203;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:39;208:1708:203;;;5366:69:45;208:1708:203;;;;;;-1:-1:-1;;;;208:1708:203;;;;;;;;;;;1896:17:58;208:1708:203;;;;;;;5366:69:45;;;:::i;:::-;;;;:::i;:::-;1492:34:212;208:1708:203;;-1:-1:-1;;;;;;208:1708:203;-1:-1:-1;;;;;208:1708:203;;;;;1303:62:39;;:::i;:::-;2496:8;:::i;:::-;3647:99:45;;208:1708:203;;;3647:99:45;208:1708:203;;-1:-1:-1;;208:1708:203;;;;;;;3721:14:45;;208:1708:203;;3721:14:45;3647:99;;208:1708:203;;;;;;;-1:-1:-1;208:1708:203;;;;;1896:17:58;208:1708:203;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;5366:69:45;208:1708:203;;;;2496:8:39;208:1708:203;;;;;;;;;;;;;;1896:17:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;;;;;;;;;;1873:13:58;208:1708:203;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;;;;;1873:13:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;3562:65:45;-1:-1:-1;;208:1708:203;;;;;3562:65:45;;;208:1708:203;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;208:1708:203;;;;;3436:17:45;3346:108;;3347:34;208:1708:203;;;;;3365:16:45;3347:34;;208:1708:203;;;;;;;;;;;;;;1916:31:113;208:1708:203;1950:15:113;-1:-1:-1;1912:117:113;;5330:8:111;;208:1708:203;;;;;;;;;;;;;;5318:10:111;;;;5302:51;;;;-1:-1:-1;;208:1708:203;;;5318:10:111;2086:35:113;;;;208:1708:203;;;-1:-1:-1;;;208:1708:203;;;;;;;;1912:117:113;208:1708:203;-1:-1:-1;;;1974:55:113;;;208:1708:203;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;3834:160:200;208:1708:203;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:39;;;:::i;:::-;2737:52:200;2746:8;208:1708:203;;;2745:9:200;2737:52;:::i;:::-;208:1708:203;2453:24:212;208:1708:203;3878:10:200;;208:1708:203;;;;:::i;:::-;3834:160:200;:::i;208:1708:203:-;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;;;1513:6:39;208:1708:203;-1:-1:-1;;;;;208:1708:203;2088:10:111;1290:16:203;2064:71:111;;5330:8;;208:1708:203;;;;;;;;;;;;;;2088:10:111;;;208:1708:203;2088:10:111;;5302:51;;;;208:1708:203;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;:::i;:::-;;;;;;6956:47:58;6948:110;208:1708:203;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:58;5791:41;929:10:65;;5791:41:58;:::i;208:1708:203:-;;;;;;;;-1:-1:-1;;208:1708:203;;;;1513:6:39;208:1708:203;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;4833:9:200;208:1708:203;;:::i;:::-;1303:62:39;;:::i;:::-;208:1708:203;;;;;;-1:-1:-1;;;;;208:1708:203;;1492:34:212;208:1708:203;;;1492:34:212;208:1708:203;1418:115:212;208:1708:203;;;;;;;;;;;;;;2332:22:212;208:1708:203;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;4008:14:111;208:1708:203;4013:8:111;208:1708:203;;4008:14:111;:::i;:::-;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:212;208:1708:203;;;;;;;;;-1:-1:-1;;;;;208:1708:203;;;1049:40:212;;208:1708:203;;1049:118:212;;1238:18;208:1708:203;;;;;;1238:33:212;;;;:131;;208:1708:203;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;;1401:3:212;208:1708:203;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;1238:131:212;208:1708:203;1345:24:212;208:1708:203;1238:131:212;;;1049:118;208:1708:203;;1145:22:212;208:1708:203;;1049:118:212;;;208:1708:203;;;;;5365:7:58;208:1708:203;;;:::i;:::-;929:10:65;5235:99:58;5243:41;929:10:65;;5243:41:58;:::i;5235:99::-;5365:7;:::i;208:1708:203:-;;;;;;;-1:-1:-1;;208:1708:203;;;;1513:6:39;208:1708:203;;;;;-1:-1:-1;;;;;208:1708:203;2088:10:111;1290:16:203;2064:71:111;;2943:8:113;208:1708:203;;;;;;;;;;;;;;;2913:15:113;:38;:15;;:38;:::i;:::-;3004:31;;208:1708:203;2962:87:113;208:1708:203;;;;;;;;;;;;;2088:10:111;2962:87:113;;208:1708:203;;;;-1:-1:-1;;;208:1708:203;;;;;;;;2064:71:111;208:1708:203;;-1:-1:-1;;;2108:27:111;;;208:1708:203;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;:::i;:::-;;;;;;;1513:6:39;208:1708:203;;;;1290:16;208:1708;;;;;;;;;;;;;;;;;;;;;;9313:14:200;208:1708:203;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:111;208:1708:203;;;;;;;;;1460:40:111;;208:1708:203;;-1:-1:-1;208:1708:203;;;;1515:4:111;208:1708:203;;;;;;;-1:-1:-1;;;;;208:1708:203;;-1:-1:-1;208:1708:203;;;4351:12:109;;208:1708:203;;;;;;4351:24:109;1510:92:111;;1456:309;-1:-1:-1;;;;;208:1708:203;;;7258:16:200;;;:::i;:::-;208:1708:203;;;7292:11:200;;;;208:1708:203;;929:10:65;;7373:21:200;:62;;;;;1456:309:111;208:1708:203;;;;-1:-1:-1;208:1708:203;;;8087:15:200;208:1708:203;;;;;;-1:-1:-1;;;;;;208:1708:203;;;;;8140:34:200;208:1708:203;8140:34:200;:::i;:::-;208:1708:203;8131:57:200;;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7373:62:200;208:1708:203;;;;4980:18:58;208:1708:203;;;;;929:10:65;208:1708:203;;;;;;;;;;7373:62:200;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;1510:92:111;208:1708:203;-1:-1:-1;;;1574:28:111;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;208:1708:203;;1672:4:111;208:1708:203;;8963:55:109;208:1708:203;;;;;;;;;;8963:55:109;4351:12;4255:127;-1:-1:-1;208:1708:203;4351:12:109;208:1708:203;;;-1:-1:-1;208:1708:203;;4351:24:109;;4255:127;;8963:55;1668:90:111;1456:309;1668:90;208:1708:203;-1:-1:-1;;;1730:28:111;;;208:1708:203;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:58;208:1708:203;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;-1:-1:-1;;;;;;208:1708:203;;;;;;;;;-1:-1:-1;;;;4844:47:111;;;:88;;;;208:1708:203;757:104;;;;208:1708;;;;;;;;;;757:104;10191:31:200;;-1:-1:-1;;;;10176:46:200;;;10191:31;10176:110;;;;757:104:203;10176:175:200;;;;757:104:203;10176:239:200;;;;;757:104:203;;;;;;;10176:239:200;10367:48;;;;:::i;:::-;10176:239;;;:175;2028:26:212;;-1:-1:-1;;;;2013:41:212;:93;;;;10176:175:200;;;;;2013:93:212;2070:36;;;;:::i;:::-;2013:93;;10176:110:200;-1:-1:-1;;;937:40:103;;;-1:-1:-1;10176:110:200;;4844:88:111;-1:-1:-1;;;937:40:103;;;-1:-1:-1;4844:88:111;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;3857:15:111;;;:::i;:::-;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;208:1708:203;;;;:::o;:::-;;;;-1:-1:-1;;;;;208:1708:203;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;208:1708:203;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;208:1708:203;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;208:1708:203;;;;;-1:-1:-1;208:1708:203;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;208:1708:203;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;;:::o;1599:130:39:-;1513:6;208:1708:203;-1:-1:-1;;;;;208:1708:203;929:10:65;1662:23:39;208:1708:203;;1599:130:39:o;208:1708:203:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;208:1708:203;;-1:-1:-1;;;;;208:1708:203;;;-1:-1:-1;;;;;;208:1708:203;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;208:1708:203:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;208:1708:203;;;;-1:-1:-1;208:1708:203;;-1:-1:-1;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:203;;;;;;;;:::i;:::-;;;;14463:853:58;;;208:1708:203;;14463:853:58;;;1713:19:63;;:23;:19;;208:1708:203;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;208:1708:203;;;;;;;;;;;;;;;14667:82:58;;;;208:1708:203;;;;;;;;:::i;:::-;14667:82:58;;-1:-1:-1;;;;;208:1708:203;14667:82:58;;;;;;;14628:682;-1:-1:-1;14663:595:58;;14877:381;;;208:1708:203;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:58;;;208:1708:203;;-1:-1:-1;;;14969:60:58;;208:1708:203;14969:60:58;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;208:1708:203;;;;;14663:595:58;-1:-1:-1;;;;;;208:1708:203;14799:62:58;;-1:-1:-1;208:1708:203;-1:-1:-1;14792:69:58:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;208:1708:203;;;;;-1:-1:-1;;;;;;208:1708:203;;;;;;14667:82:58;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;208:1708:203;;14463:853:58;;;1713:19:63;;:23;:19;;208:1708:203;;;;;;;;;;;;;;14667:82:58;;;;929:10:65;14667:82:58;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;14667:82:58;;208:1708:203;;;;;;;;:::i;:::-;14667:82:58;208:1708:203;;14667:82:58;;;;;;;-1:-1:-1;14663:595:58;;14877:381;;;208:1708:203;;;;;;;;;:::i;14628:682:58:-;15288:11;;;;;;15295:4;15288:11;:::o;208:1708:203:-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;3857:4:111;208:1708:203;;;-1:-1:-1;208:1708:203;;:::o;:::-;-1:-1:-1;;208:1708:203;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;-1:-1:-1;208:1708:203;;;-1:-1:-1;208:1708:203;:::o;2214:404:109:-;-1:-1:-1;208:1708:203;;;4351:12:109;;;208:1708:203;;;;;;2298:21:109;;208:1708:203;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;2493:12:109;208:1708:203;;;-1:-1:-1;208:1708:203;;;2547:11:109;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:109;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;3023:15:109;;;;3019:1149;3023:15;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;;;;;;;;;;3505:26:109;;;3501:398;;3019:1149;208:1708:203;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:109;4103:11;:::o;208:1708:203:-;-1:-1:-1;;;208:1708:203;;;;;;;;3501:398:109;208:1708:203;3571:22:109;3693:26;3571:22;;;:::i;:::-;208:1708:203;;;;;;3693:26:109;;;;;:::i;208:1708:203:-;;;;;;;;;;;;3501:398:109;;;;;208:1708:203;-1:-1:-1;;;208:1708:203;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;3019:1149:109;4145:12;;;;;:::o;208:1708:203:-;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;3270:11:200;208:1708:203;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;-1:-1:-1;208:1708:203;:::o;4115:317:200:-;4209:24;;;:::i;:::-;-1:-1:-1;;;208:1708:203;;;4244:12:200;208:1708:203;;;;;;;-1:-1:-1;;208:1708:203;4269:4:200;208:1708:203;;;-1:-1:-1;208:1708:203;4288:54:200;;4115:317;4284:91;;911:99:61;919:41;929:10:65;;919:41:61;:::i;911:99::-;10729:34:58;;;:::i;:::-;;10935;;;:::i;:::-;208:1708:203;;;11014:15:58;208:1708:203;;;;;;;;;;-1:-1:-1;;;;;;208:1708:203;;;;;;-1:-1:-1;;;;;208:1708:203;;;;;;11254:9:58;208:1708:203;;;;;;;-1:-1:-1;;208:1708:203;;;;;;11302:7:58;208:1708:203;;;;;;;;;;;;;11334:36:58;208:1708:203;;11334:36:58;4115:317:200:o;4284:91::-;4358:7;;:::o;4288:54::-;-1:-1:-1;;208:1708:203;;;7266:7:58;208:1708:203;;;;;;-1:-1:-1;;;;;208:1708:203;7680:31:58;4288:54:200;;2651:219:58;-1:-1:-1;208:1708:203;;;7266:7:58;208:1708:203;;;;;;-1:-1:-1;;;;;208:1708:203;2793:19:58;;208:1708:203;;2651:219:58;:::o;208:1708:203:-;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;5157:624:200;;;;;1061:1:66;5367:14:200;;208:1708:203;;;;;;;;5474:9:200;208:1708:203;5463:20:200;;208:1708:203;;8929:150:58;8950:53;208:1708:203;;;;;:::i;:::-;-1:-1:-1;;208:1708:203;;;;8911:7:58;;;;:::i;:::-;8950:53;:::i;8929:150::-;208:1708:203;;;;;5563:10:200;208:1708:203;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5157:624:200;208:1708:203;;;;;;;;;;;;1639:16:212;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5110:13:200;208:1708:203;;;;;;;;;;;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;1794:18:212;208:1708:203;;;;;;;;;;;;;;;;;5157:624:200;:::o;208:1708:203:-;;;;-1:-1:-1;208:1708:203;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:203;;;;;;;;;;;;;;;;;;1639:16:212;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:203;;;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;;;;9408:920:58;-1:-1:-1;;;;;208:1708:203;9487:16:58;;208:1708:203;;-1:-1:-1;208:1708:203;;;7266:7:58;208:1708:203;;;;;;9550:58:58;;-1:-1:-1;;;;;208:1708:203;7680:31:58;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;208:1708:203;;;7266:7:58;208:1708:203;;;;;;9754:58:58;;-1:-1:-1;;;;;208:1708:203;7680:31:58;;9763:16;7592:126;9754:58;9501:1;208:1708:203;;;10154:9:58;208:1708:203;;;;;;;;;;;;;;10193:7:58;208:1708:203;;;;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;10230:33:58;;;;9408:920::o;208:1708:203:-;;;;;;;;;;;;;;;;;;;;;;;;;5940:616:200;6137:46;;;:::i;:::-;6198:15;;;;-1:-1:-1;6198:15:200;;208:1708:203;-1:-1:-1;208:1708:203;6236:10:200;208:1708:203;;;;-1:-1:-1;208:1708:203;;:::i;:::-;6229:27:200;:::o;6194:356::-;6447:19;-1:-1:-1;;6447:19:200;10287:8:71;6447:19:200;10278:17:71;;;;10274:103;;6194:356:200;10403:8:71;;;10394:17;;;;10390:103;;6194:356:200;10519:8:71;;10510:17;;;;10506:103;;6194:356:200;10635:7:71;;10626:16;;;;10622:100;;6194:356:200;10748:7:71;;10739:16;;;;10735:100;;6194:356:200;10852:16:71;10861:7;10852:16;;;10848:100;;6194:356:200;10974:7:71;10965:16;;;;10961:66;;6194:356:200;633:1:68;208:1708:203;;;;;775:76:68;208:1708:203;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;208:1708:203;;;;775:76:68;;;864:280;633:1;;;864:280;208:1708:203;;;;;;6338:183:200;208:1708:203;6338:183:200;208:1708:203;;;;;;;;;6338:183:200;;208:1708:203;6338:183:200;;;208:1708:203;;;:::i;:::-;;;;-1:-1:-1;;;208:1708:203;;;;;;;775:76:68;208:1708:203;;;;:::i;:::-;;-1:-1:-1;;;775:76:68;208:1708:203;;;6338:183:200;;;;;;;;;:::i;864:280:68:-;-1:-1:-1;;208:1708:203;;;;-1:-1:-1;;;969:93:68;;;;208:1708:203;969:93:68;208:1708:203;1079:11:68;;1112:10;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:71;208:1708:203;11011:1:71;208:1708:203;10961:66:71;;;10848:100;10861:7;10932:1;208:1708:203;;;;10848:100:71;;;10735;10819:1;208:1708:203;;;;10735:100:71;;;;10622;10706:1;208:1708:203;;;;10622:100:71;;;;10506:103;10592:2;208:1708:203;;;;10506:103:71;;;;10390;10476:2;208:1708:203;;;;10390:103:71;;;;10274;10360:2;;-1:-1:-1;208:1708:203;;-1:-1:-1;10274:103:71;;;;6562:594:200;6726:24;;;:::i;:::-;-1:-1:-1;;6765:15:200;;6803:35;;;:::i;6761:389::-;208:1708:203;-1:-1:-1;208:1708:203;6859:12:200;208:1708:203;;;;-1:-1:-1;208:1708:203;;;6855:295:200;208:1708:203;;;6904:35:200;;;:::i;6855:295::-;-1:-1:-1;208:1708:203;;;7266:7:58;208:1708:203;;;;;;-1:-1:-1;;;;;208:1708:203;6975:35:200;;-1:-1:-1;1513:6:39;208:1708:203;-1:-1:-1;;;;;208:1708:203;;7030:14:200:o;6970:170::-;7090:35;;;:::i;7562:338::-;-1:-1:-1;;;;;208:1708:203;;;7742:17:200;;;:::i;:::-;208:1708:203;;;7777:17:200;;;;:66;;;;;7562:338;7777:115;;;;;;7769:124;;7562:338;:::o;7777:115::-;208:1708:203;;;-1:-1:-1;208:1708:203;4980:18:58;208:1708:203;;;-1:-1:-1;208:1708:203;;-1:-1:-1;208:1708:203;;;;;-1:-1:-1;208:1708:203;;;7562:338:200;:::o;7777:66::-;7810:21;;;;;;;:::i;:::-;208:1708:203;7810:33:200;7777:66;;;;;8274:476;-1:-1:-1;208:1708:203;;;8433:16:200;208:1708:203;;;;;;-1:-1:-1;;;;;208:1708:203;;-1:-1:-1;208:1708:203;;8497:24:200;208:1708:203;8497:24:200;:::i;:::-;8546:40;;;;;;;8274:476;8545:81;;;;8274:476;208:1708:203;;;;;;;8718:15:200;208:1708:203;;;;;8274:476:200;:::o;208:1708:203:-;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;8545:81:200;208:1708:203;;;;8604:12:200;208:1708:203;;;;;;;;8603:23:200;8545:81;;8546:40;8564:22;;;;8546:40;;;8756:473;;8895:13;;208:1708:203;;11851:92:58;8948:24:200;;;;:::i;:::-;9000:66;;;;;8756:473;9000:105;;;8756:473;8983:180;;8756:473;11859:34:58;;;:::i;:::-;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;11859:42:58;;11851:92;:::i;:::-;208:1708:203;11961:16:58;;;208:1708:203;;12171:34:58;12163:92;12171:34;;;;:::i;:::-;208:1708:203;12171:42:58;12163:92;:::i;:::-;12901:27;8907:1:200;208:1708:203;;;12324:15:58;208:1708:203;;;;;-1:-1:-1;;;;;208:1708:203;;;;;;;;;;;;12792:9:58;208:1708:203;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:58;208:1708:203;;;;;;;;;;;;;12901:27:58;;8756:473:200:o;208:1708:203:-;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;8983:180:200;9143:8;;;;:::i;:::-;8983:180;;9000:105;208:1708:203;;8907:1:200;208:1708:203;9083:12:200;208:1708:203;;;;8907:1:200;208:1708:203;;;9082:23:200;9000:105;;:66;-1:-1:-1;;208:1708:203;;;7266:7:58;208:1708:203;;;;;;-1:-1:-1;;;;;208:1708:203;7680:31:58;9000:66:200;;208:1708:203;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:203;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:203;;;;;;;9350:537:200;9595:11;208:1708:203;;9350:537:200;9588:1;9591:22;;;;;;9859:21;;;;9588:1;9859:21;9588:1;208:1708:203;;;;;;:::i;:::-;9588:1:200;208:1708:203;;9350:537:200;:::o;9615:3::-;9667:14;;;:::i;:::-;208:1708:203;;9655:39:200;;;:96;;;9615:3;9634:205;;9615:3;;;:::i;:::-;9576:13;;9634:205;9801:14;;;;;;;:::i;:::-;9784:40;;208:1708:203;9801:22:200;9792:4;9784:40;9801:22;;208:1708:203;:::i;9655:96:200:-;9726:14;:25;:14;;;:::i;:::-;:25;;208:1708:203;9714:37:200;;;9655:96;;1987:344:58;208:1708:203;;;;2161:36:58;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:103;;1987:344:58;-1:-1:-1;1987:344:58:o;2146:126::-;-1:-1:-1;;;2213:59:58;;;-1:-1:-1;2146:126:58;","linkReferences":{}},"methodIdentifiers":{"activateDeadmanListTrigger()":"5aec8d62","addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchMint(string,uint256)":"7cc918d1","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getDeadmanTriggerAvailableDatetime()":"717392ed","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isOperatorInList(address)":"eab85118","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDeadmanListTriggerRenewalDuration(uint256)":"21c4a5d8","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadmanTriggerStillActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_activator\",\"type\":\"address\"}],\"name\":\"DeadmanTriggerActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_oldDatetime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newDatetime\",\"type\":\"uint256\"}],\"name\":\"DeadmanTriggerDatetimeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"activateDeadmanListTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeadmanTriggerAvailableDatetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numYears\",\"type\":\"uint256\"}],\"name\":\"setDeadmanListTriggerRenewalDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"activateDeadmanListTrigger()\":{\"details\":\"Can only be called if deadmanListTriggerAfterDatetime is in the past.\"},\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"returns\":{\"_0\":\"uint256 denoting unix epoch time after which the deadman trigger can be activated.\"}},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_numYears\":\"to renew the trigger for.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"DeadmanTriggerStillActive()\":[{\"notice\":\"Emitted when the deadman trigger datetime threshold hasnt passed but tries to get called.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"DeadmanTriggerActivated(address)\":{\"notice\":\"Emitted when the deadman switch is activated.\"},\"DeadmanTriggerDatetimeUpdated(address,uint256,uint256)\":{\"notice\":\"Emitted when deadman trigger datetime has been updated.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"activateDeadmanListTrigger()\":{\"notice\":\"Triggers the deadman switch for the list\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"notice\":\"The datetime threshold after which the deadman trigger can be called by anyone.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"notice\":\"Sets the deadman list trigger for the specified number of years from current block timestamp\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol\":\"SovereignNFTRoyaltyGuardDeadmanTrigger\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0xa1be1f35bfd101d50b527b796d0aafeba837f498ca3359bcc3a29253140209a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7fdc76b2c989d1c0ca725a261e4a1f9088d80ed182c7ad2358e9f06d7cb966c\",\"dweb:/ipfs/QmSmPoy6pWct22yTed4eKRV5Fx67h2FVwrPE133TZEY4g6\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165\",\"dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"DeadmanTriggerStillActive"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"address","name":"_activator","type":"address","indexed":true}],"type":"event","name":"DeadmanTriggerActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"uint256","name":"_oldDatetime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newDatetime","type":"uint256","indexed":false}],"type":"event","name":"DeadmanTriggerDatetimeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activateDeadmanListTrigger"},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeadmanTriggerAvailableDatetime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_numYears","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeadmanListTriggerRenewalDuration"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"activateDeadmanListTrigger()":{"details":"Can only be called if deadmanListTriggerAfterDatetime is in the past."},"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getDeadmanTriggerAvailableDatetime()":{"returns":{"_0":"uint256 denoting unix epoch time after which the deadman trigger can be activated."}},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"details":"Only the contract owner can call this function.","params":{"_numYears":"to renew the trigger for."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"activateDeadmanListTrigger()":{"notice":"Triggers the deadman switch for the list"},"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getDeadmanTriggerAvailableDatetime()":{"notice":"The datetime threshold after which the deadman trigger can be called by anyone."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"notice":"Sets the deadman list trigger for the specified number of years from current block timestamp"},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol":"SovereignNFTRoyaltyGuardDeadmanTrigger"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFT.sol":{"keccak256":"0xa1be1f35bfd101d50b527b796d0aafeba837f498ca3359bcc3a29253140209a1","urls":["bzz-raw://c7fdc76b2c989d1c0ca725a261e4a1f9088d80ed182c7ad2358e9f06d7cb966c","dweb:/ipfs/QmSmPoy6pWct22yTed4eKRV5Fx67h2FVwrPE133TZEY4g6"],"license":"MIT"},"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318","urls":["bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165","dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":203} \ No newline at end of file +{"abi":[{"type":"function","name":"activateDeadmanListTrigger","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"areTokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBatchCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBatchInfo","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"startTokenId","type":"uint256","internalType":"uint256"},{"name":"endTokenId","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getDeadmanTriggerAvailableDatetime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockTokenURIs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeadmanListTriggerRenewalDuration","inputs":[{"name":"_numYears","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBatchBaseURI","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"},{"name":"_newBaseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_newURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchBaseURIUpdated","inputs":[{"name":"batchIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newBaseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerActivated","inputs":[{"name":"_activator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerDatetimeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldDatetime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newDatetime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIsLocked","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"DeadmanTriggerStillActive","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657613912908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e8146122c357806301ffc9a7146121ed57806306fdde0314612143578063081812fc14612123578063095ea7b314611f0757806318160ddd14611ee757806318e97fd114611bf65780631a0058f514611b7a5780632042748614611b4657806321c4a5d814611aa157806323b872dd14611a7c5780632a55205a146119ea5780632ce878da146119775780633403c4e91461194e5780633ebc82c51461190c57806340c1a064146118e257806342842e0e146118ae57806342966c6814611891578063472a6638146118015780634aa52c41146117915780635aec8d62146116e95780635edc7c19146111df5780636297c16c14611163578063631d1d9a146107d55780636352211e1461113257806370a082311461109c578063715018a61461103f578063717392ed1461101f5780637cc918d114610d5b57806387bc793f14610d33578063894ba83314610ce55780638da5cb5b14610cbc57806395d89b4114610bd75780639e860f2a14610ae6578063a22cb46514610964578063a448dd4f146108c4578063a8fabfa5146108a4578063ab69607a14610885578063b88d4fde146107fb578063bb2ee99f146107d5578063bc7194551461072d578063c87b56dd146106f2578063d9856c211461068a578063de903ddd14610505578063e8315742146104e5578063e985e9c514610497578063eab851181461043c578063ee07080514610419578063efc32cd4146103c6578063f2fde38b146103355763ff6e8c8f1461025257600080fd5b3461033157610260366124c1565b90919260018060a01b039485603354163303610324576003851015610311578415610304575050906102939136916129d9565b92805b8451811015610300576102fb906102c26102af85612a3f565b866102ba848a612a7e565b511690612ac0565b5083856102cf8389612a7e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612a59565b610296565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103315760203660031901126103315761034f6123bc565b916103586125d8565b6001600160a01b03831615610374578361037184612630565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346104155780600319360112610415576103e06123bc565b906103e96125d8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461041557816003193601126104155760209060ff80541690519015158152f35b5050346104155760203660031901126104155760209061048e61045d6123bc565b61046c60ff6101095416612a3f565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b50503461041557806003193601126104155760ff816020936104b76123bc565b6104bf6123d7565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610415578160031936011261041557602090610100549051908152f35b508290346104155761051636612430565b91926105206125d8565b61053d60ff805461053382821615612cdf565b60081c161561380c565b61054b6101055485106137c0565b600261055685612d2b565b5001906001600160401b038411610677575061057c836105768354612679565b83612c8b565b84601f84116001146105e857956105d7918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105dd575b508560011b906000198760031b1c19161790555b5192839283613850565b0390a280f35b9050840135896105b9565b81865260208087209190601f1986169088905b82821061065f575050916105d79391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610645575b5050600185811b0190556105cd565b850135600019600388901b60f8161c191690558880610636565b80600185968294968a013581550195019301906105fb565b634e487b7160e01b865260419052602485fd5b8382346104155760203660031901126104155780356001600160401b038111610331573660238201121561033157610300918160246106ce933693013591016125a1565b6106d66125d8565b6106e460ff80541615612cdf565b60fc54339182908190612eb5565b50913461072a57602036600319011261072a575061071361072692356131a6565b9051918291602083526020830190612397565b0390f35b80fd5b5090346103315760203660031901126103315781359160038310156107d1576033546001600160a01b031633036107c3575061076882612a3f565b805490848155816107a5575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d7339482612498565b845260208420908101905b81811015610774578481556001016107b0565b9051635c510c8360e11b8152fd5b8380fd5b50503461041557816003193601126104155760209060ff805460081c1690519015158152f35b838234610415576080366003190112610415576108166123bc565b9061081f6123d7565b91604435606435936001600160401b03851161088157366023860112156108815761085961087c94866024610371983693013591016125a1565b9261086c6108678433613431565b612759565b610877838383613563565b61294e565b61280e565b8580fd5b50503461041557816003193601126104155760209060fc549051908152f35b505034610415578160031936011261041557602090610105549051908152f35b50346103315782600319360112610331576108dd6125d8565b60ff549160ff8360081c166109215761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461033157806003193601126103315761097e6123bc565b9060243591821515809303610ae25760ff61010954166003811015610acf5760018103610a855750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a76575b6001600160a01b031692338414610a345750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109d45760028552610108602052610abb82862060018060a01b0383169060019160005201602052604060002054151590565b156109d45781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461033157610af6366124c1565b6033546001600160a01b03949085163303610bc8575090610b189136916129d9565b9160038210159081610acf5782610b2d578580f35b8591929394955b8551811015610bb857610b5c610b4986612a3f565b83610b54848a612a7e565b511690612b2e565b508382610b698389612a7e565b511690610ba5579085610ba092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612a59565b610b34565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b50503461041557816003193601126104155780519082609854610bf981612679565b80855291600191808316908115610c945750600114610c37575b505050610c2582610726940383612565565b51918291602083526020830190612397565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c7c57505050610c258260206107269582010194610c13565b80546020878701810191909152909501948101610c5f565b610726975086935060209250610c2594915060ff191682840152151560051b82010194610c13565b50503461041557816003193601126104155760335490516001600160a01b039091168152602090f35b833461072a578060031936011261072a57610cfe6125d8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346104155781600319360112610415576107269060ff6101095416905191829182612498565b509190346104155780600319360112610415576001600160401b039280358481116107d157610d8d9036908301612403565b94610d966125d8565b610da460ff80541615612cdf565b6101049081549260019182850180951161100c57602498610dc68a3587612c1e565b9360001991828601958611610ffa5789519660209788810181811087821117610fe8578c52879052869055610100548611610fa6578a90610e1d8b5196610e0c88612519565b8a88528988019289845236916125a1565b958b8101968752610105805490600160401b821015610f94578582019055610e4490612d2b565b939093610f83575090600292915182555183820155019351978851938411610f715750899a50610e8283610e7c869c9a9b9c54612679565b86612c8b565b8598601f8411600114610eec57839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610ee1575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610ebf565b98909291601f19831691858a52878a20928a5b818110610f5957509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610f41575b50505050811b019055610ecd565b01519060f88460031b161c1916905538808080610f33565b828d015185558e9b5093860193918901918901610eff565b634e487b7160e01b8b52604190528a8afd5b634e487b7160e01b8152808c528e90fd5b634e487b7160e01b855260418d528f85fd5b895162461bcd60e51b8152808a01889052601d818e01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8e5260418c528e8efd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b885260118652602488fd5b50503461041557816003193601126104155760209061010a549051908152f35b833461072a578060031936011261072a576110586125d8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610415576020366003190112610415576001600160a01b036110c06123bc565b169081156110dd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461072a57602036600319011261072a5750611152602092356133c1565b90516001600160a01b039091168152f35b503461033157602036600319011261033157803591611181836133c1565b336001600160a01b039091160361119c578361037184612d67565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610331576080366003190112610331576001600160401b03918035838111610ae2576112119036908301612403565b91906024358581116116e55761122a9036908401612403565b6112359691966123ed565b9388549760ff94858a60081c1615978880996116d9575b80156116c3575b1561166957600160ff198c1681178d559a89611658575b506001600160a01b03881615611615576112c892916112c0916112b0898f600a60fc5561ffff198254168255606435610100555460081c166112ab81612c2b565b612c2b565b6112b933612630565b36916125a1565b9336916125a1565b906112dc858b5460081c166112ab81612c2b565b825184811161160257806112f1609754612679565b94601f95868111611591575b506020908d8784116001146115125792611507575b5050600019600383901b1c1916908a1b176097555b81519384116114f4575061133c609854612679565b828111611491575b5060209183116001146114055791806113b9959492611391948b926113fa575b5050600019600383901b1c191690881b176098555b875460081c1661138881612c2b565b6112ab81612c2b565b60fb80546001600160a01b0319166001600160a01b0383161790556113b46125d8565b612630565b6113c1578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611364565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611479575091611391959391856113b99998969410611460575b505050811b01609855611379565b015160001960f88460031b161c19169055388080611452565b8284015185558b969094019360209384019301611435565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114eb575b0160051c019089905b8281106114e0575050611344565b8b81550189906114d2565b925081926114c9565b634e487b7160e01b8a5260419052602489fd5b015190503880611312565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061157957508411611560575b505050811b01609755611327565b015160001960f88460031b161c19169055388080611552565b8284015185558f969094019360209384019301611543565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115f9575b859493910160051c909101908d908f5b8382106115eb575050506112fd565b81558594508e91018f6115dc565b925081926115cc565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861126a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561125357506001878c1614611253565b506001878c161061124c565b8680fd5b50903461033157826003193601126103315761010a54421061178457506101099081549060ff821690600382101561177157508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346104155760603660031901126104155780356001600160401b03811161033157610300916117c491369101612403565b906117cd6123d7565b6117d56123ed565b926117de6125d8565b6117ec60ff80541615612cdf565b6117fc60fc5493339236916125a1565b612eb5565b50346103315760203660031901126103315780359160038310156107d1576033546001600160a01b0316330361032457506101099182549160ff831690600382101561187e5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b838234610415576020366003190112610415576103719035612d67565b5050346104155761087c610371916118c536612463565b919251926118d28461254a565b86845261086c6108678433613431565b5050346104155760203660031901126104155760335490516001600160a01b039091168152602090f35b833461072a57602036600319011261072a576103716119296123bc565b6119316125d8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461041557816003193601126104155760fb5490516001600160a01b039091168152602090f35b82843461072a578060031936011261072a5761199860ff6101095416612a3f565b9180519182845490818152602080910195835280832092905b8282106119d35761072686866119c9828b0383612565565b5191829182612330565b8354875295860195600193840193909101906119b1565b50913461072a578160031936011261072a578235815260fd60205281812054602435906001600160a01b039081168015611a7057925b60fe602052848120548015611a6657925b838102938185041490151715611a535750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a31565b508060fb541692611a20565b833461072a57610371611a8e36612463565b91611a9c6108678433613431565b613563565b503461033157602036600319011261033157603354813591906001600160a01b03163303611b38576301e1338091828102928184041490151715611b255750611aea9042612c1e565b9061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b50503461041557602036600319011261041557602090611b646123bc565b60018060a01b0380603354169116149051908152f35b50823461072a57602036600319011261072a5750611ba69035611ba16101055482106137c0565b612d2b565b506107268251611bb581612519565b825481526060611bd3600260018601549560208501968752016126b3565b918286820152519351948051958695865260208601528401526060830190612397565b5082903461041557611c0736612430565b919260ff54611c1960ff821615612cdf565b6033546001600160a01b03163303611e9a5760ff611c3b9160081c161561380c565b6000848152609960205260409020546001600160a01b031615158015611e71575b15611e3757611c6a84613738565b505015611d5d5783855260206101078152868620916001600160401b038511611d4a5750611ca284611c9c8454612679565b84612c8b565b8590601f8511600114611ceb5750956105d7918487986000805160206138bd8339815191529798916105dd57508560011b906000198760031b1c19161790555192839283613850565b90601f1985168388528288209288905b828210611d32575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611cfb565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611d4a5750611d8884611c9c8454612679565b8590601f8511600114611dd85750956105d7918487986000805160206138bd833981519152979891611dcd575b508560011b906000198760031b1c19161790556105cd565b905084013589611db5565b90601f1985168388528288209288905b828210611e1f575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611de8565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611e7b84613738565b50508015611c5c575083855261010260205260ff868620541615611c5c565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b505034610415578160031936011261041557602090610104549051908152f35b5034610331578160031936011261033157611f206123bc565b906024359260ff6101095416600381101561211057600181036120c95750600180865261010860209081528287206001600160a01b0386166000908152920190526040902054156120bd575b6001600160a01b03918280611f80876133c1565b1694169380851461207057803314908115612051575b5015611fe95750838552610103602052842080546001600160a01b03191683179055611fc183612e4f565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611f96565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611f6c57600285526101086020526120ff81862060018060a01b0385169060019160005201602052604060002054151590565b15611f6c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b50913461072a57602036600319011261072a57506111526020923561349b565b5050346104155781600319360112610415578051908260975461216581612679565b80855291600191808316908115610c94575060011461219057505050610c2582610726940383612565565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106121d557505050610c258260206107269582010194610c13565b805460208787018101919091529095019481016121b8565b50346103315760203660031901126103315735906001600160e01b031982168083036107d1576020935063fa31a45b60e01b81149283156122b2575b831561223a575b5050519015158152f35b919250631030681960e21b8114919082156122a1575b8215612278575b508115612268575b50903880612230565b6122729150613878565b3861225f565b90915063152a902d60e11b148015612292575b9038612257565b5061229c81613878565b61228b565b6301ffc9a760e01b81149250612250565b6301ffc9a760e01b82149350612229565b50903461033157602091826003193601126107d1573560038110156107d1576122eb90612a3f565b9281518093808654928381520195835280832092905b8282106123195761072686866119c9828b0383612565565b835487529586019560019384019390910190612301565b6020908160408183019282815285518094520193019160005b828110612357575050505090565b83516001600160a01b031685529381019392810192600101612349565b60005b8381106123875750506000910152565b8181015183820152602001612377565b906020916123b081518092818552858086019101612374565b601f01601f1916010190565b600435906001600160a01b03821682036123d257565b600080fd5b602435906001600160a01b03821682036123d257565b604435906001600160a01b03821682036123d257565b9181601f840112156123d2578235916001600160401b0383116123d257602083818601950101116123d257565b9060406003198301126123d25760043591602435906001600160401b0382116123d25761245f91600401612403565b9091565b60609060031901126123d2576001600160a01b039060043582811681036123d2579160243590811681036123d2579060443590565b9190602083019260038210156124ab5752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126123d25760043560038110156123d257916024356001600160401b03928382116123d257806023830112156123d25781600401359384116123d25760248460051b830101116123d2576024019190565b606081019081106001600160401b0382111761253457604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761253457604052565b90601f801991011681019081106001600160401b0382111761253457604052565b6001600160401b03811161253457601f01601f191660200190565b9291926125ad82612586565b916125bb6040519384612565565b8294818452818301116123d2578281602093846000960137010152565b6033546001600160a01b031633036125ec57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156126a9575b602083101461269357565b634e487b7160e01b600052602260045260246000fd5b91607f1691612688565b90604051918260008254926126c784612679565b90818452600194858116908160001461273657506001146126f3575b50506126f192500383612565565b565b9093915060005260209081600020936000915b81831061271e5750506126f1935082010138806126e3565b85548884018501529485019487945091830191612706565b9150506126f194506020925060ff191682840152151560051b82010138806126e3565b1561276057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561281557565b60405162461bcd60e51b81528061282e600482016127bb565b0390fd5b9192600092909190803b1561294457612880946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612397565b03926001600160a01b03165af1849181612904575b506128f3575050503d6000146128eb573d6128af81612586565b906128bd6040519283612565565b81528091833d92013e5b805191826128e85760405162461bcd60e51b81528061282e600482016127bb565b01fd5b5060606128c7565b6001600160e01b0319161492509050565b9091508581813d831161293d575b61291c8183612565565b81010312610ae257516001600160e01b031981168103610ae2579038612895565b503d612912565b5050915050600190565b9293600093909291803b156129ce579484916129a89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612397565b0393165af184918161290457506128f3575050503d6000146128eb573d6128af81612586565b505050915050600190565b9092916001600160401b038411612534578360051b6040519260208094612a0282850182612565565b80978152019181019283116123d257905b828210612a205750505050565b81356001600160a01b03811681036123d2578152908301908301612a13565b60038110156124ab57600052610108602052604060002090565b6000198114612a685760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015612a925760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612a925760005260206000200190600090565b6000828152600182016020526040902054612b2757805490600160401b8210156125345782612b10612af9846001809601855584612aa8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c175760001991808301818111612c0357825490848201918211612bef57808203612bba575b50505080548015612ba657820191612b898383612aa8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612bda612bca612af99386612aa8565b90549060031b1c92839286612aa8565b90558652846020526040862055388080612b71565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b91908201809211612a6857565b15612c3257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612c9957505050565b600091825260208220906020601f850160051c83019410612cd5575b601f0160051c01915b828110612cca57505050565b818155600101612cbe565b9092508290612cb5565b15612ce657565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015612a9257600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612d7081613738565b5050600082815261010260205260408120805460ff191660011790559080612e30575b612e2c57612da46108678333613431565b612dad82612e4f565b50612db782612e4f565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612d93565b6000908152609960205260409020546001600160a01b03168015612e705790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161302257612ef961087c604051612ee38161254a565b89600096878352612ef482826130b2565b612832565b868352602091610106835260408420918151916001600160401b03831161300e57612f2883610e7c8654612679565b8490601f8411600114612fa557928060fd9593819389989660409a94612f9a575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612f49565b8487528587209293929190601f198416885b818110612ff9575091604098979593918560fd98969410612fe0575b505050811b019055612f5b565b015160001960f88460031b161c19169055388080612fd3565b82840151855593860193928801928801612fb7565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561306d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015613162576000828152609960205260409020546130e6906001600160a01b031615155b15613066565b600082815260996020526040902054613109906001600160a01b031615156130e0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926131c484842054612679565b6133b257506131d281613738565b91151590506131f057506131ed9361010691835252206126b3565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156133a3575b5050866d04ee2d6d415b85acef810000000080841015613395575b5050662386f26fc1000080831015613386575b506305f5e10080831015613377575b5061271080831015613368575b506064821015613358575b600a8092101561334e575b600190816021818701966132a561329089612586565b9861329d89519a8b612565565b808a52612586565b888c019990601f1901368b3750870101905b613318575b5050505091602f60f81b946132fb6131ed95936026955197856132e88a9751809287808b019101612374565b8601938401525180936021840190612374565b0164173539b7b760d91b6021820152036006810184520182612565565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215613349579190826132b7565b6132bc565b926001019261327a565b929060646002910491019261326f565b60049194920491019238613264565b60089194920491019238613257565b60109194920491019238613248565b940193909104908638613235565b9194509150048192388061321a565b90936131ed94835252206126b3565b6133ca81613738565b50506133d9576131ed90612e4f565b8060005261010260205260ff604060002054166000146133fc576131ed90612e4f565b6000818152609960205260409020546001600160a01b031661342857506033546001600160a01b031690565b6131ed90612e4f565b6001600160a01b03908180613445856133c1565b16911691818314938415613484575b5050821561346157505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b839294506134919061349b565b1614913880613454565b600081815260fd60205260408120546001600160a01b0392919083166134c083613738565b5050908115613559575b5080613541575b156134e757604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156134d1565b90501515386134ca565b9082156123d2576135ad9161357784613738565b5050806136bf575b806136a5575b613696575b61359384612e4f565b6001600160a01b03939184169284929091831684146136de565b1691821561364557816135ca916135c386612e4f565b16146136de565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6136a084826130b2565b61358a565b508360005261010260205260ff6040600020541615613585565b506000848152609960205260409020546001600160a01b03161561357f565b156136e557565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613765575050905060009060009060405161375e8161254a565b6000815290565b61376e81612d2b565b5054821015806137a9575b61378b5761378690612a59565b613741565b8093506137989150612d2b565b50906131ed600260019493016126b3565b5060016137b582612d2b565b500154821115613779565b156137c757565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561381357565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b81149081156138ab575b811561389d575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061389356fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220b7b3549eeb6c701b304d1daf1583e6551a16b339b46acbccf877e20c1d2eba9c64736f6c63430008120033","sourceMap":"208:1708:224:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e8146122c357806301ffc9a7146121ed57806306fdde0314612143578063081812fc14612123578063095ea7b314611f0757806318160ddd14611ee757806318e97fd114611bf65780631a0058f514611b7a5780632042748614611b4657806321c4a5d814611aa157806323b872dd14611a7c5780632a55205a146119ea5780632ce878da146119775780633403c4e91461194e5780633ebc82c51461190c57806340c1a064146118e257806342842e0e146118ae57806342966c6814611891578063472a6638146118015780634aa52c41146117915780635aec8d62146116e95780635edc7c19146111df5780636297c16c14611163578063631d1d9a146107d55780636352211e1461113257806370a082311461109c578063715018a61461103f578063717392ed1461101f5780637cc918d114610d5b57806387bc793f14610d33578063894ba83314610ce55780638da5cb5b14610cbc57806395d89b4114610bd75780639e860f2a14610ae6578063a22cb46514610964578063a448dd4f146108c4578063a8fabfa5146108a4578063ab69607a14610885578063b88d4fde146107fb578063bb2ee99f146107d5578063bc7194551461072d578063c87b56dd146106f2578063d9856c211461068a578063de903ddd14610505578063e8315742146104e5578063e985e9c514610497578063eab851181461043c578063ee07080514610419578063efc32cd4146103c6578063f2fde38b146103355763ff6e8c8f1461025257600080fd5b3461033157610260366124c1565b90919260018060a01b039485603354163303610324576003851015610311578415610304575050906102939136916129d9565b92805b8451811015610300576102fb906102c26102af85612a3f565b866102ba848a612a7e565b511690612ac0565b5083856102cf8389612a7e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612a59565b610296565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103315760203660031901126103315761034f6123bc565b916103586125d8565b6001600160a01b03831615610374578361037184612630565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346104155780600319360112610415576103e06123bc565b906103e96125d8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461041557816003193601126104155760209060ff80541690519015158152f35b5050346104155760203660031901126104155760209061048e61045d6123bc565b61046c60ff6101095416612a3f565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b50503461041557806003193601126104155760ff816020936104b76123bc565b6104bf6123d7565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610415578160031936011261041557602090610100549051908152f35b508290346104155761051636612430565b91926105206125d8565b61053d60ff805461053382821615612cdf565b60081c161561380c565b61054b6101055485106137c0565b600261055685612d2b565b5001906001600160401b038411610677575061057c836105768354612679565b83612c8b565b84601f84116001146105e857956105d7918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105dd575b508560011b906000198760031b1c19161790555b5192839283613850565b0390a280f35b9050840135896105b9565b81865260208087209190601f1986169088905b82821061065f575050916105d79391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610645575b5050600185811b0190556105cd565b850135600019600388901b60f8161c191690558880610636565b80600185968294968a013581550195019301906105fb565b634e487b7160e01b865260419052602485fd5b8382346104155760203660031901126104155780356001600160401b038111610331573660238201121561033157610300918160246106ce933693013591016125a1565b6106d66125d8565b6106e460ff80541615612cdf565b60fc54339182908190612eb5565b50913461072a57602036600319011261072a575061071361072692356131a6565b9051918291602083526020830190612397565b0390f35b80fd5b5090346103315760203660031901126103315781359160038310156107d1576033546001600160a01b031633036107c3575061076882612a3f565b805490848155816107a5575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d7339482612498565b845260208420908101905b81811015610774578481556001016107b0565b9051635c510c8360e11b8152fd5b8380fd5b50503461041557816003193601126104155760209060ff805460081c1690519015158152f35b838234610415576080366003190112610415576108166123bc565b9061081f6123d7565b91604435606435936001600160401b03851161088157366023860112156108815761085961087c94866024610371983693013591016125a1565b9261086c6108678433613431565b612759565b610877838383613563565b61294e565b61280e565b8580fd5b50503461041557816003193601126104155760209060fc549051908152f35b505034610415578160031936011261041557602090610105549051908152f35b50346103315782600319360112610331576108dd6125d8565b60ff549160ff8360081c166109215761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461033157806003193601126103315761097e6123bc565b9060243591821515809303610ae25760ff61010954166003811015610acf5760018103610a855750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a76575b6001600160a01b031692338414610a345750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109d45760028552610108602052610abb82862060018060a01b0383169060019160005201602052604060002054151590565b156109d45781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461033157610af6366124c1565b6033546001600160a01b03949085163303610bc8575090610b189136916129d9565b9160038210159081610acf5782610b2d578580f35b8591929394955b8551811015610bb857610b5c610b4986612a3f565b83610b54848a612a7e565b511690612b2e565b508382610b698389612a7e565b511690610ba5579085610ba092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612a59565b610b34565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b50503461041557816003193601126104155780519082609854610bf981612679565b80855291600191808316908115610c945750600114610c37575b505050610c2582610726940383612565565b51918291602083526020830190612397565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c7c57505050610c258260206107269582010194610c13565b80546020878701810191909152909501948101610c5f565b610726975086935060209250610c2594915060ff191682840152151560051b82010194610c13565b50503461041557816003193601126104155760335490516001600160a01b039091168152602090f35b833461072a578060031936011261072a57610cfe6125d8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346104155781600319360112610415576107269060ff6101095416905191829182612498565b509190346104155780600319360112610415576001600160401b039280358481116107d157610d8d9036908301612403565b94610d966125d8565b610da460ff80541615612cdf565b6101049081549260019182850180951161100c57602498610dc68a3587612c1e565b9360001991828601958611610ffa5789519660209788810181811087821117610fe8578c52879052869055610100548611610fa6578a90610e1d8b5196610e0c88612519565b8a88528988019289845236916125a1565b958b8101968752610105805490600160401b821015610f94578582019055610e4490612d2b565b939093610f83575090600292915182555183820155019351978851938411610f715750899a50610e8283610e7c869c9a9b9c54612679565b86612c8b565b8598601f8411600114610eec57839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610ee1575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610ebf565b98909291601f19831691858a52878a20928a5b818110610f5957509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610f41575b50505050811b019055610ecd565b01519060f88460031b161c1916905538808080610f33565b828d015185558e9b5093860193918901918901610eff565b634e487b7160e01b8b52604190528a8afd5b634e487b7160e01b8152808c528e90fd5b634e487b7160e01b855260418d528f85fd5b895162461bcd60e51b8152808a01889052601d818e01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8e5260418c528e8efd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b885260118652602488fd5b50503461041557816003193601126104155760209061010a549051908152f35b833461072a578060031936011261072a576110586125d8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610415576020366003190112610415576001600160a01b036110c06123bc565b169081156110dd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461072a57602036600319011261072a5750611152602092356133c1565b90516001600160a01b039091168152f35b503461033157602036600319011261033157803591611181836133c1565b336001600160a01b039091160361119c578361037184612d67565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610331576080366003190112610331576001600160401b03918035838111610ae2576112119036908301612403565b91906024358581116116e55761122a9036908401612403565b6112359691966123ed565b9388549760ff94858a60081c1615978880996116d9575b80156116c3575b1561166957600160ff198c1681178d559a89611658575b506001600160a01b03881615611615576112c892916112c0916112b0898f600a60fc5561ffff198254168255606435610100555460081c166112ab81612c2b565b612c2b565b6112b933612630565b36916125a1565b9336916125a1565b906112dc858b5460081c166112ab81612c2b565b825184811161160257806112f1609754612679565b94601f95868111611591575b506020908d8784116001146115125792611507575b5050600019600383901b1c1916908a1b176097555b81519384116114f4575061133c609854612679565b828111611491575b5060209183116001146114055791806113b9959492611391948b926113fa575b5050600019600383901b1c191690881b176098555b875460081c1661138881612c2b565b6112ab81612c2b565b60fb80546001600160a01b0319166001600160a01b0383161790556113b46125d8565b612630565b6113c1578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611364565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611479575091611391959391856113b99998969410611460575b505050811b01609855611379565b015160001960f88460031b161c19169055388080611452565b8284015185558b969094019360209384019301611435565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114eb575b0160051c019089905b8281106114e0575050611344565b8b81550189906114d2565b925081926114c9565b634e487b7160e01b8a5260419052602489fd5b015190503880611312565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061157957508411611560575b505050811b01609755611327565b015160001960f88460031b161c19169055388080611552565b8284015185558f969094019360209384019301611543565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115f9575b859493910160051c909101908d908f5b8382106115eb575050506112fd565b81558594508e91018f6115dc565b925081926115cc565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861126a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561125357506001878c1614611253565b506001878c161061124c565b8680fd5b50903461033157826003193601126103315761010a54421061178457506101099081549060ff821690600382101561177157508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346104155760603660031901126104155780356001600160401b03811161033157610300916117c491369101612403565b906117cd6123d7565b6117d56123ed565b926117de6125d8565b6117ec60ff80541615612cdf565b6117fc60fc5493339236916125a1565b612eb5565b50346103315760203660031901126103315780359160038310156107d1576033546001600160a01b0316330361032457506101099182549160ff831690600382101561187e5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b838234610415576020366003190112610415576103719035612d67565b5050346104155761087c610371916118c536612463565b919251926118d28461254a565b86845261086c6108678433613431565b5050346104155760203660031901126104155760335490516001600160a01b039091168152602090f35b833461072a57602036600319011261072a576103716119296123bc565b6119316125d8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461041557816003193601126104155760fb5490516001600160a01b039091168152602090f35b82843461072a578060031936011261072a5761199860ff6101095416612a3f565b9180519182845490818152602080910195835280832092905b8282106119d35761072686866119c9828b0383612565565b5191829182612330565b8354875295860195600193840193909101906119b1565b50913461072a578160031936011261072a578235815260fd60205281812054602435906001600160a01b039081168015611a7057925b60fe602052848120548015611a6657925b838102938185041490151715611a535750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a31565b508060fb541692611a20565b833461072a57610371611a8e36612463565b91611a9c6108678433613431565b613563565b503461033157602036600319011261033157603354813591906001600160a01b03163303611b38576301e1338091828102928184041490151715611b255750611aea9042612c1e565b9061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b50503461041557602036600319011261041557602090611b646123bc565b60018060a01b0380603354169116149051908152f35b50823461072a57602036600319011261072a5750611ba69035611ba16101055482106137c0565b612d2b565b506107268251611bb581612519565b825481526060611bd3600260018601549560208501968752016126b3565b918286820152519351948051958695865260208601528401526060830190612397565b5082903461041557611c0736612430565b919260ff54611c1960ff821615612cdf565b6033546001600160a01b03163303611e9a5760ff611c3b9160081c161561380c565b6000848152609960205260409020546001600160a01b031615158015611e71575b15611e3757611c6a84613738565b505015611d5d5783855260206101078152868620916001600160401b038511611d4a5750611ca284611c9c8454612679565b84612c8b565b8590601f8511600114611ceb5750956105d7918487986000805160206138bd8339815191529798916105dd57508560011b906000198760031b1c19161790555192839283613850565b90601f1985168388528288209288905b828210611d32575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611cfb565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611d4a5750611d8884611c9c8454612679565b8590601f8511600114611dd85750956105d7918487986000805160206138bd833981519152979891611dcd575b508560011b906000198760031b1c19161790556105cd565b905084013589611db5565b90601f1985168388528288209288905b828210611e1f575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611de8565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611e7b84613738565b50508015611c5c575083855261010260205260ff868620541615611c5c565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b505034610415578160031936011261041557602090610104549051908152f35b5034610331578160031936011261033157611f206123bc565b906024359260ff6101095416600381101561211057600181036120c95750600180865261010860209081528287206001600160a01b0386166000908152920190526040902054156120bd575b6001600160a01b03918280611f80876133c1565b1694169380851461207057803314908115612051575b5015611fe95750838552610103602052842080546001600160a01b03191683179055611fc183612e4f565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611f96565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611f6c57600285526101086020526120ff81862060018060a01b0385169060019160005201602052604060002054151590565b15611f6c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b50913461072a57602036600319011261072a57506111526020923561349b565b5050346104155781600319360112610415578051908260975461216581612679565b80855291600191808316908115610c94575060011461219057505050610c2582610726940383612565565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106121d557505050610c258260206107269582010194610c13565b805460208787018101919091529095019481016121b8565b50346103315760203660031901126103315735906001600160e01b031982168083036107d1576020935063fa31a45b60e01b81149283156122b2575b831561223a575b5050519015158152f35b919250631030681960e21b8114919082156122a1575b8215612278575b508115612268575b50903880612230565b6122729150613878565b3861225f565b90915063152a902d60e11b148015612292575b9038612257565b5061229c81613878565b61228b565b6301ffc9a760e01b81149250612250565b6301ffc9a760e01b82149350612229565b50903461033157602091826003193601126107d1573560038110156107d1576122eb90612a3f565b9281518093808654928381520195835280832092905b8282106123195761072686866119c9828b0383612565565b835487529586019560019384019390910190612301565b6020908160408183019282815285518094520193019160005b828110612357575050505090565b83516001600160a01b031685529381019392810192600101612349565b60005b8381106123875750506000910152565b8181015183820152602001612377565b906020916123b081518092818552858086019101612374565b601f01601f1916010190565b600435906001600160a01b03821682036123d257565b600080fd5b602435906001600160a01b03821682036123d257565b604435906001600160a01b03821682036123d257565b9181601f840112156123d2578235916001600160401b0383116123d257602083818601950101116123d257565b9060406003198301126123d25760043591602435906001600160401b0382116123d25761245f91600401612403565b9091565b60609060031901126123d2576001600160a01b039060043582811681036123d2579160243590811681036123d2579060443590565b9190602083019260038210156124ab5752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126123d25760043560038110156123d257916024356001600160401b03928382116123d257806023830112156123d25781600401359384116123d25760248460051b830101116123d2576024019190565b606081019081106001600160401b0382111761253457604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761253457604052565b90601f801991011681019081106001600160401b0382111761253457604052565b6001600160401b03811161253457601f01601f191660200190565b9291926125ad82612586565b916125bb6040519384612565565b8294818452818301116123d2578281602093846000960137010152565b6033546001600160a01b031633036125ec57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156126a9575b602083101461269357565b634e487b7160e01b600052602260045260246000fd5b91607f1691612688565b90604051918260008254926126c784612679565b90818452600194858116908160001461273657506001146126f3575b50506126f192500383612565565b565b9093915060005260209081600020936000915b81831061271e5750506126f1935082010138806126e3565b85548884018501529485019487945091830191612706565b9150506126f194506020925060ff191682840152151560051b82010138806126e3565b1561276057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561281557565b60405162461bcd60e51b81528061282e600482016127bb565b0390fd5b9192600092909190803b1561294457612880946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612397565b03926001600160a01b03165af1849181612904575b506128f3575050503d6000146128eb573d6128af81612586565b906128bd6040519283612565565b81528091833d92013e5b805191826128e85760405162461bcd60e51b81528061282e600482016127bb565b01fd5b5060606128c7565b6001600160e01b0319161492509050565b9091508581813d831161293d575b61291c8183612565565b81010312610ae257516001600160e01b031981168103610ae2579038612895565b503d612912565b5050915050600190565b9293600093909291803b156129ce579484916129a89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612397565b0393165af184918161290457506128f3575050503d6000146128eb573d6128af81612586565b505050915050600190565b9092916001600160401b038411612534578360051b6040519260208094612a0282850182612565565b80978152019181019283116123d257905b828210612a205750505050565b81356001600160a01b03811681036123d2578152908301908301612a13565b60038110156124ab57600052610108602052604060002090565b6000198114612a685760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015612a925760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612a925760005260206000200190600090565b6000828152600182016020526040902054612b2757805490600160401b8210156125345782612b10612af9846001809601855584612aa8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c175760001991808301818111612c0357825490848201918211612bef57808203612bba575b50505080548015612ba657820191612b898383612aa8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612bda612bca612af99386612aa8565b90549060031b1c92839286612aa8565b90558652846020526040862055388080612b71565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b91908201809211612a6857565b15612c3257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612c9957505050565b600091825260208220906020601f850160051c83019410612cd5575b601f0160051c01915b828110612cca57505050565b818155600101612cbe565b9092508290612cb5565b15612ce657565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015612a9257600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612d7081613738565b5050600082815261010260205260408120805460ff191660011790559080612e30575b612e2c57612da46108678333613431565b612dad82612e4f565b50612db782612e4f565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612d93565b6000908152609960205260409020546001600160a01b03168015612e705790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161302257612ef961087c604051612ee38161254a565b89600096878352612ef482826130b2565b612832565b868352602091610106835260408420918151916001600160401b03831161300e57612f2883610e7c8654612679565b8490601f8411600114612fa557928060fd9593819389989660409a94612f9a575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612f49565b8487528587209293929190601f198416885b818110612ff9575091604098979593918560fd98969410612fe0575b505050811b019055612f5b565b015160001960f88460031b161c19169055388080612fd3565b82840151855593860193928801928801612fb7565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561306d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015613162576000828152609960205260409020546130e6906001600160a01b031615155b15613066565b600082815260996020526040902054613109906001600160a01b031615156130e0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926131c484842054612679565b6133b257506131d281613738565b91151590506131f057506131ed9361010691835252206126b3565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156133a3575b5050866d04ee2d6d415b85acef810000000080841015613395575b5050662386f26fc1000080831015613386575b506305f5e10080831015613377575b5061271080831015613368575b506064821015613358575b600a8092101561334e575b600190816021818701966132a561329089612586565b9861329d89519a8b612565565b808a52612586565b888c019990601f1901368b3750870101905b613318575b5050505091602f60f81b946132fb6131ed95936026955197856132e88a9751809287808b019101612374565b8601938401525180936021840190612374565b0164173539b7b760d91b6021820152036006810184520182612565565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215613349579190826132b7565b6132bc565b926001019261327a565b929060646002910491019261326f565b60049194920491019238613264565b60089194920491019238613257565b60109194920491019238613248565b940193909104908638613235565b9194509150048192388061321a565b90936131ed94835252206126b3565b6133ca81613738565b50506133d9576131ed90612e4f565b8060005261010260205260ff604060002054166000146133fc576131ed90612e4f565b6000818152609960205260409020546001600160a01b031661342857506033546001600160a01b031690565b6131ed90612e4f565b6001600160a01b03908180613445856133c1565b16911691818314938415613484575b5050821561346157505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b839294506134919061349b565b1614913880613454565b600081815260fd60205260408120546001600160a01b0392919083166134c083613738565b5050908115613559575b5080613541575b156134e757604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156134d1565b90501515386134ca565b9082156123d2576135ad9161357784613738565b5050806136bf575b806136a5575b613696575b61359384612e4f565b6001600160a01b03939184169284929091831684146136de565b1691821561364557816135ca916135c386612e4f565b16146136de565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6136a084826130b2565b61358a565b508360005261010260205260ff6040600020541615613585565b506000848152609960205260409020546001600160a01b03161561357f565b156136e557565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613765575050905060009060009060405161375e8161254a565b6000815290565b61376e81612d2b565b5054821015806137a9575b61378b5761378690612a59565b613741565b8093506137989150612d2b565b50906131ed600260019493016126b3565b5060016137b582612d2b565b500154821115613779565b156137c757565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561381357565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b81149081156138ab575b811561389d575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061389356fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220b7b3549eeb6c701b304d1daf1583e6551a16b339b46acbccf877e20c1d2eba9c64736f6c63430008120033","sourceMap":"208:1708:224:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;1513:6:42;208:1708:224;;2088:10:115;1290:16:224;2064:71:115;;208:1708:224;;;;;;2839:39:115;;2835:84;;208:1708:224;;;;;;;;:::i;:::-;5643:13:115;;5677:3;208:1708:224;;5658:17:115;;;;;5677:3;5717:15;8398:50:113;5717:15:115;;;:::i;:::-;5737:9;;;;;:::i;:::-;208:1708:224;;8398:50:113;;:::i;:::-;;5795:9:115;;;;;;:::i;:::-;208:1708:224;;2088:10:115;5764:52;;;;5677:3;:::i;:::-;5643:13;;5658:17;;208:1708:224;;2835:84:115;208:1708:224;-1:-1:-1;;;2887:32:115;;;208:1708:224;-1:-1:-1;;;208:1708:224;;;;;;;;2064:71:115;208:1708:224;-1:-1:-1;;;2108:27:115;;;208:1708:224;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;208:1708:224;;2402:22:42;208:1708:224;;2496:8:42;;;;:::i;:::-;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;208:1708:224;;;;4776:16:221;208:1708:224;;;;;;-1:-1:-1;;;;;;208:1708:224;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1102:20:221;208:1708:224;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;8963:55:113;208:1708:224;;:::i;:::-;4167:14:115;208:1708:224;4172:8:115;208:1708:224;;4167:14:115;:::i;:::-;-1:-1:-1;;;;;208:1708:224;;;-1:-1:-1;208:1708:224;;;;4351:12:113;;;208:1708:224;;;;;;4351:24:113;;;4255:127;8963:55;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;208:1708:224;;;;;4980:18:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1195:24:221;208:1708:224;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;10639:50:221;2954:8;208:1708:224;;2945:52:221;208:1708:224;;;2953:9:221;2945:52;:::i;:::-;208:1708:224;;;10647:16:221;10639:50;:::i;:::-;10695:70;10717:11;208:1708:224;10703:32:221;;10695:70;:::i;:::-;10772:32;:24;;;:::i;:::-;:32;;208:1708:224;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;10830:45:221;208:1708:224;;;;10830:45:221;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;10830:45:221;;;;;:::i;:::-;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;;;;10830:45:221;208:1708:224;;;10830:45:221;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;3616:85:221;208:1708:224;;;;;;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;2945:52:221;2954:8;208:1708:224;;;2953:9:221;2945:52;:::i;:::-;2453:24:233;208:1708:224;3635:10:221;;;;;;3616:85;:::i;208:1708:224:-;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;;;1513:6:42;208:1708:224;-1:-1:-1;;;;;208:1708:224;2088:10:115;1290:16:224;2064:71:115;;3436:15;;;;:::i;:::-;208:1708:224;;;;;;;;;;;;3462:34:115;208:1708:224;;2088:10:115;3462:34;2088:10;3462:34;;;:::i;208:1708:224:-;;;;;;;;;;;;;;;;;;;;;;;;2064:71:115;208:1708:224;;-1:-1:-1;;;2108:27:115;;;208:1708:224;;;;;;;;;;;;;;;;;;;;1163:27:221;208:1708:224;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;6956:47:61;208:1708:224;;;6948:110:61;208:1708:224;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;208:1708:224:-;;;;;;;;;;;;;;;;;;;;2453:24:233;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;9465:11:221;208:1708:224;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;10943:15:221;208:1708:224;;10943:15:221;208:1708:224;;;;;;-1:-1:-1;;208:1708:224;;;;10943:15:221;208:1708:224;;11033:17:221;208:1708:224;;11033:17:221;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1460:8:115;208:1708:224;;;;;;;;1472:28:115;1460:40;;1472:28;;-1:-1:-1;1472:28:115;208:1708:224;;;1515:4:115;208:1708:224;;;;;;;-1:-1:-1;;;;;208:1708:224;;-1:-1:-1;208:1708:224;;;4351:12:113;;208:1708:224;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;208:1708:224;;929:10:68;13528:17:61;;208:1708:224;;929:10:68;;208:1708:224;;13585:18:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:61;208:1708:224;929:10:68;13646:41:61;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:115;208:1708:224;;-1:-1:-1;;;1574:28:115;;208:1708:224;;1574:28:115;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;208:1708:224;;1672:4:115;208:1708:224;;8963:55:113;208:1708:224;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;208:1708:224;4351:12:113;208:1708:224;;;-1:-1:-1;208:1708:224;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;208:1708:224;;-1:-1:-1;;;1730:28:115;;208:1708:224;;1730:28:115;208:1708:224;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:42;208:1708:224;-1:-1:-1;;;;;208:1708:224;;;;2088:10:115;1290:16:224;2064:71:115;;208:1708:224;;;;;;;:::i;:::-;;;;;;;;;;5589:39:115;5585:387;;208:1708:224;;;5585:387:115;5643:13;;;;;;5677:3;208:1708:224;;5658:17:115;;;;;8719:53:113;5845:15:115;;;:::i;:::-;5868:9;;;;;:::i;:::-;208:1708:224;;8719:53:113;;:::i;:::-;;5926:9:115;;;;;;:::i;:::-;208:1708:224;;;;;2088:10:115;;5677:3;2088:10;;5895:52;;;;5677:3;:::i;:::-;5643:13;;208:1708:224;-1:-1:-1;;;208:1708:224;;;;;;;;5658:17:115;;;;;;;;5585:387;;;;;208:1708:224;;;2064:71:115;208:1708:224;-1:-1:-1;;;2108:27:115;;208:1708:224;;2108:27:115;208:1708:224;;;;;;;;;;;;;;;;;;3182:7:61;208:1708:224;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;208:1708:224;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;4501:4:221;208:1708:224;;;;;;;;4533:10:221;4516:28;;;;208:1708:224;;;;;;;;;;;;;;;;;;;4333:8:115;208:1708:224;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;2945:52:221;2954:8;208:1708:224;;;2953:9:221;2945:52;:::i;:::-;3143:14;208:1708:224;;;;;;;;;;;;;;;;3198:30:221;208:1708:224;;3198:30:221;;:::i;:::-;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3338:9:221;208:1708:224;3310:37:221;;208:1708:224;;;;;;;;;;;:::i;:::-;;;;3405:45:221;;;208:1708:224;;;;;;;:::i;:::-;3405:45:221;;;;208:1708:224;;;3388:11:221;208:1708:224;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;3463:66:221;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;208:1708:224;;;;;;;3463:66:221;208:1708:224;;;;;;-1:-1:-1;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3463:66:221;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;2482:31:117;208:1708:224;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;208:1708:224;;-1:-1:-1;;;;;;208:1708:224;;;;;;;-1:-1:-1;;;;;208:1708:224;2806:40:42;208:1708:224;;2806:40:42;208:1708:224;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;-1:-1:-1;;;;;208:1708:224;;:::i;:::-;;2489:19:61;;;208:1708:224;;;;;;;;;2571:9:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;2839:17:221;;;;:::i;:::-;2860:10;-1:-1:-1;;;;;208:1708:224;;;2839:31:221;208:1708:224;;4013:8:221;;;;:::i;208:1708:224:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;208:1708:224;3346:108:48;;;;208:1708:224;;;;;-1:-1:-1;;208:1708:224;;;;;;;;3562:65:48;;208:1708:224;-1:-1:-1;;;;;;208:1708:224;;2415:22:221;208:1708:224;;;;;;;5366:69:48;208:1708:224;;2507:2:221;2197:38:233;208:1708:224;;;;;;;;;;2567:22:221;208:1708:224;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;208:1708:224;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;208:1708:224;;;;;;5366:69:48;;;:::i;:::-;208:1708:224;;;;;;;;;1873:13:61;208:1708:224;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;208:1708:224;;;;;;;;;;;1873:13:61;208:1708:224;;;;;;;;;;;1896:17:61;208:1708:224;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;208:1708:224;;;5366:69:48;208:1708:224;;;;;;-1:-1:-1;;;;208:1708:224;;;;;;;;;;;1896:17:61;208:1708:224;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;208:1708:224;;-1:-1:-1;;;;;;208:1708:224;-1:-1:-1;;;;;208:1708:224;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;208:1708:224;;;3647:99:48;208:1708:224;;-1:-1:-1;;208:1708:224;;;;;;;3721:14:48;;208:1708:224;;3721:14:48;3647:99;;208:1708:224;;;;;;;-1:-1:-1;208:1708:224;;;;;1896:17:61;208:1708:224;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;5366:69:48;208:1708:224;;;;2496:8:42;208:1708:224;;;;;;;;;;;;;;1896:17:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;;;;;;;;;1873:13:61;208:1708:224;;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;;;;1873:13:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;208:1708:224;;;;;3562:65:48;;;208:1708:224;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;208:1708:224;;;;;3436:17:48;3346:108;;3347:34;208:1708:224;;;;;3365:16:48;3347:34;;208:1708:224;;;;;;;;;;;;;;;;;;1916:31:117;208:1708:224;1950:15:117;-1:-1:-1;1912:117:117;;5330:8:115;;208:1708:224;;;;;;;;;;;;;;5318:10:115;;;;5302:51;;;;-1:-1:-1;;208:1708:224;;;5318:10:115;2086:35:117;;;;208:1708:224;;;-1:-1:-1;;;208:1708:224;;;;;;;;1912:117:117;208:1708:224;-1:-1:-1;;;1974:55:117;;;208:1708:224;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;;;;3832:90:221;208:1708:224;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:42;;;:::i;:::-;2945:52:221;2954:8;208:1708:224;;;2953:9:221;2945:52;:::i;:::-;208:1708:224;2453:24:233;208:1708:224;3851:10:221;;208:1708:224;;;;:::i;:::-;3832:90:221;:::i;208:1708:224:-;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;;;1513:6:42;208:1708:224;-1:-1:-1;;;;;208:1708:224;2088:10:115;1290:16:224;2064:71:115;;5330:8;;208:1708:224;;;;;;;;;;;;;;2088:10:115;;;208:1708:224;2088:10:115;;5302:51;;;;208:1708:224;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;208:1708:224;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;208:1708:224:-;;;;;;;;-1:-1:-1;;208:1708:224;;;;1513:6:42;208:1708:224;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;4659:9:221;208:1708:224;;:::i;:::-;1303:62:42;;:::i;:::-;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;;1492:34:233;208:1708:224;;;1492:34:233;208:1708:224;1418:115:233;208:1708:224;;;;;;;;;;;;;;2332:22:233;208:1708:224;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;4008:14:115;208:1708:224;4013:8:115;208:1708:224;;4008:14:115;:::i;:::-;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;208:1708:224;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;1049:40:233;;208:1708:224;;1049:118:233;;1238:18;208:1708:224;;;;;;1238:33:233;;;;:131;;208:1708:224;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;1401:3:233;208:1708:224;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;1238:131:233;208:1708:224;1345:24:233;208:1708:224;1238:131:233;;;1049:118;208:1708:224;;1145:22:233;208:1708:224;;1049:118:233;;;208:1708:224;;;;;5365:7:61;208:1708:224;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;208:1708:224:-;;;;;;;-1:-1:-1;;208:1708:224;;;;1513:6:42;208:1708:224;;;;;-1:-1:-1;;;;;208:1708:224;2088:10:115;1290:16:224;2064:71:115;;2943:8:117;208:1708:224;;;;;;;;;;;;;;;2913:15:117;:38;:15;;:38;:::i;:::-;3004:31;;208:1708:224;2962:87:117;208:1708:224;;;;;;;;;;;;;2088:10:115;2962:87:117;;208:1708:224;;;;-1:-1:-1;;;208:1708:224;;;;;;;;2064:71:115;208:1708:224;;-1:-1:-1;;;2108:27:115;;;208:1708:224;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;:::i;:::-;;;;;;;1513:6:42;208:1708:224;;;;1290:16;208:1708;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;9237:24:221;208:1708:224;;9135:70:221;9157:11;208:1708:224;9143:32:221;;9135:70;:::i;:::-;9237:24;:::i;:::-;208:1708:224;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;2954:8:221;208:1708:224;2945:52:221;2954:8;208:1708:224;;2953:9:221;2945:52;:::i;:::-;1513:6:42;208:1708:224;-1:-1:-1;;;;;208:1708:224;10057:10:221;:36;208:1708:224;;2954:8:221;10137:50;208:1708:224;;;;10145:16:221;10137:50;:::i;:::-;-1:-1:-1;208:1708:224;;;7266:7:61;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;7680:31:61;;10201:50:221;;;;208:1708:224;;;;10311:24:221;;;:::i;:::-;-1:-1:-1;;10342:126:221;;;208:1708:224;;;;10370:20:221;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;10479:34:221;208:1708:224;;;;-1:-1:-1;;;;;;;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;10479:34:221;;;;;:::i;208:1708:224:-;;;;;;;;;;;;;;;;;;;;;;;;10479:34:221;208:1708:224;;;-1:-1:-1;;;;;;;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;10342:126:221;208:1708:224;;;;10431:10:221;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;10479:34:221;208:1708:224;;;;-1:-1:-1;;;;;;;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;10342:126:221;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10479:34:221;208:1708:224;;;-1:-1:-1;;;;;;;;;;;208:1708:224;;;;;;;;;;;;;;;;10342:126:221;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;10201:50:221;11265:24;;;;:::i;:::-;11302:41;;;;10201:50;11302:41;208:1708:224;;;;11321:12:221;208:1708:224;;2954:8:221;208:1708:224;;;;;11320:23:221;10201:50;;208:1708:224;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;8469:14:221;208:1708:224;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:115;208:1708:224;;;;;;;;;1460:40:115;;208:1708:224;;-1:-1:-1;208:1708:224;;;;1515:4:115;208:1708:224;;;;;;;-1:-1:-1;;;;;208:1708:224;;-1:-1:-1;208:1708:224;;;4351:12:113;;208:1708:224;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;208:1708:224;;;6744:16:221;;;:::i;:::-;208:1708:224;;;6774:11:221;;;;208:1708:224;;929:10:68;;6845:21:221;:62;;;;;1456:309:115;208:1708:224;;;;-1:-1:-1;208:1708:224;;;7447:15:221;208:1708:224;;;;;;-1:-1:-1;;;;;;208:1708:224;;;;;7496:34:221;208:1708:224;7496:34:221;:::i;:::-;208:1708:224;7487:57:221;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6845:62:221;208:1708:224;;;;4980:18:61;208:1708:224;;;;;929:10:68;208:1708:224;;;;;;;;;;6845:62:221;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;1510:92:115;208:1708:224;-1:-1:-1;;;1574:28:115;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;208:1708:224;;1672:4:115;208:1708:224;;8963:55:113;208:1708:224;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;208:1708:224;4351:12:113;208:1708:224;;;-1:-1:-1;208:1708:224;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;208:1708:224;-1:-1:-1;;;1730:28:115;;;208:1708:224;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;208:1708:224;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;-1:-1:-1;;;;;;208:1708:224;;;;;;;;;-1:-1:-1;;;;4844:47:115;;;:88;;;;208:1708:224;757:104;;;;208:1708;;;;;;;;;;757:104;9738:31:221;;-1:-1:-1;;;;9723:46:221;;;9738:31;9723:104;;;;757::224;9723:163:221;;;;757:104:224;9723:221:221;;;;;757:104:224;;;;;;;9723:221:221;9896:48;;;;:::i;:::-;9723:221;;;:163;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;9723:163:221;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;9723:104:221;-1:-1:-1;;;937:40:107;;;-1:-1:-1;9723:104:221;;4844:88:115;-1:-1:-1;;;937:40:107;;;-1:-1:-1;4844:88:115;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;3857:15:115;;;:::i;:::-;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;208:1708:224;;;;:::o;:::-;;;;-1:-1:-1;;;;;208:1708:224;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;208:1708:224;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;208:1708:224;;;;;-1:-1:-1;208:1708:224;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;:::o;:::-;-1:-1:-1;;;;;208:1708:224;;;;;;-1:-1:-1;;208:1708:224;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;:::o;1599:130:42:-;1513:6;208:1708:224;-1:-1:-1;;;;;208:1708:224;929:10:68;1662:23:42;208:1708:224;;1599:130:42:o;208:1708:224:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;208:1708:224;;-1:-1:-1;;;;;208:1708:224;;;-1:-1:-1;;;;;;208:1708:224;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;208:1708:224:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;208:1708:224;;;;-1:-1:-1;208:1708:224;;-1:-1:-1;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:224;;;;;;;;:::i;:::-;;;;14463:853:61;;;208:1708:224;;14463:853:61;;;1713:19:66;;:23;:19;;208:1708:224;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;208:1708:224;;;;;;;;;;;;;;;14667:82:61;;;;208:1708:224;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;208:1708:224;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;208:1708:224;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;208:1708:224;;-1:-1:-1;;;14969:60:61;;208:1708:224;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;208:1708:224;;;;;14663:595:61;-1:-1:-1;;;;;;208:1708:224;14799:62:61;;-1:-1:-1;208:1708:224;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;208:1708:224;;;;;-1:-1:-1;;;;;;208:1708:224;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;208:1708:224;;14463:853:61;;;1713:19:66;;:23;:19;;208:1708:224;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;208:1708:224;;;;;;;;:::i;:::-;14667:82:61;208:1708:224;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;208:1708:224;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;208:1708:224:-;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;3857:4:115;208:1708:224;;;-1:-1:-1;208:1708:224;;:::o;:::-;-1:-1:-1;;208:1708:224;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;;-1:-1:-1;208:1708:224;;;-1:-1:-1;208:1708:224;:::o;2214:404:113:-;-1:-1:-1;208:1708:224;;;4351:12:113;;;208:1708:224;;;;;;2298:21:113;;208:1708:224;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;208:1708:224;2493:12:113;208:1708:224;;;-1:-1:-1;208:1708:224;;;2547:11:113;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:113;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;3023:15:113;;;;3019:1149;3023:15;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;;;;;;;;;;3505:26:113;;;3501:398;;3019:1149;208:1708:224;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:113;4103:11;:::o;208:1708:224:-;-1:-1:-1;;;208:1708:224;;;;;;;;3501:398:113;208:1708:224;3571:22:113;3693:26;3571:22;;;:::i;:::-;208:1708:224;;;;;;3693:26:113;;;;;:::i;208:1708:224:-;;;;;;;;;;;;3501:398:113;;;;;208:1708:224;-1:-1:-1;;;208:1708:224;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;3019:1149:113;4145:12;;;;;:::o;208:1708:224:-;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;9157:11:221;208:1708:224;;;;;;;;;;-1:-1:-1;208:1708:224;;;;;-1:-1:-1;208:1708:224;:::o;4031:289:221:-;4121:24;;;:::i;:::-;-1:-1:-1;;;208:1708:224;;;4152:12:221;208:1708:224;;;;;;;-1:-1:-1;;208:1708:224;4177:4:221;208:1708:224;;;-1:-1:-1;208:1708:224;4192:54:221;;4031:289;4188:81;;911:99:64;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;208:1708:224;;;11014:15:61;208:1708:224;;;;;;;;;;-1:-1:-1;;;;;;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;11254:9:61;208:1708:224;;;;;;;-1:-1:-1;;208:1708:224;;;;;;11302:7:61;208:1708:224;;;;;;;;;;;;;11334:36:61;208:1708:224;;11334:36:61;4031:289:221:o;4188:81::-;4256:7;;:::o;4192:54::-;-1:-1:-1;;208:1708:224;;;7266:7:61;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;7680:31:61;4192:54:221;;2651:219:61;-1:-1:-1;208:1708:224;;;7266:7:61;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;2793:19:61;;208:1708:224;;2651:219:61;:::o;208:1708:224:-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;4943:564:221;;;;;1061:1:69;5127:14:221;;208:1708:224;;;;;;;;5226:9:221;208:1708:224;5215:20:221;;208:1708:224;;8929:150:61;8950:53;208:1708:224;;;;;:::i;:::-;-1:-1:-1;;208:1708:224;;;;8911:7:61;;;;:::i;:::-;8950:53;:::i;8929:150::-;208:1708:224;;;;;5307:10:221;208:1708:224;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1639:16:233;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4900:13:221;208:1708:224;;;;;;;;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;1794:18:233;208:1708:224;;;;;;;;;;;;;;;;;4943:564:221;:::o;208:1708:224:-;;;;-1:-1:-1;208:1708:224;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;;;;;;;;;;;;;;;1639:16:233;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;9408:920:61;-1:-1:-1;;;;;208:1708:224;9487:16:61;;208:1708:224;;-1:-1:-1;208:1708:224;;;7266:7:61;208:1708:224;;;;;;9550:58:61;;-1:-1:-1;;;;;208:1708:224;7680:31:61;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;208:1708:224;;;7266:7:61;208:1708:224;;;;;;9754:58:61;;-1:-1:-1;;;;;208:1708:224;7680:31:61;;9763:16;7592:126;9754:58;9501:1;208:1708:224;;;10154:9:61;208:1708:224;;;;;;;;;;;;;;10193:7:61;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;10230:33:61;;;;9408:920::o;208:1708:224:-;;;;;;;;;;;;;;;;;;;;;;;;;5658:504:221;-1:-1:-1;208:1708:224;;;5807:20:221;208:1708:224;;;;;;;;;;;;;;:::i;:::-;5797:106:221;;5963:24;;;;:::i;:::-;5998:15;;;;-1:-1:-1;5998:15:221;;208:1708:224;;;6030:10:221;208:1708:224;;;;;;:::i;:::-;6023:27:221;:::o;5994:164::-;6121:19;10222:18:74;;6121:19:221;10287:8:74;6121:19:221;10278:17:74;;;;10274:103;;5994:164:221;10403:8:74;;;;10394:17;;;;10390:103;;5994:164:221;10519:8:74;;;10510:17;;;;10506:103;;5994:164:221;10635:7:74;;10626:16;;;;10622:100;;5994:164:221;10748:7:74;;10739:16;;;;10735:100;;5994:164:221;10852:16:74;10861:7;10852:16;;;10848:100;;5994:164:221;10974:7:74;10965:16;;;;10961:66;;5994:164:221;633:1:71;208:1708:224;;775:76:71;208:1708:224;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;208:1708:224;;;;775:76:71;;;;864:280;633:1;;;864:280;208:1708:224;;;;;-1:-1:-1;;;208:1708:224;;6085:65:221;208:1708:224;;6085:65:221;208:1708:224;;;;;;;;6085:65:221;;;;;;208:1708:224;;;:::i;:::-;;;;;;;;;;775:76:71;208:1708:224;;;;:::i;:::-;;-1:-1:-1;;;775:76:71;208:1708:224;;;6085:65:221;;;;;;;;;:::i;864:280:71:-;-1:-1:-1;;208:1708:224;;;;-1:-1:-1;;;969:93:71;;;;208:1708:224;969:93:71;208:1708:224;1079:11:71;;1112:10;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:74;208:1708:224;11011:1:74;208:1708:224;10961:66:74;;;10848:100;208:1708:224;;10861:7:74;10932:1;208:1708:224;;;;10848:100:74;;;10735;10819:1;208:1708:224;;;;;;10735:100:74;;;;10622;10706:1;208:1708:224;;;;;;10622:100:74;;;;10506:103;10592:2;208:1708:224;;;;;;10506:103:74;;;;10390;208:1708:224;;;;;;;10390:103:74;;;;10274;208:1708:224;;;;;;10350:12:74;10274:103;;;;;5797:106:221;208:1708:224;;;;;;;;;:::i;6166:482:221:-;6282:24;;;:::i;:::-;-1:-1:-1;;6317:15:221;;6349:35;;;:::i;6313:331::-;208:1708:224;-1:-1:-1;208:1708:224;6401:12:221;208:1708:224;;;;-1:-1:-1;208:1708:224;;;6397:247:221;208:1708:224;;;6440:35:221;;;:::i;6397:247::-;-1:-1:-1;208:1708:224;;;7266:7:61;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;6501:35:221;;-1:-1:-1;1513:6:42;208:1708:224;-1:-1:-1;;;;;208:1708:224;;6548:14:221:o;6496:142::-;6594:35;;;:::i;7016:260::-;-1:-1:-1;;;;;208:1708:224;;;7148:17:221;;;:::i;:::-;208:1708:224;;;7179:17:221;;;;:54;;;;;7016:260;7179:91;;;;;;7171:100;;7016:260;:::o;7179:91::-;208:1708:224;;;-1:-1:-1;208:1708:224;4980:18:61;208:1708:224;;;-1:-1:-1;208:1708:224;;-1:-1:-1;208:1708:224;;;;;-1:-1:-1;208:1708:224;;;7016:260:221;:::o;7179:54::-;7200:21;;;;;;;:::i;:::-;208:1708:224;7200:33:221;7179:54;;;;;7620:398;-1:-1:-1;208:1708:224;;;7731:16:221;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;;-1:-1:-1;208:1708:224;;7791:24:221;208:1708:224;7791:24:221;:::i;:::-;7836:40;;;;;;;7620:398;7835:69;;;;7620:398;208:1708:224;;;;;;;7988:15:221;208:1708:224;;;;;7620:398:221;:::o;208:1708:224:-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;7835:69:221;208:1708:224;;;;7882:12:221;208:1708:224;;;;;;;;7881:23:221;7835:69;;7836:40;7854:22;;;;7836:40;;;8022:369;;8127:13;;208:1708:224;;11851:92:61;8176:24:221;;;;:::i;:::-;8211:54;;;;;8022:369;8211:81;;;8022:369;8207:124;;8022:369;11859:34:61;;;:::i;:::-;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;208:1708:224;11961:16:61;;;208:1708:224;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;208:1708:224;12171:42:61;12163:92;:::i;:::-;12901:27;8139:1:221;208:1708:224;;;12324:15:61;208:1708:224;;;;;-1:-1:-1;;;;;208:1708:224;;;;;;;;;;;;12792:9:61;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;208:1708:224;;;;;;;;;;;;;12901:27:61;;8022:369:221:o;208:1708:224:-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;8207:124:221;8315:8;;;;:::i;:::-;8207:124;;8211:81;208:1708:224;;8139:1:221;208:1708:224;8270:12:221;208:1708:224;;;;8139:1:221;208:1708:224;;;8269:23:221;8211:81;;:54;-1:-1:-1;;208:1708:224;;;7266:7:61;208:1708:224;;;;;;-1:-1:-1;;;;;208:1708:224;7680:31:61;8211:54:221;;208:1708:224;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;8502:391:221;8677:11;208:1708:224;;8502:391:221;8670:1;8673:22;;;;;;8867:21;;;;8670:1;8867:21;8670:1;208:1708:224;;;;;;:::i;:::-;8670:1:221;208:1708:224;;8502:391:221;:::o;8697:3::-;8726:14;;;:::i;:::-;208:1708:224;;8714:39:221;;;:80;;;8697:3;8710:145;;8697:3;;;:::i;:::-;8658:13;;8710:145;8823:14;;;;;;;:::i;:::-;8806:40;;208:1708:224;8823:22:221;8814:4;8806:40;8823:22;;208:1708:224;:::i;8714:80:221:-;8769:14;:25;:14;;;:::i;:::-;:25;;208:1708:224;8757:37:221;;;8714:80;;208:1708:224;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;-1:-1:-1;;;208:1708:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;208:1708:224;;;;:::o;1987:344:61:-;208:1708:224;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:107;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;","linkReferences":{}},"methodIdentifiers":{"activateDeadmanListTrigger()":"5aec8d62","addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","areTokenURIsLocked()":"631d1d9a","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchMint(string,uint256)":"7cc918d1","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getBatchCount()":"a8fabfa5","getBatchInfo(uint256)":"1a0058f5","getDeadmanTriggerAvailableDatetime()":"717392ed","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isOperatorInList(address)":"eab85118","lockTokenURIs()":"a448dd4f","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDeadmanListTriggerRenewalDuration(uint256)":"21c4a5d8","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","tokenURIsLocked()":"bb2ee99f","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBatchBaseURI(uint256,string)":"de903ddd","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadmanTriggerStillActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"BatchBaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_activator\",\"type\":\"address\"}],\"name\":\"DeadmanTriggerActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_oldDatetime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newDatetime\",\"type\":\"uint256\"}],\"name\":\"DeadmanTriggerDatetimeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"TokenURIsLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"activateDeadmanListTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"areTokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBatchCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"}],\"name\":\"getBatchInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeadmanTriggerAvailableDatetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockTokenURIs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numYears\",\"type\":\"uint256\"}],\"name\":\"setDeadmanListTriggerRenewalDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newBaseURI\",\"type\":\"string\"}],\"name\":\"updateBatchBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"activateDeadmanListTrigger()\":{\"details\":\"Can only be called if deadmanListTriggerAfterDatetime is in the past.\"},\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getBatchCount()\":{\"details\":\"Returns the total number of batches.\"},\"getBatchInfo(uint256)\":{\"details\":\"Returns the start and end token IDs and base URI for a specific batch.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"returns\":{\"_0\":\"uint256 denoting unix epoch time after which the deadman trigger can be activated.\"}},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_numYears\":\"to renew the trigger for.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"DeadmanTriggerStillActive()\":[{\"notice\":\"Emitted when the deadman trigger datetime threshold hasnt passed but tries to get called.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"DeadmanTriggerActivated(address)\":{\"notice\":\"Emitted when the deadman switch is activated.\"},\"DeadmanTriggerDatetimeUpdated(address,uint256,uint256)\":{\"notice\":\"Emitted when deadman trigger datetime has been updated.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"activateDeadmanListTrigger()\":{\"notice\":\"Triggers the deadman switch for the list\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"notice\":\"The datetime threshold after which the deadman trigger can be called by anyone.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"notice\":\"Sets the deadman list trigger for the specified number of years from current block timestamp\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol\":\"SovereignNFTRoyaltyGuardDeadmanTrigger\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/ERC721/sovereign/SovereignNFT.sol\":{\"keccak256\":\"0x74a1aa566315a4c0d91fc502278a18ecd4b2badc4b8206a1d9b819aa7fa7d9eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccdd47e55f55319ae049c60f843bfd64e0082b38d349e87173dc3eb4fafd04e2\",\"dweb:/ipfs/QmQWDQf4Fw5HDnGKxxoyvS4gvB2yyiKb4L4kHDMPuyPrbd\"]},\"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165\",\"dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"DeadmanTriggerStillActive"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"batchIndex","type":"uint256","indexed":true},{"internalType":"string","name":"newBaseURI","type":"string","indexed":false}],"type":"event","name":"BatchBaseURIUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"address","name":"_activator","type":"address","indexed":true}],"type":"event","name":"DeadmanTriggerActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"uint256","name":"_oldDatetime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newDatetime","type":"uint256","indexed":false}],"type":"event","name":"DeadmanTriggerDatetimeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"newURI","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[],"type":"event","name":"TokenURIsLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activateDeadmanListTrigger"},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[],"stateMutability":"view","type":"function","name":"areTokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBatchCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBatchInfo","outputs":[{"internalType":"uint256","name":"startTokenId","type":"uint256"},{"internalType":"uint256","name":"endTokenId","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeadmanTriggerAvailableDatetime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockTokenURIs"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_numYears","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeadmanListTriggerRenewalDuration"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"},{"internalType":"string","name":"_newBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBatchBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_newURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"activateDeadmanListTrigger()":{"details":"Can only be called if deadmanListTriggerAfterDatetime is in the past."},"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getBatchCount()":{"details":"Returns the total number of batches."},"getBatchInfo(uint256)":{"details":"Returns the start and end token IDs and base URI for a specific batch."},"getDeadmanTriggerAvailableDatetime()":{"returns":{"_0":"uint256 denoting unix epoch time after which the deadman trigger can be activated."}},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"details":"Only the contract owner can call this function.","params":{"_numYears":"to renew the trigger for."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"activateDeadmanListTrigger()":{"notice":"Triggers the deadman switch for the list"},"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getDeadmanTriggerAvailableDatetime()":{"notice":"The datetime threshold after which the deadman trigger can be called by anyone."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"notice":"Sets the deadman list trigger for the specified number of years from current block timestamp"},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol":"SovereignNFTRoyaltyGuardDeadmanTrigger"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/ERC721/sovereign/SovereignNFT.sol":{"keccak256":"0x74a1aa566315a4c0d91fc502278a18ecd4b2badc4b8206a1d9b819aa7fa7d9eb","urls":["bzz-raw://ccdd47e55f55319ae049c60f843bfd64e0082b38d349e87173dc3eb4fafd04e2","dweb:/ipfs/QmQWDQf4Fw5HDnGKxxoyvS4gvB2yyiKb4L4kHDMPuyPrbd"],"license":"MIT"},"src/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x0156be33303c1bbebc3d176ffcb64fd7b2400689377c8dbeded00a181a6e9318","urls":["bzz-raw://f0a95478c056ab2c1f50f3fd5cb93ade3d742a4530cd5ae3cea7d4f2ba2e7165","dweb:/ipfs/Qmc4aiZnkTbnjj6XEF1gzhbwaQGvQ7M9GKtu2UoN8jkt1a"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"}},"version":1},"id":224} \ No newline at end of file diff --git a/abis/SovereignNFTRoyaltyGuardDeadmanTriggerV2.json b/abis/SovereignNFTRoyaltyGuardDeadmanTriggerV2.json new file mode 100644 index 0000000..844ebcf --- /dev/null +++ b/abis/SovereignNFTRoyaltyGuardDeadmanTriggerV2.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"activateDeadmanListTrigger","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"areTokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBatchCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBatchInfo","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"startTokenId","type":"uint256","internalType":"uint256"},{"name":"endTokenId","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getDeadmanTriggerAvailableDatetime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockTokenURIs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeadmanListTriggerRenewalDuration","inputs":[{"name":"_numYears","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBatchBaseURI","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"},{"name":"_newBaseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_newURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchBaseURIUpdated","inputs":[{"name":"batchIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newBaseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerActivated","inputs":[{"name":"_activator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DeadmanTriggerDatetimeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldDatetime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newDatetime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIsLocked","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"DeadmanTriggerStillActive","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x6080806040523461001657613912908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e8146122c357806301ffc9a7146121ed57806306fdde0314612143578063081812fc14612123578063095ea7b314611f0757806318160ddd14611ee757806318e97fd114611bf65780631a0058f514611b7a5780632042748614611b4657806321c4a5d814611aa157806323b872dd14611a7c5780632a55205a146119ea5780632ce878da146119775780633403c4e91461194e5780633ebc82c51461190c57806340c1a064146118e257806342842e0e146118ae57806342966c6814611891578063472a6638146118015780634aa52c41146117915780635aec8d62146116e95780635edc7c19146111df5780636297c16c14611163578063631d1d9a146107d55780636352211e1461113257806370a082311461109c578063715018a61461103f578063717392ed1461101f5780637cc918d114610d5b57806387bc793f14610d33578063894ba83314610ce55780638da5cb5b14610cbc57806395d89b4114610bd75780639e860f2a14610ae6578063a22cb46514610964578063a448dd4f146108c4578063a8fabfa5146108a4578063ab69607a14610885578063b88d4fde146107fb578063bb2ee99f146107d5578063bc7194551461072d578063c87b56dd146106f2578063d9856c211461068a578063de903ddd14610505578063e8315742146104e5578063e985e9c514610497578063eab851181461043c578063ee07080514610419578063efc32cd4146103c6578063f2fde38b146103355763ff6e8c8f1461025257600080fd5b3461033157610260366124c1565b90919260018060a01b039485603354163303610324576003851015610311578415610304575050906102939136916129d9565b92805b8451811015610300576102fb906102c26102af85612a3f565b866102ba848a612a7e565b511690612ac0565b5083856102cf8389612a7e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612a59565b610296565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103315760203660031901126103315761034f6123bc565b916103586125d8565b6001600160a01b03831615610374578361037184612630565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346104155780600319360112610415576103e06123bc565b906103e96125d8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461041557816003193601126104155760209060ff80541690519015158152f35b5050346104155760203660031901126104155760209061048e61045d6123bc565b61046c60ff6101095416612a3f565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b50503461041557806003193601126104155760ff816020936104b76123bc565b6104bf6123d7565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610415578160031936011261041557602090610100549051908152f35b508290346104155761051636612430565b91926105206125d8565b61053d60ff805461053382821615612cdf565b60081c161561380c565b61054b6101055485106137c0565b600261055685612d2b565b5001906001600160401b038411610677575061057c836105768354612679565b83612c8b565b84601f84116001146105e857956105d7918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105dd575b508560011b906000198760031b1c19161790555b5192839283613850565b0390a280f35b9050840135896105b9565b81865260208087209190601f1986169088905b82821061065f575050916105d79391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610645575b5050600185811b0190556105cd565b850135600019600388901b60f8161c191690558880610636565b80600185968294968a013581550195019301906105fb565b634e487b7160e01b865260419052602485fd5b8382346104155760203660031901126104155780356001600160401b038111610331573660238201121561033157610300918160246106ce933693013591016125a1565b6106d66125d8565b6106e460ff80541615612cdf565b60fc54339182908190612eb5565b50913461072a57602036600319011261072a575061071361072692356131a6565b9051918291602083526020830190612397565b0390f35b80fd5b5090346103315760203660031901126103315781359160038310156107d1576033546001600160a01b031633036107c3575061076882612a3f565b805490848155816107a5575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d7339482612498565b845260208420908101905b81811015610774578481556001016107b0565b9051635c510c8360e11b8152fd5b8380fd5b50503461041557816003193601126104155760209060ff805460081c1690519015158152f35b838234610415576080366003190112610415576108166123bc565b9061081f6123d7565b91604435606435936001600160401b03851161088157366023860112156108815761085961087c94866024610371983693013591016125a1565b9261086c6108678433613431565b612759565b610877838383613563565b61294e565b61280e565b8580fd5b50503461041557816003193601126104155760209060fc549051908152f35b505034610415578160031936011261041557602090610105549051908152f35b50346103315782600319360112610331576108dd6125d8565b60ff549160ff8360081c166109215761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461033157806003193601126103315761097e6123bc565b9060243591821515809303610ae25760ff61010954166003811015610acf5760018103610a855750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a76575b6001600160a01b031692338414610a345750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109d45760028552610108602052610abb82862060018060a01b0383169060019160005201602052604060002054151590565b156109d45781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461033157610af6366124c1565b6033546001600160a01b03949085163303610bc8575090610b189136916129d9565b9160038210159081610acf5782610b2d578580f35b8591929394955b8551811015610bb857610b5c610b4986612a3f565b83610b54848a612a7e565b511690612b2e565b508382610b698389612a7e565b511690610ba5579085610ba092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612a59565b610b34565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b50503461041557816003193601126104155780519082609854610bf981612679565b80855291600191808316908115610c945750600114610c37575b505050610c2582610726940383612565565b51918291602083526020830190612397565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c7c57505050610c258260206107269582010194610c13565b80546020878701810191909152909501948101610c5f565b610726975086935060209250610c2594915060ff191682840152151560051b82010194610c13565b50503461041557816003193601126104155760335490516001600160a01b039091168152602090f35b833461072a578060031936011261072a57610cfe6125d8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346104155781600319360112610415576107269060ff6101095416905191829182612498565b509190346104155780600319360112610415576001600160401b039280358481116107d157610d8d9036908301612403565b94610d966125d8565b610da460ff80541615612cdf565b6101049081549260019182850180951161100c57602498610dc68a3587612c1e565b9360001991828601958611610ffa5789519660209788810181811087821117610fe8578c52879052869055610100548611610fa6578a90610e1d8b5196610e0c88612519565b8a88528988019289845236916125a1565b958b8101968752610105805490600160401b821015610f94578582019055610e4490612d2b565b939093610f83575090600292915182555183820155019351978851938411610f715750899a50610e8283610e7c869c9a9b9c54612679565b86612c8b565b8598601f8411600114610eec57839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610ee1575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610ebf565b98909291601f19831691858a52878a20928a5b818110610f5957509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610f41575b50505050811b019055610ecd565b01519060f88460031b161c1916905538808080610f33565b828d015185558e9b5093860193918901918901610eff565b634e487b7160e01b8b52604190528a8afd5b634e487b7160e01b8152808c528e90fd5b634e487b7160e01b855260418d528f85fd5b895162461bcd60e51b8152808a01889052601d818e01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8e5260418c528e8efd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b885260118652602488fd5b50503461041557816003193601126104155760209061010a549051908152f35b833461072a578060031936011261072a576110586125d8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610415576020366003190112610415576001600160a01b036110c06123bc565b169081156110dd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461072a57602036600319011261072a5750611152602092356133c1565b90516001600160a01b039091168152f35b503461033157602036600319011261033157803591611181836133c1565b336001600160a01b039091160361119c578361037184612d67565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610331576080366003190112610331576001600160401b03918035838111610ae2576112119036908301612403565b91906024358581116116e55761122a9036908401612403565b6112359691966123ed565b9388549760ff94858a60081c1615978880996116d9575b80156116c3575b1561166957600160ff198c1681178d559a89611658575b506001600160a01b03881615611615576112c892916112c0916112b0898f600a60fc5561ffff198254168255606435610100555460081c166112ab81612c2b565b612c2b565b6112b933612630565b36916125a1565b9336916125a1565b906112dc858b5460081c166112ab81612c2b565b825184811161160257806112f1609754612679565b94601f95868111611591575b506020908d8784116001146115125792611507575b5050600019600383901b1c1916908a1b176097555b81519384116114f4575061133c609854612679565b828111611491575b5060209183116001146114055791806113b9959492611391948b926113fa575b5050600019600383901b1c191690881b176098555b875460081c1661138881612c2b565b6112ab81612c2b565b60fb80546001600160a01b0319166001600160a01b0383161790556113b46125d8565b612630565b6113c1578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611364565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611479575091611391959391856113b99998969410611460575b505050811b01609855611379565b015160001960f88460031b161c19169055388080611452565b8284015185558b969094019360209384019301611435565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114eb575b0160051c019089905b8281106114e0575050611344565b8b81550189906114d2565b925081926114c9565b634e487b7160e01b8a5260419052602489fd5b015190503880611312565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061157957508411611560575b505050811b01609755611327565b015160001960f88460031b161c19169055388080611552565b8284015185558f969094019360209384019301611543565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115f9575b859493910160051c909101908d908f5b8382106115eb575050506112fd565b81558594508e91018f6115dc565b925081926115cc565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861126a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561125357506001878c1614611253565b506001878c161061124c565b8680fd5b50903461033157826003193601126103315761010a54421061178457506101099081549060ff821690600382101561177157508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346104155760603660031901126104155780356001600160401b03811161033157610300916117c491369101612403565b906117cd6123d7565b6117d56123ed565b926117de6125d8565b6117ec60ff80541615612cdf565b6117fc60fc5493339236916125a1565b612eb5565b50346103315760203660031901126103315780359160038310156107d1576033546001600160a01b0316330361032457506101099182549160ff831690600382101561187e5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b838234610415576020366003190112610415576103719035612d67565b5050346104155761087c610371916118c536612463565b919251926118d28461254a565b86845261086c6108678433613431565b5050346104155760203660031901126104155760335490516001600160a01b039091168152602090f35b833461072a57602036600319011261072a576103716119296123bc565b6119316125d8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461041557816003193601126104155760fb5490516001600160a01b039091168152602090f35b82843461072a578060031936011261072a5761199860ff6101095416612a3f565b9180519182845490818152602080910195835280832092905b8282106119d35761072686866119c9828b0383612565565b5191829182612330565b8354875295860195600193840193909101906119b1565b50913461072a578160031936011261072a578235815260fd60205281812054602435906001600160a01b039081168015611a7057925b60fe602052848120548015611a6657925b838102938185041490151715611a535750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a31565b508060fb541692611a20565b833461072a57610371611a8e36612463565b91611a9c6108678433613431565b613563565b503461033157602036600319011261033157603354813591906001600160a01b03163303611b38576301e1338091828102928184041490151715611b255750611aea9042612c1e565b9061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b50503461041557602036600319011261041557602090611b646123bc565b60018060a01b0380603354169116149051908152f35b50823461072a57602036600319011261072a5750611ba69035611ba16101055482106137c0565b612d2b565b506107268251611bb581612519565b825481526060611bd3600260018601549560208501968752016126b3565b918286820152519351948051958695865260208601528401526060830190612397565b5082903461041557611c0736612430565b919260ff54611c1960ff821615612cdf565b6033546001600160a01b03163303611e9a5760ff611c3b9160081c161561380c565b6000848152609960205260409020546001600160a01b031615158015611e71575b15611e3757611c6a84613738565b505015611d5d5783855260206101078152868620916001600160401b038511611d4a5750611ca284611c9c8454612679565b84612c8b565b8590601f8511600114611ceb5750956105d7918487986000805160206138bd8339815191529798916105dd57508560011b906000198760031b1c19161790555192839283613850565b90601f1985168388528288209288905b828210611d32575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611cfb565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611d4a5750611d8884611c9c8454612679565b8590601f8511600114611dd85750956105d7918487986000805160206138bd833981519152979891611dcd575b508560011b906000198760031b1c19161790556105cd565b905084013589611db5565b90601f1985168388528288209288905b828210611e1f575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611de8565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611e7b84613738565b50508015611c5c575083855261010260205260ff868620541615611c5c565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b505034610415578160031936011261041557602090610104549051908152f35b5034610331578160031936011261033157611f206123bc565b906024359260ff6101095416600381101561211057600181036120c95750600180865261010860209081528287206001600160a01b0386166000908152920190526040902054156120bd575b6001600160a01b03918280611f80876133c1565b1694169380851461207057803314908115612051575b5015611fe95750838552610103602052842080546001600160a01b03191683179055611fc183612e4f565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611f96565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611f6c57600285526101086020526120ff81862060018060a01b0385169060019160005201602052604060002054151590565b15611f6c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b50913461072a57602036600319011261072a57506111526020923561349b565b5050346104155781600319360112610415578051908260975461216581612679565b80855291600191808316908115610c94575060011461219057505050610c2582610726940383612565565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106121d557505050610c258260206107269582010194610c13565b805460208787018101919091529095019481016121b8565b50346103315760203660031901126103315735906001600160e01b031982168083036107d1576020935063fa31a45b60e01b81149283156122b2575b831561223a575b5050519015158152f35b919250631030681960e21b8114919082156122a1575b8215612278575b508115612268575b50903880612230565b6122729150613878565b3861225f565b90915063152a902d60e11b148015612292575b9038612257565b5061229c81613878565b61228b565b6301ffc9a760e01b81149250612250565b6301ffc9a760e01b82149350612229565b50903461033157602091826003193601126107d1573560038110156107d1576122eb90612a3f565b9281518093808654928381520195835280832092905b8282106123195761072686866119c9828b0383612565565b835487529586019560019384019390910190612301565b6020908160408183019282815285518094520193019160005b828110612357575050505090565b83516001600160a01b031685529381019392810192600101612349565b60005b8381106123875750506000910152565b8181015183820152602001612377565b906020916123b081518092818552858086019101612374565b601f01601f1916010190565b600435906001600160a01b03821682036123d257565b600080fd5b602435906001600160a01b03821682036123d257565b604435906001600160a01b03821682036123d257565b9181601f840112156123d2578235916001600160401b0383116123d257602083818601950101116123d257565b9060406003198301126123d25760043591602435906001600160401b0382116123d25761245f91600401612403565b9091565b60609060031901126123d2576001600160a01b039060043582811681036123d2579160243590811681036123d2579060443590565b9190602083019260038210156124ab5752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126123d25760043560038110156123d257916024356001600160401b03928382116123d257806023830112156123d25781600401359384116123d25760248460051b830101116123d2576024019190565b606081019081106001600160401b0382111761253457604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761253457604052565b90601f801991011681019081106001600160401b0382111761253457604052565b6001600160401b03811161253457601f01601f191660200190565b9291926125ad82612586565b916125bb6040519384612565565b8294818452818301116123d2578281602093846000960137010152565b6033546001600160a01b031633036125ec57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156126a9575b602083101461269357565b634e487b7160e01b600052602260045260246000fd5b91607f1691612688565b90604051918260008254926126c784612679565b90818452600194858116908160001461273657506001146126f3575b50506126f192500383612565565b565b9093915060005260209081600020936000915b81831061271e5750506126f1935082010138806126e3565b85548884018501529485019487945091830191612706565b9150506126f194506020925060ff191682840152151560051b82010138806126e3565b1561276057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561281557565b60405162461bcd60e51b81528061282e600482016127bb565b0390fd5b9192600092909190803b1561294457612880946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612397565b03926001600160a01b03165af1849181612904575b506128f3575050503d6000146128eb573d6128af81612586565b906128bd6040519283612565565b81528091833d92013e5b805191826128e85760405162461bcd60e51b81528061282e600482016127bb565b01fd5b5060606128c7565b6001600160e01b0319161492509050565b9091508581813d831161293d575b61291c8183612565565b81010312610ae257516001600160e01b031981168103610ae2579038612895565b503d612912565b5050915050600190565b9293600093909291803b156129ce579484916129a89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612397565b0393165af184918161290457506128f3575050503d6000146128eb573d6128af81612586565b505050915050600190565b9092916001600160401b038411612534578360051b6040519260208094612a0282850182612565565b80978152019181019283116123d257905b828210612a205750505050565b81356001600160a01b03811681036123d2578152908301908301612a13565b60038110156124ab57600052610108602052604060002090565b6000198114612a685760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015612a925760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612a925760005260206000200190600090565b6000828152600182016020526040902054612b2757805490600160401b8210156125345782612b10612af9846001809601855584612aa8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c175760001991808301818111612c0357825490848201918211612bef57808203612bba575b50505080548015612ba657820191612b898383612aa8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612bda612bca612af99386612aa8565b90549060031b1c92839286612aa8565b90558652846020526040862055388080612b71565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b91908201809211612a6857565b15612c3257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612c9957505050565b600091825260208220906020601f850160051c83019410612cd5575b601f0160051c01915b828110612cca57505050565b818155600101612cbe565b9092508290612cb5565b15612ce657565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015612a9257600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612d7081613738565b5050600082815261010260205260408120805460ff191660011790559080612e30575b612e2c57612da46108678333613431565b612dad82612e4f565b50612db782612e4f565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612d93565b6000908152609960205260409020546001600160a01b03168015612e705790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161302257612ef961087c604051612ee38161254a565b89600096878352612ef482826130b2565b612832565b868352602091610106835260408420918151916001600160401b03831161300e57612f2883610e7c8654612679565b8490601f8411600114612fa557928060fd9593819389989660409a94612f9a575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612f49565b8487528587209293929190601f198416885b818110612ff9575091604098979593918560fd98969410612fe0575b505050811b019055612f5b565b015160001960f88460031b161c19169055388080612fd3565b82840151855593860193928801928801612fb7565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561306d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015613162576000828152609960205260409020546130e6906001600160a01b031615155b15613066565b600082815260996020526040902054613109906001600160a01b031615156130e0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926131c484842054612679565b6133b257506131d281613738565b91151590506131f057506131ed9361010691835252206126b3565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156133a3575b5050866d04ee2d6d415b85acef810000000080841015613395575b5050662386f26fc1000080831015613386575b506305f5e10080831015613377575b5061271080831015613368575b506064821015613358575b600a8092101561334e575b600190816021818701966132a561329089612586565b9861329d89519a8b612565565b808a52612586565b888c019990601f1901368b3750870101905b613318575b5050505091602f60f81b946132fb6131ed95936026955197856132e88a9751809287808b019101612374565b8601938401525180936021840190612374565b0164173539b7b760d91b6021820152036006810184520182612565565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215613349579190826132b7565b6132bc565b926001019261327a565b929060646002910491019261326f565b60049194920491019238613264565b60089194920491019238613257565b60109194920491019238613248565b940193909104908638613235565b9194509150048192388061321a565b90936131ed94835252206126b3565b6133ca81613738565b50506133d9576131ed90612e4f565b8060005261010260205260ff604060002054166000146133fc576131ed90612e4f565b6000818152609960205260409020546001600160a01b031661342857506033546001600160a01b031690565b6131ed90612e4f565b6001600160a01b03908180613445856133c1565b16911691818314938415613484575b5050821561346157505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b839294506134919061349b565b1614913880613454565b600081815260fd60205260408120546001600160a01b0392919083166134c083613738565b5050908115613559575b5080613541575b156134e757604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156134d1565b90501515386134ca565b9082156123d2576135ad9161357784613738565b5050806136bf575b806136a5575b613696575b61359384612e4f565b6001600160a01b03939184169284929091831684146136de565b1691821561364557816135ca916135c386612e4f565b16146136de565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6136a084826130b2565b61358a565b508360005261010260205260ff6040600020541615613585565b506000848152609960205260409020546001600160a01b03161561357f565b156136e557565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613765575050905060009060009060405161375e8161254a565b6000815290565b61376e81612d2b565b5054821015806137a9575b61378b5761378690612a59565b613741565b8093506137989150612d2b565b50906131ed600260019493016126b3565b5060016137b582612d2b565b500154821115613779565b156137c757565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561381357565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b81149081156138ab575b811561389d575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061389356fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220278cbf2aa15dd6b8cc1ca3a2cdd56b7c7c99ef1ff329756416d84e4d4be73edf64736f6c63430008120033","sourceMap":"210:1488:253:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e8146122c357806301ffc9a7146121ed57806306fdde0314612143578063081812fc14612123578063095ea7b314611f0757806318160ddd14611ee757806318e97fd114611bf65780631a0058f514611b7a5780632042748614611b4657806321c4a5d814611aa157806323b872dd14611a7c5780632a55205a146119ea5780632ce878da146119775780633403c4e91461194e5780633ebc82c51461190c57806340c1a064146118e257806342842e0e146118ae57806342966c6814611891578063472a6638146118015780634aa52c41146117915780635aec8d62146116e95780635edc7c19146111df5780636297c16c14611163578063631d1d9a146107d55780636352211e1461113257806370a082311461109c578063715018a61461103f578063717392ed1461101f5780637cc918d114610d5b57806387bc793f14610d33578063894ba83314610ce55780638da5cb5b14610cbc57806395d89b4114610bd75780639e860f2a14610ae6578063a22cb46514610964578063a448dd4f146108c4578063a8fabfa5146108a4578063ab69607a14610885578063b88d4fde146107fb578063bb2ee99f146107d5578063bc7194551461072d578063c87b56dd146106f2578063d9856c211461068a578063de903ddd14610505578063e8315742146104e5578063e985e9c514610497578063eab851181461043c578063ee07080514610419578063efc32cd4146103c6578063f2fde38b146103355763ff6e8c8f1461025257600080fd5b3461033157610260366124c1565b90919260018060a01b039485603354163303610324576003851015610311578415610304575050906102939136916129d9565b92805b8451811015610300576102fb906102c26102af85612a3f565b866102ba848a612a7e565b511690612ac0565b5083856102cf8389612a7e565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a4612a59565b610296565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103315760203660031901126103315761034f6123bc565b916103586125d8565b6001600160a01b03831615610374578361037184612630565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346104155780600319360112610415576103e06123bc565b906103e96125d8565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b50503461041557816003193601126104155760209060ff80541690519015158152f35b5050346104155760203660031901126104155760209061048e61045d6123bc565b61046c60ff6101095416612a3f565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b50503461041557806003193601126104155760ff816020936104b76123bc565b6104bf6123d7565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b505034610415578160031936011261041557602090610100549051908152f35b508290346104155761051636612430565b91926105206125d8565b61053d60ff805461053382821615612cdf565b60081c161561380c565b61054b6101055485106137c0565b600261055685612d2b565b5001906001600160401b038411610677575061057c836105768354612679565b83612c8b565b84601f84116001146105e857956105d7918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105dd575b508560011b906000198760031b1c19161790555b5192839283613850565b0390a280f35b9050840135896105b9565b81865260208087209190601f1986169088905b82821061065f575050916105d79391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610645575b5050600185811b0190556105cd565b850135600019600388901b60f8161c191690558880610636565b80600185968294968a013581550195019301906105fb565b634e487b7160e01b865260419052602485fd5b8382346104155760203660031901126104155780356001600160401b038111610331573660238201121561033157610300918160246106ce933693013591016125a1565b6106d66125d8565b6106e460ff80541615612cdf565b60fc54339182908190612eb5565b50913461072a57602036600319011261072a575061071361072692356131a6565b9051918291602083526020830190612397565b0390f35b80fd5b5090346103315760203660031901126103315781359160038310156107d1576033546001600160a01b031633036107c3575061076882612a3f565b805490848155816107a5575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105d7339482612498565b845260208420908101905b81811015610774578481556001016107b0565b9051635c510c8360e11b8152fd5b8380fd5b50503461041557816003193601126104155760209060ff805460081c1690519015158152f35b838234610415576080366003190112610415576108166123bc565b9061081f6123d7565b91604435606435936001600160401b03851161088157366023860112156108815761085961087c94866024610371983693013591016125a1565b9261086c6108678433613431565b612759565b610877838383613563565b61294e565b61280e565b8580fd5b50503461041557816003193601126104155760209060fc549051908152f35b505034610415578160031936011261041557602090610105549051908152f35b50346103315782600319360112610331576108dd6125d8565b60ff549160ff8360081c166109215761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461033157806003193601126103315761097e6123bc565b9060243591821515809303610ae25760ff61010954166003811015610acf5760018103610a855750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a76575b6001600160a01b031692338414610a345750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109d45760028552610108602052610abb82862060018060a01b0383169060019160005201602052604060002054151590565b156109d45781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461033157610af6366124c1565b6033546001600160a01b03949085163303610bc8575090610b189136916129d9565b9160038210159081610acf5782610b2d578580f35b8591929394955b8551811015610bb857610b5c610b4986612a3f565b83610b54848a612a7e565b511690612b2e565b508382610b698389612a7e565b511690610ba5579085610ba092337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a4612a59565b610b34565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b50503461041557816003193601126104155780519082609854610bf981612679565b80855291600191808316908115610c945750600114610c37575b505050610c2582610726940383612565565b51918291602083526020830190612397565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c7c57505050610c258260206107269582010194610c13565b80546020878701810191909152909501948101610c5f565b610726975086935060209250610c2594915060ff191682840152151560051b82010194610c13565b50503461041557816003193601126104155760335490516001600160a01b039091168152602090f35b833461072a578060031936011261072a57610cfe6125d8565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346104155781600319360112610415576107269060ff6101095416905191829182612498565b509190346104155780600319360112610415576001600160401b039280358481116107d157610d8d9036908301612403565b94610d966125d8565b610da460ff80541615612cdf565b6101049081549260019182850180951161100c57602498610dc68a3587612c1e565b9360001991828601958611610ffa5789519660209788810181811087821117610fe8578c52879052869055610100548611610fa6578a90610e1d8b5196610e0c88612519565b8a88528988019289845236916125a1565b958b8101968752610105805490600160401b821015610f94578582019055610e4490612d2b565b939093610f83575090600292915182555183820155019351978851938411610f715750899a50610e8283610e7c869c9a9b9c54612679565b86612c8b565b8598601f8411600114610eec57839291899a84927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b95610ee1575b50501b9260031b1c19161790555b60018060a01b03603354169551908152a480f35b015193503880610ebf565b98909291601f19831691858a52878a20928a5b818110610f5957509a847fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d9a9b9c10610f41575b50505050811b019055610ecd565b01519060f88460031b161c1916905538808080610f33565b828d015185558e9b5093860193918901918901610eff565b634e487b7160e01b8b52604190528a8afd5b634e487b7160e01b8152808c528e90fd5b634e487b7160e01b855260418d528f85fd5b895162461bcd60e51b8152808a01889052601d818e01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8e5260418c528e8efd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b885260118652602488fd5b50503461041557816003193601126104155760209061010a549051908152f35b833461072a578060031936011261072a576110586125d8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610415576020366003190112610415576001600160a01b036110c06123bc565b169081156110dd576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461072a57602036600319011261072a5750611152602092356133c1565b90516001600160a01b039091168152f35b503461033157602036600319011261033157803591611181836133c1565b336001600160a01b039091160361119c578361037184612d67565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610331576080366003190112610331576001600160401b03918035838111610ae2576112119036908301612403565b91906024358581116116e55761122a9036908401612403565b6112359691966123ed565b9388549760ff94858a60081c1615978880996116d9575b80156116c3575b1561166957600160ff198c1681178d559a89611658575b506001600160a01b03881615611615576112c892916112c0916112b0898f600a60fc5561ffff198254168255606435610100555460081c166112ab81612c2b565b612c2b565b6112b933612630565b36916125a1565b9336916125a1565b906112dc858b5460081c166112ab81612c2b565b825184811161160257806112f1609754612679565b94601f95868111611591575b506020908d8784116001146115125792611507575b5050600019600383901b1c1916908a1b176097555b81519384116114f4575061133c609854612679565b828111611491575b5060209183116001146114055791806113b9959492611391948b926113fa575b5050600019600383901b1c191690881b176098555b875460081c1661138881612c2b565b6112ab81612c2b565b60fb80546001600160a01b0319166001600160a01b0383161790556113b46125d8565b612630565b6113c1578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611364565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611479575091611391959391856113b99998969410611460575b505050811b01609855611379565b015160001960f88460031b161c19169055388080611452565b8284015185558b969094019360209384019301611435565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114eb575b0160051c019089905b8281106114e0575050611344565b8b81550189906114d2565b925081926114c9565b634e487b7160e01b8a5260419052602489fd5b015190503880611312565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061157957508411611560575b505050811b01609755611327565b015160001960f88460031b161c19169055388080611552565b8284015185558f969094019360209384019301611543565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115f9575b859493910160051c909101908d908f5b8382106115eb575050506112fd565b81558594508e91018f6115dc565b925081926115cc565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861126a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561125357506001878c1614611253565b506001878c161061124c565b8680fd5b50903461033157826003193601126103315761010a54421061178457506101099081549060ff821690600382101561177157508390337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8380a460ff19169055337f60faf76514baf225c418dfc1e3c75bed0bd280f0436999e12cb0a73acb0f9a468280a280f35b634e487b7160e01b855260219052602484fd5b5163807a684760e01b8152fd5b8382346104155760603660031901126104155780356001600160401b03811161033157610300916117c491369101612403565b906117cd6123d7565b6117d56123ed565b926117de6125d8565b6117ec60ff80541615612cdf565b6117fc60fc5493339236916125a1565b612eb5565b50346103315760203660031901126103315780359160038310156107d1576033546001600160a01b0316330361032457506101099182549160ff831690600382101561187e5750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b838234610415576020366003190112610415576103719035612d67565b5050346104155761087c610371916118c536612463565b919251926118d28461254a565b86845261086c6108678433613431565b5050346104155760203660031901126104155760335490516001600160a01b039091168152602090f35b833461072a57602036600319011261072a576103716119296123bc565b6119316125d8565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b50503461041557816003193601126104155760fb5490516001600160a01b039091168152602090f35b82843461072a578060031936011261072a5761199860ff6101095416612a3f565b9180519182845490818152602080910195835280832092905b8282106119d35761072686866119c9828b0383612565565b5191829182612330565b8354875295860195600193840193909101906119b1565b50913461072a578160031936011261072a578235815260fd60205281812054602435906001600160a01b039081168015611a7057925b60fe602052848120548015611a6657925b838102938185041490151715611a535750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611a31565b508060fb541692611a20565b833461072a57610371611a8e36612463565b91611a9c6108678433613431565b613563565b503461033157602036600319011261033157603354813591906001600160a01b03163303611b38576301e1338091828102928184041490151715611b255750611aea9042612c1e565b9061010a907f6e948191a35d69000746799fef50c705bbdc93bd5a7577e9e9eb879c04bdebc982549180519283528460208401523392a25580f35b634e487b7160e01b845260119052602483fd5b8251635c510c8360e11b8152fd5b50503461041557602036600319011261041557602090611b646123bc565b60018060a01b0380603354169116149051908152f35b50823461072a57602036600319011261072a5750611ba69035611ba16101055482106137c0565b612d2b565b506107268251611bb581612519565b825481526060611bd3600260018601549560208501968752016126b3565b918286820152519351948051958695865260208601528401526060830190612397565b5082903461041557611c0736612430565b919260ff54611c1960ff821615612cdf565b6033546001600160a01b03163303611e9a5760ff611c3b9160081c161561380c565b6000848152609960205260409020546001600160a01b031615158015611e71575b15611e3757611c6a84613738565b505015611d5d5783855260206101078152868620916001600160401b038511611d4a5750611ca284611c9c8454612679565b84612c8b565b8590601f8511600114611ceb5750956105d7918487986000805160206138bd8339815191529798916105dd57508560011b906000198760031b1c19161790555192839283613850565b90601f1985168388528288209288905b828210611d32575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611cfb565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611d4a5750611d8884611c9c8454612679565b8590601f8511600114611dd85750956105d7918487986000805160206138bd833981519152979891611dcd575b508560011b906000198760031b1c19161790556105cd565b905084013589611db5565b90601f1985168388528288209288905b828210611e1f575050916105d79391866000805160206138bd83398151915298999a9410610645575050600185811b0190556105cd565b80600185968294968a01358155019501930190611de8565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611e7b84613738565b50508015611c5c575083855261010260205260ff868620541615611c5c565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b505034610415578160031936011261041557602090610104549051908152f35b5034610331578160031936011261033157611f206123bc565b906024359260ff6101095416600381101561211057600181036120c95750600180865261010860209081528287206001600160a01b0386166000908152920190526040902054156120bd575b6001600160a01b03918280611f80876133c1565b1694169380851461207057803314908115612051575b5015611fe95750838552610103602052842080546001600160a01b03191683179055611fc183612e4f565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611f96565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611f6c57600285526101086020526120ff81862060018060a01b0385169060019160005201602052604060002054151590565b15611f6c57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b50913461072a57602036600319011261072a57506111526020923561349b565b5050346104155781600319360112610415578051908260975461216581612679565b80855291600191808316908115610c94575060011461219057505050610c2582610726940383612565565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b8286106121d557505050610c258260206107269582010194610c13565b805460208787018101919091529095019481016121b8565b50346103315760203660031901126103315735906001600160e01b031982168083036107d1576020935063fa31a45b60e01b81149283156122b2575b831561223a575b5050519015158152f35b919250631030681960e21b8114919082156122a1575b8215612278575b508115612268575b50903880612230565b6122729150613878565b3861225f565b90915063152a902d60e11b148015612292575b9038612257565b5061229c81613878565b61228b565b6301ffc9a760e01b81149250612250565b6301ffc9a760e01b82149350612229565b50903461033157602091826003193601126107d1573560038110156107d1576122eb90612a3f565b9281518093808654928381520195835280832092905b8282106123195761072686866119c9828b0383612565565b835487529586019560019384019390910190612301565b6020908160408183019282815285518094520193019160005b828110612357575050505090565b83516001600160a01b031685529381019392810192600101612349565b60005b8381106123875750506000910152565b8181015183820152602001612377565b906020916123b081518092818552858086019101612374565b601f01601f1916010190565b600435906001600160a01b03821682036123d257565b600080fd5b602435906001600160a01b03821682036123d257565b604435906001600160a01b03821682036123d257565b9181601f840112156123d2578235916001600160401b0383116123d257602083818601950101116123d257565b9060406003198301126123d25760043591602435906001600160401b0382116123d25761245f91600401612403565b9091565b60609060031901126123d2576001600160a01b039060043582811681036123d2579160243590811681036123d2579060443590565b9190602083019260038210156124ab5752565b634e487b7160e01b600052602160045260246000fd5b60406003198201126123d25760043560038110156123d257916024356001600160401b03928382116123d257806023830112156123d25781600401359384116123d25760248460051b830101116123d2576024019190565b606081019081106001600160401b0382111761253457604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761253457604052565b90601f801991011681019081106001600160401b0382111761253457604052565b6001600160401b03811161253457601f01601f191660200190565b9291926125ad82612586565b916125bb6040519384612565565b8294818452818301116123d2578281602093846000960137010152565b6033546001600160a01b031633036125ec57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c921680156126a9575b602083101461269357565b634e487b7160e01b600052602260045260246000fd5b91607f1691612688565b90604051918260008254926126c784612679565b90818452600194858116908160001461273657506001146126f3575b50506126f192500383612565565b565b9093915060005260209081600020936000915b81831061271e5750506126f1935082010138806126e3565b85548884018501529485019487945091830191612706565b9150506126f194506020925060ff191682840152151560051b82010138806126e3565b1561276057565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561281557565b60405162461bcd60e51b81528061282e600482016127bb565b0390fd5b9192600092909190803b1561294457612880946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190612397565b03926001600160a01b03165af1849181612904575b506128f3575050503d6000146128eb573d6128af81612586565b906128bd6040519283612565565b81528091833d92013e5b805191826128e85760405162461bcd60e51b81528061282e600482016127bb565b01fd5b5060606128c7565b6001600160e01b0319161492509050565b9091508581813d831161293d575b61291c8183612565565b81010312610ae257516001600160e01b031981168103610ae2579038612895565b503d612912565b5050915050600190565b9293600093909291803b156129ce579484916129a89660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190612397565b0393165af184918161290457506128f3575050503d6000146128eb573d6128af81612586565b505050915050600190565b9092916001600160401b038411612534578360051b6040519260208094612a0282850182612565565b80978152019181019283116123d257905b828210612a205750505050565b81356001600160a01b03811681036123d2578152908301908301612a13565b60038110156124ab57600052610108602052604060002090565b6000198114612a685760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015612a925760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b8054821015612a925760005260206000200190600090565b6000828152600182016020526040902054612b2757805490600160401b8210156125345782612b10612af9846001809601855584612aa8565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612c175760001991808301818111612c0357825490848201918211612bef57808203612bba575b50505080548015612ba657820191612b898383612aa8565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612bda612bca612af99386612aa8565b90549060031b1c92839286612aa8565b90558652846020526040862055388080612b71565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b91908201809211612a6857565b15612c3257565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612c9957505050565b600091825260208220906020601f850160051c83019410612cd5575b601f0160051c01915b828110612cca57505050565b818155600101612cbe565b9092508290612cb5565b15612ce657565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b610105908154811015612a9257600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612d7081613738565b5050600082815261010260205260408120805460ff191660011790559080612e30575b612e2c57612da46108678333613431565b612dad82612e4f565b50612db782612e4f565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612d93565b6000908152609960205260409020546001600160a01b03168015612e705790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161302257612ef961087c604051612ee38161254a565b89600096878352612ef482826130b2565b612832565b868352602091610106835260408420918151916001600160401b03831161300e57612f2883610e7c8654612679565b8490601f8411600114612fa557928060fd9593819389989660409a94612f9a575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612f49565b8487528587209293929190601f198416885b818110612ff9575091604098979593918560fd98969410612fe0575b505050811b019055612f5b565b015160001960f88460031b161c19169055388080612fd3565b82840151855593860193928801928801612fb7565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561306d57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015613162576000828152609960205260409020546130e6906001600160a01b031615155b15613066565b600082815260996020526040902054613109906001600160a01b031615156130e0565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926131c484842054612679565b6133b257506131d281613738565b91151590506131f057506131ed9361010691835252206126b3565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156133a3575b5050866d04ee2d6d415b85acef810000000080841015613395575b5050662386f26fc1000080831015613386575b506305f5e10080831015613377575b5061271080831015613368575b506064821015613358575b600a8092101561334e575b600190816021818701966132a561329089612586565b9861329d89519a8b612565565b808a52612586565b888c019990601f1901368b3750870101905b613318575b5050505091602f60f81b946132fb6131ed95936026955197856132e88a9751809287808b019101612374565b8601938401525180936021840190612374565b0164173539b7b760d91b6021820152036006810184520182612565565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215613349579190826132b7565b6132bc565b926001019261327a565b929060646002910491019261326f565b60049194920491019238613264565b60089194920491019238613257565b60109194920491019238613248565b940193909104908638613235565b9194509150048192388061321a565b90936131ed94835252206126b3565b6133ca81613738565b50506133d9576131ed90612e4f565b8060005261010260205260ff604060002054166000146133fc576131ed90612e4f565b6000818152609960205260409020546001600160a01b031661342857506033546001600160a01b031690565b6131ed90612e4f565b6001600160a01b03908180613445856133c1565b16911691818314938415613484575b5050821561346157505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b839294506134919061349b565b1614913880613454565b600081815260fd60205260408120546001600160a01b0392919083166134c083613738565b5050908115613559575b5080613541575b156134e757604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156134d1565b90501515386134ca565b9082156123d2576135ad9161357784613738565b5050806136bf575b806136a5575b613696575b61359384612e4f565b6001600160a01b03939184169284929091831684146136de565b1691821561364557816135ca916135c386612e4f565b16146136de565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6136a084826130b2565b61358a565b508360005261010260205260ff6040600020541615613585565b506000848152609960205260409020546001600160a01b03161561357f565b156136e557565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110613765575050905060009060009060405161375e8161254a565b6000815290565b61376e81612d2b565b5054821015806137a9575b61378b5761378690612a59565b613741565b8093506137989150612d2b565b50906131ed600260019493016126b3565b5060016137b582612d2b565b500154821115613779565b156137c757565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561381357565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b81149081156138ab575b811561389d575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061389356fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220278cbf2aa15dd6b8cc1ca3a2cdd56b7c7c99ef1ff329756416d84e4d4be73edf64736f6c63430008120033","sourceMap":"210:1488:253:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;1513:6:42;210:1488:253;;2088:10:115;1166:16:253;2064:71:115;;210:1488:253;;;;;;2839:39:115;;2835:84;;210:1488:253;;;;;;;;:::i;:::-;5643:13:115;;5677:3;210:1488:253;;5658:17:115;;;;;5677:3;5717:15;8398:50:113;5717:15:115;;;:::i;:::-;5737:9;;;;;:::i;:::-;210:1488:253;;8398:50:113;;:::i;:::-;;5795:9:115;;;;;;:::i;:::-;210:1488:253;;2088:10:115;5764:52;;;;5677:3;:::i;:::-;5643:13;;5658:17;;210:1488:253;;2835:84:115;210:1488:253;-1:-1:-1;;;2887:32:115;;;210:1488:253;-1:-1:-1;;;210:1488:253;;;;;;;;2064:71:115;210:1488:253;-1:-1:-1;;;2108:27:115;;;210:1488:253;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;210:1488:253;;2402:22:42;210:1488:253;;2496:8:42;;;;:::i;:::-;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;210:1488:253;;;;4803:16:252;210:1488:253;;;;;;-1:-1:-1;;;;;;210:1488:253;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:20:252;210:1488:253;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;8963:55:113;210:1488:253;;:::i;:::-;4167:14:115;210:1488:253;4172:8:115;210:1488:253;;4167:14:115;:::i;:::-;-1:-1:-1;;;;;210:1488:253;;;-1:-1:-1;210:1488:253;;;;4351:12:113;;;210:1488:253;;;;;;4351:24:113;;;4255:127;8963:55;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;210:1488:253;;;;;4980:18:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1222:24:252;210:1488:253;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;10666:50:252;2981:8;210:1488:253;;2972:52:252;210:1488:253;;;2980:9:252;2972:52;:::i;:::-;210:1488:253;;;10674:16:252;10666:50;:::i;:::-;10722:70;10744:11;210:1488:253;10730:32:252;;10722:70;:::i;:::-;10799:32;:24;;;:::i;:::-;:32;;210:1488:253;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;10857:45:252;210:1488:253;;;;10857:45:252;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;10857:45:252;;;;;:::i;:::-;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;;;;10857:45:252;210:1488:253;;;10857:45:252;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;3643:85:252;210:1488:253;;;;;;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;2972:52:252;2981:8;210:1488:253;;;2980:9:252;2972:52;:::i;:::-;2453:24:233;210:1488:253;3662:10:252;;;;;;3643:85;:::i;210:1488:253:-;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;;;1513:6:42;210:1488:253;-1:-1:-1;;;;;210:1488:253;2088:10:115;1166:16:253;2064:71:115;;3436:15;;;;:::i;:::-;210:1488:253;;;;;;;;;;;;3462:34:115;210:1488:253;;2088:10:115;3462:34;2088:10;3462:34;;;:::i;210:1488:253:-;;;;;;;;;;;;;;;;;;;;;;;;2064:71:115;210:1488:253;;-1:-1:-1;;;2108:27:115;;;210:1488:253;;;;;;;;;;;;;;;;;;;;1190:27:252;210:1488:253;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;6956:47:61;210:1488:253;;;6948:110:61;210:1488:253;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;210:1488:253:-;;;;;;;;;;;;;;;;;;;;2453:24:233;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;9492:11:252;210:1488:253;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;10970:15:252;210:1488:253;;10970:15:252;210:1488:253;;;;;;-1:-1:-1;;210:1488:253;;;;10970:15:252;210:1488:253;;11060:17:252;210:1488:253;;11060:17:252;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1460:8:115;210:1488:253;;;;;;;;1472:28:115;1460:40;;1472:28;;-1:-1:-1;1472:28:115;210:1488:253;;;1515:4:115;210:1488:253;;;;;;;-1:-1:-1;;;;;210:1488:253;;-1:-1:-1;210:1488:253;;;4351:12:113;;210:1488:253;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;210:1488:253;;929:10:68;13528:17:61;;210:1488:253;;929:10:68;;210:1488:253;;13585:18:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:61;210:1488:253;929:10:68;13646:41:61;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:115;210:1488:253;;-1:-1:-1;;;1574:28:115;;210:1488:253;;1574:28:115;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;210:1488:253;;1672:4:115;210:1488:253;;8963:55:113;210:1488:253;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;210:1488:253;4351:12:113;210:1488:253;;;-1:-1:-1;210:1488:253;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;210:1488:253;;-1:-1:-1;;;1730:28:115;;210:1488:253;;1730:28:115;210:1488:253;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:42;210:1488:253;-1:-1:-1;;;;;210:1488:253;;;;2088:10:115;1166:16:253;2064:71:115;;210:1488:253;;;;;;;:::i;:::-;;;;;;;;;;5589:39:115;5585:387;;210:1488:253;;;5585:387:115;5643:13;;;;;;5677:3;210:1488:253;;5658:17:115;;;;;8719:53:113;5845:15:115;;;:::i;:::-;5868:9;;;;;:::i;:::-;210:1488:253;;8719:53:113;;:::i;:::-;;5926:9:115;;;;;;:::i;:::-;210:1488:253;;;;;2088:10:115;;5677:3;2088:10;;5895:52;;;;5677:3;:::i;:::-;5643:13;;210:1488:253;-1:-1:-1;;;210:1488:253;;;;;;;;5658:17:115;;;;;;;;5585:387;;;;;210:1488:253;;;2064:71:115;210:1488:253;-1:-1:-1;;;2108:27:115;;210:1488:253;;2108:27:115;210:1488:253;;;;;;;;;;;;;;;;;;3182:7:61;210:1488:253;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;210:1488:253;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;4528:4:252;210:1488:253;;;;;;;;4560:10:252;4543:28;;;;210:1488:253;;;;;;;;;;;;;;;;;;;4333:8:115;210:1488:253;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;2972:52:252;2981:8;210:1488:253;;;2980:9:252;2972:52;:::i;:::-;3170:14;210:1488:253;;;;;;;;;;;;;;;;3225:30:252;210:1488:253;;3225:30:252;;:::i;:::-;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3365:9:252;210:1488:253;3337:37:252;;210:1488:253;;;;;;;;;;;:::i;:::-;;;;3432:45:252;;;210:1488:253;;;;;;;:::i;:::-;3432:45:252;;;;210:1488:253;;;3415:11:252;210:1488:253;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;3490:66:252;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;210:1488:253;;;;;;;3490:66:252;210:1488:253;;;;;;-1:-1:-1;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3490:66:252;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;2482:31:117;210:1488:253;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;210:1488:253;;-1:-1:-1;;;;;;210:1488:253;;;;;;;-1:-1:-1;;;;;210:1488:253;2806:40:42;210:1488:253;;2806:40:42;210:1488:253;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;-1:-1:-1;;;;;210:1488:253;;:::i;:::-;;2489:19:61;;;210:1488:253;;;;;;;;;2571:9:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;2866:17:252;;;;:::i;:::-;2887:10;-1:-1:-1;;;;;210:1488:253;;;2866:31:252;210:1488:253;;4040:8:252;;;;:::i;210:1488:253:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;210:1488:253;3346:108:48;;;;210:1488:253;;;;;-1:-1:-1;;210:1488:253;;;;;;;;3562:65:48;;210:1488:253;-1:-1:-1;;;;;;210:1488:253;;2442:22:252;210:1488:253;;;;;;;5366:69:48;210:1488:253;;2534:2:252;2197:38:233;210:1488:253;;;;;;;;;;2594:22:252;210:1488:253;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;210:1488:253;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;210:1488:253;;;;;;5366:69:48;;;:::i;:::-;210:1488:253;;;;;;;;;1873:13:61;210:1488:253;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;210:1488:253;;;;;;;;;;;1873:13:61;210:1488:253;;;;;;;;;;;1896:17:61;210:1488:253;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;210:1488:253;;;5366:69:48;210:1488:253;;;;;;-1:-1:-1;;;;210:1488:253;;;;;;;;;;;1896:17:61;210:1488:253;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;210:1488:253;;-1:-1:-1;;;;;;210:1488:253;-1:-1:-1;;;;;210:1488:253;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;210:1488:253;;;3647:99:48;210:1488:253;;-1:-1:-1;;210:1488:253;;;;;;;3721:14:48;;210:1488:253;;3721:14:48;3647:99;;210:1488:253;;;;;;;-1:-1:-1;210:1488:253;;;;;1896:17:61;210:1488:253;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;5366:69:48;210:1488:253;;;;2496:8:42;210:1488:253;;;;;;;;;;;;;;1896:17:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;;;;;;;;;1873:13:61;210:1488:253;;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;;;;1873:13:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;210:1488:253;;;;;3562:65:48;;;210:1488:253;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;210:1488:253;;;;;3436:17:48;3346:108;;3347:34;210:1488:253;;;;;3365:16:48;3347:34;;210:1488:253;;;;;;;;;;;;;;;;;;1916:31:117;210:1488:253;1950:15:117;-1:-1:-1;1912:117:117;;5330:8:115;;210:1488:253;;;;;;;;;;;;;;5318:10:115;;;;5302:51;;;;-1:-1:-1;;210:1488:253;;;5318:10:115;2086:35:117;;;;210:1488:253;;;-1:-1:-1;;;210:1488:253;;;;;;;;1912:117:117;210:1488:253;-1:-1:-1;;;1974:55:117;;;210:1488:253;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;;;;3859:90:252;210:1488:253;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:42;;;:::i;:::-;2972:52:252;2981:8;210:1488:253;;;2980:9:252;2972:52;:::i;:::-;210:1488:253;2453:24:233;210:1488:253;3878:10:252;;210:1488:253;;;;:::i;:::-;3859:90:252;:::i;210:1488:253:-;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;;;1513:6:42;210:1488:253;-1:-1:-1;;;;;210:1488:253;2088:10:115;1166:16:253;2064:71:115;;5330:8;;210:1488:253;;;;;;;;;;;;;;2088:10:115;;;210:1488:253;2088:10:115;;5302:51;;;;210:1488:253;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;210:1488:253;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;210:1488:253:-;;;;;;;;-1:-1:-1;;210:1488:253;;;;1513:6:42;210:1488:253;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;4686:9:252;210:1488:253;;:::i;:::-;1303:62:42;;:::i;:::-;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;;1492:34:233;210:1488:253;;;1492:34:233;210:1488:253;1418:115:233;210:1488:253;;;;;;;;;;;;;;2332:22:233;210:1488:253;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;4008:14:115;210:1488:253;4013:8:115;210:1488:253;;4008:14:115;:::i;:::-;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;210:1488:253;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;1049:40:233;;210:1488:253;;1049:118:233;;1238:18;210:1488:253;;;;;;1238:33:233;;;;:131;;210:1488:253;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;1401:3:233;210:1488:253;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;1238:131:233;210:1488:253;1345:24:233;210:1488:253;1238:131:233;;;1049:118;210:1488:253;;1145:22:233;210:1488:253;;1049:118:233;;;210:1488:253;;;;;5365:7:61;210:1488:253;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;210:1488:253:-;;;;;;;-1:-1:-1;;210:1488:253;;;;1513:6:42;210:1488:253;;;;;-1:-1:-1;;;;;210:1488:253;2088:10:115;1166:16:253;2064:71:115;;2943:8:117;210:1488:253;;;;;;;;;;;;;;;2913:15:117;:38;:15;;:38;:::i;:::-;3004:31;;210:1488:253;2962:87:117;210:1488:253;;;;;;;;;;;;;2088:10:115;2962:87:117;;210:1488:253;;;;-1:-1:-1;;;210:1488:253;;;;;;;;2064:71:115;210:1488:253;;-1:-1:-1;;;2108:27:115;;;210:1488:253;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;:::i;:::-;;;;;;;1513:6:42;210:1488:253;;;;1166:16;210:1488;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;9264:24:252;210:1488:253;;9162:70:252;9184:11;210:1488:253;9170:32:252;;9162:70;:::i;:::-;9264:24;:::i;:::-;210:1488:253;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;2981:8:252;210:1488:253;2972:52:252;2981:8;210:1488:253;;2980:9:252;2972:52;:::i;:::-;1513:6:42;210:1488:253;-1:-1:-1;;;;;210:1488:253;10084:10:252;:36;210:1488:253;;2981:8:252;10164:50;210:1488:253;;;;10172:16:252;10164:50;:::i;:::-;-1:-1:-1;210:1488:253;;;7266:7:61;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;7680:31:61;;10228:50:252;;;;210:1488:253;;;;10338:24:252;;;:::i;:::-;-1:-1:-1;;10369:126:252;;;210:1488:253;;;;10397:20:252;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;10506:34:252;210:1488:253;;;;-1:-1:-1;;;;;;;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;10506:34:252;;;;;:::i;210:1488:253:-;;;;;;;;;;;;;;;;;;;;;;;;10506:34:252;210:1488:253;;;-1:-1:-1;;;;;;;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;10369:126:252;210:1488:253;;;;10458:10:252;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;10506:34:252;210:1488:253;;;;-1:-1:-1;;;;;;;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;10369:126:252;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10506:34:252;210:1488:253;;;-1:-1:-1;;;;;;;;;;;210:1488:253;;;;;;;;;;;;;;;;10369:126:252;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;10228:50:252;11292:24;;;;:::i;:::-;11329:41;;;;10228:50;11329:41;210:1488:253;;;;11348:12:252;210:1488:253;;2981:8:252;210:1488:253;;;;;11347:23:252;10228:50;;210:1488:253;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;8496:14:252;210:1488:253;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:115;210:1488:253;;;;;;;;;1460:40:115;;210:1488:253;;-1:-1:-1;210:1488:253;;;;1515:4:115;210:1488:253;;;;;;;-1:-1:-1;;;;;210:1488:253;;-1:-1:-1;210:1488:253;;;4351:12:113;;210:1488:253;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;210:1488:253;;;6771:16:252;;;:::i;:::-;210:1488:253;;;6801:11:252;;;;210:1488:253;;929:10:68;;6872:21:252;:62;;;;;1456:309:115;210:1488:253;;;;-1:-1:-1;210:1488:253;;;7474:15:252;210:1488:253;;;;;;-1:-1:-1;;;;;;210:1488:253;;;;;7523:34:252;210:1488:253;7523:34:252;:::i;:::-;210:1488:253;7514:57:252;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6872:62:252;210:1488:253;;;;4980:18:61;210:1488:253;;;;;929:10:68;210:1488:253;;;;;;;;;;6872:62:252;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;1510:92:115;210:1488:253;-1:-1:-1;;;1574:28:115;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;210:1488:253;;1672:4:115;210:1488:253;;8963:55:113;210:1488:253;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;210:1488:253;4351:12:113;210:1488:253;;;-1:-1:-1;210:1488:253;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;210:1488:253;-1:-1:-1;;;1730:28:115;;;210:1488:253;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;210:1488:253;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;-1:-1:-1;;;;;;210:1488:253;;;;;;;;;-1:-1:-1;;;;4844:47:115;;;:88;;;;210:1488:253;699:94;;;;210:1488;;;;;;;;;;699:94;9765:31:252;;-1:-1:-1;;;;9750:46:252;;;9765:31;9750:104;;;;699:94:253;9750:163:252;;;;699:94:253;9750:221:252;;;;;699:94:253;;;;;;;9750:221:252;9923:48;;;;:::i;:::-;9750:221;;;:163;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;9750:163:252;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;9750:104:252;-1:-1:-1;;;937:40:107;;;-1:-1:-1;9750:104:252;;4844:88:115;-1:-1:-1;;;937:40:107;;;-1:-1:-1;4844:88:115;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;3857:15:115;;;:::i;:::-;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;210:1488:253;;;;:::o;:::-;;;;-1:-1:-1;;;;;210:1488:253;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;210:1488:253;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;210:1488:253;;;;;-1:-1:-1;210:1488:253;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;:::o;:::-;-1:-1:-1;;;;;210:1488:253;;;;;;-1:-1:-1;;210:1488:253;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;:::o;1599:130:42:-;1513:6;210:1488:253;-1:-1:-1;;;;;210:1488:253;929:10:68;1662:23:42;210:1488:253;;1599:130:42:o;210:1488:253:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;210:1488:253;;-1:-1:-1;;;;;210:1488:253;;;-1:-1:-1;;;;;;210:1488:253;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;210:1488:253:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;210:1488:253;;;;-1:-1:-1;210:1488:253;;-1:-1:-1;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;210:1488:253;;;;;;;;:::i;:::-;;;;14463:853:61;;;210:1488:253;;14463:853:61;;;1713:19:66;;:23;:19;;210:1488:253;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;210:1488:253;;;;;;;;;;;;;;;14667:82:61;;;;210:1488:253;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;210:1488:253;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;210:1488:253;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;210:1488:253;;-1:-1:-1;;;14969:60:61;;210:1488:253;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;210:1488:253;;;;;14663:595:61;-1:-1:-1;;;;;;210:1488:253;14799:62:61;;-1:-1:-1;210:1488:253;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;210:1488:253;;;;;-1:-1:-1;;;;;;210:1488:253;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;210:1488:253;;14463:853:61;;;1713:19:66;;:23;:19;;210:1488:253;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;210:1488:253;;;;;;;;:::i;:::-;14667:82:61;210:1488:253;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;210:1488:253;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;210:1488:253:-;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;3857:4:115;210:1488:253;;;-1:-1:-1;210:1488:253;;:::o;:::-;-1:-1:-1;;210:1488:253;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;;-1:-1:-1;210:1488:253;;;-1:-1:-1;210:1488:253;:::o;2214:404:113:-;-1:-1:-1;210:1488:253;;;4351:12:113;;;210:1488:253;;;;;;2298:21:113;;210:1488:253;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1488:253;2493:12:113;210:1488:253;;;-1:-1:-1;210:1488:253;;;2547:11:113;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:113;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;3023:15:113;;;;3019:1149;3023:15;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;;;;;;;;;;3505:26:113;;;3501:398;;3019:1149;210:1488:253;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:113;4103:11;:::o;210:1488:253:-;-1:-1:-1;;;210:1488:253;;;;;;;;3501:398:113;210:1488:253;3571:22:113;3693:26;3571:22;;;:::i;:::-;210:1488:253;;;;;;3693:26:113;;;;;:::i;210:1488:253:-;;;;;;;;;;;;3501:398:113;;;;;210:1488:253;-1:-1:-1;;;210:1488:253;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;3019:1149:113;4145:12;;;;;:::o;210:1488:253:-;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;;;;:::o;:::-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;9184:11:252;210:1488:253;;;;;;;;;;-1:-1:-1;210:1488:253;;;;;-1:-1:-1;210:1488:253;:::o;4058:289:252:-;4148:24;;;:::i;:::-;-1:-1:-1;;;210:1488:253;;;4179:12:252;210:1488:253;;;;;;;-1:-1:-1;;210:1488:253;4204:4:252;210:1488:253;;;-1:-1:-1;210:1488:253;4219:54:252;;4058:289;4215:81;;911:99:64;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;210:1488:253;;;11014:15:61;210:1488:253;;;;;;;;;;-1:-1:-1;;;;;;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;11254:9:61;210:1488:253;;;;;;;-1:-1:-1;;210:1488:253;;;;;;11302:7:61;210:1488:253;;;;;;;;;;;;;11334:36:61;210:1488:253;;11334:36:61;4058:289:252:o;4215:81::-;4283:7;;:::o;4219:54::-;-1:-1:-1;;210:1488:253;;;7266:7:61;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;7680:31:61;4219:54:252;;2651:219:61;-1:-1:-1;210:1488:253;;;7266:7:61;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;2793:19:61;;210:1488:253;;2651:219:61;:::o;210:1488:253:-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;4970:564:252;;;;;1061:1:69;5154:14:252;;210:1488:253;;;;;;;;5253:9:252;210:1488:253;5242:20:252;;210:1488:253;;8929:150:61;8950:53;210:1488:253;;;;;:::i;:::-;-1:-1:-1;;210:1488:253;;;;8911:7:61;;;;:::i;:::-;8950:53;:::i;8929:150::-;210:1488:253;;;;;5334:10:252;210:1488:253;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1639:16:233;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4927:13:252;210:1488:253;;;;;;;;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;1794:18:233;210:1488:253;;;;;;;;;;;;;;;;;4970:564:252;:::o;210:1488:253:-;;;;-1:-1:-1;210:1488:253;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;;;;;;;;;;;;;;;1639:16:233;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;9408:920:61;-1:-1:-1;;;;;210:1488:253;9487:16:61;;210:1488:253;;-1:-1:-1;210:1488:253;;;7266:7:61;210:1488:253;;;;;;9550:58:61;;-1:-1:-1;;;;;210:1488:253;7680:31:61;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;210:1488:253;;;7266:7:61;210:1488:253;;;;;;9754:58:61;;-1:-1:-1;;;;;210:1488:253;7680:31:61;;9763:16;7592:126;9754:58;9501:1;210:1488:253;;;10154:9:61;210:1488:253;;;;;;;;;;;;;;10193:7:61;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;10230:33:61;;;;9408:920::o;210:1488:253:-;;;;;;;;;;;;;;;;;;;;;;;;;5685:504:252;-1:-1:-1;210:1488:253;;;5834:20:252;210:1488:253;;;;;;;;;;;;;;:::i;:::-;5824:106:252;;5990:24;;;;:::i;:::-;6025:15;;;;-1:-1:-1;6025:15:252;;210:1488:253;;;6057:10:252;210:1488:253;;;;;;:::i;:::-;6050:27:252;:::o;6021:164::-;6148:19;10222:18:74;;6148:19:252;10287:8:74;6148:19:252;10278:17:74;;;;10274:103;;6021:164:252;10403:8:74;;;;10394:17;;;;10390:103;;6021:164:252;10519:8:74;;;10510:17;;;;10506:103;;6021:164:252;10635:7:74;;10626:16;;;;10622:100;;6021:164:252;10748:7:74;;10739:16;;;;10735:100;;6021:164:252;10852:16:74;10861:7;10852:16;;;10848:100;;6021:164:252;10974:7:74;10965:16;;;;10961:66;;6021:164:252;633:1:71;210:1488:253;;775:76:71;210:1488:253;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;210:1488:253;;;;775:76:71;;;;864:280;633:1;;;864:280;210:1488:253;;;;;-1:-1:-1;;;210:1488:253;;6112:65:252;210:1488:253;;6112:65:252;210:1488:253;;;;;;;;6112:65:252;;;;;;210:1488:253;;;:::i;:::-;;;;;;;;;;775:76:71;210:1488:253;;;;:::i;:::-;;-1:-1:-1;;;775:76:71;210:1488:253;;;6112:65:252;;;;;;;;;:::i;864:280:71:-;-1:-1:-1;;210:1488:253;;;;-1:-1:-1;;;969:93:71;;;;210:1488:253;969:93:71;210:1488:253;1079:11:71;;1112:10;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:74;210:1488:253;11011:1:74;210:1488:253;10961:66:74;;;10848:100;210:1488:253;;10861:7:74;10932:1;210:1488:253;;;;10848:100:74;;;10735;10819:1;210:1488:253;;;;;;10735:100:74;;;;10622;10706:1;210:1488:253;;;;;;10622:100:74;;;;10506:103;10592:2;210:1488:253;;;;;;10506:103:74;;;;10390;210:1488:253;;;;;;;10390:103:74;;;;10274;210:1488:253;;;;;;10350:12:74;10274:103;;;;;5824:106:252;210:1488:253;;;;;;;;;:::i;6193:482:252:-;6309:24;;;:::i;:::-;-1:-1:-1;;6344:15:252;;6376:35;;;:::i;6340:331::-;210:1488:253;-1:-1:-1;210:1488:253;6428:12:252;210:1488:253;;;;-1:-1:-1;210:1488:253;;;6424:247:252;210:1488:253;;;6467:35:252;;;:::i;6424:247::-;-1:-1:-1;210:1488:253;;;7266:7:61;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;6528:35:252;;-1:-1:-1;1513:6:42;210:1488:253;-1:-1:-1;;;;;210:1488:253;;6575:14:252:o;6523:142::-;6621:35;;;:::i;7043:260::-;-1:-1:-1;;;;;210:1488:253;;;7175:17:252;;;:::i;:::-;210:1488:253;;;7206:17:252;;;;:54;;;;;7043:260;7206:91;;;;;;7198:100;;7043:260;:::o;7206:91::-;210:1488:253;;;-1:-1:-1;210:1488:253;4980:18:61;210:1488:253;;;-1:-1:-1;210:1488:253;;-1:-1:-1;210:1488:253;;;;;-1:-1:-1;210:1488:253;;;7043:260:252;:::o;7206:54::-;7227:21;;;;;;;:::i;:::-;210:1488:253;7227:33:252;7206:54;;;;;7647:398;-1:-1:-1;210:1488:253;;;7758:16:252;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;;-1:-1:-1;210:1488:253;;7818:24:252;210:1488:253;7818:24:252;:::i;:::-;7863:40;;;;;;;7647:398;7862:69;;;;7647:398;210:1488:253;;;;;;;8015:15:252;210:1488:253;;;;;7647:398:252;:::o;210:1488:253:-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;7862:69:252;210:1488:253;;;;7909:12:252;210:1488:253;;;;;;;;7908:23:252;7862:69;;7863:40;7881:22;;;;7863:40;;;8049:369;;8154:13;;210:1488:253;;11851:92:61;8203:24:252;;;;:::i;:::-;8238:54;;;;;8049:369;8238:81;;;8049:369;8234:124;;8049:369;11859:34:61;;;:::i;:::-;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;210:1488:253;11961:16:61;;;210:1488:253;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;210:1488:253;12171:42:61;12163:92;:::i;:::-;12901:27;8166:1:252;210:1488:253;;;12324:15:61;210:1488:253;;;;;-1:-1:-1;;;;;210:1488:253;;;;;;;;;;;;12792:9:61;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;210:1488:253;;;;;;;;;;;;;12901:27:61;;8049:369:252:o;210:1488:253:-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;8234:124:252;8342:8;;;;:::i;:::-;8234:124;;8238:81;210:1488:253;;8166:1:252;210:1488:253;8297:12:252;210:1488:253;;;;8166:1:252;210:1488:253;;;8296:23:252;8238:81;;:54;-1:-1:-1;;210:1488:253;;;7266:7:61;210:1488:253;;;;;;-1:-1:-1;;;;;210:1488:253;7680:31:61;8238:54:252;;210:1488:253;;;;:::o;:::-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;8529:391:252;8704:11;210:1488:253;;8529:391:252;8697:1;8700:22;;;;;;8894:21;;;;8697:1;8894:21;8697:1;210:1488:253;;;;;;:::i;:::-;8697:1:252;210:1488:253;;8529:391:252;:::o;8724:3::-;8753:14;;;:::i;:::-;210:1488:253;;8741:39:252;;;:80;;;8724:3;8737:145;;8724:3;;;:::i;:::-;8685:13;;8737:145;8850:14;;;;;;;:::i;:::-;8833:40;;210:1488:253;8850:22:252;8841:4;8833:40;8850:22;;210:1488:253;:::i;8741:80:252:-;8796:14;:25;:14;;;:::i;:::-;:25;;210:1488:253;8784:37:252;;;8741:80;;210:1488:253;;;;:::o;:::-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;-1:-1:-1;;;210:1488:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1488:253;;;;:::o;1987:344:61:-;210:1488:253;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:107;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;","linkReferences":{}},"methodIdentifiers":{"activateDeadmanListTrigger()":"5aec8d62","addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","areTokenURIsLocked()":"631d1d9a","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchMint(string,uint256)":"7cc918d1","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getBatchCount()":"a8fabfa5","getBatchInfo(uint256)":"1a0058f5","getDeadmanTriggerAvailableDatetime()":"717392ed","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isOperatorInList(address)":"eab85118","lockTokenURIs()":"a448dd4f","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDeadmanListTriggerRenewalDuration(uint256)":"21c4a5d8","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","tokenURIsLocked()":"bb2ee99f","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBatchBaseURI(uint256,string)":"de903ddd","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadmanTriggerStillActive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"BatchBaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_activator\",\"type\":\"address\"}],\"name\":\"DeadmanTriggerActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_oldDatetime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newDatetime\",\"type\":\"uint256\"}],\"name\":\"DeadmanTriggerDatetimeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"TokenURIsLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"activateDeadmanListTrigger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"areTokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBatchCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"}],\"name\":\"getBatchInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeadmanTriggerAvailableDatetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockTokenURIs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numYears\",\"type\":\"uint256\"}],\"name\":\"setDeadmanListTriggerRenewalDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newBaseURI\",\"type\":\"string\"}],\"name\":\"updateBatchBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"activateDeadmanListTrigger()\":{\"details\":\"Can only be called if deadmanListTriggerAfterDatetime is in the past.\"},\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getBatchCount()\":{\"details\":\"Returns the total number of batches.\"},\"getBatchInfo(uint256)\":{\"details\":\"Returns the start and end token IDs and base URI for a specific batch.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"returns\":{\"_0\":\"uint256 denoting unix epoch time after which the deadman trigger can be activated.\"}},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_numYears\":\"to renew the trigger for.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"DeadmanTriggerStillActive()\":[{\"notice\":\"Emitted when the deadman trigger datetime threshold hasnt passed but tries to get called.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"DeadmanTriggerActivated(address)\":{\"notice\":\"Emitted when the deadman switch is activated.\"},\"DeadmanTriggerDatetimeUpdated(address,uint256,uint256)\":{\"notice\":\"Emitted when deadman trigger datetime has been updated.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"activateDeadmanListTrigger()\":{\"notice\":\"Triggers the deadman switch for the list\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getDeadmanTriggerAvailableDatetime()\":{\"notice\":\"The datetime threshold after which the deadman trigger can be called by anyone.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"setDeadmanListTriggerRenewalDuration(uint256)\":{\"notice\":\"Sets the deadman list trigger for the specified number of years from current block timestamp\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol\":\"SovereignNFTRoyaltyGuardDeadmanTriggerV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6\",\"dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6\"]},\"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol\":{\"keccak256\":\"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286\",\"dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol\":{\"keccak256\":\"0xad6fb9ab7c1070f13cc4adece25f8d4e85bda48423f123157e310204ae8406fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f07a2aa442f240475dbb0b8c416233627b0d3044b5983b069d19d9c76245548\",\"dweb:/ipfs/QmePkcqv2oDL8Bdn5kXm6DEqoztYvY3uWmKSy4LjSG3PX8\"]},\"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol\":{\"keccak256\":\"0x9e94a56dcda0ab921c017dc639ba0eac9bbbf0332d372f76b71b341278eb18ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9841cb37c0fad595be724a3c190991f2913cd0724d0f5cf945fbdb17228aa764\",\"dweb:/ipfs/QmeHqsn3yM4WK9SPdaTG6MY3tgT5z2g7732VvriZozjwen\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"DeadmanTriggerStillActive"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"batchIndex","type":"uint256","indexed":true},{"internalType":"string","name":"newBaseURI","type":"string","indexed":false}],"type":"event","name":"BatchBaseURIUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"address","name":"_activator","type":"address","indexed":true}],"type":"event","name":"DeadmanTriggerActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"uint256","name":"_oldDatetime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newDatetime","type":"uint256","indexed":false}],"type":"event","name":"DeadmanTriggerDatetimeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"newURI","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[],"type":"event","name":"TokenURIsLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activateDeadmanListTrigger"},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[],"stateMutability":"view","type":"function","name":"areTokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBatchCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBatchInfo","outputs":[{"internalType":"uint256","name":"startTokenId","type":"uint256"},{"internalType":"uint256","name":"endTokenId","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeadmanTriggerAvailableDatetime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockTokenURIs"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_numYears","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDeadmanListTriggerRenewalDuration"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"},{"internalType":"string","name":"_newBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBatchBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_newURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"activateDeadmanListTrigger()":{"details":"Can only be called if deadmanListTriggerAfterDatetime is in the past."},"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getBatchCount()":{"details":"Returns the total number of batches."},"getBatchInfo(uint256)":{"details":"Returns the start and end token IDs and base URI for a specific batch."},"getDeadmanTriggerAvailableDatetime()":{"returns":{"_0":"uint256 denoting unix epoch time after which the deadman trigger can be activated."}},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"details":"Only the contract owner can call this function.","params":{"_numYears":"to renew the trigger for."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"activateDeadmanListTrigger()":{"notice":"Triggers the deadman switch for the list"},"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getDeadmanTriggerAvailableDatetime()":{"notice":"The datetime threshold after which the deadman trigger can be called by anyone."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"setDeadmanListTriggerRenewalDuration(uint256)":{"notice":"Sets the deadman list trigger for the specified number of years from current block timestamp"},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol":"SovereignNFTRoyaltyGuardDeadmanTriggerV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/IRoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0xcafb030b4ccdd7ddf079ac1a10280d1d706c0b605ea006f219535f9c65b3b703","urls":["bzz-raw://309f7d890fdec6388eb5524ae67e2cc1d2bc41dc3ae680297d2199c273e104a6","dweb:/ipfs/QmaJNTJLxnx6KwaSRnREdtYpSPYh4uygWgc4YjpgESXHP6"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol":{"keccak256":"0x1f4aaef4a676090590db2fff6c98004a13387fcfaa04e0c1f6ad23246f3629cb","urls":["bzz-raw://263643bab6c1cd0c86315c352c610965a712981de7a5b6cc1025d956d971f286","dweb:/ipfs/QmXofJtLz1uZaG1Bo34d9TogNiogTzEQsweTv684bJ41HB"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol":{"keccak256":"0xad6fb9ab7c1070f13cc4adece25f8d4e85bda48423f123157e310204ae8406fd","urls":["bzz-raw://7f07a2aa442f240475dbb0b8c416233627b0d3044b5983b069d19d9c76245548","dweb:/ipfs/QmePkcqv2oDL8Bdn5kXm6DEqoztYvY3uWmKSy4LjSG3PX8"],"license":"MIT"},"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol":{"keccak256":"0x9e94a56dcda0ab921c017dc639ba0eac9bbbf0332d372f76b71b341278eb18ce","urls":["bzz-raw://9841cb37c0fad595be724a3c190991f2913cd0724d0f5cf945fbdb17228aa764","dweb:/ipfs/QmeHqsn3yM4WK9SPdaTG6MY3tgT5z2g7732VvriZozjwen"],"license":"MIT"}},"version":1},"id":253} \ No newline at end of file diff --git a/abis/SovereignNFTRoyaltyGuardV2.json b/abis/SovereignNFTRoyaltyGuardV2.json new file mode 100644 index 0000000..a80a4be --- /dev/null +++ b/abis/SovereignNFTRoyaltyGuardV2.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_spender","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"areTokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchAddAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRemoveAddressToRoyaltyList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"},{"name":"_addrs","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBatchCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBatchInfo","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"startTokenId","type":"uint256","internalType":"uint256"},{"name":"endTokenId","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInUseList","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getList","inputs":[{"name":"_listType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getListType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"stateMutability":"view"},{"type":"function","name":"hasAdminPermission","inputs":[{"name":"_addr","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperatorInList","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockTokenURIs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"toggleListType","inputs":[{"name":"_newListType","type":"uint8","internalType":"enum IRoyaltyGuard.ListType"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBatchBaseURI","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"},{"name":"_newBaseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_newURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddressAddedToList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_addedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"AddressRemovedList","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_removedAddr","type":"address","indexed":true,"internalType":"address"},{"name":"_ListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchBaseURIUpdated","inputs":[{"name":"batchIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newBaseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListCleared","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_listType","type":"uint8","indexed":false,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"ListTypeUpdated","inputs":[{"name":"_updater","type":"address","indexed":true,"internalType":"address"},{"name":"_oldListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"},{"name":"_newListType","type":"uint8","indexed":true,"internalType":"enum IRoyaltyGuard.ListType"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIsLocked","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CantAddToOFFList","inputs":[]},{"type":"error","name":"MustBeAdmin","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x608080604052346100165761378e908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e81461214657806301ffc9a71461207057806306fdde0314611fc6578063081812fc14611fa6578063095ea7b314611d8a57806318160ddd14611d6a57806318e97fd114611a795780631a0058f5146119fd57806320427486146119c957806323b872dd146119a45780632a55205a146119125780632ce878da1461189f5780633403c4e9146118765780633ebc82c51461183457806340c1a0641461180a57806342842e0e146117d657806342966c68146117b9578063472a6638146117295780634aa52c41146116b95780635edc7c19146111af5780636297c16c14611133578063631d1d9a146107b45780636352211e1461110257806370a082311461106c578063715018a61461100f5780637cc918d114610d3a57806387bc793f14610d12578063894ba83314610cc45780638da5cb5b14610c9b57806395d89b4114610bb65780639e860f2a14610ac5578063a22cb46514610943578063a448dd4f146108a3578063a8fabfa514610883578063ab69607a14610864578063b88d4fde146107da578063bb2ee99f146107b4578063bc7194551461070c578063c87b56dd146106d1578063d9856c2114610669578063de903ddd146104e4578063e8315742146104c4578063e985e9c514610476578063eab851181461041b578063ee070805146103f8578063efc32cd4146103a5578063f2fde38b146103145763ff6e8c8f1461023157600080fd5b346103105761023f36612344565b90919260018060a01b0394856033541633036103035760038510156102f05784156102e35750509061027291369161285c565b92805b84518110156102df576102da906102a161028e856128c2565b86610299848a612901565b511690612943565b5083856102ae8389612901565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46128dc565b610275565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103105760203660031901126103105761032e61223f565b9161033761245b565b6001600160a01b038316156103535783610350846124b3565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103f457806003193601126103f4576103bf61223f565b906103c861245b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103f457816003193601126103f45760209060ff80541690519015158152f35b5050346103f45760203660031901126103f45760209061046d61043c61223f565b61044b60ff61010954166128c2565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103f457806003193601126103f45760ff8160209361049661223f565b61049e61225a565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103f457816003193601126103f457602090610100549051908152f35b508290346103f4576104f5366122b3565b91926104ff61245b565b61051c60ff805461051282821615612b55565b60081c1615613688565b61052a61010554851061363c565b600261053585612ba1565b5001906001600160401b038411610656575061055b8361055583546124fc565b83612b01565b84601f84116001146105c757956105b6918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105bc575b508560011b906000198760031b1c19161790555b51928392836136cc565b0390a280f35b905084013589610598565b81865260208087209190601f1986169088905b82821061063e575050916105b69391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610624575b5050600185811b0190556105ac565b850135600019600388901b60f8161c191690558880610615565b80600185968294968a013581550195019301906105da565b634e487b7160e01b865260419052602485fd5b8382346103f45760203660031901126103f45780356001600160401b0381116103105736602382011215610310576102df918160246106ad93369301359101612424565b6106b561245b565b6106c360ff80541615612b55565b60fc54339182908190612d2b565b50913461070957602036600319011261070957506106f26107059235613022565b905191829160208352602083019061221a565b0390f35b80fd5b5090346103105760203660031901126103105781359160038310156107b0576033546001600160a01b031633036107a25750610747826128c2565b80549084815581610784575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b633948261231b565b845260208420908101905b818110156107535784815560010161078f565b9051635c510c8360e11b8152fd5b8380fd5b5050346103f457816003193601126103f45760209060ff805460081c1690519015158152f35b8382346103f45760803660031901126103f4576107f561223f565b906107fe61225a565b91604435606435936001600160401b03851161086057366023860112156108605761083861085b9486602461035098369301359101612424565b9261084b61084684336132ad565b6125dc565b6108568383836133df565b6127d1565b612691565b8580fd5b5050346103f457816003193601126103f45760209060fc549051908152f35b5050346103f457816003193601126103f457602090610105549051908152f35b50346103105782600319360112610310576108bc61245b565b60ff549160ff8360081c166109005761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461031057806003193601126103105761095d61223f565b9060243591821515809303610ac15760ff61010954166003811015610aae5760018103610a645750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a55575b6001600160a01b031692338414610a135750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109b35760028552610108602052610a9a82862060018060a01b0383169060019160005201602052604060002054151590565b156109b35781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461031057610ad536612344565b6033546001600160a01b03949085163303610ba7575090610af791369161285c565b9160038210159081610aae5782610b0c578580f35b8591929394955b8551811015610b9757610b3b610b28866128c2565b83610b33848a612901565b5116906129b1565b508382610b488389612901565b511690610b84579085610b7f92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46128dc565b610b13565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103f457816003193601126103f45780519082609854610bd8816124fc565b80855291600191808316908115610c735750600114610c16575b505050610c04826107059403836123e8565b5191829160208352602083019061221a565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c5b57505050610c048260206107059582010194610bf2565b80546020878701810191909152909501948101610c3e565b610705975086935060209250610c0494915060ff191682840152151560051b82010194610bf2565b5050346103f457816003193601126103f45760335490516001600160a01b039091168152602090f35b8334610709578060031936011261070957610cdd61245b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103f457816003193601126103f4576107059060ff610109541690519182918261231b565b509190346103f457806003193601126103f4576001600160401b039280358481116107b057610d6c9036908301612286565b610d7795919561245b565b610d8560ff80541615612b55565b6101049081549660019384890194858a11610ffc576024998a350193818501808811610fea578511610fd85788519560209687810181811086821117610fc6578b52869052859055610100548511610f84578990610df98a5195610de88761239c565b898752888701928884523691612424565b948a8101958652610105805490600160401b821015610f72578582019055610e2090612ba1565b939093610f61575090600292915182555183820155019251968751928311610f4f5750889950610e5e82610e58859b999a9b546124fc565b85612b01565b8497601f8311600114610ecb578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ec0575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610e9a565b8388528588209098919291601f198316895b818110610f37575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610f1e575b505050811b019055610eac565b015160001960f88460031b161c19169055388080610f11565b828c015184558d9a5092850192918801918801610edd565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b833461070957806003193601126107095761102861245b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103f45760203660031901126103f4576001600160a01b0361109061223f565b169081156110ad576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461070957602036600319011261070957506111226020923561323d565b90516001600160a01b039091168152f35b5034610310576020366003190112610310578035916111518361323d565b336001600160a01b039091160361116c578361035084612bdd565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610310576080366003190112610310576001600160401b03918035838111610ac1576111e19036908301612286565b91906024358581116116b5576111fa9036908401612286565b611205969196612270565b9388549760ff94858a60081c1615978880996116a9575b8015611693575b1561163957600160ff198c1681178d559a89611628575b506001600160a01b038816156115e557611298929161129091611280898f600a60fc5561ffff198254168255606435610100555460081c1661127b81612aa1565b612aa1565b611289336124b3565b3691612424565b933691612424565b906112ac858b5460081c1661127b81612aa1565b82518481116115d257806112c16097546124fc565b94601f95868111611561575b506020908d8784116001146114e257926114d7575b5050600019600383901b1c1916908a1b176097555b81519384116114c4575061130c6098546124fc565b828111611461575b5060209183116001146113d5579180611389959492611361948b926113ca575b5050600019600383901b1c191690881b176098555b875460081c1661135881612aa1565b61127b81612aa1565b60fb80546001600160a01b0319166001600160a01b03831617905561138461245b565b6124b3565b611391578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611334565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611449575091611361959391856113899998969410611430575b505050811b01609855611349565b015160001960f88460031b161c19169055388080611422565b8284015185558b969094019360209384019301611405565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bb575b0160051c019089905b8281106114b0575050611314565b8b81550189906114a2565b92508192611499565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154957508411611530575b505050811b016097556112f7565b015160001960f88460031b161c19169055388080611522565b8284015185558f969094019360209384019301611513565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115c9575b859493910160051c909101908d908f5b8382106115bb575050506112cd565b81558594508e91018f6115ac565b9250819261159c565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861123a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122357506001878c1614611223565b506001878c161061121c565b8680fd5b8382346103f45760603660031901126103f45780356001600160401b038111610310576102df916116ec91369101612286565b906116f561225a565b6116fd612270565b9261170661245b565b61171460ff80541615612b55565b61172460fc549333923691612424565b612d2b565b50346103105760203660031901126103105780359160038310156107b0576033546001600160a01b0316330361030357506101099182549160ff83169060038210156117a65750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103f45760203660031901126103f4576103509035612bdd565b5050346103f45761085b610350916117ed366122e6565b919251926117fa846123cd565b86845261084b61084684336132ad565b5050346103f45760203660031901126103f45760335490516001600160a01b039091168152602090f35b83346107095760203660031901126107095761035061185161223f565b61185961245b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103f457816003193601126103f45760fb5490516001600160a01b039091168152602090f35b8284346107095780600319360112610709576118c060ff61010954166128c2565b9180519182845490818152602080910195835280832092905b8282106118fb5761070586866118f1828b03836123e8565b51918291826121b3565b8354875295860195600193840193909101906118d9565b5091346107095781600319360112610709578235815260fd60205281812054602435906001600160a01b03908116801561199857925b60fe60205284812054801561198e57925b83810293818504149015171561197b5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611959565b508060fb541692611948565b8334610709576103506119b6366122e6565b916119c461084684336132ad565b6133df565b5050346103f45760203660031901126103f4576020906119e761223f565b60018060a01b0380603354169116149051908152f35b5082346107095760203660031901126107095750611a299035611a2461010554821061363c565b612ba1565b506107058251611a388161239c565b825481526060611a5660026001860154956020850196875201612536565b91828682015251935194805195869586526020860152840152606083019061221a565b508290346103f457611a8a366122b3565b919260ff54611a9c60ff821615612b55565b6033546001600160a01b03163303611d1d5760ff611abe9160081c1615613688565b6000848152609960205260409020546001600160a01b031615158015611cf4575b15611cba57611aed846135b4565b505015611be05783855260206101078152868620916001600160401b038511611bcd5750611b2584611b1f84546124fc565b84612b01565b8590601f8511600114611b6e5750956105b6918487986000805160206137398339815191529798916105bc57508560011b906000198760031b1c191617905551928392836136cc565b90601f1985168388528288209288905b828210611bb5575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611b7e565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611bcd5750611c0b84611b1f84546124fc565b8590601f8511600114611c5b5750956105b691848798600080516020613739833981519152979891611c50575b508560011b906000198760031b1c19161790556105ac565b905084013589611c38565b90601f1985168388528288209288905b828210611ca2575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611c6b565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611cfe846135b4565b50508015611adf575083855261010260205260ff868620541615611adf565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346103f457816003193601126103f457602090610104549051908152f35b5034610310578160031936011261031057611da361223f565b906024359260ff61010954166003811015611f935760018103611f4c5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611f40575b6001600160a01b03918280611e038761323d565b16941693808514611ef357803314908115611ed4575b5015611e6c5750838552610103602052842080546001600160a01b03191683179055611e4483612cc5565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611e19565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611def5760028552610108602052611f8281862060018060a01b0385169060019160005201602052604060002054151590565b15611def57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b509134610709576020366003190112610709575061112260209235613317565b5050346103f457816003193601126103f45780519082609754611fe8816124fc565b80855291600191808316908115610c73575060011461201357505050610c04826107059403836123e8565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061205857505050610c048260206107059582010194610bf2565b8054602087870181019190915290950194810161203b565b50346103105760203660031901126103105735906001600160e01b031982168083036107b0576020935063fa31a45b60e01b8114928315612135575b83156120bd575b5050519015158152f35b919250631030681960e21b811491908215612124575b82156120fb575b5081156120eb575b509038806120b3565b6120f591506136f4565b386120e2565b90915063152a902d60e11b148015612115575b90386120da565b5061211f816136f4565b61210e565b6301ffc9a760e01b811492506120d3565b6301ffc9a760e01b821493506120ac565b50903461031057602091826003193601126107b0573560038110156107b05761216e906128c2565b9281518093808654928381520195835280832092905b82821061219c5761070586866118f1828b03836123e8565b835487529586019560019384019390910190612184565b6020908160408183019282815285518094520193019160005b8281106121da575050505090565b83516001600160a01b0316855293810193928101926001016121cc565b60005b83811061220a5750506000910152565b81810151838201526020016121fa565b90602091612233815180928185528580860191016121f7565b601f01601f1916010190565b600435906001600160a01b038216820361225557565b600080fd5b602435906001600160a01b038216820361225557565b604435906001600160a01b038216820361225557565b9181601f84011215612255578235916001600160401b038311612255576020838186019501011161225557565b9060406003198301126122555760043591602435906001600160401b038211612255576122e291600401612286565b9091565b6060906003190112612255576001600160a01b0390600435828116810361225557916024359081168103612255579060443590565b91906020830192600382101561232e5752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261225557600435600381101561225557916024356001600160401b039283821161225557806023830112156122555781600401359384116122555760248460051b83010111612255576024019190565b606081019081106001600160401b038211176123b757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b038211176123b757604052565b90601f801991011681019081106001600160401b038211176123b757604052565b6001600160401b0381116123b757601f01601f191660200190565b92919261243082612409565b9161243e60405193846123e8565b829481845281830111612255578281602093846000960137010152565b6033546001600160a01b0316330361246f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561252c575b602083101461251657565b634e487b7160e01b600052602260045260246000fd5b91607f169161250b565b906040519182600082549261254a846124fc565b9081845260019485811690816000146125b95750600114612576575b5050612574925003836123e8565b565b9093915060005260209081600020936000915b8183106125a157505061257493508201013880612566565b85548884018501529485019487945091830191612589565b91505061257494506020925060ff191682840152151560051b8201013880612566565b156125e357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561269857565b60405162461bcd60e51b8152806126b16004820161263e565b0390fd5b9192600092909190803b156127c757612703946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b96608483019061221a565b03926001600160a01b03165af1849181612787575b50612776575050503d60001461276e573d61273281612409565b9061274060405192836123e8565b81528091833d92013e5b8051918261276b5760405162461bcd60e51b8152806126b16004820161263e565b01fd5b50606061274a565b6001600160e01b0319161492509050565b9091508581813d83116127c0575b61279f81836123e8565b81010312610ac157516001600160e01b031981168103610ac1579038612718565b503d612795565b5050915050600190565b9293600093909291803b156128515794849161282b9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c97608483019061221a565b0393165af18491816127875750612776575050503d60001461276e573d61273281612409565b505050915050600190565b9092916001600160401b0384116123b7578360051b6040519260208094612885828501826123e8565b809781520191810192831161225557905b8282106128a35750505050565b81356001600160a01b0381168103612255578152908301908301612896565b600381101561232e57600052610108602052604060002090565b60001981146128eb5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156129155760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156129155760005260206000200190600090565b60008281526001820160205260409020546129aa57805490600160401b8210156123b7578261299361297c84600180960185558461292b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612a9a5760001991808301818111612a8657825490848201918211612a7257808203612a3d575b50505080548015612a2957820191612a0c838361292b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612a5d612a4d61297c938661292b565b90549060031b1c9283928661292b565b905586528460205260408620553880806129f4565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612aa857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612b0f57505050565b600091825260208220906020601f850160051c83019410612b4b575b601f0160051c01915b828110612b4057505050565b818155600101612b34565b9092508290612b2b565b15612b5c57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561291557600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612be6816135b4565b5050600082815261010260205260408120805460ff191660011790559080612ca6575b612ca257612c1a61084683336132ad565b612c2382612cc5565b50612c2d82612cc5565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612c09565b6000908152609960205260409020546001600160a01b03168015612ce65790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612e9e57612d6f61085b604051612d59816123cd565b89600096878352612d6a8282612f2e565b6126b5565b868352602091610106835260408420918151916001600160401b038311612e8a57612da483612d9e86546124fc565b86612b01565b8490601f8411600114612e2157928060fd9593819389989660409a94612e16575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612dc5565b8487528587209293929190601f198416885b818110612e75575091604098979593918560fd98969410612e5c575b505050811b019055612dd7565b015160001960f88460031b161c19169055388080612e4f565b82840151855593860193928801928801612e33565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612ee957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612fde57600082815260996020526040902054612f62906001600160a01b031615155b15612ee2565b600082815260996020526040902054612f85906001600160a01b03161515612f5c565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b600081815261010790602092828452604092613040848420546124fc565b61322e575061304e816135b4565b911515905061306c5750613069936101069183525220612536565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561321f575b5050866d04ee2d6d415b85acef810000000080841015613211575b5050662386f26fc1000080831015613202575b506305f5e100808310156131f3575b50612710808310156131e4575b5060648210156131d4575b600a809210156131ca575b6001908160218187019661312161310c89612409565b9861311989519a8b6123e8565b808a52612409565b888c019990601f1901368b3750870101905b613194575b5050505091602f60f81b9461317761306995936026955197856131648a9751809287808b0191016121f7565b86019384015251809360218401906121f7565b0164173539b7b760d91b60218201520360068101845201826123e8565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156131c557919082613133565b613138565b92600101926130f6565b92906064600291049101926130eb565b600491949204910192386130e0565b600891949204910192386130d3565b601091949204910192386130c4565b9401939091049086386130b1565b91945091500481923880613096565b90936130699483525220612536565b613246816135b4565b50506132555761306990612cc5565b8060005261010260205260ff604060002054166000146132785761306990612cc5565b6000818152609960205260409020546001600160a01b03166132a457506033546001600160a01b031690565b61306990612cc5565b6001600160a01b039081806132c18561323d565b16911691818314938415613300575b505082156132dd57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061330d90613317565b16149138806132d0565b600081815260fd60205260408120546001600160a01b03929190831661333c836135b4565b50509081156133d5575b50806133bd575b1561336357604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff6040822054161561334d565b9050151538613346565b90821561225557613429916133f3846135b4565b50508061353b575b80613521575b613512575b61340f84612cc5565b6001600160a01b039391841692849290918316841461355a565b169182156134c157816134469161343f86612cc5565b161461355a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61351c8482612f2e565b613406565b508360005261010260205260ff6040600020541615613401565b506000848152609960205260409020546001600160a01b0316156133fb565b1561356157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106135e157505090506000906000906040516135da816123cd565b6000815290565b6135ea81612ba1565b505482101580613625575b61360757613602906128dc565b6135bd565b8093506136149150612ba1565b509061306960026001949301612536565b50600161363182612ba1565b5001548211156135f5565b1561364357565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561368f57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b8114908115613727575b8115613719575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061370f56fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda264697066735822122017eb82674d3c42f7b9581bfa83424e75a929e877e6c40d9a17e90386f33585a764736f6c63430008120033","sourceMap":"185:1431:254:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004908136101561001557600080fd5b600091823560e01c8063012cf1e81461214657806301ffc9a71461207057806306fdde0314611fc6578063081812fc14611fa6578063095ea7b314611d8a57806318160ddd14611d6a57806318e97fd114611a795780631a0058f5146119fd57806320427486146119c957806323b872dd146119a45780632a55205a146119125780632ce878da1461189f5780633403c4e9146118765780633ebc82c51461183457806340c1a0641461180a57806342842e0e146117d657806342966c68146117b9578063472a6638146117295780634aa52c41146116b95780635edc7c19146111af5780636297c16c14611133578063631d1d9a146107b45780636352211e1461110257806370a082311461106c578063715018a61461100f5780637cc918d114610d3a57806387bc793f14610d12578063894ba83314610cc45780638da5cb5b14610c9b57806395d89b4114610bb65780639e860f2a14610ac5578063a22cb46514610943578063a448dd4f146108a3578063a8fabfa514610883578063ab69607a14610864578063b88d4fde146107da578063bb2ee99f146107b4578063bc7194551461070c578063c87b56dd146106d1578063d9856c2114610669578063de903ddd146104e4578063e8315742146104c4578063e985e9c514610476578063eab851181461041b578063ee070805146103f8578063efc32cd4146103a5578063f2fde38b146103145763ff6e8c8f1461023157600080fd5b346103105761023f36612344565b90919260018060a01b0394856033541633036103035760038510156102f05784156102e35750509061027291369161285c565b92805b84518110156102df576102da906102a161028e856128c2565b86610299848a612901565b511690612943565b5083856102ae8389612901565b5116337f14155f749dc3f9cd2bf890d6d3a47069f77ae35befcee11c8b1a3ba41cba15368680a46128dc565b610275565b5080f35b51632de777a160e11b8152fd5b634e487b7160e01b875260218252602487fd5b51635c510c8360e11b8152fd5b8280fd5b50346103105760203660031901126103105761032e61223f565b9161033761245b565b6001600160a01b038316156103535783610350846124b3565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5050346103f457806003193601126103f4576103bf61223f565b906103c861245b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346103f457816003193601126103f45760209060ff80541690519015158152f35b5050346103f45760203660031901126103f45760209061046d61043c61223f565b61044b60ff61010954166128c2565b6001600160a01b03909116600090815260019091016020526040902054151590565b90519015158152f35b5050346103f457806003193601126103f45760ff8160209361049661223f565b61049e61225a565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346103f457816003193601126103f457602090610100549051908152f35b508290346103f4576104f5366122b3565b91926104ff61245b565b61051c60ff805461051282821615612b55565b60081c1615613688565b61052a61010554851061363c565b600261053585612ba1565b5001906001600160401b038411610656575061055b8361055583546124fc565b83612b01565b84601f84116001146105c757956105b6918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c9798916105bc575b508560011b906000198760031b1c19161790555b51928392836136cc565b0390a280f35b905084013589610598565b81865260208087209190601f1986169088905b82821061063e575050916105b69391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610624575b5050600185811b0190556105ac565b850135600019600388901b60f8161c191690558880610615565b80600185968294968a013581550195019301906105da565b634e487b7160e01b865260419052602485fd5b8382346103f45760203660031901126103f45780356001600160401b0381116103105736602382011215610310576102df918160246106ad93369301359101612424565b6106b561245b565b6106c360ff80541615612b55565b60fc54339182908190612d2b565b50913461070957602036600319011261070957506106f26107059235613022565b905191829160208352602083019061221a565b0390f35b80fd5b5090346103105760203660031901126103105781359160038310156107b0576033546001600160a01b031633036107a25750610747826128c2565b80549084815581610784575b50507f7efc19cf93d497a6a56103ea89a39d51c0cad74a817ed3cd0ecaff9823d4da249051806105b633948261231b565b845260208420908101905b818110156107535784815560010161078f565b9051635c510c8360e11b8152fd5b8380fd5b5050346103f457816003193601126103f45760209060ff805460081c1690519015158152f35b8382346103f45760803660031901126103f4576107f561223f565b906107fe61225a565b91604435606435936001600160401b03851161086057366023860112156108605761083861085b9486602461035098369301359101612424565b9261084b61084684336132ad565b6125dc565b6108568383836133df565b6127d1565b612691565b8580fd5b5050346103f457816003193601126103f45760209060fc549051908152f35b5050346103f457816003193601126103f457602090610105549051908152f35b50346103105782600319360112610310576108bc61245b565b60ff549160ff8360081c166109005761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461031057806003193601126103105761095d61223f565b9060243591821515809303610ac15760ff61010954166003811015610aae5760018103610a645750600180865261010860209081528387206001600160a01b038416600090815292019052604090205415610a55575b6001600160a01b031692338414610a135750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b81516282b42960e81b81528490fd5b6002036109b35760028552610108602052610a9a82862060018060a01b0383169060019160005201602052604060002054151590565b156109b35781516282b42960e81b81528490fd5b634e487b7160e01b865260218552602486fd5b8480fd5b50903461031057610ad536612344565b6033546001600160a01b03949085163303610ba7575090610af791369161285c565b9160038210159081610aae5782610b0c578580f35b8591929394955b8551811015610b9757610b3b610b28866128c2565b83610b33848a612901565b5116906129b1565b508382610b488389612901565b511690610b84579085610b7f92337fc72e29af1b34de3dec3a764b4ca4d85b9c380ab33b9b268d29b6e7008bd0ed958780a46128dc565b610b13565b634e487b7160e01b845260218852602484fd5b5050935050505038808080808580f35b51635c510c8360e11b81528590fd5b5050346103f457816003193601126103f45780519082609854610bd8816124fc565b80855291600191808316908115610c735750600114610c16575b505050610c04826107059403836123e8565b5191829160208352602083019061221a565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b828610610c5b57505050610c048260206107059582010194610bf2565b80546020878701810191909152909501948101610c3e565b610705975086935060209250610c0494915060ff191682840152151560051b82010194610bf2565b5050346103f457816003193601126103f45760335490516001600160a01b039091168152602090f35b8334610709578060031936011261070957610cdd61245b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b5050346103f457816003193601126103f4576107059060ff610109541690519182918261231b565b509190346103f457806003193601126103f4576001600160401b039280358481116107b057610d6c9036908301612286565b610d7795919561245b565b610d8560ff80541615612b55565b6101049081549660019384890194858a11610ffc576024998a350193818501808811610fea578511610fd85788519560209687810181811086821117610fc6578b52869052859055610100548511610f84578990610df98a5195610de88761239c565b898752888701928884523691612424565b948a8101958652610105805490600160401b821015610f72578582019055610e2090612ba1565b939093610f61575090600292915182555183820155019251968751928311610f4f5750889950610e5e82610e58859b999a9b546124fc565b85612b01565b8497601f8311600114610ecb578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ec0575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610e9a565b8388528588209098919291601f198316895b818110610f37575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610f1e575b505050811b019055610eac565b015160001960f88460031b161c19169055388080610f11565b828c015184558d9a5092850192918801918801610edd565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b833461070957806003193601126107095761102861245b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346103f45760203660031901126103f4576001600160a01b0361109061223f565b169081156110ad576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50913461070957602036600319011261070957506111226020923561323d565b90516001600160a01b039091168152f35b5034610310576020366003190112610310578035916111518361323d565b336001600160a01b039091160361116c578361035084612bdd565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610310576080366003190112610310576001600160401b03918035838111610ac1576111e19036908301612286565b91906024358581116116b5576111fa9036908401612286565b611205969196612270565b9388549760ff94858a60081c1615978880996116a9575b8015611693575b1561163957600160ff198c1681178d559a89611628575b506001600160a01b038816156115e557611298929161129091611280898f600a60fc5561ffff198254168255606435610100555460081c1661127b81612aa1565b612aa1565b611289336124b3565b3691612424565b933691612424565b906112ac858b5460081c1661127b81612aa1565b82518481116115d257806112c16097546124fc565b94601f95868111611561575b506020908d8784116001146114e257926114d7575b5050600019600383901b1c1916908a1b176097555b81519384116114c4575061130c6098546124fc565b828111611461575b5060209183116001146113d5579180611389959492611361948b926113ca575b5050600019600383901b1c191690881b176098555b875460081c1661135881612aa1565b61127b81612aa1565b60fb80546001600160a01b0319166001600160a01b03831617905561138461245b565b6124b3565b611391578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880611334565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611449575091611361959391856113899998969410611430575b505050811b01609855611349565b015160001960f88460031b161c19169055388080611422565b8284015185558b969094019360209384019301611405565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106114bb575b0160051c019089905b8281106114b0575050611314565b8b81550189906114a2565b92508192611499565b634e487b7160e01b8a5260419052602489fd5b0151905038806112e2565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b81811061154957508411611530575b505050811b016097556112f7565b015160001960f88460031b161c19169055388080611522565b8284015185558f969094019360209384019301611513565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106115c9575b859493910160051c909101908d908f5b8382106115bb575050506112cd565b81558594508e91018f6115ac565b9250819261159c565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c553861123a565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561122357506001878c1614611223565b506001878c161061121c565b8680fd5b8382346103f45760603660031901126103f45780356001600160401b038111610310576102df916116ec91369101612286565b906116f561225a565b6116fd612270565b9261170661245b565b61171460ff80541615612b55565b61172460fc549333923691612424565b612d2b565b50346103105760203660031901126103105780359160038310156107b0576033546001600160a01b0316330361030357506101099182549160ff83169060038210156117a65750908060ff92337f12282389323caf08dd4e02c490ef05bc7edb56967c085742687aad3cc81aa15f8880a4169060ff191617905580f35b634e487b7160e01b865260219052602485fd5b8382346103f45760203660031901126103f4576103509035612bdd565b5050346103f45761085b610350916117ed366122e6565b919251926117fa846123cd565b86845261084b61084684336132ad565b5050346103f45760203660031901126103f45760335490516001600160a01b039091168152602090f35b83346107095760203660031901126107095761035061185161223f565b61185961245b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346103f457816003193601126103f45760fb5490516001600160a01b039091168152602090f35b8284346107095780600319360112610709576118c060ff61010954166128c2565b9180519182845490818152602080910195835280832092905b8282106118fb5761070586866118f1828b03836123e8565b51918291826121b3565b8354875295860195600193840193909101906118d9565b5091346107095781600319360112610709578235815260fd60205281812054602435906001600160a01b03908116801561199857925b60fe60205284812054801561198e57925b83810293818504149015171561197b5750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611959565b508060fb541692611948565b8334610709576103506119b6366122e6565b916119c461084684336132ad565b6133df565b5050346103f45760203660031901126103f4576020906119e761223f565b60018060a01b0380603354169116149051908152f35b5082346107095760203660031901126107095750611a299035611a2461010554821061363c565b612ba1565b506107058251611a388161239c565b825481526060611a5660026001860154956020850196875201612536565b91828682015251935194805195869586526020860152840152606083019061221a565b508290346103f457611a8a366122b3565b919260ff54611a9c60ff821615612b55565b6033546001600160a01b03163303611d1d5760ff611abe9160081c1615613688565b6000848152609960205260409020546001600160a01b031615158015611cf4575b15611cba57611aed846135b4565b505015611be05783855260206101078152868620916001600160401b038511611bcd5750611b2584611b1f84546124fc565b84612b01565b8590601f8511600114611b6e5750956105b6918487986000805160206137398339815191529798916105bc57508560011b906000198760031b1c191617905551928392836136cc565b90601f1985168388528288209288905b828210611bb5575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611b7e565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b038511611bcd5750611c0b84611b1f84546124fc565b8590601f8511600114611c5b5750956105b691848798600080516020613739833981519152979891611c50575b508560011b906000198760031b1c19161790556105ac565b905084013589611c38565b90601f1985168388528288209288905b828210611ca2575050916105b693918660008051602061373983398151915298999a9410610624575050600185811b0190556105ac565b80600185968294968a01358155019501930190611c6b565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b50611cfe846135b4565b50508015611adf575083855261010260205260ff868620541615611adf565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346103f457816003193601126103f457602090610104549051908152f35b5034610310578160031936011261031057611da361223f565b906024359260ff61010954166003811015611f935760018103611f4c5750600180865261010860209081528287206001600160a01b038616600090815292019052604090205415611f40575b6001600160a01b03918280611e038761323d565b16941693808514611ef357803314908115611ed4575b5015611e6c5750838552610103602052842080546001600160a01b03191683179055611e4483612cc5565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff828720541638611e19565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b516282b42960e81b8152fd5b600203611def5760028552610108602052611f8281862060018060a01b0385169060019160005201602052604060002054151590565b15611def57516282b42960e81b8152fd5b634e487b7160e01b865260218352602486fd5b509134610709576020366003190112610709575061112260209235613317565b5050346103f457816003193601126103f45780519082609754611fe8816124fc565b80855291600191808316908115610c73575060011461201357505050610c04826107059403836123e8565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b82861061205857505050610c048260206107059582010194610bf2565b8054602087870181019190915290950194810161203b565b50346103105760203660031901126103105735906001600160e01b031982168083036107b0576020935063fa31a45b60e01b8114928315612135575b83156120bd575b5050519015158152f35b919250631030681960e21b811491908215612124575b82156120fb575b5081156120eb575b509038806120b3565b6120f591506136f4565b386120e2565b90915063152a902d60e11b148015612115575b90386120da565b5061211f816136f4565b61210e565b6301ffc9a760e01b811492506120d3565b6301ffc9a760e01b821493506120ac565b50903461031057602091826003193601126107b0573560038110156107b05761216e906128c2565b9281518093808654928381520195835280832092905b82821061219c5761070586866118f1828b03836123e8565b835487529586019560019384019390910190612184565b6020908160408183019282815285518094520193019160005b8281106121da575050505090565b83516001600160a01b0316855293810193928101926001016121cc565b60005b83811061220a5750506000910152565b81810151838201526020016121fa565b90602091612233815180928185528580860191016121f7565b601f01601f1916010190565b600435906001600160a01b038216820361225557565b600080fd5b602435906001600160a01b038216820361225557565b604435906001600160a01b038216820361225557565b9181601f84011215612255578235916001600160401b038311612255576020838186019501011161225557565b9060406003198301126122555760043591602435906001600160401b038211612255576122e291600401612286565b9091565b6060906003190112612255576001600160a01b0390600435828116810361225557916024359081168103612255579060443590565b91906020830192600382101561232e5752565b634e487b7160e01b600052602160045260246000fd5b604060031982011261225557600435600381101561225557916024356001600160401b039283821161225557806023830112156122555781600401359384116122555760248460051b83010111612255576024019190565b606081019081106001600160401b038211176123b757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b038211176123b757604052565b90601f801991011681019081106001600160401b038211176123b757604052565b6001600160401b0381116123b757601f01601f191660200190565b92919261243082612409565b9161243e60405193846123e8565b829481845281830111612255578281602093846000960137010152565b6033546001600160a01b0316330361246f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c9216801561252c575b602083101461251657565b634e487b7160e01b600052602260045260246000fd5b91607f169161250b565b906040519182600082549261254a846124fc565b9081845260019485811690816000146125b95750600114612576575b5050612574925003836123e8565b565b9093915060005260209081600020936000915b8183106125a157505061257493508201013880612566565b85548884018501529485019487945091830191612589565b91505061257494506020925060ff191682840152151560051b8201013880612566565b156125e357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1561269857565b60405162461bcd60e51b8152806126b16004820161263e565b0390fd5b9192600092909190803b156127c757612703946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b96608483019061221a565b03926001600160a01b03165af1849181612787575b50612776575050503d60001461276e573d61273281612409565b9061274060405192836123e8565b81528091833d92013e5b8051918261276b5760405162461bcd60e51b8152806126b16004820161263e565b01fd5b50606061274a565b6001600160e01b0319161492509050565b9091508581813d83116127c0575b61279f81836123e8565b81010312610ac157516001600160e01b031981168103610ac1579038612718565b503d612795565b5050915050600190565b9293600093909291803b156128515794849161282b9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c97608483019061221a565b0393165af18491816127875750612776575050503d60001461276e573d61273281612409565b505050915050600190565b9092916001600160401b0384116123b7578360051b6040519260208094612885828501826123e8565b809781520191810192831161225557905b8282106128a35750505050565b81356001600160a01b0381168103612255578152908301908301612896565b600381101561232e57600052610108602052604060002090565b60001981146128eb5760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156129155760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156129155760005260206000200190600090565b60008281526001820160205260409020546129aa57805490600160401b8210156123b7578261299361297c84600180960185558461292b565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b90600182019060009281845282602052604084205490811515600014612a9a5760001991808301818111612a8657825490848201918211612a7257808203612a3d575b50505080548015612a2957820191612a0c838361292b565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b612a5d612a4d61297c938661292b565b90549060031b1c9283928661292b565b905586528460205260408620553880806129f4565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b15612aa857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f8111612b0f57505050565b600091825260208220906020601f850160051c83019410612b4b575b601f0160051c01915b828110612b4057505050565b818155600101612b34565b9092508290612b2b565b15612b5c57565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561291557600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b612be6816135b4565b5050600082815261010260205260408120805460ff191660011790559080612ca6575b612ca257612c1a61084683336132ad565b612c2382612cc5565b50612c2d82612cc5565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b031615612c09565b6000908152609960205260409020546001600160a01b03168015612ce65790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b939290916001946101049580875401809755610100548711612e9e57612d6f61085b604051612d59816123cd565b89600096878352612d6a8282612f2e565b6126b5565b868352602091610106835260408420918151916001600160401b038311612e8a57612da483612d9e86546124fc565b86612b01565b8490601f8411600114612e2157928060fd9593819389989660409a94612e16575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612dc5565b8487528587209293929190601f198416885b818110612e75575091604098979593918560fd98969410612e5c575b505050811b019055612dd7565b015160001960f88460031b161c19169055388080612e4f565b82840151855593860193928801928801612e33565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b15612ee957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b03168015612fde57600082815260996020526040902054612f62906001600160a01b031615155b15612ee2565b600082815260996020526040902054612f85906001600160a01b03161515612f5c565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b600081815261010790602092828452604092613040848420546124fc565b61322e575061304e816135b4565b911515905061306c5750613069936101069183525220612536565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101561321f575b5050866d04ee2d6d415b85acef810000000080841015613211575b5050662386f26fc1000080831015613202575b506305f5e100808310156131f3575b50612710808310156131e4575b5060648210156131d4575b600a809210156131ca575b6001908160218187019661312161310c89612409565b9861311989519a8b6123e8565b808a52612409565b888c019990601f1901368b3750870101905b613194575b5050505091602f60f81b9461317761306995936026955197856131648a9751809287808b0191016121f7565b86019384015251809360218401906121f7565b0164173539b7b760d91b60218201520360068101845201826123e8565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156131c557919082613133565b613138565b92600101926130f6565b92906064600291049101926130eb565b600491949204910192386130e0565b600891949204910192386130d3565b601091949204910192386130c4565b9401939091049086386130b1565b91945091500481923880613096565b90936130699483525220612536565b613246816135b4565b50506132555761306990612cc5565b8060005261010260205260ff604060002054166000146132785761306990612cc5565b6000818152609960205260409020546001600160a01b03166132a457506033546001600160a01b031690565b61306990612cc5565b6001600160a01b039081806132c18561323d565b16911691818314938415613300575b505082156132dd57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061330d90613317565b16149138806132d0565b600081815260fd60205260408120546001600160a01b03929190831661333c836135b4565b50509081156133d5575b50806133bd575b1561336357604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff6040822054161561334d565b9050151538613346565b90821561225557613429916133f3846135b4565b50508061353b575b80613521575b613512575b61340f84612cc5565b6001600160a01b039391841692849290918316841461355a565b169182156134c157816134469161343f86612cc5565b161461355a565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b61351c8482612f2e565b613406565b508360005261010260205260ff6040600020541615613401565b506000848152609960205260409020546001600160a01b0316156133fb565b1561356157565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b8381106135e157505090506000906000906040516135da816123cd565b6000815290565b6135ea81612ba1565b505482101580613625575b61360757613602906128dc565b6135bd565b8093506136149150612ba1565b509061306960026001949301612536565b50600161363182612ba1565b5001548211156135f5565b1561364357565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b1561368f57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b63ffffffff60e01b166380ac58cd60e01b8114908115613727575b8115613719575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b8114915061370f56fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda264697066735822122017eb82674d3c42f7b9581bfa83424e75a929e877e6c40d9a17e90386f33585a764736f6c63430008120033","sourceMap":"185:1431:254:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;1513:6:42;185:1431:254;;2088:10:115;1084:16:254;2064:71:115;;185:1431:254;;;;;;2839:39:115;;2835:84;;185:1431:254;;;;;;;;:::i;:::-;5643:13:115;;5677:3;185:1431:254;;5658:17:115;;;;;5677:3;5717:15;8398:50:113;5717:15:115;;;:::i;:::-;5737:9;;;;;:::i;:::-;185:1431:254;;8398:50:113;;:::i;:::-;;5795:9:115;;;;;;:::i;:::-;185:1431:254;;2088:10:115;5764:52;;;;5677:3;:::i;:::-;5643:13;;5658:17;;185:1431:254;;2835:84:115;185:1431:254;-1:-1:-1;;;2887:32:115;;;185:1431:254;-1:-1:-1;;;185:1431:254;;;;;;;;2064:71:115;185:1431:254;-1:-1:-1;;;2108:27:115;;;185:1431:254;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;185:1431:254;;2402:22:42;185:1431:254;;2496:8:42;;;;:::i;:::-;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;185:1431:254;;;;4803:16:252;185:1431:254;;;;;;-1:-1:-1;;;;;;185:1431:254;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:20:252;185:1431:254;;;;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;8963:55:113;185:1431:254;;:::i;:::-;4167:14:115;185:1431:254;4172:8:115;185:1431:254;;4167:14:115;:::i;:::-;-1:-1:-1;;;;;185:1431:254;;;-1:-1:-1;185:1431:254;;;;4351:12:113;;;185:1431:254;;;;;;4351:24:113;;;4255:127;8963:55;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;185:1431:254;;;;;4980:18:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1222:24:252;185:1431:254;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;10666:50:252;2981:8;185:1431:254;;2972:52:252;185:1431:254;;;2980:9:252;2972:52;:::i;:::-;185:1431:254;;;10674:16:252;10666:50;:::i;:::-;10722:70;10744:11;185:1431:254;10730:32:252;;10722:70;:::i;:::-;10799:32;:24;;;:::i;:::-;:32;;185:1431:254;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;10857:45:252;185:1431:254;;;;10857:45:252;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;10857:45:252;;;;;:::i;:::-;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;;;;10857:45:252;185:1431:254;;;10857:45:252;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;3643:85:252;185:1431:254;;;;;;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;2972:52:252;2981:8;185:1431:254;;;2980:9:252;2972:52;:::i;:::-;2453:24:233;185:1431:254;3662:10:252;;;;;;3643:85;:::i;185:1431:254:-;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;;;1513:6:42;185:1431:254;-1:-1:-1;;;;;185:1431:254;2088:10:115;1084:16:254;2064:71:115;;3436:15;;;;:::i;:::-;185:1431:254;;;;;;;;;;;;3462:34:115;185:1431:254;;2088:10:115;3462:34;2088:10;3462:34;;;:::i;185:1431:254:-;;;;;;;;;;;;;;;;;;;;;;;;2064:71:115;185:1431:254;;-1:-1:-1;;;2108:27:115;;;185:1431:254;;;;;;;;;;;;;;;;;;;;1190:27:252;185:1431:254;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;6956:47:61;185:1431:254;;;6948:110:61;185:1431:254;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;185:1431:254:-;;;;;;;;;;;;;;;;;;;;2453:24:233;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;9492:11:252;185:1431:254;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;10970:15:252;185:1431:254;;10970:15:252;185:1431:254;;;;;;-1:-1:-1;;185:1431:254;;;;10970:15:252;185:1431:254;;11060:17:252;185:1431:254;;11060:17:252;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;1460:8:115;185:1431:254;;;;;;;;1472:28:115;1460:40;;1472:28;;-1:-1:-1;1472:28:115;185:1431:254;;;1515:4:115;185:1431:254;;;;;;;-1:-1:-1;;;;;185:1431:254;;-1:-1:-1;185:1431:254;;;4351:12:113;;185:1431:254;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;185:1431:254;;929:10:68;13528:17:61;;185:1431:254;;929:10:68;;185:1431:254;;13585:18:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:61;185:1431:254;929:10:68;13646:41:61;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;1510:92:115;185:1431:254;;-1:-1:-1;;;1574:28:115;;185:1431:254;;1574:28:115;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;185:1431:254;;1672:4:115;185:1431:254;;8963:55:113;185:1431:254;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;185:1431:254;4351:12:113;185:1431:254;;;-1:-1:-1;185:1431:254;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;185:1431:254;;-1:-1:-1;;;1730:28:115;;185:1431:254;;1730:28:115;185:1431:254;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1513:6:42;185:1431:254;-1:-1:-1;;;;;185:1431:254;;;;2088:10:115;1084:16:254;2064:71:115;;185:1431:254;;;;;;;:::i;:::-;;;;;;;;;;5589:39:115;5585:387;;185:1431:254;;;5585:387:115;5643:13;;;;;;5677:3;185:1431:254;;5658:17:115;;;;;8719:53:113;5845:15:115;;;:::i;:::-;5868:9;;;;;:::i;:::-;185:1431:254;;8719:53:113;;:::i;:::-;;5926:9:115;;;;;;:::i;:::-;185:1431:254;;;;;2088:10:115;;5677:3;2088:10;;5895:52;;;;5677:3;:::i;:::-;5643:13;;185:1431:254;-1:-1:-1;;;185:1431:254;;;;;;;;5658:17:115;;;;;;;;5585:387;;;;;185:1431:254;;;2064:71:115;185:1431:254;-1:-1:-1;;;2108:27:115;;185:1431:254;;2108:27:115;185:1431:254;;;;;;;;;;;;;;;;;;3182:7:61;185:1431:254;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;185:1431:254;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;4528:4:252;185:1431:254;;;;;;;;4560:10:252;4543:28;;;;185:1431:254;;;;;;;;;;;;;;;;;;;4333:8:115;185:1431:254;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;2972:52:252;2981:8;185:1431:254;;;2980:9:252;2972:52;:::i;:::-;3170:14;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3365:9:252;185:1431:254;3337:37:252;;185:1431:254;;;;;;;;;;;:::i;:::-;;;;3432:45:252;;;185:1431:254;;;;;;;:::i;:::-;3432:45:252;;;;185:1431:254;;;3415:11:252;185:1431:254;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;3490:66:252;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;185:1431:254;;;;;;;3490:66:252;185:1431:254;;;;;;-1:-1:-1;185:1431:254;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;;3490:66:252;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;185:1431:254;;-1:-1:-1;;;;;;185:1431:254;;;;;;;-1:-1:-1;;;;;185:1431:254;2806:40:42;185:1431:254;;2806:40:42;185:1431:254;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;-1:-1:-1;;;;;185:1431:254;;:::i;:::-;;2489:19:61;;;185:1431:254;;;;;;;;;2571:9:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;2866:17:252;;;;:::i;:::-;2887:10;-1:-1:-1;;;;;185:1431:254;;;2866:31:252;185:1431:254;;4040:8:252;;;;:::i;185:1431:254:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;185:1431:254;3346:108:48;;;;185:1431:254;;;;;-1:-1:-1;;185:1431:254;;;;;;;;3562:65:48;;185:1431:254;-1:-1:-1;;;;;;185:1431:254;;2442:22:252;185:1431:254;;;;;;;5366:69:48;185:1431:254;;2534:2:252;2197:38:233;185:1431:254;;;;;;;;;;2594:22:252;185:1431:254;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;185:1431:254;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;185:1431:254;;;;;;5366:69:48;;;:::i;:::-;185:1431:254;;;;;;;;;1873:13:61;185:1431:254;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;185:1431:254;;;;;;;;;;;1873:13:61;185:1431:254;;;;;;;;;;;1896:17:61;185:1431:254;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;185:1431:254;;;5366:69:48;185:1431:254;;;;;;-1:-1:-1;;;;185:1431:254;;;;;;;;;;;1896:17:61;185:1431:254;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;185:1431:254;;-1:-1:-1;;;;;;185:1431:254;-1:-1:-1;;;;;185:1431:254;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;185:1431:254;;;3647:99:48;185:1431:254;;-1:-1:-1;;185:1431:254;;;;;;;3721:14:48;;185:1431:254;;3721:14:48;3647:99;;185:1431:254;;;;;;;-1:-1:-1;185:1431:254;;;;;1896:17:61;185:1431:254;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;5366:69:48;185:1431:254;;;;2496:8:42;185:1431:254;;;;;;;;;;;;;;1896:17:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;;;;;;;;;1873:13:61;185:1431:254;;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;;;;1873:13:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;185:1431:254;;;;;3562:65:48;;;185:1431:254;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;185:1431:254;;;;;3436:17:48;3346:108;;3347:34;185:1431:254;;;;;3365:16:48;3347:34;;185:1431:254;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;;;;3859:90:252;185:1431:254;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:42;;;:::i;:::-;2972:52:252;2981:8;185:1431:254;;;2980:9:252;2972:52;:::i;:::-;185:1431:254;2453:24:233;185:1431:254;3878:10:252;;185:1431:254;;;;:::i;:::-;3859:90:252;:::i;185:1431:254:-;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;;;1513:6:42;185:1431:254;-1:-1:-1;;;;;185:1431:254;2088:10:115;1084:16:254;2064:71:115;;5330:8;;185:1431:254;;;;;;;;;;;;;;2088:10:115;;;185:1431:254;2088:10:115;;5302:51;;;;185:1431:254;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;185:1431:254;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;185:1431:254:-;;;;;;;;-1:-1:-1;;185:1431:254;;;;1513:6:42;185:1431:254;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;4686:9:252;185:1431:254;;:::i;:::-;1303:62:42;;:::i;:::-;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;;1492:34:233;185:1431:254;;;1492:34:233;185:1431:254;1418:115:233;185:1431:254;;;;;;;;;;;;;;2332:22:233;185:1431:254;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;4008:14:115;185:1431:254;4013:8:115;185:1431:254;;4008:14:115;:::i;:::-;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;185:1431:254;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;1049:40:233;;185:1431:254;;1049:118:233;;1238:18;185:1431:254;;;;;;1238:33:233;;;;:131;;185:1431:254;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;1401:3:233;185:1431:254;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;1238:131:233;185:1431:254;1345:24:233;185:1431:254;1238:131:233;;;1049:118;185:1431:254;;1145:22:233;185:1431:254;;1049:118:233;;;185:1431:254;;;;;5365:7:61;185:1431:254;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;185:1431:254:-;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;:::i;:::-;;;;;;;1513:6:42;185:1431:254;;;;1084:16;185:1431;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;9264:24:252;185:1431:254;;9162:70:252;9184:11;185:1431:254;9170:32:252;;9162:70;:::i;:::-;9264:24;:::i;:::-;185:1431:254;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;2981:8:252;185:1431:254;2972:52:252;2981:8;185:1431:254;;2980:9:252;2972:52;:::i;:::-;1513:6:42;185:1431:254;-1:-1:-1;;;;;185:1431:254;10084:10:252;:36;185:1431:254;;2981:8:252;10164:50;185:1431:254;;;;10172:16:252;10164:50;:::i;:::-;-1:-1:-1;185:1431:254;;;7266:7:61;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;7680:31:61;;10228:50:252;;;;185:1431:254;;;;10338:24:252;;;:::i;:::-;-1:-1:-1;;10369:126:252;;;185:1431:254;;;;10397:20:252;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;10506:34:252;185:1431:254;;;;-1:-1:-1;;;;;;;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;10506:34:252;;;;;:::i;185:1431:254:-;;;;;;;;;;;;;;;;;;;;;;;;10506:34:252;185:1431:254;;;-1:-1:-1;;;;;;;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;10369:126:252;185:1431:254;;;;10458:10:252;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;10506:34:252;185:1431:254;;;;-1:-1:-1;;;;;;;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;10369:126:252;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10506:34:252;185:1431:254;;;-1:-1:-1;;;;;;;;;;;185:1431:254;;;;;;;;;;;;;;;;10369:126:252;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;10228:50:252;11292:24;;;;:::i;:::-;11329:41;;;;10228:50;11329:41;185:1431:254;;;;11348:12:252;185:1431:254;;2981:8:252;185:1431:254;;;;;11347:23:252;10228:50;;185:1431:254;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;8496:14:252;185:1431:254;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;1460:8:115;185:1431:254;;;;;;;;;1460:40:115;;185:1431:254;;-1:-1:-1;185:1431:254;;;;1515:4:115;185:1431:254;;;;;;;-1:-1:-1;;;;;185:1431:254;;-1:-1:-1;185:1431:254;;;4351:12:113;;185:1431:254;;;;;;4351:24:113;1510:92:115;;1456:309;-1:-1:-1;;;;;185:1431:254;;;6771:16:252;;;:::i;:::-;185:1431:254;;;6801:11:252;;;;185:1431:254;;929:10:68;;6872:21:252;:62;;;;;1456:309:115;185:1431:254;;;;-1:-1:-1;185:1431:254;;;7474:15:252;185:1431:254;;;;;;-1:-1:-1;;;;;;185:1431:254;;;;;7523:34:252;185:1431:254;7523:34:252;:::i;:::-;185:1431:254;7514:57:252;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6872:62:252;185:1431:254;;;;4980:18:61;185:1431:254;;;;;929:10:68;185:1431:254;;;;;;;;;;6872:62:252;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;1510:92:115;185:1431:254;-1:-1:-1;;;1574:28:115;;;1456:309;1631:27;1619:39;1456:309;1615:150;1631:27;185:1431:254;;1672:4:115;185:1431:254;;8963:55:113;185:1431:254;;;;;;;;;;8963:55:113;4351:12;4255:127;-1:-1:-1;185:1431:254;4351:12:113;185:1431:254;;;-1:-1:-1;185:1431:254;;4351:24:113;;4255:127;;8963:55;1668:90:115;1456:309;1668:90;185:1431:254;-1:-1:-1;;;1730:28:115;;;185:1431:254;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;185:1431:254;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;-1:-1:-1;;;;;;185:1431:254;;;;;;;;;-1:-1:-1;;;;4844:47:115;;;:88;;;;185:1431:254;646:94;;;;185:1431;;;;;;;;;;646:94;9765:31:252;;-1:-1:-1;;;;9750:46:252;;;9765:31;9750:104;;;;646:94:254;9750:163:252;;;;646:94:254;9750:221:252;;;;;646:94:254;;;;;;;9750:221:252;9923:48;;;;:::i;:::-;9750:221;;;:163;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;9750:163:252;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;9750:104:252;-1:-1:-1;;;937:40:107;;;-1:-1:-1;9750:104:252;;4844:88:115;-1:-1:-1;;;937:40:107;;;-1:-1:-1;4844:88:115;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;3857:15:115;;;:::i;:::-;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;185:1431:254;;;;:::o;:::-;;;;-1:-1:-1;;;;;185:1431:254;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;185:1431:254;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;185:1431:254;;;;;-1:-1:-1;185:1431:254;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;:::o;:::-;-1:-1:-1;;;;;185:1431:254;;;;;;-1:-1:-1;;185:1431:254;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;:::o;1599:130:42:-;1513:6;185:1431:254;-1:-1:-1;;;;;185:1431:254;929:10:68;1662:23:42;185:1431:254;;1599:130:42:o;185:1431:254:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;185:1431:254;;-1:-1:-1;;;;;185:1431:254;;;-1:-1:-1;;;;;;185:1431:254;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;185:1431:254:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;185:1431:254;;;;-1:-1:-1;185:1431:254;;-1:-1:-1;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;185:1431:254;;;;;;;;:::i;:::-;;;;14463:853:61;;;185:1431:254;;14463:853:61;;;1713:19:66;;:23;:19;;185:1431:254;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;185:1431:254;;;;;;;;;;;;;;;14667:82:61;;;;185:1431:254;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;185:1431:254;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;185:1431:254;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;185:1431:254;;-1:-1:-1;;;14969:60:61;;185:1431:254;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;185:1431:254;;;;;14663:595:61;-1:-1:-1;;;;;;185:1431:254;14799:62:61;;-1:-1:-1;185:1431:254;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;185:1431:254;;;;;-1:-1:-1;;;;;;185:1431:254;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;185:1431:254;;14463:853:61;;;1713:19:66;;:23;:19;;185:1431:254;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;185:1431:254;;;;;;;;:::i;:::-;14667:82:61;185:1431:254;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;185:1431:254;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;185:1431:254:-;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;3857:4:115;185:1431:254;;;-1:-1:-1;185:1431:254;;:::o;:::-;-1:-1:-1;;185:1431:254;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;;-1:-1:-1;185:1431:254;;;-1:-1:-1;185:1431:254;:::o;2214:404:113:-;-1:-1:-1;185:1431:254;;;4351:12:113;;;185:1431:254;;;;;;2298:21:113;;185:1431:254;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;185:1431:254;2493:12:113;185:1431:254;;;-1:-1:-1;185:1431:254;;;2547:11:113;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:113;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;3023:15:113;;;;3019:1149;3023:15;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;;;;;;;;;;3505:26:113;;;3501:398;;3019:1149;185:1431:254;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:113;4103:11;:::o;185:1431:254:-;-1:-1:-1;;;185:1431:254;;;;;;;;3501:398:113;185:1431:254;3571:22:113;3693:26;3571:22;;;:::i;:::-;185:1431:254;;;;;;3693:26:113;;;;;:::i;185:1431:254:-;;;;;;;;;;;;3501:398:113;;;;;185:1431:254;-1:-1:-1;;;185:1431:254;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;3019:1149:113;4145:12;;;;;:::o;185:1431:254:-;;;;:::o;:::-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;;;;:::o;:::-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;9184:11:252;185:1431:254;;;;;;;;;;-1:-1:-1;185:1431:254;;;;;-1:-1:-1;185:1431:254;:::o;4058:289:252:-;4148:24;;;:::i;:::-;-1:-1:-1;;;185:1431:254;;;4179:12:252;185:1431:254;;;;;;;-1:-1:-1;;185:1431:254;4204:4:252;185:1431:254;;;-1:-1:-1;185:1431:254;4219:54:252;;4058:289;4215:81;;911:99:64;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;185:1431:254;;;11014:15:61;185:1431:254;;;;;;;;;;-1:-1:-1;;;;;;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;11254:9:61;185:1431:254;;;;;;;-1:-1:-1;;185:1431:254;;;;;;11302:7:61;185:1431:254;;;;;;;;;;;;;11334:36:61;185:1431:254;;11334:36:61;4058:289:252:o;4215:81::-;4283:7;;:::o;4219:54::-;-1:-1:-1;;185:1431:254;;;7266:7:61;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;7680:31:61;4219:54:252;;2651:219:61;-1:-1:-1;185:1431:254;;;7266:7:61;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;2793:19:61;;185:1431:254;;2651:219:61;:::o;185:1431:254:-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;4970:564:252;;;;;1061:1:69;5154:14:252;;185:1431:254;;;;;;;;5253:9:252;185:1431:254;5242:20:252;;185:1431:254;;8929:150:61;8950:53;185:1431:254;;;;;:::i;:::-;-1:-1:-1;;185:1431:254;;;;8911:7:61;;;;:::i;:::-;8950:53;:::i;8929:150::-;185:1431:254;;;;;5334:10:252;185:1431:254;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;1639:16:233;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4927:13:252;185:1431:254;;;;;;;;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;1794:18:233;185:1431:254;;;;;;;;;;;;;;;;;4970:564:252;:::o;185:1431:254:-;;;;-1:-1:-1;185:1431:254;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;;;;;;;;;;;;;;;1639:16:233;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;9408:920:61;-1:-1:-1;;;;;185:1431:254;9487:16:61;;185:1431:254;;-1:-1:-1;185:1431:254;;;7266:7:61;185:1431:254;;;;;;9550:58:61;;-1:-1:-1;;;;;185:1431:254;7680:31:61;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;185:1431:254;;;7266:7:61;185:1431:254;;;;;;9754:58:61;;-1:-1:-1;;;;;185:1431:254;7680:31:61;;9763:16;7592:126;9754:58;9501:1;185:1431:254;;;10154:9:61;185:1431:254;;;;;;;;;;;;;;10193:7:61;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;10230:33:61;;;;9408:920::o;185:1431:254:-;;;;;;;;;;;;;;;;;;;;;;;;;5685:504:252;-1:-1:-1;185:1431:254;;;5834:20:252;185:1431:254;;;;;;;;;;;;;;:::i;:::-;5824:106:252;;5990:24;;;;:::i;:::-;6025:15;;;;-1:-1:-1;6025:15:252;;185:1431:254;;;6057:10:252;185:1431:254;;;;;;:::i;:::-;6050:27:252;:::o;6021:164::-;6148:19;10222:18:74;;6148:19:252;10287:8:74;6148:19:252;10278:17:74;;;;10274:103;;6021:164:252;10403:8:74;;;;10394:17;;;;10390:103;;6021:164:252;10519:8:74;;;10510:17;;;;10506:103;;6021:164:252;10635:7:74;;10626:16;;;;10622:100;;6021:164:252;10748:7:74;;10739:16;;;;10735:100;;6021:164:252;10852:16:74;10861:7;10852:16;;;10848:100;;6021:164:252;10974:7:74;10965:16;;;;10961:66;;6021:164:252;633:1:71;185:1431:254;;775:76:71;185:1431:254;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;185:1431:254;;;;775:76:71;;;;864:280;633:1;;;864:280;185:1431:254;;;;;-1:-1:-1;;;185:1431:254;;6112:65:252;185:1431:254;;6112:65:252;185:1431:254;;;;;;;;6112:65:252;;;;;;185:1431:254;;;:::i;:::-;;;;;;;;;;775:76:71;185:1431:254;;;;:::i;:::-;;-1:-1:-1;;;775:76:71;185:1431:254;;;6112:65:252;;;;;;;;;:::i;864:280:71:-;-1:-1:-1;;185:1431:254;;;;-1:-1:-1;;;969:93:71;;;;185:1431:254;969:93:71;185:1431:254;1079:11:71;;1112:10;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:74;185:1431:254;11011:1:74;185:1431:254;10961:66:74;;;10848:100;185:1431:254;;10861:7:74;10932:1;185:1431:254;;;;10848:100:74;;;10735;10819:1;185:1431:254;;;;;;10735:100:74;;;;10622;10706:1;185:1431:254;;;;;;10622:100:74;;;;10506:103;10592:2;185:1431:254;;;;;;10506:103:74;;;;10390;185:1431:254;;;;;;;10390:103:74;;;;10274;185:1431:254;;;;;;10350:12:74;10274:103;;;;;5824:106:252;185:1431:254;;;;;;;;;:::i;6193:482:252:-;6309:24;;;:::i;:::-;-1:-1:-1;;6344:15:252;;6376:35;;;:::i;6340:331::-;185:1431:254;-1:-1:-1;185:1431:254;6428:12:252;185:1431:254;;;;-1:-1:-1;185:1431:254;;;6424:247:252;185:1431:254;;;6467:35:252;;;:::i;6424:247::-;-1:-1:-1;185:1431:254;;;7266:7:61;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;6528:35:252;;-1:-1:-1;1513:6:42;185:1431:254;-1:-1:-1;;;;;185:1431:254;;6575:14:252:o;6523:142::-;6621:35;;;:::i;7043:260::-;-1:-1:-1;;;;;185:1431:254;;;7175:17:252;;;:::i;:::-;185:1431:254;;;7206:17:252;;;;:54;;;;;7043:260;7206:91;;;;;;7198:100;;7043:260;:::o;7206:91::-;185:1431:254;;;-1:-1:-1;185:1431:254;4980:18:61;185:1431:254;;;-1:-1:-1;185:1431:254;;-1:-1:-1;185:1431:254;;;;;-1:-1:-1;185:1431:254;;;7043:260:252;:::o;7206:54::-;7227:21;;;;;;;:::i;:::-;185:1431:254;7227:33:252;7206:54;;;;;7647:398;-1:-1:-1;185:1431:254;;;7758:16:252;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;;-1:-1:-1;185:1431:254;;7818:24:252;185:1431:254;7818:24:252;:::i;:::-;7863:40;;;;;;;7647:398;7862:69;;;;7647:398;185:1431:254;;;;;;;8015:15:252;185:1431:254;;;;;7647:398:252;:::o;185:1431:254:-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;7862:69:252;185:1431:254;;;;7909:12:252;185:1431:254;;;;;;;;7908:23:252;7862:69;;7863:40;7881:22;;;;7863:40;;;8049:369;;8154:13;;185:1431:254;;11851:92:61;8203:24:252;;;;:::i;:::-;8238:54;;;;;8049:369;8238:81;;;8049:369;8234:124;;8049:369;11859:34:61;;;:::i;:::-;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;185:1431:254;11961:16:61;;;185:1431:254;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;185:1431:254;12171:42:61;12163:92;:::i;:::-;12901:27;8166:1:252;185:1431:254;;;12324:15:61;185:1431:254;;;;;-1:-1:-1;;;;;185:1431:254;;;;;;;;;;;;12792:9:61;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;185:1431:254;;;;;;;;;;;;;12901:27:61;;8049:369:252:o;185:1431:254:-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;8234:124:252;8342:8;;;;:::i;:::-;8234:124;;8238:81;185:1431:254;;8166:1:252;185:1431:254;8297:12:252;185:1431:254;;;;8166:1:252;185:1431:254;;;8296:23:252;8238:81;;:54;-1:-1:-1;;185:1431:254;;;7266:7:61;185:1431:254;;;;;;-1:-1:-1;;;;;185:1431:254;7680:31:61;8238:54:252;;185:1431:254;;;;:::o;:::-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;8529:391:252;8704:11;185:1431:254;;8529:391:252;8697:1;8700:22;;;;;;8894:21;;;;8697:1;8894:21;8697:1;185:1431:254;;;;;;:::i;:::-;8697:1:252;185:1431:254;;8529:391:252;:::o;8724:3::-;8753:14;;;:::i;:::-;185:1431:254;;8741:39:252;;;:80;;;8724:3;8737:145;;8724:3;;;:::i;:::-;8685:13;;8737:145;8850:14;;;;;;;:::i;:::-;8833:40;;185:1431:254;8850:22:252;8841:4;8833:40;8850:22;;185:1431:254;:::i;8741:80:252:-;8796:14;:25;:14;;;:::i;:::-;:25;;185:1431:254;8784:37:252;;;8741:80;;185:1431:254;;;;:::o;:::-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;-1:-1:-1;;;185:1431:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;185:1431:254;;;;:::o;1987:344:61:-;185:1431:254;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;937:40:107;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;","linkReferences":{}},"methodIdentifiers":{"addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","areTokenURIsLocked()":"631d1d9a","balanceOf(address)":"70a08231","batchAddAddressToRoyaltyList(uint8,address[])":"ff6e8c8f","batchMint(string,uint256)":"7cc918d1","batchRemoveAddressToRoyaltyList(uint8,address[])":"9e860f2a","burn(uint256)":"42966c68","clearList(uint8)":"bc719455","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getBatchCount()":"a8fabfa5","getBatchInfo(uint256)":"1a0058f5","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","getInUseList()":"2ce878da","getList(uint8)":"012cf1e8","getListType()":"87bc793f","hasAdminPermission(address)":"20427486","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","isOperatorInList(address)":"eab85118","lockTokenURIs()":"a448dd4f","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","toggleListType(uint8)":"472a6638","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","tokenURIsLocked()":"bb2ee99f","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBatchBaseURI(uint256,string)":"de903ddd","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CantAddToOFFList\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustBeAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_addedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_removedAddr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_ListType\",\"type\":\"uint8\"}],\"name\":\"AddressRemovedList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"BatchBaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"ListCleared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_oldListType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"ListTypeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"TokenURIsLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"areTokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchAddAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_addrs\",\"type\":\"address[]\"}],\"name\":\"batchRemoveAddressToRoyaltyList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"clearList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBatchCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"}],\"name\":\"getBatchInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInUseList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_listType\",\"type\":\"uint8\"}],\"name\":\"getList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListType\",\"outputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"hasAdminPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isOperatorInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockTokenURIs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IRoyaltyGuard.ListType\",\"name\":\"_newListType\",\"type\":\"uint8\"}],\"name\":\"toggleListType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newBaseURI\",\"type\":\"string\"}],\"name\":\"updateBatchBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Guards {approve} based on the type of list and depending if {_spender} is on the list.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.Cannot add to the OFF list\",\"params\":{\"_addrs\":\"being added to the designated list\",\"_listType\":\"that addresses are being added to\"}},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_addrs\":\"being removed from the designated list\",\"_listType\":\"that addresses are being removed from\"}},\"clearList(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_listType\":\"of list being cleared.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getBatchCount()\":{\"details\":\"Returns the total number of batches.\"},\"getBatchInfo(uint256)\":{\"details\":\"Returns the start and end token IDs and base URI for a specific batch.\"},\"getInUseList()\":{\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getList(uint8)\":{\"params\":{\"_listType\":\"of list being retrieved.\"},\"returns\":{\"_0\":\"list of addresses on a given list.\"}},\"getListType()\":{\"returns\":{\"_0\":\"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"hasAdminPermission(address)\":{\"details\":\"used in the {onlyAdmin} modifier\",\"returns\":{\"_0\":\"bool denoting if _addr has admin permission.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isOperatorInList(address)\":{\"params\":{\"_operator\":\"address being checked.\"},\"returns\":{\"_0\":\"bool relating to if the operator is on the list.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"toggleListType(uint8)\":{\"details\":\"Only the contract owner can call this function.\",\"params\":{\"_newListType\":\"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"CantAddToOFFList()\":[{\"notice\":\"Emitted when trying to add an address to a list with type OFF.\"}],\"MustBeAdmin()\":[{\"notice\":\"Emitted when an admin only function tries to be called by a non-admin.\"}],\"Unauthorized()\":[{\"notice\":\"Emitted when an unauthorized party tries to call a specific function.\"}]},\"events\":{\"AddressAddedToList(address,address,uint8)\":{\"notice\":\"Emitted when an address is added to a list.\"},\"AddressRemovedList(address,address,uint8)\":{\"notice\":\"Emitted when an address is removed from a list.\"},\"ListCleared(address,uint8)\":{\"notice\":\"Emitted when a list is cleared.\"},\"ListTypeUpdated(address,uint8,uint8)\":{\"notice\":\"Emitted when the list type is updated.\"}},\"kind\":\"user\",\"methods\":{\"batchAddAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Adds a list of addresses to the specified list.\"},\"batchRemoveAddressToRoyaltyList(uint8,address[])\":{\"notice\":\"Removes a list of addresses to the specified list.\"},\"clearList(uint8)\":{\"notice\":\"Clears an entire list.\"},\"getInUseList()\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getList(uint8)\":{\"notice\":\"Returns the set of addresses on a list.\"},\"getListType()\":{\"notice\":\"Returns the ListType currently being used;\"},\"hasAdminPermission(address)\":{\"notice\":\"States whether or not an address has admin permission.\"},\"isOperatorInList(address)\":{\"notice\":\"Returns if the supplied operator address in part of the current in use list.\"},\"toggleListType(uint8)\":{\"notice\":\"Toggles the list type between ALLOW, DENY, or OFF\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol\":\"SovereignNFTRoyaltyGuardV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol\":{\"keccak256\":\"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5\",\"dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc\"]},\"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol\":{\"keccak256\":\"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d\",\"dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol\":{\"keccak256\":\"0xad6fb9ab7c1070f13cc4adece25f8d4e85bda48423f123157e310204ae8406fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f07a2aa442f240475dbb0b8c416233627b0d3044b5983b069d19d9c76245548\",\"dweb:/ipfs/QmePkcqv2oDL8Bdn5kXm6DEqoztYvY3uWmKSy4LjSG3PX8\"]},\"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol\":{\"keccak256\":\"0x5e23a83c99c8a7508915a26b220b5048fd50a5b99e8d3a3b0d3305739fc0addd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a857dce7c5361cbe9551c7b61962d3ae6b3ea71301ccbcbceed299f39be4d8b7\",\"dweb:/ipfs/QmREEpUuUbnwDhJ3pxrqiXjxW1i6mVUpeLqAS4cAiW7BzZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CantAddToOFFList"},{"inputs":[],"type":"error","name":"MustBeAdmin"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_addedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressAddedToList","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"address","name":"_removedAddr","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_ListType","type":"uint8","indexed":true}],"type":"event","name":"AddressRemovedList","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"batchIndex","type":"uint256","indexed":true},{"internalType":"string","name":"newBaseURI","type":"string","indexed":false}],"type":"event","name":"BatchBaseURIUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8","indexed":false}],"type":"event","name":"ListCleared","anonymous":false},{"inputs":[{"internalType":"address","name":"_updater","type":"address","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_oldListType","type":"uint8","indexed":true},{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8","indexed":true}],"type":"event","name":"ListTypeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"newURI","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[],"type":"event","name":"TokenURIsLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[],"stateMutability":"view","type":"function","name":"areTokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAddAddressToRoyaltyList"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"},{"internalType":"address[]","name":"_addrs","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRemoveAddressToRoyaltyList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"clearList"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBatchCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBatchInfo","outputs":[{"internalType":"uint256","name":"startTokenId","type":"uint256"},{"internalType":"uint256","name":"endTokenId","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getInUseList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_listType","type":"uint8"}],"stateMutability":"view","type":"function","name":"getList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getListType","outputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"view","type":"function","name":"hasAdminPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isOperatorInList","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockTokenURIs"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"enum IRoyaltyGuard.ListType","name":"_newListType","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"toggleListType"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"},{"internalType":"string","name":"_newBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBatchBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_newURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Guards {approve} based on the type of list and depending if {_spender} is on the list."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"batchAddAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.Cannot add to the OFF list","params":{"_addrs":"being added to the designated list","_listType":"that addresses are being added to"}},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"details":"Only the contract owner can call this function.","params":{"_addrs":"being removed from the designated list","_listType":"that addresses are being removed from"}},"clearList(uint8)":{"details":"Only the contract owner can call this function.","params":{"_listType":"of list being cleared."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getBatchCount()":{"details":"Returns the total number of batches."},"getBatchInfo(uint256)":{"details":"Returns the start and end token IDs and base URI for a specific batch."},"getInUseList()":{"returns":{"_0":"list of addresses on a given list."}},"getList(uint8)":{"params":{"_listType":"of list being retrieved."},"returns":{"_0":"list of addresses on a given list."}},"getListType()":{"returns":{"_0":"ListType of the list. Values are: 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"hasAdminPermission(address)":{"details":"used in the {onlyAdmin} modifier","returns":{"_0":"bool denoting if _addr has admin permission."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"isOperatorInList(address)":{"params":{"_operator":"address being checked."},"returns":{"_0":"bool relating to if the operator is on the list."}},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toggleListType(uint8)":{"details":"Only the contract owner can call this function.","params":{"_newListType":"to be applied to the list. Options are 0 (OFF), 1 (ALLOW), 2 (DENY)"}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"batchAddAddressToRoyaltyList(uint8,address[])":{"notice":"Adds a list of addresses to the specified list."},"batchRemoveAddressToRoyaltyList(uint8,address[])":{"notice":"Removes a list of addresses to the specified list."},"clearList(uint8)":{"notice":"Clears an entire list."},"getInUseList()":{"notice":"Returns the set of addresses on a list."},"getList(uint8)":{"notice":"Returns the set of addresses on a list."},"getListType()":{"notice":"Returns the ListType currently being used;"},"hasAdminPermission(address)":{"notice":"States whether or not an address has admin permission."},"isOperatorInList(address)":{"notice":"Returns if the supplied operator address in part of the current in use list."},"toggleListType(uint8)":{"notice":"Toggles the list type between ALLOW, DENY, or OFF"}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol":"SovereignNFTRoyaltyGuardV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/IRoyaltyGuard.sol":{"keccak256":"0x952e26315a1dacceb17d91d2b237a7c90bb2e0e979ed5e848410f6e17ecdda2f","urls":["bzz-raw://fb8e443c88279d82d457d69780b69632aad89a66a4c8250b14830ae2149d18b5","dweb:/ipfs/QmNp9VsaCFtQNx5eDfeDxmdjHF4qbsdMUyfkSjAA9rGmkc"],"license":"MIT"},"lib/royalty-guard/src/royalty-guard/RoyaltyGuard.sol":{"keccak256":"0x8457bba18db14686d2c6408d19876442e9ac22e2bb84128ba39b7a31e2e56afa","urls":["bzz-raw://5a96299cc4768dd591af1b59b17770db92aac284742c3707b1b6da56c7c8941d","dweb:/ipfs/QmeyxsaimbdPoRR43GoHo8Qqwz7EQLwVj7TAErvZTtcsLn"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol":{"keccak256":"0xad6fb9ab7c1070f13cc4adece25f8d4e85bda48423f123157e310204ae8406fd","urls":["bzz-raw://7f07a2aa442f240475dbb0b8c416233627b0d3044b5983b069d19d9c76245548","dweb:/ipfs/QmePkcqv2oDL8Bdn5kXm6DEqoztYvY3uWmKSy4LjSG3PX8"],"license":"MIT"},"src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol":{"keccak256":"0x5e23a83c99c8a7508915a26b220b5048fd50a5b99e8d3a3b0d3305739fc0addd","urls":["bzz-raw://a857dce7c5361cbe9551c7b61962d3ae6b3ea71301ccbcbceed299f39be4d8b7","dweb:/ipfs/QmREEpUuUbnwDhJ3pxrqiXjxW1i6mVUpeLqAS4cAiW7BzZ"],"license":"MIT"}},"version":1},"id":254} \ No newline at end of file diff --git a/abis/SovereignNFTV2.json b/abis/SovereignNFTV2.json new file mode 100644 index 0000000..c32f923 --- /dev/null +++ b/abis/SovereignNFTV2.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"areTokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batchMint","inputs":[{"name":"_baseURI","type":"string","internalType":"string"},{"name":"_numberOfTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disableContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"disabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBatchCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBatchInfo","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"startTokenId","type":"uint256","internalType":"uint256"},{"name":"endTokenId","type":"uint256","internalType":"uint256"},{"name":"baseURI","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyPercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDefaultRoyaltyReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"init","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_creator","type":"address","internalType":"address"},{"name":"_maxTokens","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lockTokenURIs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"maxTokens","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintTo","inputs":[{"name":"_uri","type":"string","internalType":"string"},{"name":"_receiver","type":"address","internalType":"address"},{"name":"_royaltyReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyInfo","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_salePrice","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"royaltyAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultRoyaltyReceiver","inputs":[{"name":"_receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyReceiverForToken","inputs":[{"name":"_receiver","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURIsLocked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBatchBaseURI","inputs":[{"name":"_batchIndex","type":"uint256","internalType":"uint256"},{"name":"_newBaseURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_newURI","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchBaseURIUpdated","inputs":[{"name":"batchIndex","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newBaseURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fromAddress","type":"address","indexed":true,"internalType":"address"},{"name":"toAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ContractDisabled","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newURI","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"TokenURIsLocked","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657612e28908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714611a8b5750806306fdde03146119e1578063081812fc146119c1578063095ea7b31461185057806318160ddd1461183057806318e97fd11461153f5780631a0058f5146114c357806323b872dd1461149e5780632a55205a1461140c5780633403c4e9146113e35780633ebc82c5146113a157806340c1a0641461137757806342842e0e1461134357806342966c68146113265780634aa52c41146112b65780635edc7c1914610dac5780636297c16c14610d30578063631d1d9a146105745780636352211e14610cff57806370a0823114610c69578063715018a614610c0c5780637cc918d11461092e578063894ba833146108e05780638da5cb5b146108b757806395d89b41146107d2578063a22cb46514610703578063a448dd4f14610663578063a8fabfa514610643578063ab69607a14610624578063b88d4fde1461059a578063bb2ee99f14610574578063c87b56dd14610539578063d9856c21146104cd578063de903ddd14610348578063e831574214610328578063e985e9c5146102da578063ee070805146102b7578063efc32cd4146102645763f2fde38b146101d057600080fd5b34610260576020366003190112610260576101e9611b70565b916101f2611d0b565b6001600160a01b0383161561020e578361020b84611d63565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102b357806003193601126102b35761027e611b70565b90610287611d0b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102b357816003193601126102b35760209060ff80541690519015158152f35b5050346102b357806003193601126102b35760ff816020936102fa611b70565b610302611b8b565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102b357816003193601126102b357602090610100549051908152f35b508290346102b35761035936611be4565b9192610363611d0b565b61038060ff8054610376828216156121c0565b60081c1615612d66565b61038e610105548510612cd6565b60026103998561220c565b5001906001600160401b0384116104ba57506103bf836103b98354611dac565b8361216c565b84601f841160011461042b579561041a918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c979891610420575b508560011b906000198760031b1c19161790555b5192839283612daa565b0390a280f35b9050840135896103fc565b81865260208087209190601f1986169088905b8282106104a25750509161041a9391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610488575b5050600185811b019055610410565b850135600019600388901b60f8161c191690558880610479565b80600185968294968a0135815501950193019061043e565b634e487b7160e01b865260419052602485fd5b8382346102b35760203660031901126102b35780356001600160401b0381116102605736602382011215610260576105359181602461051193369301359101611cd4565b610519611d0b565b61052760ff805416156121c0565b60fc543391829081906123ac565b5080f35b509134610571576020366003190112610571575061055a61056d92356126a3565b9051918291602083526020830190611b4b565b0390f35b80fd5b5050346102b357816003193601126102b35760209060ff805460081c1690519015158152f35b8382346102b35760803660031901126102b3576105b5611b70565b906105be611b8b565b91604435606435936001600160401b0385116106205736602386011215610620576105f861061b9486602461020b98369301359101611cd4565b9261060b610606843361292e565b611e8c565b610616838383612a60565b612081565b611f41565b8580fd5b5050346102b357816003193601126102b35760209060fc549051908152f35b5050346102b357816003193601126102b357602090610105549051908152f35b503461026057826003193601126102605761067c611d0b565b60ff549160ff8360081c166106c05761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461026057806003193601126102605761071d611b70565b90602435918215158093036107ce576001600160a01b03169233841461078c5750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102b357816003193601126102b357805190826098546107f481611dac565b8085529160019180831690811561088f5750600114610832575b5050506108208261056d940383611c98565b51918291602083526020830190611b4b565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106108775750505061082082602061056d958201019461080e565b8054602087870181019190915290950194810161085a565b61056d97508693506020925061082094915060ff191682840152151560051b8201019461080e565b5050346102b357816003193601126102b35760335490516001600160a01b039091168152602090f35b83346105715780600319360112610571576108f9611d0b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102b357806003193601126102b3576001600160401b03928035848111610c08576109609036908301611bb7565b61096b959195611d0b565b61097960ff805416156121c0565b6101049081549660019384890194858a11610bf5576024998a350193818501808811610be3578511610bd15788519560209687810181811086821117610bbf578b52869052859055610100548511610b7d5789906109ed8a51956109dc87611c4c565b898752888701928884523691611cd4565b948a810195865261010580549068010000000000000000821015610b6b578582019055610a199061220c565b939093610b5a575090600292915182555183820155019251968751928311610b485750889950610a5782610a51859b999a9b54611dac565b8561216c565b8497601f8311600114610ac4578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ab9575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610a93565b8388528588209098919291601f198316895b818110610b30575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610b17575b505050811b019055610aa5565b015160001960f88460031b161c19169055388080610b0a565b828c015184558d9a5092850192918801918801610ad6565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b8334610571578060031936011261057157610c25611d0b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102b35760203660031901126102b3576001600160a01b03610c8d611b70565b16908115610caa576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105715760203660031901126105715750610d1f602092356128be565b90516001600160a01b039091168152f35b503461026057602036600319011261026057803591610d4e836128be565b336001600160a01b0390911603610d69578361020b8461225e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610260576080366003190112610260576001600160401b039180358381116107ce57610dde9036908301611bb7565b91906024358581116112b257610df79036908401611bb7565b610e02969196611ba1565b9388549760ff94858a60081c1615978880996112a6575b8015611290575b1561123657600160ff198c1681178d559a89611225575b506001600160a01b038816156111e257610e959291610e8d91610e7d898f600a60fc5561ffff198254168255606435610100555460081c16610e788161210c565b61210c565b610e8633611d63565b3691611cd4565b933691611cd4565b90610ea9858b5460081c16610e788161210c565b82518481116111cf5780610ebe609754611dac565b94601f9586811161115e575b506020908d8784116001146110df57926110d4575b5050600019600383901b1c1916908a1b176097555b81519384116110c15750610f09609854611dac565b82811161105e575b506020918311600114610fd2579180610f86959492610f5e948b92610fc7575b5050600019600383901b1c191690881b176098555b875460081c16610f558161210c565b610e788161210c565b60fb80546001600160a01b0319166001600160a01b038316179055610f81611d0b565b611d63565b610f8e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610f31565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611046575091610f5e95939185610f86999896941061102d575b505050811b01609855610f46565b015160001960f88460031b161c1916905538808061101f565b8284015185558b969094019360209384019301611002565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106110b8575b0160051c019089905b8281106110ad575050610f11565b8b815501899061109f565b92508192611096565b634e487b7160e01b8a5260419052602489fd5b015190503880610edf565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106111465750841161112d575b505050811b01609755610ef4565b015160001960f88460031b161c1916905538808061111f565b8284015185558f969094019360209384019301611110565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106111c6575b859493910160051c909101908d908f5b8382106111b857505050610eca565b81558594508e91018f6111a9565b92508192611199565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c5538610e37565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610e2057506001878c1614610e20565b506001878c1610610e19565b8680fd5b8382346102b35760603660031901126102b35780356001600160401b03811161026057610535916112e991369101611bb7565b906112f2611b8b565b6112fa611ba1565b92611303611d0b565b61131160ff805416156121c0565b61132160fc549333923691611cd4565b6123ac565b8382346102b35760203660031901126102b35761020b903561225e565b5050346102b35761061b61020b9161135a36611c17565b9192519261136784611c7d565b86845261060b610606843361292e565b5050346102b35760203660031901126102b35760335490516001600160a01b039091168152602090f35b83346105715760203660031901126105715761020b6113be611b70565b6113c6611d0b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102b357816003193601126102b35760fb5490516001600160a01b039091168152602090f35b5091346105715781600319360112610571578235815260fd60205281812054602435906001600160a01b03908116801561149257925b60fe60205284812054801561148857925b8381029381850414901517156114755750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611453565b508060fb541692611442565b83346105715761020b6114b036611c17565b916114be610606843361292e565b612a60565b50823461057157602036600319011261057157506114ef90356114ea610105548210612cd6565b61220c565b5061056d82516114fe81611c4c565b82548152606061151c60026001860154956020850196875201611de6565b918286820152519351948051958695865260208601528401526060830190611b4b565b508290346102b35761155036611be4565b919260ff5461156260ff8216156121c0565b6033546001600160a01b031633036117e35760ff6115849160081c1615612d66565b6000848152609960205260409020546001600160a01b0316151580156117ba575b15611780576115b384612c35565b5050156116a65783855260206101078152868620916001600160401b03851161169357506115eb846115e58454611dac565b8461216c565b8590601f851160011461163457509561041a91848798600080516020612dd383398151915297989161042057508560011b906000198760031b1c19161790555192839283612daa565b90601f1985168388528288209288905b82821061167b5750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611644565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b03851161169357506116d1846115e58454611dac565b8590601f851160011461172157509561041a91848798600080516020612dd3833981519152979891611716575b508560011b906000198760031b1c1916179055610410565b9050840135896116fe565b90601f1985168388528288209288905b8282106117685750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611731565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b506117c484612c35565b505080156115a5575083855261010260205260ff8686205416156115a5565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346102b357816003193601126102b357602090610104549051908152f35b5034610260578160031936011261026057611869611b70565b6024359290916001600160a01b0391908280611884876128be565b1694169380851461197457803314908115611955575b50156118ed5750838552610103602052842080546001600160a01b031916831790556118c583612346565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861189a565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346105715760203660031901126105715750610d1f60209235612998565b5050346102b357816003193601126102b35780519082609754611a0381611dac565b8085529160019180831690811561088f5750600114611a2e575050506108208261056d940383611c98565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a735750505061082082602061056d958201019461080e565b80546020878701810191909152909501948101611a56565b92505034610260576020366003190112610260573563ffffffff60e01b811690818103610c085760209350631030681960e21b8214918215611b17575b8215611aee575b508115611ade575b5015158152f35b611ae89150612d22565b38611ad7565b90915063152a902d60e11b148015611b08575b9038611acf565b50611b1281612d22565b611b01565b6301ffc9a760e01b81149250611ac8565b60005b838110611b3b5750506000910152565b8181015183820152602001611b2b565b90602091611b6481518092818552858086019101611b28565b601f01601f1916010190565b600435906001600160a01b0382168203611b8657565b600080fd5b602435906001600160a01b0382168203611b8657565b604435906001600160a01b0382168203611b8657565b9181601f84011215611b86578235916001600160401b038311611b865760208381860195010111611b8657565b906040600319830112611b865760043591602435906001600160401b038211611b8657611c1391600401611bb7565b9091565b6060906003190112611b86576001600160a01b03906004358281168103611b8657916024359081168103611b86579060443590565b606081019081106001600160401b03821117611c6757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117611c6757604052565b90601f801991011681019081106001600160401b03821117611c6757604052565b6001600160401b038111611c6757601f01601f191660200190565b929192611ce082611cb9565b91611cee6040519384611c98565b829481845281830111611b86578281602093846000960137010152565b6033546001600160a01b03163303611d1f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611ddc575b6020831014611dc657565b634e487b7160e01b600052602260045260246000fd5b91607f1691611dbb565b9060405191826000825492611dfa84611dac565b908184526001948581169081600014611e695750600114611e26575b5050611e2492500383611c98565b565b9093915060005260209081600020936000915b818310611e51575050611e2493508201013880611e16565b85548884018501529485019487945091830191611e39565b915050611e2494506020925060ff191682840152151560051b8201013880611e16565b15611e9357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611f4857565b60405162461bcd60e51b815280611f6160048201611eee565b0390fd5b9192600092909190803b1561207757611fb3946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611b4b565b03926001600160a01b03165af1849181612037575b50612026575050503d60001461201e573d611fe281611cb9565b90611ff06040519283611c98565b81528091833d92013e5b8051918261201b5760405162461bcd60e51b815280611f6160048201611eee565b01fd5b506060611ffa565b6001600160e01b0319161492509050565b9091508581813d8311612070575b61204f8183611c98565b810103126107ce57516001600160e01b0319811681036107ce579038611fc8565b503d612045565b5050915050600190565b9293600093909291803b15612101579484916120db9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611b4b565b0393165af18491816120375750612026575050503d60001461201e573d611fe281611cb9565b505050915050600190565b1561211357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f811161217a57505050565b600091825260208220906020601f850160051c830194106121b6575b601f0160051c01915b8281106121ab57505050565b81815560010161219f565b9092508290612196565b156121c757565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561224857600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b61226781612c35565b5050600082815261010260205260408120805460ff191660011790559080612327575b6123235761229b610606833361292e565b6122a482612346565b506122ae82612346565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561228a565b6000908152609960205260409020546001600160a01b031680156123675790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161251f576123f061061b6040516123da81611c7d565b896000968783526123eb82826125af565b611f65565b868352602091610106835260408420918151916001600160401b03831161250b576124258361241f8654611dac565b8661216c565b8490601f84116001146124a257928060fd9593819389989660409a94612497575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612446565b8487528587209293929190601f198416885b8181106124f6575091604098979593918560fd989694106124dd575b505050811b019055612458565b015160001960f88460031b161c191690553880806124d0565b828401518555938601939288019288016124b4565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561256a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561265f576000828152609960205260409020546125e3906001600160a01b031615155b15612563565b600082815260996020526040902054612606906001600160a01b031615156125dd565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926126c184842054611dac565b6128af57506126cf81612c35565b91151590506126ed57506126ea936101069183525220611de6565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156128a0575b5050866d04ee2d6d415b85acef810000000080841015612892575b5050662386f26fc1000080831015612883575b506305f5e10080831015612874575b5061271080831015612865575b506064821015612855575b600a8092101561284b575b600190816021818701966127a261278d89611cb9565b9861279a89519a8b611c98565b808a52611cb9565b888c019990601f1901368b3750870101905b612815575b5050505091602f60f81b946127f86126ea95936026955197856127e58a9751809287808b019101611b28565b8601938401525180936021840190611b28565b0164173539b7b760d91b6021820152036006810184520182611c98565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612846579190826127b4565b6127b9565b9260010192612777565b929060646002910491019261276c565b60049194920491019238612761565b60089194920491019238612754565b60109194920491019238612745565b940193909104908638612732565b91945091500481923880612717565b90936126ea9483525220611de6565b6128c781612c35565b50506128d6576126ea90612346565b8060005261010260205260ff604060002054166000146128f9576126ea90612346565b6000818152609960205260409020546001600160a01b031661292557506033546001600160a01b031690565b6126ea90612346565b6001600160a01b03908180612942856128be565b16911691818314938415612981575b5050821561295e57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061298e90612998565b1614913880612951565b600081815260fd60205260408120546001600160a01b0392919083166129bd83612c35565b5050908115612a56575b5080612a3e575b156129e457604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156129ce565b90501515386129c7565b908215611b8657612aaa91612a7484612c35565b505080612bbc575b80612ba2575b612b93575b612a9084612346565b6001600160a01b0393918416928492909183168414612bdb565b16918215612b425781612ac791612ac086612346565b1614612bdb565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612b9d84826125af565b612a87565b508360005261010260205260ff6040600020541615612a82565b506000848152609960205260409020546001600160a01b031615612a7c565b15612be257565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612c625750509050600090600090604051612c5b81611c7d565b6000815290565b612c6b8161220c565b505482101580612cbf575b612ca1576000198114612c8b57600101612c3e565b634e487b7160e01b600052601160045260246000fd5b809350612cae915061220c565b50906126ea60026001949301611de6565b506001612ccb8261220c565b500154821115612c76565b15612cdd57565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b63ffffffff60e01b166380ac58cd60e01b8114908115612d55575b8115612d47575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612d3d565b15612d6d57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f191601019056fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220969e2394308c567c997d6e7dca65a30180f130833068728b683321d2017dc08764736f6c63430008120033","sourceMap":"728:10649:252:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714611a8b5750806306fdde03146119e1578063081812fc146119c1578063095ea7b31461185057806318160ddd1461183057806318e97fd11461153f5780631a0058f5146114c357806323b872dd1461149e5780632a55205a1461140c5780633403c4e9146113e35780633ebc82c5146113a157806340c1a0641461137757806342842e0e1461134357806342966c68146113265780634aa52c41146112b65780635edc7c1914610dac5780636297c16c14610d30578063631d1d9a146105745780636352211e14610cff57806370a0823114610c69578063715018a614610c0c5780637cc918d11461092e578063894ba833146108e05780638da5cb5b146108b757806395d89b41146107d2578063a22cb46514610703578063a448dd4f14610663578063a8fabfa514610643578063ab69607a14610624578063b88d4fde1461059a578063bb2ee99f14610574578063c87b56dd14610539578063d9856c21146104cd578063de903ddd14610348578063e831574214610328578063e985e9c5146102da578063ee070805146102b7578063efc32cd4146102645763f2fde38b146101d057600080fd5b34610260576020366003190112610260576101e9611b70565b916101f2611d0b565b6001600160a01b0383161561020e578361020b84611d63565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346102b357806003193601126102b35761027e611b70565b90610287611d0b565b602435835260fd602052822080546001600160a01b0319166001600160a01b0390921691909117905580f35b5080fd5b5050346102b357816003193601126102b35760209060ff80541690519015158152f35b5050346102b357806003193601126102b35760ff816020936102fa611b70565b610302611b8b565b6001600160a01b039182168352609c875283832091168252855220549151911615158152f35b5050346102b357816003193601126102b357602090610100549051908152f35b508290346102b35761035936611be4565b9192610363611d0b565b61038060ff8054610376828216156121c0565b60081c1615612d66565b61038e610105548510612cd6565b60026103998561220c565b5001906001600160401b0384116104ba57506103bf836103b98354611dac565b8361216c565b84601f841160011461042b579561041a918487987fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c979891610420575b508560011b906000198760031b1c19161790555b5192839283612daa565b0390a280f35b9050840135896103fc565b81865260208087209190601f1986169088905b8282106104a25750509161041a9391867fd181cc8d0dc01c4c286c3f799294fcd18a386821e71c9d771a3a19827b49560c98999a9410610488575b5050600185811b019055610410565b850135600019600388901b60f8161c191690558880610479565b80600185968294968a0135815501950193019061043e565b634e487b7160e01b865260419052602485fd5b8382346102b35760203660031901126102b35780356001600160401b0381116102605736602382011215610260576105359181602461051193369301359101611cd4565b610519611d0b565b61052760ff805416156121c0565b60fc543391829081906123ac565b5080f35b509134610571576020366003190112610571575061055a61056d92356126a3565b9051918291602083526020830190611b4b565b0390f35b80fd5b5050346102b357816003193601126102b35760209060ff805460081c1690519015158152f35b8382346102b35760803660031901126102b3576105b5611b70565b906105be611b8b565b91604435606435936001600160401b0385116106205736602386011215610620576105f861061b9486602461020b98369301359101611cd4565b9261060b610606843361292e565b611e8c565b610616838383612a60565b612081565b611f41565b8580fd5b5050346102b357816003193601126102b35760209060fc549051908152f35b5050346102b357816003193601126102b357602090610105549051908152f35b503461026057826003193601126102605761067c611d0b565b60ff549160ff8360081c166106c05761ff001983166101001760ff55837f1cc7fa91d8671f564b11ea19e789522d84788cad2329b82dcc0b6ae1ff2338dd8180a180f35b906020606492519162461bcd60e51b8352820152601d60248201527f546f6b656e20555249732061726520616c7265616479206c6f636b65640000006044820152fd5b50903461026057806003193601126102605761071d611b70565b90602435918215158093036107ce576001600160a01b03169233841461078c5750338452609c60205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5050346102b357816003193601126102b357805190826098546107f481611dac565b8085529160019180831690811561088f5750600114610832575b5050506108208261056d940383611c98565b51918291602083526020830190611b4b565b9450609885527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145b8286106108775750505061082082602061056d958201019461080e565b8054602087870181019190915290950194810161085a565b61056d97508693506020925061082094915060ff191682840152151560051b8201019461080e565b5050346102b357816003193601126102b35760335490516001600160a01b039091168152602090f35b83346105715780600319360112610571576108f9611d0b565b600160ff1960ff54161760ff55337f793bc6423dd0257d64f9d47db72fd4b2162f4541aa41740ba1c5fb5e2cd41bcd8280a280f35b509190346102b357806003193601126102b3576001600160401b03928035848111610c08576109609036908301611bb7565b61096b959195611d0b565b61097960ff805416156121c0565b6101049081549660019384890194858a11610bf5576024998a350193818501808811610be3578511610bd15788519560209687810181811086821117610bbf578b52869052859055610100548511610b7d5789906109ed8a51956109dc87611c4c565b898752888701928884523691611cd4565b948a810195865261010580549068010000000000000000821015610b6b578582019055610a199061220c565b939093610b5a575090600292915182555183820155019251968751928311610b485750889950610a5782610a51859b999a9b54611dac565b8561216c565b8497601f8311600114610ac4578291889983927fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a94610ab9575b50501b916000199060031b1c19161790555b60018060a01b03603354169551908152a480f35b015192503880610a93565b8388528588209098919291601f198316895b818110610b30575099837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d999a9b10610b17575b505050811b019055610aa5565b015160001960f88460031b161c19169055388080610b0a565b828c015184558d9a5092850192918801918801610ad6565b634e487b7160e01b8a52604190528989fd5b634e487b7160e01b8152808b528d90fd5b634e487b7160e01b855260418c528e85fd5b885162461bcd60e51b8152808901879052601d818d01527f62617463684d696e743a3a6578636565646564206d6178546f6b656e730000006044820152606490fd5b634e487b7160e01b8d5260418b528d8dfd5b634e487b7160e01b8a52601188528a8afd5b634e487b7160e01b8b52601189528b8bfd5b634e487b7160e01b895260118752602489fd5b8380fd5b8334610571578060031936011261057157610c25611d0b565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b508290346102b35760203660031901126102b3576001600160a01b03610c8d611b70565b16908115610caa576020848085858152609a845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b5091346105715760203660031901126105715750610d1f602092356128be565b90516001600160a01b039091168152f35b503461026057602036600319011261026057803591610d4e836128be565b336001600160a01b0390911603610d69578361020b8461225e565b906020606492519162461bcd60e51b8352820152601760248201527f4d757374206265206f776e6572206f6620746f6b656e2e0000000000000000006044820152fd5b509034610260576080366003190112610260576001600160401b039180358381116107ce57610dde9036908301611bb7565b91906024358581116112b257610df79036908401611bb7565b610e02969196611ba1565b9388549760ff94858a60081c1615978880996112a6575b8015611290575b1561123657600160ff198c1681178d559a89611225575b506001600160a01b038816156111e257610e959291610e8d91610e7d898f600a60fc5561ffff198254168255606435610100555460081c16610e788161210c565b61210c565b610e8633611d63565b3691611cd4565b933691611cd4565b90610ea9858b5460081c16610e788161210c565b82518481116111cf5780610ebe609754611dac565b94601f9586811161115e575b506020908d8784116001146110df57926110d4575b5050600019600383901b1c1916908a1b176097555b81519384116110c15750610f09609854611dac565b82811161105e575b506020918311600114610fd2579180610f86959492610f5e948b92610fc7575b5050600019600383901b1c191690881b176098555b875460081c16610f558161210c565b610e788161210c565b60fb80546001600160a01b0319166001600160a01b038316179055610f81611d0b565b611d63565b610f8e578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b015190503880610f31565b609889528792917f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81491601f1984168b5b818110611046575091610f5e95939185610f86999896941061102d575b505050811b01609855610f46565b015160001960f88460031b161c1916905538808061101f565b8284015185558b969094019360209384019301611002565b60988a527f2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8148380860160051c820192602087106110b8575b0160051c019089905b8281106110ad575050610f11565b8b815501899061109f565b92508192611096565b634e487b7160e01b8a5260419052602489fd5b015190503880610edf565b91908d9450601f198416609784527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9935b8181106111465750841161112d575b505050811b01609755610ef4565b015160001960f88460031b161c1916905538808061111f565b8284015185558f969094019360209384019301611110565b90915060978d527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff98680850160051c820192602086106111c6575b859493910160051c909101908d908f5b8382106111b857505050610eca565b81558594508e91018f6111a9565b92508192611199565b634e487b7160e01b8b526041825260248bfd5b895162461bcd60e51b8152602081860152601e60248201527f63726561746f722063616e6e6f74206265206e756c6c206164647265737300006044820152606490fd5b61ffff1916610101178c5538610e37565b895162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610e2057506001878c1614610e20565b506001878c1610610e19565b8680fd5b8382346102b35760603660031901126102b35780356001600160401b03811161026057610535916112e991369101611bb7565b906112f2611b8b565b6112fa611ba1565b92611303611d0b565b61131160ff805416156121c0565b61132160fc549333923691611cd4565b6123ac565b8382346102b35760203660031901126102b35761020b903561225e565b5050346102b35761061b61020b9161135a36611c17565b9192519261136784611c7d565b86845261060b610606843361292e565b5050346102b35760203660031901126102b35760335490516001600160a01b039091168152602090f35b83346105715760203660031901126105715761020b6113be611b70565b6113c6611d0b565b60018060a01b03166001600160601b0360a01b60fb54161760fb55565b5050346102b357816003193601126102b35760fb5490516001600160a01b039091168152602090f35b5091346105715781600319360112610571578235815260fd60205281812054602435906001600160a01b03908116801561149257925b60fe60205284812054801561148857925b8381029381850414901517156114755750835192168252606490046020820152f35b634e487b7160e01b815260118652602490fd5b5060fc5492611453565b508060fb541692611442565b83346105715761020b6114b036611c17565b916114be610606843361292e565b612a60565b50823461057157602036600319011261057157506114ef90356114ea610105548210612cd6565b61220c565b5061056d82516114fe81611c4c565b82548152606061151c60026001860154956020850196875201611de6565b918286820152519351948051958695865260208601528401526060830190611b4b565b508290346102b35761155036611be4565b919260ff5461156260ff8216156121c0565b6033546001600160a01b031633036117e35760ff6115849160081c1615612d66565b6000848152609960205260409020546001600160a01b0316151580156117ba575b15611780576115b384612c35565b5050156116a65783855260206101078152868620916001600160401b03851161169357506115eb846115e58454611dac565b8461216c565b8590601f851160011461163457509561041a91848798600080516020612dd383398151915297989161042057508560011b906000198760031b1c19161790555192839283612daa565b90601f1985168388528288209288905b82821061167b5750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611644565b634e487b7160e01b875260419052602486fd5b83855260206101068152868620916001600160401b03851161169357506116d1846115e58454611dac565b8590601f851160011461172157509561041a91848798600080516020612dd3833981519152979891611716575b508560011b906000198760031b1c1916179055610410565b9050840135896116fe565b90601f1985168388528288209288905b8282106117685750509161041a939186600080516020612dd383398151915298999a9410610488575050600185811b019055610410565b80600185968294968a01358155019501930190611731565b606490602087519162461bcd60e51b83528201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b506117c484612c35565b505080156115a5575083855261010260205260ff8686205416156115a5565b865162461bcd60e51b8152602081840152602160248201527f4f6e6c7920746f6b656e2063726561746f722063616e207570646174652055526044820152604960f81b6064820152608490fd5b5050346102b357816003193601126102b357602090610104549051908152f35b5034610260578160031936011261026057611869611b70565b6024359290916001600160a01b0391908280611884876128be565b1694169380851461197457803314908115611955575b50156118ed5750838552610103602052842080546001600160a01b031916831790556118c583612346565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152fd5b90508652609c60205281862033875260205260ff82872054163861189a565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b5091346105715760203660031901126105715750610d1f60209235612998565b5050346102b357816003193601126102b35780519082609754611a0381611dac565b8085529160019180831690811561088f5750600114611a2e575050506108208261056d940383611c98565b9450609785527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95b828610611a735750505061082082602061056d958201019461080e565b80546020878701810191909152909501948101611a56565b92505034610260576020366003190112610260573563ffffffff60e01b811690818103610c085760209350631030681960e21b8214918215611b17575b8215611aee575b508115611ade575b5015158152f35b611ae89150612d22565b38611ad7565b90915063152a902d60e11b148015611b08575b9038611acf565b50611b1281612d22565b611b01565b6301ffc9a760e01b81149250611ac8565b60005b838110611b3b5750506000910152565b8181015183820152602001611b2b565b90602091611b6481518092818552858086019101611b28565b601f01601f1916010190565b600435906001600160a01b0382168203611b8657565b600080fd5b602435906001600160a01b0382168203611b8657565b604435906001600160a01b0382168203611b8657565b9181601f84011215611b86578235916001600160401b038311611b865760208381860195010111611b8657565b906040600319830112611b865760043591602435906001600160401b038211611b8657611c1391600401611bb7565b9091565b6060906003190112611b86576001600160a01b03906004358281168103611b8657916024359081168103611b86579060443590565b606081019081106001600160401b03821117611c6757604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117611c6757604052565b90601f801991011681019081106001600160401b03821117611c6757604052565b6001600160401b038111611c6757601f01601f191660200190565b929192611ce082611cb9565b91611cee6040519384611c98565b829481845281830111611b86578281602093846000960137010152565b6033546001600160a01b03163303611d1f57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b90600182811c92168015611ddc575b6020831014611dc657565b634e487b7160e01b600052602260045260246000fd5b91607f1691611dbb565b9060405191826000825492611dfa84611dac565b908184526001948581169081600014611e695750600114611e26575b5050611e2492500383611c98565b565b9093915060005260209081600020936000915b818310611e51575050611e2493508201013880611e16565b85548884018501529485019487945091830191611e39565b915050611e2494506020925060ff191682840152151560051b8201013880611e16565b15611e9357565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b15611f4857565b60405162461bcd60e51b815280611f6160048201611eee565b0390fd5b9192600092909190803b1561207757611fb3946040518092630a85bd0160e11b9485835233600484015287602484015260448301526080606483015281878160209a8b966084830190611b4b565b03926001600160a01b03165af1849181612037575b50612026575050503d60001461201e573d611fe281611cb9565b90611ff06040519283611c98565b81528091833d92013e5b8051918261201b5760405162461bcd60e51b815280611f6160048201611eee565b01fd5b506060611ffa565b6001600160e01b0319161492509050565b9091508581813d8311612070575b61204f8183611c98565b810103126107ce57516001600160e01b0319811681036107ce579038611fc8565b503d612045565b5050915050600190565b9293600093909291803b15612101579484916120db9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190611b4b565b0393165af18491816120375750612026575050503d60001461201e573d611fe281611cb9565b505050915050600190565b1561211357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90601f811161217a57505050565b600091825260208220906020601f850160051c830194106121b6575b601f0160051c01915b8281106121ab57505050565b81815560010161219f565b9092508290612196565b156121c757565b60405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374206d757374206e6f742062652064697361626c65642e00006044820152606490fd5b61010590815481101561224857600391600052027ffc62abc8c0fc47c2d92f5aec99bf8b60f375828e14394d89345cae11a98673710190600090565b634e487b7160e01b600052603260045260246000fd5b61226781612c35565b5050600082815261010260205260408120805460ff191660011790559080612327575b6123235761229b610606833361292e565b6122a482612346565b506122ae82612346565b828252609b6020908152604080842080546001600160a01b03199081169091556001600160a01b03909316808552609a835281852080546000190190558585526099909252832080549092169091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b5050565b506000828152609960205260409020546001600160a01b03161561228a565b6000908152609960205260409020546001600160a01b031680156123675790565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b93929091600194610104958087540180975561010054871161251f576123f061061b6040516123da81611c7d565b896000968783526123eb82826125af565b611f65565b868352602091610106835260408420918151916001600160401b03831161250b576124258361241f8654611dac565b8661216c565b8490601f84116001146124a257928060fd9593819389989660409a94612497575b50501b916000199060031b1c19161790555b87835261010181528383209460018060a01b0395866001600160601b0360a01b98168882541617905560fe825284842055522092169082541617905590565b015192503880612446565b8487528587209293929190601f198416885b8181106124f6575091604098979593918560fd989694106124dd575b505050811b019055612458565b015160001960f88460031b161c191690553880806124d0565b828401518555938601939288019288016124b4565b634e487b7160e01b86526041600452602486fd5b606460405162461bcd60e51b815260206004820152602060248201527f5f637265617465546f6b656e3a3a6578636565646564206d6178546f6b656e736044820152fd5b1561256a57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b6001600160a01b0316801561265f576000828152609960205260409020546125e3906001600160a01b031615155b15612563565b600082815260996020526040902054612606906001600160a01b031615156125dd565b6000818152609a6020526040812060018154019055828152609960205260408120826001600160601b0360a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b6000818152610107906020928284526040926126c184842054611dac565b6128af57506126cf81612c35565b91151590506126ed57506126ea936101069183525220611de6565b90565b928291807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156128a0575b5050866d04ee2d6d415b85acef810000000080841015612892575b5050662386f26fc1000080831015612883575b506305f5e10080831015612874575b5061271080831015612865575b506064821015612855575b600a8092101561284b575b600190816021818701966127a261278d89611cb9565b9861279a89519a8b611c98565b808a52611cb9565b888c019990601f1901368b3750870101905b612815575b5050505091602f60f81b946127f86126ea95936026955197856127e58a9751809287808b019101611b28565b8601938401525180936021840190611b28565b0164173539b7b760d91b6021820152036006810184520182611c98565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215612846579190826127b4565b6127b9565b9260010192612777565b929060646002910491019261276c565b60049194920491019238612761565b60089194920491019238612754565b60109194920491019238612745565b940193909104908638612732565b91945091500481923880612717565b90936126ea9483525220611de6565b6128c781612c35565b50506128d6576126ea90612346565b8060005261010260205260ff604060002054166000146128f9576126ea90612346565b6000818152609960205260409020546001600160a01b031661292557506033546001600160a01b031690565b6126ea90612346565b6001600160a01b03908180612942856128be565b16911691818314938415612981575b5050821561295e57505090565b909150600052609c60205260406000209060005260205260ff6040600020541690565b8392945061298e90612998565b1614913880612951565b600081815260fd60205260408120546001600160a01b0392919083166129bd83612c35565b5050908115612a56575b5080612a3e575b156129e457604091815261010360205220541690565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b5081815261010260205260ff604082205416156129ce565b90501515386129c7565b908215611b8657612aaa91612a7484612c35565b505080612bbc575b80612ba2575b612b93575b612a9084612346565b6001600160a01b0393918416928492909183168414612bdb565b16918215612b425781612ac791612ac086612346565b1614612bdb565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000848152609b602052604081206001600160601b0360a01b90818154169055838252609a6020526040822060001981540190558482526040822060018154019055858252609960205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b612b9d84826125af565b612a87565b508360005261010260205260ff6040600020541615612a82565b506000848152609960205260409020546001600160a01b031615612a7c565b15612be257565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b61010554919060005b838110612c625750509050600090600090604051612c5b81611c7d565b6000815290565b612c6b8161220c565b505482101580612cbf575b612ca1576000198114612c8b57600101612c3e565b634e487b7160e01b600052601160045260246000fd5b809350612cae915061220c565b50906126ea60026001949301611de6565b506001612ccb8261220c565b500154821115612c76565b15612cdd57565b60405162461bcd60e51b815260206004820152601960248201527f426174636820696e646578206f7574206f6620626f756e6473000000000000006044820152606490fd5b63ffffffff60e01b166380ac58cd60e01b8114908115612d55575b8115612d47575090565b6301ffc9a760e01b14919050565b635b5e139f60e01b81149150612d3d565b15612d6d57565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881554925cc8185c99481b1bd8dad959605a1b6044820152606490fd5b90918060409360208452816020850152848401376000828201840152601f01601f191601019056fe931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bda2646970667358221220969e2394308c567c997d6e7dca65a30180f130833068728b683321d2017dc08764736f6c63430008120033","sourceMap":"728:10649:252:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;728:10649:252;;2402:22:42;728:10649:252;;2496:8:42;;;;:::i;:::-;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;728:10649:252;;;;4803:16;728:10649;;;;;;-1:-1:-1;;;;;;728:10649:252;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:20;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;728:10649:252;;;;;4980:18:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1222:24;728:10649;;;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;:::i;:::-;10666:50:252;2981:8;728:10649;;2972:52;728:10649;;;2980:9;2972:52;:::i;:::-;728:10649;;;10674:16;10666:50;:::i;:::-;10722:70;10744:11;728:10649;10730:32;;10722:70;:::i;:::-;10799:32;:24;;;:::i;:::-;:32;;728:10649;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;10857:45;728:10649;;;;10857:45;728:10649;;;;;;;;;;;;;;;;;;;;;;;;10857:45;;;;;:::i;:::-;;;;728:10649;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;;;;;10857:45;728:10649;;;10857:45;728:10649;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;3643:85;728:10649;;;;;;;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;2972:52:252;2981:8;728:10649;;;2980:9;2972:52;:::i;:::-;2453:24:233;728:10649:252;3662:10;;;;;;3643:85;:::i;:::-;;728:10649;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1190:27;728:10649;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;6956:47:61;728:10649:252;;;6948:110:61;728:10649:252;;;;;;;;:::i;:::-;929:10:68;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;:::-;5783:99;:::i;:::-;6930:7;;;;;:::i;:::-;6956:47;:::i;:::-;6948:110;:::i;728:10649:252:-;;;;;;;;;;;;;;;;;;;;2453:24:233;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;9492:11;728:10649;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;10970:15:252;728:10649;;10970:15;728:10649;;;;;;-1:-1:-1;;728:10649:252;;;;10970:15;728:10649;;11060:17;728:10649;;11060:17;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;929:10:68;13528:17:61;;728:10649:252;;929:10:68;;728:10649:252;;13585:18:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;13646:41:61;728:10649:252;929:10:68;13646:41:61;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3182:7:61;728:10649:252;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;3182:7:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;728:10649:252;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;4528:4:252;728:10649;;;;;;;;4560:10;4543:28;;;;728:10649;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;;;:::i;:::-;1303:62:42;;;;;:::i;:::-;2972:52:252;2981:8;728:10649;;;2980:9;2972:52;:::i;:::-;3170:14;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3365:9;728:10649;3337:37;;728:10649;;;;;;;;;;;:::i;:::-;;;;3432:45;;;728:10649;;;;;;;:::i;:::-;3432:45;;;;728:10649;;;3415:11;728:10649;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;3490:66;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;728:10649:252;;;;;;;3490:66;728:10649;;;;;;-1:-1:-1;728:10649:252;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;;;3490:66;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;728:10649:252;;-1:-1:-1;;;;;;728:10649:252;;;;;;;-1:-1:-1;;;;;728:10649:252;2806:40:42;728:10649:252;;2806:40:42;728:10649:252;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;-1:-1:-1;;;;;728:10649:252;;:::i;:::-;;2489:19:61;;;728:10649:252;;;;;;;;;2571:9:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;2866:17;;;;:::i;:::-;2887:10;-1:-1:-1;;;;;728:10649:252;;;2866:31;728:10649;;4040:8;;;;:::i;728:10649::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;3301:14:48;3347:34;;;;;;728:10649:252;3346:108:48;;;;728:10649:252;;;;;-1:-1:-1;;728:10649:252;;;;;;;;3562:65:48;;728:10649:252;-1:-1:-1;;;;;;728:10649:252;;2442:22;728:10649;;;;;;;5366:69:48;728:10649:252;;2534:2;2197:38:233;728:10649:252;;;;;;;;;;2594:22;728:10649;;;;;5366:69:48;;;:::i;:::-;;:::i;:::-;1195:12:42;929:10:68;1195:12:42;:::i;:::-;728:10649:252;;;:::i;:::-;;;;;:::i;:::-;;5366:69:48;728:10649:252;;;;;;5366:69:48;;;:::i;:::-;728:10649:252;;;;;;;;;1873:13:61;728:10649:252;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;728:10649:252;;;;;;;;;;;1873:13:61;728:10649:252;;;;;;;;;;;1896:17:61;728:10649:252;;:::i;:::-;;;;;;;;;;;;;;;;;;2496:8:42;728:10649:252;;;5366:69:48;728:10649:252;;;;;;-1:-1:-1;;;;728:10649:252;;;;;;;;;;;1896:17:61;728:10649:252;;;;;;;5366:69:48;;;:::i;:::-;;;;:::i;:::-;1492:34:233;728:10649:252;;-1:-1:-1;;;;;;728:10649:252;-1:-1:-1;;;;;728:10649:252;;;;;1303:62:42;;:::i;:::-;2496:8;:::i;:::-;3647:99:48;;728:10649:252;;;3647:99:48;728:10649:252;;-1:-1:-1;;728:10649:252;;;;;;;3721:14:48;;728:10649:252;;3721:14:48;3647:99;;728:10649:252;;;;;;;-1:-1:-1;728:10649:252;;;;;1896:17:61;728:10649:252;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;;5366:69:48;728:10649:252;;;;2496:8:42;728:10649:252;;;;;;;;;;;;;;1896:17:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:17:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;;;;;;;;;1873:13:61;728:10649:252;;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;;;;1873:13:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:13:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;3562:65:48;-1:-1:-1;;728:10649:252;;;;;3562:65:48;;;728:10649:252;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;728:10649:252;;;;;3436:17:48;3346:108;;3347:34;728:10649:252;;;;;3365:16:48;3347:34;;728:10649:252;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;;;;3859:90;728:10649;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;1303:62:42;;;:::i;:::-;2972:52:252;2981:8;728:10649;;;2980:9;2972:52;:::i;:::-;728:10649;2453:24:233;728:10649:252;3878:10;;728:10649;;;;:::i;:::-;3859:90;:::i;728:10649::-;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;:::i;:::-;;;;;;6956:47:61;6948:110;728:10649:252;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5783:99:61;5791:41;929:10:68;;5791:41:61;:::i;728:10649:252:-;;;;;;;;-1:-1:-1;;728:10649:252;;;;1513:6:42;728:10649:252;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;4686:9;728:10649;;:::i;:::-;1303:62:42;;:::i;:::-;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;;1492:34:233;728:10649:252;;;1492:34:233;728:10649:252;1418:115:233;728:10649:252;;;;;;;;;;;;;;2332:22:233;728:10649:252;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;1049:16:233;728:10649:252;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;1049:40:233;;728:10649:252;;1049:118:233;;1238:18;728:10649:252;;;;;;1238:33:233;;;;:131;;728:10649:252;;;;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;1401:3:233;728:10649:252;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;1238:131:233;728:10649:252;1345:24:233;728:10649:252;1238:131:233;;;1049:118;728:10649:252;;1145:22:233;728:10649:252;;1049:118:233;;;728:10649:252;;;;;5365:7:61;728:10649:252;;;:::i;:::-;929:10:68;5235:99:61;5243:41;929:10:68;;5243:41:61;:::i;5235:99::-;5365:7;:::i;728:10649:252:-;;;;;;;;-1:-1:-1;;728:10649:252;;;;;9264:24;728:10649;;9162:70;9184:11;728:10649;9170:32;;9162:70;:::i;:::-;9264:24;:::i;:::-;728:10649;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;2981:8;728:10649;2972:52;2981:8;728:10649;;2980:9;2972:52;:::i;:::-;1513:6:42;728:10649:252;-1:-1:-1;;;;;728:10649:252;10084:10;:36;728:10649;;2981:8;10164:50;728:10649;;;;10172:16;10164:50;:::i;:::-;-1:-1:-1;728:10649:252;;;7266:7:61;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;7680:31:61;;10228:50:252;;;;728:10649;;;;10338:24;;;:::i;:::-;-1:-1:-1;;10369:126:252;;;728:10649;;;;10397:20;728:10649;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;10506:34;728:10649;;;;-1:-1:-1;;;;;;;;;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;10506:34;;;;;:::i;728:10649::-;;;;;;;;;;;;;;;;;;;;;;;;10506:34;728:10649;;;-1:-1:-1;;;;;;;;;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;10369:126;728:10649;;;;10458:10;728:10649;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;10506:34;728:10649;;;;-1:-1:-1;;;;;;;;;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;10369:126;;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10506:34;728:10649;;;-1:-1:-1;;;;;;;;;;;728:10649:252;;;;;;;;;;;;;;;;10369:126;;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;10228:50;11292:24;;;;:::i;:::-;11329:41;;;;10228:50;11329:41;728:10649;;;;11348:12;728:10649;;2981:8;728:10649;;;;;11347:23;10228:50;;728:10649;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;8496:14;728:10649;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;728:10649:252;;;;6771:16;728:10649;6771:16;:::i;:::-;728:10649;;;6801:11;;;;728:10649;;929:10:68;;6872:21:252;:62;;;;;728:10649;;;;;-1:-1:-1;728:10649:252;;;7474:15;728:10649;;;;;;-1:-1:-1;;;;;;728:10649:252;;;;;7523:34;728:10649;7523:34;:::i;:::-;728:10649;7514:57;;;;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6872:62;728:10649;;;;4980:18:61;728:10649:252;;;;;929:10:68;728:10649:252;;;;;;;;;;6872:62;;;728:10649;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3018:5:61;728:10649:252;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3018:5:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;9750:46:252;;;:104;;;;728:10649;9750:163;;;;728:10649;9750:221;;;;;728:10649;;;;;;;9750:221;9923:48;;;;:::i;:::-;9750:221;;;:163;2028:26:233;;-1:-1:-1;;;;2013:41:233;:93;;;;9750:163:252;;;;;2013:93:233;2070:36;;;;:::i;:::-;2013:93;;9750:104:252;-1:-1:-1;;;1168:51:72;;;-1:-1:-1;9750:104:252;;728:10649;;;;;;;;-1:-1:-1;;728:10649:252;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;728:10649:252;;;;:::o;:::-;;;;-1:-1:-1;;;;;728:10649:252;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;728:10649:252;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;728:10649:252;;;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;:::o;:::-;-1:-1:-1;;;;;728:10649:252;;;;;;-1:-1:-1;;728:10649:252;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;:::o;1599:130:42:-;1513:6;728:10649:252;-1:-1:-1;;;;;728:10649:252;929:10:68;1662:23:42;728:10649:252;;1599:130:42:o;728:10649:252:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:42;2758:6;728:10649:252;;-1:-1:-1;;;;;728:10649:252;;;-1:-1:-1;;;;;;728:10649:252;;;;;;;;;;2806:40:42;-1:-1:-1;;2806:40:42;2666:187::o;728:10649:252:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;728:10649:252;;;;-1:-1:-1;728:10649:252;;-1:-1:-1;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;:::i;:::-;;;;14463:853:61;;;728:10649:252;;14463:853:61;;;1713:19:66;;:23;:19;;728:10649:252;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;728:10649:252;;;;;;;;;;;;;;;14667:82:61;;;;728:10649:252;;;;;;;;:::i;:::-;14667:82:61;;-1:-1:-1;;;;;728:10649:252;14667:82:61;;;;;;;14628:682;-1:-1:-1;14663:595:61;;14877:381;;;728:10649:252;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14927:18:61;;;728:10649:252;;-1:-1:-1;;;14969:60:61;;728:10649:252;14969:60:61;14667:82;14969:60;;;:::i;14923:321::-;15131:95;;728:10649:252;;;;;14663:595:61;-1:-1:-1;;;;;;728:10649:252;14799:62:61;;-1:-1:-1;728:10649:252;-1:-1:-1;14792:69:61:o;14667:82::-;;;;;;;;;;;;;;;;;:::i;:::-;;;728:10649:252;;;;;-1:-1:-1;;;;;;728:10649:252;;;;;;14667:82:61;;;;;;;;;14628:682;15288:11;;;;;15295:4;15288:11;:::o;14463:853::-;;;728:10649:252;;14463:853:61;;;1713:19:66;;:23;:19;;728:10649:252;;;;;;;;;;;;;;14667:82:61;;;;929:10:68;14667:82:61;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;14667:82:61;;728:10649:252;;;;;;;;:::i;:::-;14667:82:61;728:10649:252;;14667:82:61;;;;;;;-1:-1:-1;14663:595:61;;14877:381;;;728:10649:252;;;;;;;;;:::i;14628:682:61:-;15288:11;;;;;;15295:4;15288:11;:::o;728:10649:252:-;;;;:::o;:::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;;;;:::o;:::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;9184:11;728:10649;;;;;;;;;;-1:-1:-1;728:10649:252;;;;;-1:-1:-1;728:10649:252;:::o;:::-;;;;;;;;;;;;4058:289;4148:24;;;:::i;:::-;-1:-1:-1;;;728:10649:252;;;4179:12;728:10649;;;;;;;-1:-1:-1;;728:10649:252;4204:4;728:10649;;;-1:-1:-1;728:10649:252;4219:54;;4058:289;4215:81;;911:99:64;919:41;929:10:68;;919:41:64;:::i;911:99::-;10729:34:61;;;:::i;:::-;;10935;;;:::i;:::-;728:10649:252;;;11014:15:61;728:10649:252;;;;;;;;;;-1:-1:-1;;;;;;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;11254:9:61;728:10649:252;;;;;;;-1:-1:-1;;728:10649:252;;;;;;11302:7:61;728:10649:252;;;;;;;;;;;;;11334:36:61;728:10649:252;;11334:36:61;4058:289:252:o;4215:81::-;4283:7;;:::o;4219:54::-;-1:-1:-1;;728:10649:252;;;7266:7:61;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;7680:31:61;4219:54:252;;2651:219:61;-1:-1:-1;728:10649:252;;;7266:7:61;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;2793:19:61;;728:10649:252;;2651:219:61;:::o;728:10649:252:-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;4970:564;;;;;1061:1:69;5154:14:252;;728:10649;;;;;;;;5253:9;728:10649;5242:20;;728:10649;;8929:150:61;8950:53;728:10649:252;;;;;:::i;:::-;-1:-1:-1;;728:10649:252;;;;8911:7:61;;;;:::i;:::-;8950:53;:::i;8929:150::-;728:10649:252;;;;;5334:10;728:10649;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;1639:16:233;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4927:13;728:10649;;;;;;;;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;1794:18:233;728:10649:252;;;;;;;;;;;;;;;;;4970:564;:::o;728:10649::-;;;;-1:-1:-1;728:10649:252;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;;;;;;;;;;;;;;;1639:16:233;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;9408:920:61;-1:-1:-1;;;;;728:10649:252;9487:16:61;;728:10649:252;;-1:-1:-1;728:10649:252;;;7266:7:61;728:10649:252;;;;;;9550:58:61;;-1:-1:-1;;;;;728:10649:252;7680:31:61;;9559:16;9558:17;9550:58;:::i;:::-;-1:-1:-1;728:10649:252;;;7266:7:61;728:10649:252;;;;;;9754:58:61;;-1:-1:-1;;;;;728:10649:252;7680:31:61;;9763:16;7592:126;9754:58;9501:1;728:10649:252;;;10154:9:61;728:10649:252;;;;;;;;;;;;;;10193:7:61;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;10230:33:61;;;;9408:920::o;728:10649:252:-;;;;;;;;;;;;;;;;;;;;;;;;;5685:504;-1:-1:-1;728:10649:252;;;5834:20;728:10649;;;;;;;;;;;;;;:::i;:::-;5824:106;;5990:24;;;;:::i;:::-;6025:15;;;;-1:-1:-1;6025:15:252;;728:10649;;;6057:10;728:10649;;;;;;:::i;:::-;6050:27;:::o;6021:164::-;6148:19;10222:18:74;;6148:19:252;10287:8:74;6148:19:252;10278:17:74;;;;10274:103;;6021:164:252;10403:8:74;;;;10394:17;;;;10390:103;;6021:164:252;10519:8:74;;;10510:17;;;;10506:103;;6021:164:252;10635:7:74;;10626:16;;;;10622:100;;6021:164:252;10748:7:74;;10739:16;;;;10735:100;;6021:164:252;10852:16:74;10861:7;10852:16;;;10848:100;;6021:164:252;10974:7:74;10965:16;;;;10961:66;;6021:164:252;633:1:71;728:10649:252;;775:76:71;728:10649:252;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;728:10649:252;;;;775:76:71;;;;864:280;633:1;;;864:280;728:10649:252;;;;;-1:-1:-1;;;728:10649:252;;6112:65;728:10649;;6112:65;728:10649;;;;;;;;6112:65;;;;;;728:10649;;;:::i;:::-;;;;;;;;;;775:76:71;728:10649:252;;;;:::i;:::-;;-1:-1:-1;;;775:76:71;728:10649:252;;;6112:65;;;;;;;;;:::i;864:280:71:-;-1:-1:-1;;728:10649:252;;;;-1:-1:-1;;;969:93:71;;;;728:10649:252;969:93:71;728:10649:252;1079:11:71;;1112:10;1108:21;;864:280;;;;;1108:21;1124:5;;10961:66:74;728:10649:252;11011:1:74;728:10649:252;10961:66:74;;;10848:100;728:10649:252;;10861:7:74;10932:1;728:10649:252;;;;10848:100:74;;;10735;10819:1;728:10649:252;;;;;;10735:100:74;;;;10622;10706:1;728:10649:252;;;;;;10622:100:74;;;;10506:103;10592:2;728:10649:252;;;;;;10506:103:74;;;;10390;728:10649:252;;;;;;;10390:103:74;;;;10274;728:10649:252;;;;;;10350:12:74;10274:103;;;;;5824:106:252;728:10649;;;;;;;;;:::i;6193:482::-;6309:24;;;:::i;:::-;-1:-1:-1;;6344:15:252;;6376:35;;;:::i;6340:331::-;728:10649;-1:-1:-1;728:10649:252;6428:12;728:10649;;;;-1:-1:-1;728:10649:252;;;6424:247;728:10649;;;6467:35;;;:::i;6424:247::-;-1:-1:-1;728:10649:252;;;7266:7:61;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;6528:35;;-1:-1:-1;1513:6:42;728:10649:252;-1:-1:-1;;;;;728:10649:252;;6575:14::o;6523:142::-;6621:35;;;:::i;7043:260::-;-1:-1:-1;;;;;728:10649:252;;;7175:17;;;:::i;:::-;728:10649;;;7206:17;;;;:54;;;;;7043:260;7206:91;;;;;;7198:100;;7043:260;:::o;7206:91::-;728:10649;;;-1:-1:-1;728:10649:252;4980:18:61;728:10649:252;;;-1:-1:-1;728:10649:252;;-1:-1:-1;728:10649:252;;;;;-1:-1:-1;728:10649:252;;;7043:260;:::o;7206:54::-;7227:21;;;;;;;:::i;:::-;728:10649;7227:33;7206:54;;;;;7647:398;-1:-1:-1;728:10649:252;;;7758:16;728:10649;;;;;;-1:-1:-1;;;;;728:10649:252;;-1:-1:-1;728:10649:252;;7818:24;728:10649;7818:24;:::i;:::-;7863:40;;;;;;;7647:398;7862:69;;;;7647:398;728:10649;;;;;;;8015:15;728:10649;;;;;7647:398;:::o;728:10649::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;7862:69;728:10649;;;;7909:12;728:10649;;;;;;;;7908:23;7862:69;;7863:40;7881:22;;;;7863:40;;;8049:369;;8154:13;;728:10649;;11851:92:61;8203:24:252;;;;:::i;:::-;8238:54;;;;;8049:369;8238:81;;;8049:369;8234:124;;8049:369;11859:34:61;;;:::i;:::-;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;11859:42:61;;11851:92;:::i;:::-;728:10649:252;11961:16:61;;;728:10649:252;;12171:34:61;12163:92;12171:34;;;;:::i;:::-;728:10649:252;12171:42:61;12163:92;:::i;:::-;12901:27;8166:1:252;728:10649;;;12324:15:61;728:10649:252;;;;;-1:-1:-1;;;;;728:10649:252;;;;;;;;;;;;12792:9:61;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;12864:7:61;728:10649:252;;;;;;;;;;;;;12901:27:61;;8049:369:252:o;728:10649::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;8234:124;8342:8;;;;:::i;:::-;8234:124;;8238:81;728:10649;;8166:1;728:10649;8297:12;728:10649;;;;8166:1;728:10649;;;8296:23;8238:81;;:54;-1:-1:-1;;728:10649:252;;;7266:7:61;728:10649:252;;;;;;-1:-1:-1;;;;;728:10649:252;7680:31:61;8238:54:252;;728:10649;;;;:::o;:::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;8529:391;8704:11;728:10649;;8529:391;8697:1;8700:22;;;;;;8894:21;;;;8697:1;8894:21;8697:1;728:10649;;;;;;:::i;:::-;8697:1;728:10649;;8529:391;:::o;8724:3::-;8753:14;;;:::i;:::-;728:10649;;8741:39;;;:80;;;8724:3;8737:145;;-1:-1:-1;;728:10649:252;;;;;;8685:13;;728:10649;;;;8697:1;728:10649;;;;;8697:1;728:10649;8737:145;8850:14;;;;;;;:::i;:::-;8833:40;;728:10649;8850:22;728:10649;8833:40;8850:22;;728:10649;:::i;8741:80::-;8796:14;728:10649;8796:14;;;:::i;:::-;:25;;728:10649;8784:37;;;8741:80;;728:10649;;;;:::o;:::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;1987:344:61;728:10649:252;;;;2161:36:61;;;2146:51;;:126;;;;;1987:344;2146:178;;;;2127:197;1987:344;:::o;2146:178::-;-1:-1:-1;;;1168:51:72;;1987:344:61;-1:-1:-1;1987:344:61:o;2146:126::-;-1:-1:-1;;;2213:59:61;;;-1:-1:-1;2146:126:61;;728:10649:252;;;;:::o;:::-;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;-1:-1:-1;;;728:10649:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;728:10649:252;;;;:::o","linkReferences":{}},"methodIdentifiers":{"addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","areTokenURIsLocked()":"631d1d9a","balanceOf(address)":"70a08231","batchMint(string,uint256)":"7cc918d1","burn(uint256)":"42966c68","deleteToken(uint256)":"6297c16c","disableContract()":"894ba833","disabled()":"ee070805","getApproved(uint256)":"081812fc","getBatchCount()":"a8fabfa5","getBatchInfo(uint256)":"1a0058f5","getDefaultRoyaltyPercentage()":"ab69607a","getDefaultRoyaltyReceiver()":"3403c4e9","init(string,string,address,uint256)":"5edc7c19","isApprovedForAll(address,address)":"e985e9c5","lockTokenURIs()":"a448dd4f","maxTokens()":"e8315742","mintTo(string,address,address)":"4aa52c41","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","royaltyInfo(uint256,uint256)":"2a55205a","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setDefaultRoyaltyReceiver(address)":"3ebc82c5","setRoyaltyReceiverForToken(address,uint256)":"efc32cd4","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","tokenURIsLocked()":"bb2ee99f","totalSupply()":"18160ddd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateBatchBaseURI(uint256,string)":"de903ddd","updateTokenURI(uint256,string)":"18e97fd1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"batchIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"BatchBaseURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"}],\"name\":\"ConsecutiveTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ContractDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newURI\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"TokenURIsLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"areTokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseURI\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfTokens\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBatchCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"}],\"name\":\"getBatchInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDefaultRoyaltyReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxTokens\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockTokenURIs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyReceiver\",\"type\":\"address\"}],\"name\":\"mintTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_salePrice\",\"type\":\"uint256\"}],\"name\":\"royaltyInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"royaltyAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"setDefaultRoyaltyReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"setRoyaltyReceiverForToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenURIsLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_batchIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newBaseURI\",\"type\":\"string\"}],\"name\":\"updateBatchBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"updateTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getBatchCount()\":{\"details\":\"Returns the total number of batches.\"},\"getBatchInfo(uint256)\":{\"details\":\"Returns the start and end token IDs and base URI for a specific batch.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"royaltyInfo(uint256,uint256)\":{\"params\":{\"_salePrice\":\"- the sale price of the NFT asset specified by _tokenId\",\"_tokenId\":\"- the NFT asset queried for royalty information\"},\"returns\":{\"receiver\":\"- address of who should be sent the royalty payment\",\"royaltyAmount\":\"- the royalty payment amount for _salePrice\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol\":\"SovereignNFTV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol\":{\"keccak256\":\"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a\",\"dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol\":{\"keccak256\":\"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a\",\"dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol\":{\"keccak256\":\"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae\",\"dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol\":{\"keccak256\":\"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219\",\"dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol\":{\"keccak256\":\"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3\",\"dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol\":{\"keccak256\":\"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee\",\"dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/token/extensions/ERC2981Upgradeable.sol\":{\"keccak256\":\"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465\",\"dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA\"]},\"src/token/extensions/IERC2981.sol\":{\"keccak256\":\"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b\",\"dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol\":{\"keccak256\":\"0xad6fb9ab7c1070f13cc4adece25f8d4e85bda48423f123157e310204ae8406fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f07a2aa442f240475dbb0b8c416233627b0d3044b5983b069d19d9c76245548\",\"dweb:/ipfs/QmePkcqv2oDL8Bdn5kXm6DEqoztYvY3uWmKSy4LjSG3PX8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"batchIndex","type":"uint256","indexed":true},{"internalType":"string","name":"newBaseURI","type":"string","indexed":false}],"type":"event","name":"BatchBaseURIUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fromTokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"toTokenId","type":"uint256","indexed":false},{"internalType":"address","name":"fromAddress","type":"address","indexed":true},{"internalType":"address","name":"toAddress","type":"address","indexed":true}],"type":"event","name":"ConsecutiveTransfer","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"ContractDisabled","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"newURI","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[],"type":"event","name":"TokenURIsLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[],"stateMutability":"view","type":"function","name":"areTokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"},{"internalType":"uint256","name":"_numberOfTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"batchMint"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableContract"},{"inputs":[],"stateMutability":"view","type":"function","name":"disabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBatchCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBatchInfo","outputs":[{"internalType":"uint256","name":"startTokenId","type":"uint256"},{"internalType":"uint256","name":"endTokenId","type":"uint256"},{"internalType":"string","name":"baseURI","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDefaultRoyaltyReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_maxTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"lockTokenURIs"},{"inputs":[],"stateMutability":"view","type":"function","name":"maxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"address","name":"_royaltyReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_salePrice","type":"uint256"}],"stateMutability":"view","type":"function","name":"royaltyInfo","outputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"royaltyAmount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDefaultRoyaltyReceiver"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyReceiverForToken"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenURIsLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_batchIndex","type":"uint256"},{"internalType":"string","name":"_newBaseURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateBatchBaseURI"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_newURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenURI"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getBatchCount()":{"details":"Returns the total number of batches."},"getBatchInfo(uint256)":{"details":"Returns the start and end token IDs and base URI for a specific batch."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"royaltyInfo(uint256,uint256)":{"params":{"_salePrice":"- the sale price of the NFT asset specified by _tokenId","_tokenId":"- the NFT asset queried for royalty information"},"returns":{"receiver":"- address of who should be sent the royalty payment","royaltyAmount":"- the royalty payment amount for _salePrice"}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol":"SovereignNFTV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol":{"keccak256":"0x09fa60c34ff9b067e5ad3af7719d490a12e0ca39132df6f870746eb0d32308ad","urls":["bzz-raw://acebbc807a56154030015434db278d821bca9a5316fbc3626b3f51f14403819a","dweb:/ipfs/QmPacbrj1Hqzrw6b657EXuyMAazLFh1VAo9c66ZJNmfhR3"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol":{"keccak256":"0xbb2ed8106d94aeae6858e2551a1e7174df73994b77b13ebd120ccaaef80155f5","urls":["bzz-raw://8bc3c6a456dba727d8dd9fd33420febede490abb49a07469f61d2a3ace66a95a","dweb:/ipfs/QmVAWtEVj7K5AbvgJa9Dz22KiDq9eoptCjnVZqsTMtKXyd"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol":{"keccak256":"0xbe63437e37e32162d5d11ea8f11a44378c092b4bcbb05b51a813fe4bf33297d4","urls":["bzz-raw://68a514febde6ffd8afe3cb5b40815d10c0a926063237d5d167cbaa90239f75ae","dweb:/ipfs/QmVBvYeR6oGBw7K7vu5FMotr8josejtaGwugM68VTZacww"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol":{"keccak256":"0x03006ed332e7aab87b6aacc771da96e3854bfe1624e1741ede27392dd3df41cf","urls":["bzz-raw://5643a3638a33c80a62f301509e055921b35c29d755e5e0885190ad7da6f21219","dweb:/ipfs/QmXoQr1v7uTh9gnuQX7ybmXrmDckt41PrHaTArTt22f9Fu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol":{"keccak256":"0x95a471796eb5f030fdc438660bebec121ad5d063763e64d92376ffb4b5ce8b70","urls":["bzz-raw://4ffbd627e6958983d288801acdedbf3491ee0ebf1a430338bce47c96481ce9e3","dweb:/ipfs/QmUM1vpmNgBV34sYf946SthDJNGhwwqjoRggmj4TUUQmdB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol":{"keccak256":"0xb1561a6950b1aaa504c8f81b7d46bccfa77ccd10de3eb865cf34b1acd5ad505e","urls":["bzz-raw://9a56cb91629dacd161be24908fbf94315f3f45dd6fee8dad82b27af853cbc4ee","dweb:/ipfs/QmNfEzdf4NTpxyhzWKAmeDwwSpJ6ZjNizK3GXw3TEuTTgn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/token/extensions/ERC2981Upgradeable.sol":{"keccak256":"0x62c64c84a127c5a388397fa20c990b8c0dbd22a1fa1b7176f55c8aae3238383d","urls":["bzz-raw://e540b90c23c363b1d5fb122286c7c583a44c8b907f2764ddf0f2c0e7793b5465","dweb:/ipfs/QmPn163efSqFyhWHC4qFmeJXgMMbEmoENa6gRZjM4wedhA"],"license":"MIT"},"src/token/extensions/IERC2981.sol":{"keccak256":"0x2435b55e1011401b85ed792513721df4fe905013926fa7385f502aa3e97cdffd","urls":["bzz-raw://056bca27c266998358654b0a64b4286a9b66c1b4db464f70a679d44de0f3fa4b","dweb:/ipfs/QmW7zACzmmzoHKdrRQVRKh6eNiGuMjKZrZbvndNW819Z1w"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/v2/token/ERC721/sovereign/SovereignNFTV2.sol":{"keccak256":"0xad6fb9ab7c1070f13cc4adece25f8d4e85bda48423f123157e310204ae8406fd","urls":["bzz-raw://7f07a2aa442f240475dbb0b8c416233627b0d3044b5983b069d19d9c76245548","dweb:/ipfs/QmePkcqv2oDL8Bdn5kXm6DEqoztYvY3uWmKSy4LjSG3PX8"],"license":"MIT"}},"version":1},"id":252} \ No newline at end of file diff --git a/abis/SpaceOperatorRegistry.json b/abis/SpaceOperatorRegistry.json index b198c07..144e245 100644 --- a/abis/SpaceOperatorRegistry.json +++ b/abis/SpaceOperatorRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SPACE_OPERATOR_REGISTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"batchSetSpaceOperatorApproved","inputs":[{"name":"_operators","type":"address[]","internalType":"address[]"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getPlatformCommission","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"pure"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedOperator","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedSpaceOperator","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPlatformCommission","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorApproved","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOperatorApproved","inputs":[{"name":"_operator","type":"address","indexed":true,"internalType":"address"},{"name":"_approver","type":"address","indexed":true,"internalType":"address"},{"name":"_approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657610cba908161001c8239f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146107c3575080630d7fc28014610689578063153875f3146105e35780632260494f146105bd578063248a9ca3146105925780632f2ff15d146104e557806336568abe146104535780635a7d11d3146104155780635dc22eff146104155780636ef90741146103ec5780638129fc1c1461019b5780638c4790121461016f57806391d1485414610128578063a217fddf146101095763d547741f146100c957600080fd5b3461010557806003193601126101055761010291356100fd60016100eb610841565b93838752606560205286200154610857565b610ba3565b80f35b8280fd5b83823461012457816003193601126101245751908152602090f35b5080fd5b5090346101055781600319360112610105578160209360ff92610149610841565b90358252606586528282206001600160a01b039091168252855220549151911615158152f35b838234610124573660031901126101985761018861082b565b5060243560ff8116036101985780f35b80fd5b50903461010557826003193601126101055782549060ff808360081c1615918280936103e0575b80156103ca575b156103705760ff198481166001178755938361035f575b5081865460081c16156103085750848052602092606584528486203387528452818587205416156102c1575b600080516020610c6583398151915291828752606585528587203388528552858720541615610277575b5050610240578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a138808280f35b818652606584528486203387528452600185872091825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8780a43880610236565b8580526065845284862033875284528486206001828254161790553333877f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a461020c565b608490602086519162461bcd60e51b8352820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152fd5b61ffff1916610101178655386101e0565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156101c957506001828516146101c9565b506001828516106101c2565b83823461012457816003193601126101245760209051600080516020610c658339815191528152f35b8382346101245760203660031901126101245760209160ff9082906001600160a01b0361044061082b565b1681526097855220541690519015158152f35b5091903461012457826003193601126101245761046e610841565b90336001600160a01b0383160361048a57906101029135610ba3565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5090346101055781600319360112610105573590610501610841565b90828452606560205261051960018286200154610857565b828452606560209081528185206001600160a01b039093168086529290528084205460ff1615610547578380f35b82845260656020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b5090346101055760203660031901126101055781602093600192358152606585522001549051908152f35b838234610124576020366003190112610124576020906105db61082b565b505160058152f35b8382346101245780600319360112610124576105fd61082b565b90610606610817565b91600080516020610c658339815191528452606560205281842033855260205260ff828520541615610685576001600160a01b03168084526097602052818420805460ff191660ff85151516179055905191151582527f73c6c46c16b828775364ea7d6e753e704d29e8d5d57372459c0f0e699b5cdc1960203393a380f35b8380fd5b50903461010557816003193601126101055767ffffffffffffffff9080358281116107bf57366023820112156107bf57808201359283116107bf57602493848201918536918660051b0101116107bb576106e4939193610817565b80151592875b8181106106f5578880f35b600080516020610c658339815191528952602060658152848a20338b52815260ff858b205416156107b7576001600160a01b038061073c61073785878d610c40565b610c50565b168b526097825261075b85878d209060ff801983541691151516179055565b61076961073784868c610c40565b167f73c6c46c16b828775364ea7d6e753e704d29e8d5d57372459c0f0e699b5cdc198651928884523393a360001981146107a5576001016106ea565b634e487b7160e01b8952601186528789fd5b8980fd5b8580fd5b8480fd5b84908434610105576020366003190112610105573563ffffffff60e01b81168091036101055760209250637965db0b60e01b8114908115610806575b5015158152f35b6301ffc9a760e01b149050836107ff565b60243590811515820361082657565b600080fd5b600435906001600160a01b038216820361082657565b602435906001600160a01b038216820361082657565b600081815260209160658352604092838320338452815260ff8484205416156108805750505050565b835167ffffffffffffffff939092336060850186811186821017610b6c578752602a85528385019187368437855115610b585760308353855191600192831015610b44576078602188015360295b838111610ada5750610a04578751906080820182811089821117610ac657895260428252858201926060368537825115610ab257603084538251811015610ab257607860218401536041905b808211610a46575050610a0457916109999493918893606798995196879361096f8886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610b80565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610b80565b0103602881018552601f199687910116840196848810908811176109f05750926109e760449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610b80565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610a9e576f181899199a1a9b1b9c1cb0b131b232b360811b901a610a758486610c19565b5360041c918015610a8a57600019019061091a565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610b30576f181899199a1a9b1b9c1cb0b131b232b360811b901a610b08838a610c19565b5360041c908015610b1c57600019016108ce565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b84526041600452602484fd5b60005b838110610b935750506000910152565b8181015183820152602001610b83565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416610bd457505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015610c2a570160200190565b634e487b7160e01b600052603260045260246000fd5b9190811015610c2a5760051b0190565b356001600160a01b0381168103610826579056fe57527c1536e7f33d6b842314905b9307508ae79cb438bc0e1a0315e90266ae7fa264697066735822122092a4f83324a38ba9e8f513b4dc5bbd1ba34e3ee023915589a5d5110d348e6ef764736f6c63430008120033","sourceMap":"251:1715:172:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146107c3575080630d7fc28014610689578063153875f3146105e35780632260494f146105bd578063248a9ca3146105925780632f2ff15d146104e557806336568abe146104535780635a7d11d3146104155780635dc22eff146104155780636ef90741146103ec5780638129fc1c1461019b5780638c4790121461016f57806391d1485414610128578063a217fddf146101095763d547741f146100c957600080fd5b3461010557806003193601126101055761010291356100fd60016100eb610841565b93838752606560205286200154610857565b610ba3565b80f35b8280fd5b83823461012457816003193601126101245751908152602090f35b5080fd5b5090346101055781600319360112610105578160209360ff92610149610841565b90358252606586528282206001600160a01b039091168252855220549151911615158152f35b838234610124573660031901126101985761018861082b565b5060243560ff8116036101985780f35b80fd5b50903461010557826003193601126101055782549060ff808360081c1615918280936103e0575b80156103ca575b156103705760ff198481166001178755938361035f575b5081865460081c16156103085750848052602092606584528486203387528452818587205416156102c1575b600080516020610c6583398151915291828752606585528587203388528552858720541615610277575b5050610240578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a138808280f35b818652606584528486203387528452600185872091825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8780a43880610236565b8580526065845284862033875284528486206001828254161790553333877f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a461020c565b608490602086519162461bcd60e51b8352820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152fd5b61ffff1916610101178655386101e0565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156101c957506001828516146101c9565b506001828516106101c2565b83823461012457816003193601126101245760209051600080516020610c658339815191528152f35b8382346101245760203660031901126101245760209160ff9082906001600160a01b0361044061082b565b1681526097855220541690519015158152f35b5091903461012457826003193601126101245761046e610841565b90336001600160a01b0383160361048a57906101029135610ba3565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5090346101055781600319360112610105573590610501610841565b90828452606560205261051960018286200154610857565b828452606560209081528185206001600160a01b039093168086529290528084205460ff1615610547578380f35b82845260656020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b5090346101055760203660031901126101055781602093600192358152606585522001549051908152f35b838234610124576020366003190112610124576020906105db61082b565b505160058152f35b8382346101245780600319360112610124576105fd61082b565b90610606610817565b91600080516020610c658339815191528452606560205281842033855260205260ff828520541615610685576001600160a01b03168084526097602052818420805460ff191660ff85151516179055905191151582527f73c6c46c16b828775364ea7d6e753e704d29e8d5d57372459c0f0e699b5cdc1960203393a380f35b8380fd5b50903461010557816003193601126101055767ffffffffffffffff9080358281116107bf57366023820112156107bf57808201359283116107bf57602493848201918536918660051b0101116107bb576106e4939193610817565b80151592875b8181106106f5578880f35b600080516020610c658339815191528952602060658152848a20338b52815260ff858b205416156107b7576001600160a01b038061073c61073785878d610c40565b610c50565b168b526097825261075b85878d209060ff801983541691151516179055565b61076961073784868c610c40565b167f73c6c46c16b828775364ea7d6e753e704d29e8d5d57372459c0f0e699b5cdc198651928884523393a360001981146107a5576001016106ea565b634e487b7160e01b8952601186528789fd5b8980fd5b8580fd5b8480fd5b84908434610105576020366003190112610105573563ffffffff60e01b81168091036101055760209250637965db0b60e01b8114908115610806575b5015158152f35b6301ffc9a760e01b149050836107ff565b60243590811515820361082657565b600080fd5b600435906001600160a01b038216820361082657565b602435906001600160a01b038216820361082657565b600081815260209160658352604092838320338452815260ff8484205416156108805750505050565b835167ffffffffffffffff939092336060850186811186821017610b6c578752602a85528385019187368437855115610b585760308353855191600192831015610b44576078602188015360295b838111610ada5750610a04578751906080820182811089821117610ac657895260428252858201926060368537825115610ab257603084538251811015610ab257607860218401536041905b808211610a46575050610a0457916109999493918893606798995196879361096f8886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610b80565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610b80565b0103602881018552601f199687910116840196848810908811176109f05750926109e760449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610b80565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610a9e576f181899199a1a9b1b9c1cb0b131b232b360811b901a610a758486610c19565b5360041c918015610a8a57600019019061091a565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610b30576f181899199a1a9b1b9c1cb0b131b232b360811b901a610b08838a610c19565b5360041c908015610b1c57600019016108ce565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b84526041600452602484fd5b60005b838110610b935750506000910152565b8181015183820152602001610b83565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416610bd457505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015610c2a570160200190565b634e487b7160e01b600052603260045260246000fd5b9190811015610c2a5760051b0190565b356001600160a01b0381168103610826579056fe57527c1536e7f33d6b842314905b9307508ae79cb438bc0e1a0315e90266ae7fa264697066735822122092a4f83324a38ba9e8f513b4dc5bbd1ba34e3ee023915589a5d5110d348e6ef764736f6c63430008120033","sourceMap":"251:1715:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5816:7:35;251:1715:172;;2939:4:35;251:1715:172;;;:::i;:::-;;;;;4934:6:35;251:1715:172;;;;4934:22:35;251:1715:172;2939:4:35;:::i;:::-;5816:7;:::i;:::-;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3438:6:35;251:1715:172;;;;;-1:-1:-1;;;;;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;251:1715:172;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3301:14:45;3347:34;;;;;;251:1715:172;3346:108:45;;;;251:1715:172;;;;-1:-1:-1;;251:1715:172;;;3551:1:45;251:1715:172;;;;;3562:65:45;;251:1715:172;;;;;;;;;;;;;;;;;3438:6:35;251:1715:172;;;;;764:10;251:1715;;;;;;;;;;7999:23:35;7995:149;;251:1715:172;-1:-1:-1;;;;;;;;;;;251:1715:172;;;;3438:6:35;251:1715:172;;;;;764:10;251:1715;;;;;;;;;7999:23:35;7995:149;;251:1715:172;3647:99:45;;;;251:1715:172;;;3647:99:45;3721:14;251:1715:172;;;;;;;;;3551:1:45;251:1715:172;;3721:14:45;3647:99;;251:1715:172;;;7995:149:35;251:1715:172;;;3438:6:35;251:1715:172;;;;;764:10;251:1715;;;;3551:1:45;251:1715:172;;;;;;;;;;764:10;;;8093:40:35;;;;;7995:149;;;;;251:1715:172;;;3438:6:35;251:1715:172;;;;;764:10;251:1715;;;;;;;3551:1:45;251:1715:172;;;;;;;764:10;;8093:40:35;;;;;7995:149;;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;251:1715:172;;;;;3562:65:45;-1:-1:-1;;251:1715:172;;;;;3562:65:45;;;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;251:1715:172;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;251:1715:172;3452:1:45;251:1715:172;;;3436:17:45;3346:108;;3347:34;251:1715:172;3380:1:45;251:1715:172;;;3365:16:45;3347:34;;251:1715:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;251:1715:172;;;;;;;;;;;-1:-1:-1;;251:1715:172;;;;;;;;;;-1:-1:-1;;;;;251:1715:172;;:::i;:::-;;;;1212:18;251:1715;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;929:10:65;;-1:-1:-1;;;;;251:1715:172;;6463:23:35;251:1715:172;;;6567:7:35;251:1715:172;;6567:7:35;:::i;251:1715:172:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;4934:6:35;251:1715:172;;2939:4:35;251:1715:172;;;;4934:22:35;251:1715:172;2939:4:35;:::i;:::-;251:1715:172;;;4934:6:35;251:1715:172;;;;;;;-1:-1:-1;;;;;251:1715:172;;;;;;;;;;;;;;;7999:23:35;7995:149;;251:1715:172;;;7995:149:35;251:1715:172;;;4934:6:35;251:1715:172;;;;;;;;;;;;;;;;;;;;;929:10:65;8093:40:35;;;;;7995:149;;;251:1715:172;;;;;;;;;;;-1:-1:-1;;251:1715:172;;;;;;;;;;;;4934:6:35;251:1715:172;;;4934:22:35;251:1715:172;;;;;;;;;;;;;;;-1:-1:-1;;251:1715:172;;;;;;;;:::i;:::-;;;982:1;251:1715;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;-1:-1:-1;;;;;;;;;;;251:1715:172;;3438:6:35;251:1715:172;;;;;1417:10;251:1715;;;;;;;;;;;;;-1:-1:-1;;;;;251:1715:172;;;;1439:18;251:1715;;;;;;;-1:-1:-1;;251:1715:172;;;;;;;;;;;;;;;;1495:55;251:1715;1417:10;1495:55;;251:1715;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1695:13;1710:21;;;;;;251:1715;;;1733:3;-1:-1:-1;;;;;;;;;;;251:1715:172;;;3438:6:35;251:1715:172;;;;;1798:10;251:1715;;;;;;;;;;;;;-1:-1:-1;;;;;251:1715:172;1843:13;;;;;;:::i;:::-;;:::i;:::-;251:1715;;;1824:18;251:1715;;1824:45;251:1715;;;;;;;;;;;;;;;;;;;1824:45;1910:13;;;;;;:::i;:::-;251:1715;1888:59;251:1715;;;;;;1798:10;1888:59;;-1:-1:-1;;251:1715:172;;;;;;1695:13;;251:1715;-1:-1:-1;;;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;251:1715:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3137:58:35;;;:98;;;;251:1715:172;;;;;;;3137:98:35;-1:-1:-1;;;1168:51:69;;-1:-1:-1;3137:98:35;;;251:1715:172;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;251:1715:172;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;251:1715:172;;;;;;:::o;3768:103:35:-;-1:-1:-1;251:1715:172;;;;;3438:6:35;251:1715:172;;;;;;;929:10:65;251:1715:172;;;;;;;;;;4239:23:35;4235:412;;3768:103;;;;:::o;4235:412::-;251:1715:172;;;;;;929:10:65;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:68;;;251:1715:172;;;;;;;;;;2066:15:68;251:1715:172;;;2066:15:68;251:1715:172;2124:5:68;;;;;;2236:10;311:18;;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:68;;;251:1715:172;;;;;;;2066:15:68;251:1715:172;;;2066:15:68;251:1715:172;2091:128:68;2124:5;;;;;;2236:10;;311:18;;251:1715:172;;;;;;;;;;;4330:274:35;;;251:1715:172;4330:274:35;;;251:1715:172;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;251:1715:172;;;;;;;;;;;;:::i;:::-;;4330:274:35;;;;;;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4278:358:35;;2207:1:68;4278:358:35;;251:1715:172;;;;;;;;;;;;;;:::i;:::-;;;;;4278:358:35;;;;251:1715:172;-1:-1:-1;;;251:1715:172;;;2207:1:68;251:1715:172;;;;311:18:68;;251:1715:172;;;;;;;311:18:68;;;2207:1;311:18;;;;;;251:1715:172;311:18:68;251:1715:172;;;311:18:68;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:68;;2150:33;;;;:::i;:::-;;2207:1;251:1715:172;2131:3:68;251:1715:172;;;;-1:-1:-1;;251:1715:172;;2096:26:68;;251:1715:172;-1:-1:-1;;;251:1715:172;;;2207:1:68;251:1715:172;;;;2162:21:68;-1:-1:-1;;;251:1715:172;;;2207:1:68;251:1715:172;;;;;-1:-1:-1;;;251:1715:172;;;2207:1:68;251:1715:172;;;;;-1:-1:-1;;;251:1715:172;;;2207:1:68;251:1715:172;;;;2131:3:68;2171:11;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:68;;2150:33;;;;:::i;:::-;;2207:1;251:1715:172;2131:3:68;251:1715:172;;;;-1:-1:-1;;251:1715:172;2096:26:68;;251:1715:172;-1:-1:-1;;;251:1715:172;;;2207:1:68;251:1715:172;;;;2162:21:68;-1:-1:-1;;;251:1715:172;;;2207:1:68;251:1715:172;;;;;-1:-1:-1;;;251:1715:172;;;;;;;;;-1:-1:-1;;;251:1715:172;;;;;;;;;-1:-1:-1;;;251:1715:172;;;;;;;;;;;;;;;;-1:-1:-1;;251:1715:172;;;;:::o;:::-;;;;;;;;;;;;;8321:234:35;;-1:-1:-1;251:1715:172;;;;3438:6:35;251:1715:172;;;;;;;;;;;;;;;;;;;;;;;;8400:149:35;;8321:234;;;:::o;8400:149::-;251:1715:172;;;3438:6:35;251:1715:172;;;;;;;;;;;;;;;;;;;;8498:40:35;929:10:65;8498:40:35;;;8321:234::o;251:1715:172:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;251:1715:172;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","SPACE_OPERATOR_REGISTER_ROLE()":"6ef90741","batchSetSpaceOperatorApproved(address[],bool)":"0d7fc280","getPlatformCommission(address)":"2260494f","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize()":"8129fc1c","isApprovedOperator(address)":"5a7d11d3","isApprovedSpaceOperator(address)":"5dc22eff","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setPlatformCommission(address,uint8)":"8c479012","setSpaceOperatorApproved(address,bool)":"153875f3","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"SpaceOperatorApproved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SPACE_OPERATOR_REGISTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_operators\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"batchSetSpaceOperatorApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getPlatformCommission\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isApprovedOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedSpaceOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"setPlatformCommission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setSpaceOperatorApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/SpaceOperatorRegistry.sol\":\"SpaceOperatorRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/registry/SpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2ee2909cd9fb4bf48b6898c00f06498cc2fa7142d8e440d7c8535a583953f122\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebef51038462ac21b44230f19a425bec284b5e54c30546f3d72183e0d04568bf\",\"dweb:/ipfs/QmPXsxDRNQX4YmnBuZQ36HGamCRMAYvp8Wr4R7JjnHWoPC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_operator","type":"address","indexed":true},{"internalType":"address","name":"_approver","type":"address","indexed":true},{"internalType":"bool","name":"_approved","type":"bool","indexed":false}],"type":"event","name":"SpaceOperatorApproved","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SPACE_OPERATOR_REGISTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address[]","name":"_operators","type":"address[]"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"batchSetSpaceOperatorApproved"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"getPlatformCommission","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedSpaceOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPlatformCommission"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorApproved"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/SpaceOperatorRegistry.sol":"SpaceOperatorRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/registry/SpaceOperatorRegistry.sol":{"keccak256":"0x2ee2909cd9fb4bf48b6898c00f06498cc2fa7142d8e440d7c8535a583953f122","urls":["bzz-raw://ebef51038462ac21b44230f19a425bec284b5e54c30546f3d72183e0d04568bf","dweb:/ipfs/QmPXsxDRNQX4YmnBuZQ36HGamCRMAYvp8Wr4R7JjnHWoPC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"}},"version":1},"id":172} \ No newline at end of file +{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SPACE_OPERATOR_REGISTER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"batchSetSpaceOperatorApproved","inputs":[{"name":"_operators","type":"address[]","internalType":"address[]"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getPlatformCommission","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"pure"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedOperator","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedSpaceOperator","inputs":[{"name":"_operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPlatformCommission","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorApproved","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceOperatorApproved","inputs":[{"name":"_operator","type":"address","indexed":true,"internalType":"address"},{"name":"_approver","type":"address","indexed":true,"internalType":"address"},{"name":"_approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657610cba908161001c8239f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146107c3575080630d7fc28014610689578063153875f3146105e35780632260494f146105bd578063248a9ca3146105925780632f2ff15d146104e557806336568abe146104535780635a7d11d3146104155780635dc22eff146104155780636ef90741146103ec5780638129fc1c1461019b5780638c4790121461016f57806391d1485414610128578063a217fddf146101095763d547741f146100c957600080fd5b3461010557806003193601126101055761010291356100fd60016100eb610841565b93838752606560205286200154610857565b610ba3565b80f35b8280fd5b83823461012457816003193601126101245751908152602090f35b5080fd5b5090346101055781600319360112610105578160209360ff92610149610841565b90358252606586528282206001600160a01b039091168252855220549151911615158152f35b838234610124573660031901126101985761018861082b565b5060243560ff8116036101985780f35b80fd5b50903461010557826003193601126101055782549060ff808360081c1615918280936103e0575b80156103ca575b156103705760ff198481166001178755938361035f575b5081865460081c16156103085750848052602092606584528486203387528452818587205416156102c1575b600080516020610c6583398151915291828752606585528587203388528552858720541615610277575b5050610240578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a138808280f35b818652606584528486203387528452600185872091825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8780a43880610236565b8580526065845284862033875284528486206001828254161790553333877f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a461020c565b608490602086519162461bcd60e51b8352820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152fd5b61ffff1916610101178655386101e0565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156101c957506001828516146101c9565b506001828516106101c2565b83823461012457816003193601126101245760209051600080516020610c658339815191528152f35b8382346101245760203660031901126101245760209160ff9082906001600160a01b0361044061082b565b1681526097855220541690519015158152f35b5091903461012457826003193601126101245761046e610841565b90336001600160a01b0383160361048a57906101029135610ba3565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5090346101055781600319360112610105573590610501610841565b90828452606560205261051960018286200154610857565b828452606560209081528185206001600160a01b039093168086529290528084205460ff1615610547578380f35b82845260656020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b5090346101055760203660031901126101055781602093600192358152606585522001549051908152f35b838234610124576020366003190112610124576020906105db61082b565b505160058152f35b8382346101245780600319360112610124576105fd61082b565b90610606610817565b91600080516020610c658339815191528452606560205281842033855260205260ff828520541615610685576001600160a01b03168084526097602052818420805460ff191660ff85151516179055905191151582527f73c6c46c16b828775364ea7d6e753e704d29e8d5d57372459c0f0e699b5cdc1960203393a380f35b8380fd5b50903461010557816003193601126101055767ffffffffffffffff9080358281116107bf57366023820112156107bf57808201359283116107bf57602493848201918536918660051b0101116107bb576106e4939193610817565b80151592875b8181106106f5578880f35b600080516020610c658339815191528952602060658152848a20338b52815260ff858b205416156107b7576001600160a01b038061073c61073785878d610c40565b610c50565b168b526097825261075b85878d209060ff801983541691151516179055565b61076961073784868c610c40565b167f73c6c46c16b828775364ea7d6e753e704d29e8d5d57372459c0f0e699b5cdc198651928884523393a360001981146107a5576001016106ea565b634e487b7160e01b8952601186528789fd5b8980fd5b8580fd5b8480fd5b84908434610105576020366003190112610105573563ffffffff60e01b81168091036101055760209250637965db0b60e01b8114908115610806575b5015158152f35b6301ffc9a760e01b149050836107ff565b60243590811515820361082657565b600080fd5b600435906001600160a01b038216820361082657565b602435906001600160a01b038216820361082657565b600081815260209160658352604092838320338452815260ff8484205416156108805750505050565b835167ffffffffffffffff939092336060850186811186821017610b6c578752602a85528385019187368437855115610b585760308353855191600192831015610b44576078602188015360295b838111610ada5750610a04578751906080820182811089821117610ac657895260428252858201926060368537825115610ab257603084538251811015610ab257607860218401536041905b808211610a46575050610a0457916109999493918893606798995196879361096f8886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610b80565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610b80565b0103602881018552601f199687910116840196848810908811176109f05750926109e760449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610b80565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610a9e576f181899199a1a9b1b9c1cb0b131b232b360811b901a610a758486610c19565b5360041c918015610a8a57600019019061091a565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610b30576f181899199a1a9b1b9c1cb0b131b232b360811b901a610b08838a610c19565b5360041c908015610b1c57600019016108ce565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b84526041600452602484fd5b60005b838110610b935750506000910152565b8181015183820152602001610b83565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416610bd457505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015610c2a570160200190565b634e487b7160e01b600052603260045260246000fd5b9190811015610c2a5760051b0190565b356001600160a01b0381168103610826579056fe57527c1536e7f33d6b842314905b9307508ae79cb438bc0e1a0315e90266ae7fa2646970667358221220ddea7c518254c4873740f6bfbc42a97c9f8e6f1bac1f878f419b46f64151249064736f6c63430008120033","sourceMap":"251:1715:183:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146107c3575080630d7fc28014610689578063153875f3146105e35780632260494f146105bd578063248a9ca3146105925780632f2ff15d146104e557806336568abe146104535780635a7d11d3146104155780635dc22eff146104155780636ef90741146103ec5780638129fc1c1461019b5780638c4790121461016f57806391d1485414610128578063a217fddf146101095763d547741f146100c957600080fd5b3461010557806003193601126101055761010291356100fd60016100eb610841565b93838752606560205286200154610857565b610ba3565b80f35b8280fd5b83823461012457816003193601126101245751908152602090f35b5080fd5b5090346101055781600319360112610105578160209360ff92610149610841565b90358252606586528282206001600160a01b039091168252855220549151911615158152f35b838234610124573660031901126101985761018861082b565b5060243560ff8116036101985780f35b80fd5b50903461010557826003193601126101055782549060ff808360081c1615918280936103e0575b80156103ca575b156103705760ff198481166001178755938361035f575b5081865460081c16156103085750848052602092606584528486203387528452818587205416156102c1575b600080516020610c6583398151915291828752606585528587203388528552858720541615610277575b5050610240578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a138808280f35b818652606584528486203387528452600185872091825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8780a43880610236565b8580526065845284862033875284528486206001828254161790553333877f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a461020c565b608490602086519162461bcd60e51b8352820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152fd5b61ffff1916610101178655386101e0565b608490602086519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156101c957506001828516146101c9565b506001828516106101c2565b83823461012457816003193601126101245760209051600080516020610c658339815191528152f35b8382346101245760203660031901126101245760209160ff9082906001600160a01b0361044061082b565b1681526097855220541690519015158152f35b5091903461012457826003193601126101245761046e610841565b90336001600160a01b0383160361048a57906101029135610ba3565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5090346101055781600319360112610105573590610501610841565b90828452606560205261051960018286200154610857565b828452606560209081528185206001600160a01b039093168086529290528084205460ff1615610547578380f35b82845260656020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b5090346101055760203660031901126101055781602093600192358152606585522001549051908152f35b838234610124576020366003190112610124576020906105db61082b565b505160058152f35b8382346101245780600319360112610124576105fd61082b565b90610606610817565b91600080516020610c658339815191528452606560205281842033855260205260ff828520541615610685576001600160a01b03168084526097602052818420805460ff191660ff85151516179055905191151582527f73c6c46c16b828775364ea7d6e753e704d29e8d5d57372459c0f0e699b5cdc1960203393a380f35b8380fd5b50903461010557816003193601126101055767ffffffffffffffff9080358281116107bf57366023820112156107bf57808201359283116107bf57602493848201918536918660051b0101116107bb576106e4939193610817565b80151592875b8181106106f5578880f35b600080516020610c658339815191528952602060658152848a20338b52815260ff858b205416156107b7576001600160a01b038061073c61073785878d610c40565b610c50565b168b526097825261075b85878d209060ff801983541691151516179055565b61076961073784868c610c40565b167f73c6c46c16b828775364ea7d6e753e704d29e8d5d57372459c0f0e699b5cdc198651928884523393a360001981146107a5576001016106ea565b634e487b7160e01b8952601186528789fd5b8980fd5b8580fd5b8480fd5b84908434610105576020366003190112610105573563ffffffff60e01b81168091036101055760209250637965db0b60e01b8114908115610806575b5015158152f35b6301ffc9a760e01b149050836107ff565b60243590811515820361082657565b600080fd5b600435906001600160a01b038216820361082657565b602435906001600160a01b038216820361082657565b600081815260209160658352604092838320338452815260ff8484205416156108805750505050565b835167ffffffffffffffff939092336060850186811186821017610b6c578752602a85528385019187368437855115610b585760308353855191600192831015610b44576078602188015360295b838111610ada5750610a04578751906080820182811089821117610ac657895260428252858201926060368537825115610ab257603084538251811015610ab257607860218401536041905b808211610a46575050610a0457916109999493918893606798995196879361096f8886019a7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008c525180926037880190610b80565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180936048840190610b80565b0103602881018552601f199687910116840196848810908811176109f05750926109e760449593601f938880975262461bcd60e51b8752600487015251809281602488015287870190610b80565b01168101030190fd5b634e487b7160e01b81526041600452602490fd5b60648589519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015610a9e576f181899199a1a9b1b9c1cb0b131b232b360811b901a610a758486610c19565b5360041c918015610a8a57600019019061091a565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b90600f81166010811015610b30576f181899199a1a9b1b9c1cb0b131b232b360811b901a610b08838a610c19565b5360041c908015610b1c57600019016108ce565b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b85526032600452602485fd5b634e487b7160e01b84526032600452602484fd5b634e487b7160e01b84526041600452602484fd5b60005b838110610b935750506000910152565b8181015183820152602001610b83565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416610bd457505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015610c2a570160200190565b634e487b7160e01b600052603260045260246000fd5b9190811015610c2a5760051b0190565b356001600160a01b0381168103610826579056fe57527c1536e7f33d6b842314905b9307508ae79cb438bc0e1a0315e90266ae7fa2646970667358221220ddea7c518254c4873740f6bfbc42a97c9f8e6f1bac1f878f419b46f64151249064736f6c63430008120033","sourceMap":"251:1715:183:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5816:7:38;251:1715:183;;2939:4:38;251:1715:183;;;:::i;:::-;;;;;4934:6:38;251:1715:183;;;;4934:22:38;251:1715:183;2939:4:38;:::i;:::-;5816:7;:::i;:::-;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3438:6:38;251:1715:183;;;;;-1:-1:-1;;;;;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;251:1715:183;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3301:14:48;3347:34;;;;;;251:1715:183;3346:108:48;;;;251:1715:183;;;;-1:-1:-1;;251:1715:183;;;3551:1:48;251:1715:183;;;;;3562:65:48;;251:1715:183;;;;;;;;;;;;;;;;;3438:6:38;251:1715:183;;;;;764:10;251:1715;;;;;;;;;;7999:23:38;7995:149;;251:1715:183;-1:-1:-1;;;;;;;;;;;251:1715:183;;;;3438:6:38;251:1715:183;;;;;764:10;251:1715;;;;;;;;;7999:23:38;7995:149;;251:1715:183;3647:99:48;;;;251:1715:183;;;3647:99:48;3721:14;251:1715:183;;;;;;;;;3551:1:48;251:1715:183;;3721:14:48;3647:99;;251:1715:183;;;7995:149:38;251:1715:183;;;3438:6:38;251:1715:183;;;;;764:10;251:1715;;;;3551:1:48;251:1715:183;;;;;;;;;;764:10;;;8093:40:38;;;;;7995:149;;;;;251:1715:183;;;3438:6:38;251:1715:183;;;;;764:10;251:1715;;;;;;;3551:1:48;251:1715:183;;;;;;;764:10;;8093:40:38;;;;;7995:149;;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;251:1715:183;;;;;3562:65:48;-1:-1:-1;;251:1715:183;;;;;3562:65:48;;;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;251:1715:183;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;251:1715:183;3452:1:48;251:1715:183;;;3436:17:48;3346:108;;3347:34;251:1715:183;3380:1:48;251:1715:183;;;3365:16:48;3347:34;;251:1715:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;251:1715:183;;;;;;;;;;;-1:-1:-1;;251:1715:183;;;;;;;;;;-1:-1:-1;;;;;251:1715:183;;:::i;:::-;;;;1212:18;251:1715;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;929:10:68;;-1:-1:-1;;;;;251:1715:183;;6463:23:38;251:1715:183;;;6567:7:38;251:1715:183;;6567:7:38;:::i;251:1715:183:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;4934:6:38;251:1715:183;;2939:4:38;251:1715:183;;;;4934:22:38;251:1715:183;2939:4:38;:::i;:::-;251:1715:183;;;4934:6:38;251:1715:183;;;;;;;-1:-1:-1;;;;;251:1715:183;;;;;;;;;;;;;;;7999:23:38;7995:149;;251:1715:183;;;7995:149:38;251:1715:183;;;4934:6:38;251:1715:183;;;;;;;;;;;;;;;;;;;;;929:10:68;8093:40:38;;;;;7995:149;;;251:1715:183;;;;;;;;;;;-1:-1:-1;;251:1715:183;;;;;;;;;;;;4934:6:38;251:1715:183;;;4934:22:38;251:1715:183;;;;;;;;;;;;;;;-1:-1:-1;;251:1715:183;;;;;;;;:::i;:::-;;;982:1;251:1715;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;-1:-1:-1;;;;;;;;;;;251:1715:183;;3438:6:38;251:1715:183;;;;;1417:10;251:1715;;;;;;;;;;;;;-1:-1:-1;;;;;251:1715:183;;;;1439:18;251:1715;;;;;;;-1:-1:-1;;251:1715:183;;;;;;;;;;;;;;;;1495:55;251:1715;1417:10;1495:55;;251:1715;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1695:13;1710:21;;;;;;251:1715;;;1733:3;-1:-1:-1;;;;;;;;;;;251:1715:183;;;3438:6:38;251:1715:183;;;;;1798:10;251:1715;;;;;;;;;;;;;-1:-1:-1;;;;;251:1715:183;1843:13;;;;;;:::i;:::-;;:::i;:::-;251:1715;;;1824:18;251:1715;;1824:45;251:1715;;;;;;;;;;;;;;;;;;;1824:45;1910:13;;;;;;:::i;:::-;251:1715;1888:59;251:1715;;;;;;1798:10;1888:59;;-1:-1:-1;;251:1715:183;;;;;;1695:13;;251:1715;-1:-1:-1;;;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;251:1715:183;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3137:58:38;;;:98;;;;251:1715:183;;;;;;;3137:98:38;-1:-1:-1;;;1168:51:72;;-1:-1:-1;3137:98:38;;;251:1715:183;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;251:1715:183;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;251:1715:183;;;;;;:::o;3768:103:38:-;-1:-1:-1;251:1715:183;;;;;3438:6:38;251:1715:183;;;;;;;929:10:68;251:1715:183;;;;;;;;;;4239:23:38;4235:412;;3768:103;;;;:::o;4235:412::-;251:1715:183;;;;;;929:10:68;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:71;;;251:1715:183;;;;;;;;;;2066:15:71;251:1715:183;;;2066:15:71;251:1715:183;2124:5:71;;;;;;2236:10;311:18;;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2041:15:71;;;251:1715:183;;;;;;;2066:15:71;251:1715:183;;;2066:15:71;251:1715:183;2091:128:71;2124:5;;;;;;2236:10;;311:18;;251:1715:183;;;;;;;;;;;4330:274:38;;;251:1715:183;4330:274:38;;;251:1715:183;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;251:1715:183;;;;;;;;;;;;:::i;:::-;;4330:274:38;;;;;;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4278:358:38;;2207:1:71;4278:358:38;;251:1715:183;;;;;;;;;;;;;;:::i;:::-;;;;;4278:358:38;;;;251:1715:183;-1:-1:-1;;;251:1715:183;;;2207:1:71;251:1715:183;;;;311:18:71;;251:1715:183;;;;;;;311:18:71;;;2207:1;311:18;;;;;;251:1715:183;311:18:71;251:1715:183;;;311:18:71;;2131:3;2171:11;;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:71;;2150:33;;;;:::i;:::-;;2207:1;251:1715:183;2131:3:71;251:1715:183;;;;-1:-1:-1;;251:1715:183;;2096:26:71;;251:1715:183;-1:-1:-1;;;251:1715:183;;;2207:1:71;251:1715:183;;;;2162:21:71;-1:-1:-1;;;251:1715:183;;;2207:1:71;251:1715:183;;;;;-1:-1:-1;;;251:1715:183;;;2207:1:71;251:1715:183;;;;;-1:-1:-1;;;251:1715:183;;;2207:1:71;251:1715:183;;;;2131:3:71;2171:11;2179:3;2171:11;;2162:21;;;;;;-1:-1:-1;;;2162:21:71;;2150:33;;;;:::i;:::-;;2207:1;251:1715:183;2131:3:71;251:1715:183;;;;-1:-1:-1;;251:1715:183;2096:26:71;;251:1715:183;-1:-1:-1;;;251:1715:183;;;2207:1:71;251:1715:183;;;;2162:21:71;-1:-1:-1;;;251:1715:183;;;2207:1:71;251:1715:183;;;;;-1:-1:-1;;;251:1715:183;;;;;;;;;-1:-1:-1;;;251:1715:183;;;;;;;;;-1:-1:-1;;;251:1715:183;;;;;;;;;;;;;;;;-1:-1:-1;;251:1715:183;;;;:::o;:::-;;;;;;;;;;;;;8321:234:38;;-1:-1:-1;251:1715:183;;;;3438:6:38;251:1715:183;;;;;;;;;;;;;;;;;;;;;;;;8400:149:38;;8321:234;;;:::o;8400:149::-;251:1715:183;;;3438:6:38;251:1715:183;;;;;;;;;;;;;;;;;;;;8498:40:38;929:10:68;8498:40:38;;;8321:234::o;251:1715:183:-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;251:1715:183;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","SPACE_OPERATOR_REGISTER_ROLE()":"6ef90741","batchSetSpaceOperatorApproved(address[],bool)":"0d7fc280","getPlatformCommission(address)":"2260494f","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize()":"8129fc1c","isApprovedOperator(address)":"5a7d11d3","isApprovedSpaceOperator(address)":"5dc22eff","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setPlatformCommission(address,uint8)":"8c479012","setSpaceOperatorApproved(address,bool)":"153875f3","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"SpaceOperatorApproved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SPACE_OPERATOR_REGISTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_operators\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"batchSetSpaceOperatorApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getPlatformCommission\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isApprovedOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedSpaceOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"setPlatformCommission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setSpaceOperatorApproved\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/registry/SpaceOperatorRegistry.sol\":\"SpaceOperatorRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"src/registry/SpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2ee2909cd9fb4bf48b6898c00f06498cc2fa7142d8e440d7c8535a583953f122\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebef51038462ac21b44230f19a425bec284b5e54c30546f3d72183e0d04568bf\",\"dweb:/ipfs/QmPXsxDRNQX4YmnBuZQ36HGamCRMAYvp8Wr4R7JjnHWoPC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_operator","type":"address","indexed":true},{"internalType":"address","name":"_approver","type":"address","indexed":true},{"internalType":"bool","name":"_approved","type":"bool","indexed":false}],"type":"event","name":"SpaceOperatorApproved","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SPACE_OPERATOR_REGISTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address[]","name":"_operators","type":"address[]"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"batchSetSpaceOperatorApproved"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"getPlatformCommission","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedSpaceOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPlatformCommission"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorApproved"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/registry/SpaceOperatorRegistry.sol":"SpaceOperatorRegistry"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"src/registry/SpaceOperatorRegistry.sol":{"keccak256":"0x2ee2909cd9fb4bf48b6898c00f06498cc2fa7142d8e440d7c8535a583953f122","urls":["bzz-raw://ebef51038462ac21b44230f19a425bec284b5e54c30546f3d72183e0d04568bf","dweb:/ipfs/QmPXsxDRNQX4YmnBuZQ36HGamCRMAYvp8Wr4R7JjnHWoPC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"}},"version":1},"id":183} \ No newline at end of file diff --git a/abis/SuperFakeNFT.json b/abis/SuperFakeNFT.json index 52dd187..26ad1cb 100644 --- a/abis/SuperFakeNFT.json +++ b/abis/SuperFakeNFT.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_bazaar","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080346200035c57601f601f196001600160401b03620012d238819003848101841686018381118782101762000346578692829160405283396020958691810103126200035c57516001600160a01b03811693908490036200035c576200006562000361565b92600a84526953757065722046616b6560b01b868501526200008662000361565b90600782526653555052464b4560c81b8783015284519084821162000346576000918254966001978881811c911680156200033b575b8b8210146200032757908187849311620002d4575b508a908783116001146200027157859262000265575b5050600019600383901b1c191690871b1782555b8251948511620002515785548681811c9116801562000246575b898210146200023257848111620001ea575b508793851160011462000185575083949596509262000179575b5050600019600383901b1c191690821b1790555b600680546001600160a01b031916919091179055604051610f509081620003828239f35b01519050388062000141565b8493929193169685845280842093905b888210620001d25750508385969710620001b8575b505050811b01905562000155565b015160001960f88460031b161c19169055388080620001aa565b80878596829496860151815501950193019062000195565b8683528883208580880160051c8201928b891062000228575b0160051c019087905b8281106200021c57505062000127565b8481550187906200020c565b9250819262000203565b634e487b7160e01b83526022600452602483fd5b90607f169062000115565b634e487b7160e01b82526041600452602482fd5b015190503880620000e7565b90848a9416918680528c8720928d88905b828210620002bc5750508411620002a2575b505050811b018255620000fb565b015160001960f88460031b161c1916905538808062000294565b8385015186558d979095019493840193018e62000282565b9091508480528a85208780850160051c8201928d86106200031d575b918b91869594930160051c01915b8281106200030e575050620000d1565b8781558594508b9101620002fe565b92508192620002f0565b634e487b7160e01b85526022600452602485fd5b90607f1690620000bc565b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b03811183821017620003465760405256fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a71461086c5750816306fdde03146107a1578163081812fc14610781578163095ea7b31461061357816323b872dd146105fb57816340c10f19146104e557816342842e0e146104bc5781636352211e1461048b57816370a08231146103f557816395d89b41146102dc578163a22cb4651461020c578163b88d4fde1461017e578163c87b56dd1461010f575063e985e9c5146100bf57600080fd5b3461010b578060031936011261010b5760ff816020936100dd610917565b6100e5610932565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b5080fd5b83833461010b57602036600319011261010b5761014d61014861017a9435600052600260205260018060a01b0360406000205416151590565b6109ed565b8181516101598161097d565b528051916101668361097d565b8252519182916020835260208301906108d7565b0390f35b919050346102085760803660031901126102085761019a610917565b6101a2610932565b846064359467ffffffffffffffff861161010b573660238701121561010b57850135946101da6101d1876109d1565b955195866109af565b858552366024878301011161010b578561020596602460209301838801378501015260443591610aff565b80f35b8280fd5b91905034610208578060031936011261020857610227610917565b90602435918215158093036102d8576001600160a01b0316923384146102965750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b8284346103f257806003193601126103f2578151918160019283549384811c918186169586156103e8575b60209687851081146103d5578899509688969785829a5291826000146103ae575050600114610353575b50505061017a92916103449103856109af565b519282849384528301906108d7565b91908693508083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410610396575050508201018161034461017a610331565b8054848a01860152889550879490930192810161037d565b60ff19168782015293151560051b86019093019350849250610344915061017a9050610331565b634e487b7160e01b835260228a52602483fd5b92607f1692610307565b80fd5b8391503461010b57602036600319011261010b576001600160a01b03610419610917565b169081156104365760208480858581526003845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b8284346103f25760203660031901126103f257506104ab60209235610a39565b90516001600160a01b039091168152f35b50503461010b57610205906104d036610948565b919251926104dd8461097d565b858452610aff565b9050346102085781600319360112610208576104ff610917565b602435926001600160a01b039091169182156105b9575060008381526002602052604090205461053b906001600160a01b031615155b15610e9e565b60008381526002602052604090205461055e906001600160a01b03161515610535565b81845260036020528084206001815401905582845260026020528320816bffffffffffffffffffffffff60a01b825416179055827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a480f35b6020606492519162461bcd60e51b8352820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b83346103f25761020561060d36610948565b91610eea565b90503461020857816003193601126102085761062d610917565b6024359290916001600160a01b039190828061064887610a39565b1694169380851461073457803314908115610715575b50156106ad57848652602052842080546001600160a01b0319168317905561068583610a39565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652600560205281862033875260205260ff82872054163861065e565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b8284346103f25760203660031901126103f257506104ab60209235610a5f565b8284346103f257806003193601126103f25781519181825492600184811c91818616958615610862575b60209687851081146103d5578899509688969785829a5291826000146103ae5750506001146108075750505061017a92916103449103856109af565b91908693508280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b82841061084a575050508201018161034461017a610331565b8054848a018601528895508794909301928101610831565b92607f16926107cb565b849134610208576020366003190112610208573563ffffffff60e01b811680910361020857602092506380ac58cd60e01b81149081156108c6575b81156108b5575b5015158152f35b6301ffc9a760e01b149050836108ae565b635b5e139f60e01b811491506108a7565b919082519283825260005b848110610903575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016108e2565b600435906001600160a01b038216820361092d57565b600080fd5b602435906001600160a01b038216820361092d57565b606090600319011261092d576001600160a01b0390600435828116810361092d5791602435908116810361092d579060443590565b6020810190811067ffffffffffffffff82111761099957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761099957604052565b67ffffffffffffffff811161099957601f01601f191660200190565b156109f457565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316610a5c8115156109ed565b90565b600081815260026020526040902054610a82906001600160a01b031615156109ed565b6000908152600460205260409020546001600160a01b031690565b15610aa457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90610b28939291610b18610b138433610b9f565b610a9d565b610b23838383610c67565b610d7d565b15610b2f57565b60405162461bcd60e51b815280610b4860048201610b4c565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b038080610bb384610a39565b16931691838314938415610be6575b508315610bd0575b50505090565b610bdc91929350610a5f565b1614388080610bca565b909350600052600560205260406000208260005260205260ff604060002054169238610bc2565b15610c1457565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90610c8f91610c7584610a39565b6001600160a01b0393918416928492909183168414610c0d565b16918215610d2c5781610cac91610ca586610a39565b1614610c0d565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15610e9357948491610dd79660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906108d7565b0393165af1849181610e53575b50610e42575050503d600014610e3a573d610dfe816109d1565b90610e0c60405192836109af565b81528091833d92013e5b80519182610e375760405162461bcd60e51b815280610b4860048201610b4c565b01fd5b506060610e16565b6001600160e01b0319161492509050565b9091508581813d8311610e8c575b610e6b81836109af565b810103126102d857516001600160e01b0319811681036102d8579038610de4565b503d610e61565b505050915050600190565b15610ea557565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b919060018060a01b03600654163314610f1557610f1392610f0e610b138433610b9f565b610c67565b565b50505056fea2646970667358221220a64198fc0df708c3f66b0dcd62e013a7b1e0684bc588aedfa2c4330c1606f56164736f6c63430008120033","sourceMap":"139:419:60:-:0;;;;;-1:-1:-1;;;;;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;139:419:60;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;139:419:60;;;;;;:::i;:::-;;;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;;;;;-1:-1:-1;;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;139:419:60;;;;;;;;;;;;;;262:16;139:419;;-1:-1:-1;;;;;;139:419:60;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;-1:-1:-1;139:419:60;;-1:-1:-1;139:419:60;;;;;;;;;;-1:-1:-1;;;;;139:419:60;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a71461086c5750816306fdde03146107a1578163081812fc14610781578163095ea7b31461061357816323b872dd146105fb57816340c10f19146104e557816342842e0e146104bc5781636352211e1461048b57816370a08231146103f557816395d89b41146102dc578163a22cb4651461020c578163b88d4fde1461017e578163c87b56dd1461010f575063e985e9c5146100bf57600080fd5b3461010b578060031936011261010b5760ff816020936100dd610917565b6100e5610932565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b5080fd5b83833461010b57602036600319011261010b5761014d61014861017a9435600052600260205260018060a01b0360406000205416151590565b6109ed565b8181516101598161097d565b528051916101668361097d565b8252519182916020835260208301906108d7565b0390f35b919050346102085760803660031901126102085761019a610917565b6101a2610932565b846064359467ffffffffffffffff861161010b573660238701121561010b57850135946101da6101d1876109d1565b955195866109af565b858552366024878301011161010b578561020596602460209301838801378501015260443591610aff565b80f35b8280fd5b91905034610208578060031936011261020857610227610917565b90602435918215158093036102d8576001600160a01b0316923384146102965750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b8284346103f257806003193601126103f2578151918160019283549384811c918186169586156103e8575b60209687851081146103d5578899509688969785829a5291826000146103ae575050600114610353575b50505061017a92916103449103856109af565b519282849384528301906108d7565b91908693508083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828410610396575050508201018161034461017a610331565b8054848a01860152889550879490930192810161037d565b60ff19168782015293151560051b86019093019350849250610344915061017a9050610331565b634e487b7160e01b835260228a52602483fd5b92607f1692610307565b80fd5b8391503461010b57602036600319011261010b576001600160a01b03610419610917565b169081156104365760208480858581526003845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b8284346103f25760203660031901126103f257506104ab60209235610a39565b90516001600160a01b039091168152f35b50503461010b57610205906104d036610948565b919251926104dd8461097d565b858452610aff565b9050346102085781600319360112610208576104ff610917565b602435926001600160a01b039091169182156105b9575060008381526002602052604090205461053b906001600160a01b031615155b15610e9e565b60008381526002602052604090205461055e906001600160a01b03161515610535565b81845260036020528084206001815401905582845260026020528320816bffffffffffffffffffffffff60a01b825416179055827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a480f35b6020606492519162461bcd60e51b8352820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b83346103f25761020561060d36610948565b91610eea565b90503461020857816003193601126102085761062d610917565b6024359290916001600160a01b039190828061064887610a39565b1694169380851461073457803314908115610715575b50156106ad57848652602052842080546001600160a01b0319168317905561068583610a39565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652600560205281862033875260205260ff82872054163861065e565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b8284346103f25760203660031901126103f257506104ab60209235610a5f565b8284346103f257806003193601126103f25781519181825492600184811c91818616958615610862575b60209687851081146103d5578899509688969785829a5291826000146103ae5750506001146108075750505061017a92916103449103856109af565b91908693508280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b82841061084a575050508201018161034461017a610331565b8054848a018601528895508794909301928101610831565b92607f16926107cb565b849134610208576020366003190112610208573563ffffffff60e01b811680910361020857602092506380ac58cd60e01b81149081156108c6575b81156108b5575b5015158152f35b6301ffc9a760e01b149050836108ae565b635b5e139f60e01b811491506108a7565b919082519283825260005b848110610903575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016108e2565b600435906001600160a01b038216820361092d57565b600080fd5b602435906001600160a01b038216820361092d57565b606090600319011261092d576001600160a01b0390600435828116810361092d5791602435908116810361092d579060443590565b6020810190811067ffffffffffffffff82111761099957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761099957604052565b67ffffffffffffffff811161099957601f01601f191660200190565b156109f457565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316610a5c8115156109ed565b90565b600081815260026020526040902054610a82906001600160a01b031615156109ed565b6000908152600460205260409020546001600160a01b031690565b15610aa457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90610b28939291610b18610b138433610b9f565b610a9d565b610b23838383610c67565b610d7d565b15610b2f57565b60405162461bcd60e51b815280610b4860048201610b4c565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b038080610bb384610a39565b16931691838314938415610be6575b508315610bd0575b50505090565b610bdc91929350610a5f565b1614388080610bca565b909350600052600560205260406000208260005260205260ff604060002054169238610bc2565b15610c1457565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90610c8f91610c7584610a39565b6001600160a01b0393918416928492909183168414610c0d565b16918215610d2c5781610cac91610ca586610a39565b1614610c0d565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b15610e9357948491610dd79660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c9760848301906108d7565b0393165af1849181610e53575b50610e42575050503d600014610e3a573d610dfe816109d1565b90610e0c60405192836109af565b81528091833d92013e5b80519182610e375760405162461bcd60e51b815280610b4860048201610b4c565b01fd5b506060610e16565b6001600160e01b0319161492509050565b9091508581813d8311610e8c575b610e6b81836109af565b810103126102d857516001600160e01b0319811681036102d8579038610de4565b503d610e61565b505050915050600190565b15610ea557565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b919060018060a01b03600654163314610f1557610f1392610f0e610b138433610b9f565b610c67565b565b50505056fea2646970667358221220a64198fc0df708c3f66b0dcd62e013a7b1e0684bc588aedfa2c4330c1606f56164736f6c63430008120033","sourceMap":"139:419:60:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;139:419:60;;;;;4508:18:29;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;139:419:60;;;;13313:53:29;13321:16;139:419:60;;;-1:-1:-1;139:419:60;6794:7:29;139:419:60;;;;;;;;-1:-1:-1;139:419:60;;;7208:31:29;;7120:126;;13321:16;13313:53;:::i;:::-;139:419:60;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;139:419:60;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;139:419:60;;719:10:34;12990:17:29;;139:419:60;;719:10:34;;139:419:60;;13047:18:29;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;13108:41:29;139:419:60;719:10:34;13108:41:29;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2721:7:29;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;-1:-1:-1;;139:419:60;;;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;-1:-1:-1;139:419:60;;-1:-1:-1;139:419:60;;-1:-1:-1;139:419:60;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;139:419:60;;;;-1:-1:-1;;;;;139:419:60;;:::i;:::-;;2028:19:29;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;-1:-1:-1;;139:419:60;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;139:419:60;;;;;;;;;;;;5077:39:29;139:419:60;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5077:39:29;:::i;139:419:60:-;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;139:419:60;;;;9004:16:29;;139:419:60;;-1:-1:-1;;139:419:60;;;6794:7:29;139:419:60;;;;;;9067:58:29;;-1:-1:-1;;;;;139:419:60;7208:31:29;;9076:16;9075:17;9067:58;:::i;:::-;-1:-1:-1;139:419:60;;;6794:7:29;139:419:60;;;;;;9271:58:29;;-1:-1:-1;;;;;139:419:60;7208:31:29;;9280:16;7120:126;9271:58;139:419:60;;;;;;;;;;;;;;;;;;9710:7:29;139:419:60;;;;;;;;;;;;;;9747:33:29;;;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;139:419:60;;;;3564:23:29;139:419:60;3564:23:29;:::i;:::-;139:419:60;;;3605:11:29;;;;139:419:60;;719:10:34;;3686:21:29;:62;;;;;139:419:60;;;;;;;;;;;;;;-1:-1:-1;;;;;;139:419:60;;;;;12699:23:29;139:419:60;12699:23:29;:::i;:::-;139:419:60;12690:46:29;;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3686:62:29;139:419:60;;;;4508:18:29;139:419:60;;;;;719:10:34;139:419:60;;;;;;;;;;3686:62:29;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;-1:-1:-1;;139:419:60;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;139:419:60;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1707:40:29;;;:104;;;;139:419:60;1707:156:29;;;;139:419:60;;;;;;;1707:156:29;-1:-1:-1;;;937:40:37;;-1:-1:-1;1707:156:29;;;:104;-1:-1:-1;;;1763:48:29;;;-1:-1:-1;1707:104:29;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;139:419:60;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;139:419:60;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;139:419:60;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;;;;2190:219:29;-1:-1:-1;139:419:60;;;6794:7:29;139:419:60;;;;;;-1:-1:-1;;;;;139:419:60;2324:56:29;2332:19;;;2324:56;:::i;:::-;2190:219;:::o;3935:167::-;-1:-1:-1;139:419:60;;;6794:7:29;139:419:60;;;;;;13313:53:29;;-1:-1:-1;;;;;139:419:60;7208:31:29;;13313:53;:::i;:::-;-1:-1:-1;139:419:60;;;4071:15:29;139:419:60;;;;;;-1:-1:-1;;;;;139:419:60;;3935:167:29:o;139:419:60:-;;;;:::o;:::-;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;5189:276:29;;6484:47;5189:276;;;5311:99;5319:41;719:10:34;;5319:41:29;:::i;:::-;5311:99;:::i;:::-;6458:7;;;;;:::i;:::-;6484:47;:::i;:::-;139:419:60;;;5189:276:29:o;139:419:60:-;;;-1:-1:-1;;;139:419:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;:::o;7404:261:29:-;;-1:-1:-1;;;;;139:419:60;;7529:23:29;7404:261;7529:23;:::i;:::-;139:419:60;;;7570:16:29;;;;:52;;;;;7404:261;7570:87;;;;;7404:261;7562:96;;;7404:261;:::o;7570:87::-;7626:20;;;;;;:::i;:::-;139:419:60;7626:31:29;7570:87;;;;;:52;139:419:60;;;-1:-1:-1;139:419:60;4508:18:29;139:419:60;;;-1:-1:-1;139:419:60;;-1:-1:-1;139:419:60;;;;;-1:-1:-1;139:419:60;;;7570:52:29;;;;139:419:60;;;;:::o;:::-;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;11257:1203:29;;11346:81;11257:1203;11354:23;;;:::i;:::-;-1:-1:-1;;;;;139:419:60;;;;;;;;;;;11354:31:29;;11346:81;:::i;:::-;139:419:60;11445:16:29;;;139:419:60;;11655:23:29;11647:81;11655:23;;;;:::i;:::-;139:419:60;11655:31:29;11647:81;:::i;:::-;12374:27;11459:1;139:419:60;;;11797:15:29;139:419:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12337:7:29;139:419:60;;;;;;;;;;;;;12374:27:29;;11257:1203::o;139:419:60:-;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:419:60;;;;;;;13925:831:29;;;139:419:60;;13925:831:29;;;1702:19:33;;:23;:19;;139:419:60;;;;;;;;;;;;;;14129:71:29;;;;719:10:34;14129:71:29;;;139:419:60;;;;;;;;;;;;;;;;;;;;;;14129:71:29;;139:419:60;;;;;;;;:::i;:::-;14129:71:29;139:419:60;;14129:71:29;;;;;;;14090:660;-1:-1:-1;14125:573:29;;14317:381;;;139:419:60;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14367:18:29;;;139:419:60;;-1:-1:-1;;;14409:60:29;;139:419:60;14409:60:29;14129:71;14409:60;;;:::i;14363:321::-;14571:95;;139:419:60;;;;;14125:573:29;-1:-1:-1;;;;;;139:419:60;14250:51:29;;-1:-1:-1;139:419:60;-1:-1:-1;14243:58:29:o;14129:71::-;;;;;;;;;;;;;;;;;:::i;:::-;;;139:419:60;;;;;-1:-1:-1;;;;;;139:419:60;;;;;;14129:71:29;;;;;;;;;14090:660;14728:11;;;;;;14735:4;14728:11;:::o;139:419:60:-;;;;:::o;:::-;;;-1:-1:-1;;;139:419:60;;;;;;;;;;;;;;;;;;;;374:182;;;139:419;;;;;479:6;139:419;;465:10;:20;461:47;;4893:7:29;465:10:60;4763:99:29;4771:41;465:10:60;;4771:41:29;:::i;4763:99::-;4893:7;:::i;:::-;374:182:60:o;461:47::-;495:7;;;:::o","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","mint(address,uint256)":"40c10f19","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_bazaar\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/utils/SuperFakeNFT.sol\":\"SuperFakeNFT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf\",\"dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/test/utils/SuperFakeNFT.sol\":{\"keccak256\":\"0x85fa86cea8e5e053bf9c196da732ca237f7283459854f530b95ffbeae27d523d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2692b7555a34f513a5222f74722c9594064ee9339b83b8d13c206d7aa014d76d\",\"dweb:/ipfs/QmQDbNiYDoMM68TgBoYvJesM7PKA1MUWPnuxiDyxGey5rZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_bazaar","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/test/utils/SuperFakeNFT.sol":"SuperFakeNFT"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol":{"keccak256":"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4","urls":["bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf","dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/test/utils/SuperFakeNFT.sol":{"keccak256":"0x85fa86cea8e5e053bf9c196da732ca237f7283459854f530b95ffbeae27d523d","urls":["bzz-raw://2692b7555a34f513a5222f74722c9594064ee9339b83b8d13c206d7aa014d76d","dweb:/ipfs/QmQDbNiYDoMM68TgBoYvJesM7PKA1MUWPnuxiDyxGey5rZ"],"license":"AGPL-3.0-only"}},"version":1},"id":60} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_customer","type":"address","internalType":"address"},{"name":"_operator1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setGas","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTracker","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"c","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234610361576111816040813803918261001c81610365565b9384928339810103126103615761003e60206100378361038a565b920161038a565b906100496040610365565b91600c83526b14dd5c195c91985ad953919560a21b602084015261006d6040610365565b6008815267617965736c69636b60c01b602082015283519092906001600160401b038111610275575f54600181811c91168015610357575b602082101461025757601f81116102f5575b50602094601f8211600114610294579481929394955f92610289575b50508160011b915f199060031b1c1916175f555b82516001600160401b03811161027557600154600181811c9116801561026b575b602082101461025757601f81116101f4575b506020601f821160011461019157819293945f92610186575b50508160011b915f199060031b1c1916176001555b600880546001600160a01b039283166001600160a01b03199182161790915560098054939092169216919091179055604051610de2908161039f8239f35b015190505f80610133565b601f1982169060015f52805f20915f5b8181106101dc575095836001959697106101c4575b505050811b01600155610148565b01515f1960f88460031b161c191690555f80806101b6565b9192602060018192868b0151815501940192016101a1565b60015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c8101916020841061024d575b601f0160051c01905b818110610242575061011a565b5f8155600101610235565b909150819061022c565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610108565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d3565b601f198216955f8052805f20915f5b8881106102dd575083600195969798106102c5575b505050811b015f556100e7565b01515f1960f88460031b161c191690555f80806102b8565b919260206001819286850151815501940192016102a3565b5f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563601f830160051c8101916020841061034d575b601f0160051c01905b81811061034257506100b7565b5f8155600101610335565b909150819061032c565b90607f16906100a5565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761027557604052565b51906001600160a01b03821682036103615756fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a71461078b5750806306fdde03146106d3578063081812fc146106b5578063095ea7b31461054e57806323b872dd1461052a578063248119141461051457806340c1a064146104eb57806342842e0e146104db578063613fadca146104bc5780636352211e1461048f57806370a08231146103fa57806395d89b41146102f2578063a22cb46514610224578063b88d4fde1461015b578063c87b56dd146100ff5763e985e9c5146100ce575f80fd5b346100fc5760403660031901126100fc576100e76107e6565b506100f06107fc565b50602060405160018152f35b80fd5b346101575760203660031901126101575761011b6004356109ca565b5f60405161012a60208261084c565b5261015360405161013c60208261084c565b5f81526040519182916020835260208301906107c2565b0390f35b5f80fd5b34610157576080366003190112610157576101746107e6565b61017c6107fc565b906044356064359267ffffffffffffffff84116101575736602385011215610157578360040135926101ad84610882565b936101bb604051958661084c565b8085523660248288010111610157576020815f926024610200990183890137860101526101f06101eb8433610a10565b6108f8565b6101fb838383610ac0565b610c8a565b1561020757005b60405162461bcd60e51b81528061022060048201610c37565b0390fd5b346101575760403660031901126101575761023d6107e6565b60243590811515809203610157576001600160a01b0316903382146102ad57335f52600560205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b34610157575f366003190112610157576040515f6001548060011c906001811680156103f0575b6020831081146103dc578285529081156103b8575060011461035a575b610153836103468185038261084c565b6040519182916020835260208301906107c2565b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b80821061039e57509091508101602001610346610336565b919260018160209254838588010152019101909291610386565b60ff191660208086019190915291151560051b840190910191506103469050610336565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610319565b34610157576020366003190112610157576001600160a01b0361041b6107e6565b168015610438575f526003602052602060405f2054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b346101575760203660031901126101575760206104aa61095a565b6040516001600160a01b039091168152f35b34610157575f366003190112610157576006805460ff19166001179055005b34610157576104e936610812565b005b34610157576020366003190112610157576008546040516001600160a01b039091168152602090f35b34610157575f366003190112610157575a600755005b34610157576104e961053b36610812565b916105496101eb8433610a10565b610ac0565b34610157576040366003190112610157576105676107e6565b602435906001600160a01b0361057c836109ee565b6001600160a01b039092169116818114610666573314801561065e575b156105f3575f82815260046020526040902080546001600160a01b031916821790556001600160a01b036105cc836109ee565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b506001610599565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b346101575760203660031901126101575760206104aa6004356108d5565b34610157575f366003190112610157576040515f5f548060011c90600181168015610781575b6020831081146103dc578285529081156103b8575060011461072557610153836103468185038261084c565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b80821061076757509091508101602001610346610336565b91926001816020925483858801015201910190929161074f565b91607f16916106f9565b3461015757602036600319011261015757600435906001600160e01b031982168203610157576107bc60209261089e565b15158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361015757565b602435906001600160a01b038216820361015757565b6060906003190112610157576004356001600160a01b038116810361015757906024356001600160a01b0381168103610157579060443590565b90601f8019910116810190811067ffffffffffffffff82111761086e57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161086e57601f01601f191660200190565b5f91906001600160e01b0319166301ffc9a760e01b81146108ce57631030681960e21b146108c857565b60019150565b5060019150565b6108de816109ca565b5f908152600460205260409020546001600160a01b031690565b156108ff57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60ff60065416610973576008546001600160a01b031690565b61097b610bee565b90565b1561098557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b5f908152600260205260409020546109ec906001600160a01b0316151561097e565b565b5f908152600260205260409020546001600160a01b031661097b81151561097e565b6001600160a01b03610a21836109ee565b6001600160a01b0390921691168114918215610a5d575b8215610a4357505090565b9091506001600160a01b0390610a58906108d5565b161490565b60019250610a38565b15610a6d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90610ae1610acd846109ee565b6001600160a01b0393841693168314610a66565b6001600160a01b0316908115610b9d57610b0d816001600160a01b03610b06866109ee565b1614610a66565b825f52600460205260405f206bffffffffffffffffffffffff60a01b8154169055805f52600360205260405f205f198154019055815f52600360205260405f2060018154019055825f52600260205260405f20826bffffffffffffffffffffffff60a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6007545a8103908111610c235762fc6d181115610c14576008546001600160a01b031690565b6009546001600160a01b031690565b634e487b7160e01b5f52601160045260245ffd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b919290803b15610da357610cd9935f60209460405196879586948593630a85bd0160e11b855233600486015260018060a01b0316602485015260448401526080606484015260848301906107c2565b03926001600160a01b03165af15f9181610d5e575b50610d48573d15610d41573d610d0381610882565b90610d11604051928361084c565b81523d5f602083013e5b80519081610d3c5760405162461bcd60e51b81528061022060048201610c37565b602001fd5b6060610d1b565b6001600160e01b031916630a85bd0160e11b1490565b9091506020813d602011610d9b575b81610d7a6020938361084c565b8101031261015757516001600160e01b03198116810361015757905f610cee565b3d9150610d6d565b5050505060019056fea2646970667358221220963308284acbc3116449ae83c73237d301d3475bf8117d782761af485cdc936064736f6c634300081c0033","sourceMap":"139:1192:69:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;:::i;:::-;;;;;-1:-1:-1;;;139:1192:69;;;;;;;:::i;:::-;;;;-1:-1:-1;;;139:1192:69;;;;;;;;;-1:-1:-1;;;;;139:1192:69;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;-1:-1:-1;;;;;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;139:1192:69;;;-1:-1:-1;;;;;;139:1192:69;;;;;;;392:22;139:1192;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;-1:-1:-1;139:1192:69;;-1:-1:-1;139:1192:69;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;-1:-1:-1;139:1192:69;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;-1:-1:-1;139:1192:69;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;-1:-1:-1;139:1192:69;;;-1:-1:-1;139:1192:69;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;;-1:-1:-1;;139:1192:69;;;-1:-1:-1;;;;;139:1192:69;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;139:1192:69;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a71461078b5750806306fdde03146106d3578063081812fc146106b5578063095ea7b31461054e57806323b872dd1461052a578063248119141461051457806340c1a064146104eb57806342842e0e146104db578063613fadca146104bc5780636352211e1461048f57806370a08231146103fa57806395d89b41146102f2578063a22cb46514610224578063b88d4fde1461015b578063c87b56dd146100ff5763e985e9c5146100ce575f80fd5b346100fc5760403660031901126100fc576100e76107e6565b506100f06107fc565b50602060405160018152f35b80fd5b346101575760203660031901126101575761011b6004356109ca565b5f60405161012a60208261084c565b5261015360405161013c60208261084c565b5f81526040519182916020835260208301906107c2565b0390f35b5f80fd5b34610157576080366003190112610157576101746107e6565b61017c6107fc565b906044356064359267ffffffffffffffff84116101575736602385011215610157578360040135926101ad84610882565b936101bb604051958661084c565b8085523660248288010111610157576020815f926024610200990183890137860101526101f06101eb8433610a10565b6108f8565b6101fb838383610ac0565b610c8a565b1561020757005b60405162461bcd60e51b81528061022060048201610c37565b0390fd5b346101575760403660031901126101575761023d6107e6565b60243590811515809203610157576001600160a01b0316903382146102ad57335f52600560205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b34610157575f366003190112610157576040515f6001548060011c906001811680156103f0575b6020831081146103dc578285529081156103b8575060011461035a575b610153836103468185038261084c565b6040519182916020835260208301906107c2565b91905060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f905b80821061039e57509091508101602001610346610336565b919260018160209254838588010152019101909291610386565b60ff191660208086019190915291151560051b840190910191506103469050610336565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610319565b34610157576020366003190112610157576001600160a01b0361041b6107e6565b168015610438575f526003602052602060405f2054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b346101575760203660031901126101575760206104aa61095a565b6040516001600160a01b039091168152f35b34610157575f366003190112610157576006805460ff19166001179055005b34610157576104e936610812565b005b34610157576020366003190112610157576008546040516001600160a01b039091168152602090f35b34610157575f366003190112610157575a600755005b34610157576104e961053b36610812565b916105496101eb8433610a10565b610ac0565b34610157576040366003190112610157576105676107e6565b602435906001600160a01b0361057c836109ee565b6001600160a01b039092169116818114610666573314801561065e575b156105f3575f82815260046020526040902080546001600160a01b031916821790556001600160a01b036105cc836109ee565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4005b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b506001610599565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b346101575760203660031901126101575760206104aa6004356108d5565b34610157575f366003190112610157576040515f5f548060011c90600181168015610781575b6020831081146103dc578285529081156103b8575060011461072557610153836103468185038261084c565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b80821061076757509091508101602001610346610336565b91926001816020925483858801015201910190929161074f565b91607f16916106f9565b3461015757602036600319011261015757600435906001600160e01b031982168203610157576107bc60209261089e565b15158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361015757565b602435906001600160a01b038216820361015757565b6060906003190112610157576004356001600160a01b038116810361015757906024356001600160a01b0381168103610157579060443590565b90601f8019910116810190811067ffffffffffffffff82111761086e57604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161086e57601f01601f191660200190565b5f91906001600160e01b0319166301ffc9a760e01b81146108ce57631030681960e21b146108c857565b60019150565b5060019150565b6108de816109ca565b5f908152600460205260409020546001600160a01b031690565b156108ff57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b60ff60065416610973576008546001600160a01b031690565b61097b610bee565b90565b1561098557565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b5f908152600260205260409020546109ec906001600160a01b0316151561097e565b565b5f908152600260205260409020546001600160a01b031661097b81151561097e565b6001600160a01b03610a21836109ee565b6001600160a01b0390921691168114918215610a5d575b8215610a4357505090565b9091506001600160a01b0390610a58906108d5565b161490565b60019250610a38565b15610a6d57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90610ae1610acd846109ee565b6001600160a01b0393841693168314610a66565b6001600160a01b0316908115610b9d57610b0d816001600160a01b03610b06866109ee565b1614610a66565b825f52600460205260405f206bffffffffffffffffffffffff60a01b8154169055805f52600360205260405f205f198154019055815f52600360205260405f2060018154019055825f52600260205260405f20826bffffffffffffffffffffffff60a01b8254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6007545a8103908111610c235762fc6d181115610c14576008546001600160a01b031690565b6009546001600160a01b031690565b634e487b7160e01b5f52601160045260245ffd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b919290803b15610da357610cd9935f60209460405196879586948593630a85bd0160e11b855233600486015260018060a01b0316602485015260448401526080606484015260848301906107c2565b03926001600160a01b03165af15f9181610d5e575b50610d48573d15610d41573d610d0381610882565b90610d11604051928361084c565b81523d5f602083013e5b80519081610d3c5760405162461bcd60e51b81528061022060048201610c37565b602001fd5b6060610d1b565b6001600160e01b031916630a85bd0160e11b1490565b9091506020813d602011610d9b575b81610d7a6020938361084c565b8101031261015757516001600160e01b03198116810361015757905f610cee565b3d9150610d6d565b5050505060019056fea2646970667358221220963308284acbc3116449ae83c73237d301d3475bf8117d782761af485cdc936064736f6c634300081c0033","sourceMap":"139:1192:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;;;:::i;:::-;;;;:::i;:::-;;;;;967:4;139:1192;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;2914:7:50;139:1192:69;;2914:7:50;:::i;:::-;139:1192:69;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;2984:86:50;139:1192:69;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6484:47:50;139:1192:69;;;;;;;;;;5311:99:50;5319:41;719:10:55;;5319:41:50;:::i;:::-;5311:99;:::i;:::-;6458:7;;;;;:::i;:::-;6484:47;:::i;:::-;139:1192:69;;;;;;;-1:-1:-1;;;139:1192:69;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;139:1192:69;;719:10:55;12990:17:50;;139:1192:69;;719:10:55;139:1192:69;;13047:18:50;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13108:41:50;139:1192:69;719:10:55;13108:41:50;;139:1192:69;;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;;;;2721:7:50;139:1192:69;;2721:7:50;139:1192:69;;2721:7:50;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;2721:7:50;139:1192:69;;;;;;;;;;;;-1:-1:-1;139:1192:69;;-1:-1:-1;139:1192:69;;;;;;;;;;2721:7:50;139:1192:69;;;;;;;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;-1:-1:-1;;;;;139:1192:69;;:::i;:::-;;2028:19:50;;139:1192:69;;;;2110:9:50;139:1192:69;;;;;;;;;;;;;;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;;707:148;;:::i;:::-;139:1192;;-1:-1:-1;;;;;139:1192:69;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;517:14;139:1192;;-1:-1:-1;;139:1192:69;527:4;139:1192;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;139:1192:69;;;;1214:8;139:1192;;;-1:-1:-1;;;;;139:1192:69;;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;462:9;456:15;139:1192;;;;;;4893:7:50;139:1192:69;;;:::i;:::-;719:10:55;4763:99:50;4771:41;719:10:55;;4771:41:50;:::i;4763:99::-;4893:7;:::i;139:1192:69:-;;;;;;-1:-1:-1;;139:1192:69;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3564:23:50;139:1192:69;3564:23:50;:::i;:::-;-1:-1:-1;;;;;139:1192:69;;;;;3605:11:50;;;139:1192:69;;719:10:55;3686:21:50;:62;;;;139:1192:69;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;139:1192:69;;;;;-1:-1:-1;;;;;12699:23:50;139:1192:69;12699:23:50;:::i;:::-;139:1192:69;12690:46:50;139:1192:69;12690:46:50;;139:1192:69;;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;3686:62:50;;139:1192:69;3686:62:50;;139:1192:69;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;-1:-1:-1;139:1192:69;;-1:-1:-1;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;139:1192:69;;;;;;;-1:-1:-1;;;;;;139:1192:69;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;139:1192:69;;;;;;;;-1:-1:-1;;139:1192:69;;;;:::o;:::-;;;;-1:-1:-1;;;;;139:1192:69;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;139:1192:69;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;139:1192:69;;;;;;;;;-1:-1:-1;;;;;139:1192:69;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;139:1192:69;;;;;-1:-1:-1;139:1192:69;;;;;;;;;-1:-1:-1;;139:1192:69;;;;:::o;980:154::-;139:1192;;980:154;-1:-1:-1;;;;;;139:1192:69;-1:-1:-1;;;1063:15:69;;1059:32;;-1:-1:-1;;;1101:15:69;1097:32;;980:154::o;1097:32::-;1125:4;;-1:-1:-1;1118:11:69:o;1059:32::-;-1:-1:-1;1087:4:69;;-1:-1:-1;1080:11:69:o;3935:167:50:-;4045:7;;;:::i;:::-;-1:-1:-1;139:1192:69;;;4071:15:50;139:1192:69;;;;;;-1:-1:-1;;;;;139:1192:69;;3935:167:50:o;139:1192:69:-;;;;:::o;:::-;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:1192:69;;;;;;;707:148;139:1192;790:7;139:1192;;786:44;;842:8;139:1192;-1:-1:-1;;;;;139:1192:69;;707:148::o;786:44::-;814:9;;:::i;:::-;807:16;:::o;139:1192::-;;;;:::o;:::-;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;;;;;;;;13240:133:50;-1:-1:-1;139:1192:69;;;6794:7:50;139:1192:69;;;;;;13313:53:50;;-1:-1:-1;;;;;139:1192:69;7208:31:50;;13313:53;:::i;:::-;13240:133::o;2190:219::-;-1:-1:-1;139:1192:69;;;6794:7:50;139:1192:69;;;;;;-1:-1:-1;;;;;139:1192:69;2324:56:50;2332:19;;;2324:56;:::i;7404:261::-;-1:-1:-1;;;;;7529:23:50;;;:::i;:::-;-1:-1:-1;;;;;139:1192:69;;;;;7570:16:50;;;:52;;;;7404:261;7570:87;;;;7562:96;;7404:261;:::o;7570:87::-;139:1192:69;;-1:-1:-1;;;;;;139:1192:69;7626:20:50;;;:::i;:::-;139:1192:69;7626:31:50;7404:261;:::o;7570:52::-;967:4:69;;-1:-1:-1;7570:52:50;;139:1192:69;;;;:::o;:::-;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:1192:69;;;;;;;11257:1203:50;;11346:81;11354:23;;;:::i;:::-;-1:-1:-1;;;;;139:1192:69;;;;;11354:31:50;;11346:81;:::i;:::-;-1:-1:-1;;;;;139:1192:69;;11445:16:50;;139:1192:69;;11647:81:50;139:1192:69;-1:-1:-1;;;;;11655:23:50;;;:::i;:::-;139:1192:69;11655:31:50;11647:81;:::i;:::-;139:1192:69;11459:1:50;139:1192:69;11797:15:50;139:1192:69;;;11459:1:50;139:1192:69;;;;;;;;;;11459:1:50;139:1192:69;;;;;11459:1:50;139:1192:69;;;;;;;;;11459:1:50;139:1192:69;;;;;11459:1:50;139:1192:69;12284:1:50;139:1192:69;;;;;;11459:1:50;139:1192:69;12337:7:50;139:1192:69;;;11459:1:50;139:1192:69;;;;;;;;;;;12374:27:50;11459:1;12374:27;;11257:1203::o;139:1192:69:-;;;-1:-1:-1;;;139:1192:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:1192:69;;;;;;;540:163;615:3;139:1192;621:9;139:1192;;;;;;;651:8;-1:-1:-1;640:19:69;636:41;;690:8;139:1192;-1:-1:-1;;;;;139:1192:69;;540:163::o;636:41::-;668:9;139:1192;-1:-1:-1;;;;;139:1192:69;;661:16::o;139:1192::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;139:1192:69;;;;;;:::o;13925:831:50:-;;;;1702:19:54;;:23;:19;;139:1192:69;;;;;;;;;;;;;;;;;14129:71:50;;719:10:55;14129:71:50;;;139:1192:69;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14129:71:50;;-1:-1:-1;;;;;139:1192:69;14129:71:50;;139:1192:69;;14129:71:50;;;14090:660;-1:-1:-1;14125:573:50;;139:1192:69;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;14367:18:50;;;139:1192:69;;-1:-1:-1;;;14409:60:50;;139:1192:69;14409:60:50;14129:71;14409:60;;;:::i;14363:321::-;139:1192:69;14571:95:50;;139:1192:69;;;;14125:573:50;-1:-1:-1;;;;;;139:1192:69;-1:-1:-1;;;14250:51:50;;14243:58::o;14129:71::-;;;;139:1192:69;14129:71:50;;139:1192:69;14129:71:50;;;;;;139:1192:69;14129:71:50;;;:::i;:::-;;;139:1192:69;;;;;-1:-1:-1;;;;;;139:1192:69;;;;;;14129:71:50;;;;;;;-1:-1:-1;14129:71:50;;14090:660;14728:11;;;;14735:4;14728:11;:::o","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setGas()":"24811914","setTracker()":"613fadca","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_customer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator1\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setTracker\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"c\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/vulnerability/SuperFakeNFT.sol\":\"SuperFakeNFT\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf\",\"dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/test/vulnerability/SuperFakeNFT.sol\":{\"keccak256\":\"0x8083f9c5342a17d0087cddc5145b22664ff48601da6a6cb4b49a43d195e3da42\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://fc83bf15f763d65d88e5c5d4e3002f4b42fdd627efa6039936ab76cfeb3be505\",\"dweb:/ipfs/QmaH3GV4Sg8K5Z24mnHdYH8k1DAqVMEdT2rALQT3eFKLuH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_customer","type":"address"},{"internalType":"address","name":"_operator1","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setGas"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setTracker"},{"inputs":[{"internalType":"bytes4","name":"c","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/test/vulnerability/SuperFakeNFT.sol":"SuperFakeNFT"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol":{"keccak256":"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4","urls":["bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf","dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/test/vulnerability/SuperFakeNFT.sol":{"keccak256":"0x8083f9c5342a17d0087cddc5145b22664ff48601da6a6cb4b49a43d195e3da42","urls":["bzz-raw://fc83bf15f763d65d88e5c5d4e3002f4b42fdd627efa6039936ab76cfeb3be505","dweb:/ipfs/QmaH3GV4Sg8K5Z24mnHdYH8k1DAqVMEdT2rALQT3eFKLuH"],"license":"UNLICENSED"}},"version":1},"id":69} \ No newline at end of file diff --git a/abis/SuperRareAdmin.json b/abis/SuperRareAdmin.json index 8ee389d..95da00a 100644 --- a/abis/SuperRareAdmin.json +++ b/abis/SuperRareAdmin.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_superRareV2Contract","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SUPER_RARE_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addToWhitelist","inputs":[{"name":"_newAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeFromWhitelist","inputs":[{"name":"_removedAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"superRareV2Contract","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnershipOfSuperRareV2","inputs":[{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60803461011657601f610d4138819003918201601f191683019291906001600160401b0384118385101761011b57816020928492604096875283398101031261011657516001600160a01b0390818116908190036101165760008054336001600160a01b03198083168217845592949091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36002541617600255808052600160205281812033825260205260ff8282205416156100c9575b5051610c0f90816101328239f35b8080526001602052818120338252602052818120600160ff19825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4386100bb565b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610612575080631570c64f146105b757806316ac5f561461057c578063248a9ca3146105535780632f2ff15d146104a757806336568abe14610415578063715018a6146103bb5780637eedb183146103925780638ab1d681146102ff5780638da5cb5b146102d757806391d1485414610291578063a217fddf14610276578063d547741f1461023c578063e43252d71461018d5763f2fde38b146100c857600080fd5b34610189576020366003190112610189576100e1610666565b906100ea610aaa565b6001600160a01b0391821692831561013757505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b505034610238578160203660031901126102355780610232926101ae610666565b7f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc316835260016020528183203384526020526101ee60ff8385205416610b29565b8260018060a01b038060025416935190602082019363e43252d760e01b855216602482015260248152610220816109b4565b51925af161022c610b75565b90610bb5565b80f35b80fd5b5080fd5b50903461018957806003193601126101895761023291356102716001610260610681565b938387528160205286200154610697565b610a34565b50503461023857816003193601126102385751908152602090f35b50346101895781600319360112610189578160209360ff926102b1610681565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b505034610238578160031936011261023857905490516001600160a01b039091168152602090f35b50503461023857816020366003190112610235578061023292610320610666565b7f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc3168352600160205281832033845260205261036060ff8385205416610b29565b8260018060a01b0380600254169351906020820193638ab1d68160e01b855216602482015260248152610220816109b4565b50503461023857816003193601126102385760025490516001600160a01b039091168152602090f35b83346102355780600319360112610235576103d4610aaa565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610238578260031936011261023857610430610681565b90336001600160a01b0383160361044c57906102329135610a34565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b503461018957816003193601126101895735906104c2610681565b9082845260016020526104da60018286200154610697565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610508578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b503461018957602036600319011261018957816020936001923581528285522001549051908152f35b505034610238578160031936011261023857602090517f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc3168152f35b505034610238578160203660031901126102355780610232926105d8610666565b6105e0610aaa565b8260018060a01b038060025416935190602082019363f2fde38b60e01b855216602482015260248152610220816109b4565b92505034610189576020366003190112610189573563ffffffff60e01b81168091036101895760209250637965db0b60e01b8114908115610655575b5015158152f35b6301ffc9a760e01b1490503861064e565b600435906001600160a01b038216820361067c57565b600080fd5b602435906001600160a01b038216820361067c57565b6000818152600190602091808352604093848320338452845260ff8584205416156106c3575050505050565b845133916106d0826109b4565b602a8252858201928736853782511561097d5760308453825185101561097d576078602184015360295b85811161091357506108d1578651936080850185811067ffffffffffffffff8211176108bd578852604285528685019560603688378551156108a9576030875385518210156108a95790607860218701536041915b81831161083b575050506107f9579385936107df936107d06048946107a77f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000996107f59b519a8b978801525180926037880190610991565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610991565b010360288101855201836109e6565b5162461bcd60e51b815291829160048301610a08565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610895576f181899199a1a9b1b9c1cb0b131b232b360811b901a61086b8589610b02565b5360041c9280156108815760001901919061074f565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648688519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015610969576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109418386610b02565b5360041c90801561095557600019016106fa565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b60005b8381106109a45750506000910152565b8181015183820152602001610994565b6060810190811067ffffffffffffffff8211176109d057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176109d057604052565b60409160208252610a288151809281602086015260208686019101610991565b601f01601f1916010190565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416610a6557505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b03163303610abe57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908151811015610b13570160200190565b634e487b7160e01b600052603260045260246000fd5b15610b3057565b60405162461bcd60e51b815260206004820152601a60248201527f646f65736e7420686176652077686974656c69737420726f6c650000000000006044820152606490fd5b3d15610bb0573d9067ffffffffffffffff82116109d05760405191610ba4601f8201601f1916602001846109e6565b82523d6000602084013e565b606090565b15610bbd5750565b60405162461bcd60e51b81529081906107f59060048301610a0856fea26469706673582212208ff40ae8f023ddb880568ef3f96299f7a599e5c986e66ca3dfe6420e7a40377164736f6c63430008120033","sourceMap":"204:1567:218:-:0;;;;;;;;;;;;;-1:-1:-1;;204:1567:218;;;;;;-1:-1:-1;;;;;204:1567:218;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;204:1567:218;;;;;;;;;;-1:-1:-1;204:1567:218;;719:10:99;-1:-1:-1;;;;;;204:1567:218;;;;;;;-1:-1:-1;;719:10:99;;204:1567:218;2566:40:78;-1:-1:-1;;2566:40:78;458:42:218;204:1567;;;458:42;204:1567;;;;;;;;;;719:10:99;204:1567:218;;;;;;;;;;7669:23:76;7665:149;;-1:-1:-1;204:1567:218;;;;;;;;;7665:149:76;204:1567:218;;;;;;;;;719:10:99;204:1567:218;;;;;;;;;;;;;;;;719:10:99;;;7763:40:76;;;;;7665:149;;;204:1567:218;-1:-1:-1;204:1567:218;;;;;;-1:-1:-1;204:1567:218;;;;;-1:-1:-1;204:1567:218","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610612575080631570c64f146105b757806316ac5f561461057c578063248a9ca3146105535780632f2ff15d146104a757806336568abe14610415578063715018a6146103bb5780637eedb183146103925780638ab1d681146102ff5780638da5cb5b146102d757806391d1485414610291578063a217fddf14610276578063d547741f1461023c578063e43252d71461018d5763f2fde38b146100c857600080fd5b34610189576020366003190112610189576100e1610666565b906100ea610aaa565b6001600160a01b0391821692831561013757505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b505034610238578160203660031901126102355780610232926101ae610666565b7f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc316835260016020528183203384526020526101ee60ff8385205416610b29565b8260018060a01b038060025416935190602082019363e43252d760e01b855216602482015260248152610220816109b4565b51925af161022c610b75565b90610bb5565b80f35b80fd5b5080fd5b50903461018957806003193601126101895761023291356102716001610260610681565b938387528160205286200154610697565b610a34565b50503461023857816003193601126102385751908152602090f35b50346101895781600319360112610189578160209360ff926102b1610681565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b505034610238578160031936011261023857905490516001600160a01b039091168152602090f35b50503461023857816020366003190112610235578061023292610320610666565b7f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc3168352600160205281832033845260205261036060ff8385205416610b29565b8260018060a01b0380600254169351906020820193638ab1d68160e01b855216602482015260248152610220816109b4565b50503461023857816003193601126102385760025490516001600160a01b039091168152602090f35b83346102355780600319360112610235576103d4610aaa565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610238578260031936011261023857610430610681565b90336001600160a01b0383160361044c57906102329135610a34565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b503461018957816003193601126101895735906104c2610681565b9082845260016020526104da60018286200154610697565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610508578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b503461018957602036600319011261018957816020936001923581528285522001549051908152f35b505034610238578160031936011261023857602090517f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc3168152f35b505034610238578160203660031901126102355780610232926105d8610666565b6105e0610aaa565b8260018060a01b038060025416935190602082019363f2fde38b60e01b855216602482015260248152610220816109b4565b92505034610189576020366003190112610189573563ffffffff60e01b81168091036101895760209250637965db0b60e01b8114908115610655575b5015158152f35b6301ffc9a760e01b1490503861064e565b600435906001600160a01b038216820361067c57565b600080fd5b602435906001600160a01b038216820361067c57565b6000818152600190602091808352604093848320338452845260ff8584205416156106c3575050505050565b845133916106d0826109b4565b602a8252858201928736853782511561097d5760308453825185101561097d576078602184015360295b85811161091357506108d1578651936080850185811067ffffffffffffffff8211176108bd578852604285528685019560603688378551156108a9576030875385518210156108a95790607860218701536041915b81831161083b575050506107f9579385936107df936107d06048946107a77f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000996107f59b519a8b978801525180926037880190610991565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610991565b010360288101855201836109e6565b5162461bcd60e51b815291829160048301610a08565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610895576f181899199a1a9b1b9c1cb0b131b232b360811b901a61086b8589610b02565b5360041c9280156108815760001901919061074f565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648688519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015610969576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109418386610b02565b5360041c90801561095557600019016106fa565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b60005b8381106109a45750506000910152565b8181015183820152602001610994565b6060810190811067ffffffffffffffff8211176109d057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176109d057604052565b60409160208252610a288151809281602086015260208686019101610991565b601f01601f1916010190565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416610a6557505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b03163303610abe57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908151811015610b13570160200190565b634e487b7160e01b600052603260045260246000fd5b15610b3057565b60405162461bcd60e51b815260206004820152601a60248201527f646f65736e7420686176652077686974656c69737420726f6c650000000000006044820152606490fd5b3d15610bb0573d9067ffffffffffffffff82116109d05760405191610ba4601f8201601f1916602001846109e6565b82523d6000602084013e565b606090565b15610bbd5750565b60405162461bcd60e51b81529081906107f59060048301610a0856fea26469706673582212208ff40ae8f023ddb880568ef3f96299f7a599e5c986e66ca3dfe6420e7a40377164736f6c63430008120033","sourceMap":"204:1567:218:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:218;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;204:1567:218;;;;2162:22:78;;204:1567:218;;-1:-1:-1;;204:1567:218;;-1:-1:-1;;;;;;204:1567:218;;;;;;;2566:40:78;204:1567:218;;2566:40:78;204:1567:218;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;204:1567:218;;;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:218;;;;;916:30;204:1567;;;:::i;:::-;320:38;204:1567;;3130:6:76;204:1567:218;;;;;685:10;204:1567;;;;629:119;204:1567;;;;;;629:119;:::i;:::-;204:1567;;;;;;;794:19;204:1567;;;;832:63;204:1567;832:63;;;;;;;;204:1567;832:63;;;204:1567;832:63;;;;;;:::i;:::-;794:111;;;;;;:::i;:::-;916:30;;:::i;:::-;204:1567;;;;;;;;;;;;;;;;;;;;;;;5486:7:76;204:1567:218;;2642:4:76;204:1567:218;;;:::i;:::-;;;;;;;;;;4604:22:76;204:1567:218;2642:4:76;:::i;:::-;5486:7;:::i;204:1567:218:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;204:1567:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;204:1567:218;;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:218;;;;;1390:30;204:1567;;;:::i;:::-;320:38;204:1567;;3130:6:76;204:1567:218;;;;;1104:10;204:1567;;;;1048:119;204:1567;;;;;;1048:119;:::i;:::-;204:1567;;;;;;;1213:19;204:1567;;;;1251:118;204:1567;1251:118;;;;;;;;204:1567;1251:118;;;204:1567;1251:118;;;;;;:::i;204:1567::-;;;;;;;;;;;;;;365:34;204:1567;;;-1:-1:-1;;;;;204:1567:218;;;;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;204:1567:218;;-1:-1:-1;;;;;;204:1567:218;;;;;;-1:-1:-1;;;;;204:1567:218;2566:40:78;204:1567:218;;2566:40:78;204:1567:218;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:99;;-1:-1:-1;;;;;204:1567:218;;6133:23:76;204:1567:218;;;6237:7:76;204:1567:218;;6237:7:76;:::i;204:1567:218:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;204:1567:218;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:76;204:1567:218;;;;4604:22:76;204:1567:218;2642:4:76;:::i;:::-;204:1567:218;;;;;;;;;;;-1:-1:-1;;;;;204:1567:218;;;;;;;;;;;;;;;7669:23:76;7665:149;;204:1567:218;;;7665:149:76;204:1567:218;;;;;;;;;;;;;;;;;;;;;;;;;719:10:99;7763:40:76;;;;;7665:149;;;204:1567:218;;;;;;;;;;-1:-1:-1;;204:1567:218;;;;;;;;;;;;;;;;4604:22:76;204:1567:218;;;;;;;;;;;;;;;;;;;;;;;;320:38;204:1567;;;;;;;;;;;;-1:-1:-1;;204:1567:218;;;;;1716:30;204:1567;;;:::i;:::-;1063:62:78;;:::i;:::-;204:1567:218;;;;;;;1593:19;204:1567;;;;1631:64;204:1567;1631:64;;;;;;;;204:1567;1631:64;;;204:1567;1631:64;;;;;;:::i;204:1567::-;;;;;;;;;-1:-1:-1;;204:1567:218;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:76;;;:87;;;;204:1567:218;;;;;;;2840:87:76;-1:-1:-1;;;937:40:103;;-1:-1:-1;2840:87:76;;;204:1567:218;;;;-1:-1:-1;;;;;204:1567:218;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;204:1567:218;;;;;;:::o;3460:103:76:-;-1:-1:-1;204:1567:218;;;3130:6:76;204:1567:218;;;;;;;;;;;719:10:99;204:1567:218;;;;;;;;;;3931:23:76;3927:390;;3460:103;;;;;:::o;3927:390::-;204:1567:218;;719:10:99;;204:1567:218;;;:::i;:::-;;;;;;;;;;;;;;;;;1975:15:101;;;204:1567:218;;;;;;;2000:15:101;204:1567:218;;;2000:15:101;204:1567:218;2058:5:101;;;;;;2170:10;278:18;;204:1567:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:101;;;204:1567:218;;;;;;;;2000:15:101;204:1567:218;;;2000:15:101;204:1567:218;2025:128:101;2058:5;;;;;;2170:10;;;278:18;;204:1567:218;;;4022:252:76;204:1567:218;;;;;;;3970:336:76;204:1567:218;;4022:252:76;;;;;204:1567:218;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;204:1567:218;;;;;;;;;;;;:::i;:::-;;4022:252:76;;;;;;;;;:::i;:::-;204:1567:218;-1:-1:-1;;;3970:336:76;;204:1567:218;;;2141:1:101;3970:336:76;;;:::i;:::-;;;;278:18:101;;204:1567:218;;;;;;;278:18:101;;;2141:1;278:18;;;;;;204:1567:218;278:18:101;204:1567:218;;;278:18:101;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;204:1567:218;2065:3:101;204:1567:218;;;;-1:-1:-1;;204:1567:218;;2030:26:101;;;204:1567:218;-1:-1:-1;;;204:1567:218;;;2141:1:101;204:1567:218;;;;2096:21:101;-1:-1:-1;;;204:1567:218;;;2141:1:101;204:1567:218;;;;;-1:-1:-1;;;204:1567:218;;;2141:1:101;204:1567:218;;;;;-1:-1:-1;;;204:1567:218;;;2141:1:101;204:1567:218;;;;278:18:101;;204:1567:218;;;;;;;278:18:101;;;2141:1;278:18;;;;;;204:1567:218;278:18:101;204:1567:218;;;278:18:101;;2065:3;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:101;;2084:33;;;;:::i;:::-;;2141:1;204:1567:218;2065:3:101;204:1567:218;;;;-1:-1:-1;;204:1567:218;2030:26:101;;204:1567:218;-1:-1:-1;;;204:1567:218;;;2141:1:101;204:1567:218;;;;2096:21:101;-1:-1:-1;;;204:1567:218;;;2141:1:101;204:1567:218;;;;;-1:-1:-1;;;204:1567:218;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:218;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;204:1567:218;;;;:::o;7991:234:76:-;;-1:-1:-1;204:1567:218;;;;3130:6:76;204:1567:218;;;;;;;;;;;;;;;;;;;;;;;;8070:149:76;;7991:234;;;:::o;8070:149::-;204:1567:218;;;3130:6:76;204:1567:218;;;;;;;;;;;;;;;;;;;;8168:40:76;719:10:99;8168:40:76;;;7991:234::o;1359:130:78:-;1273:6;204:1567:218;-1:-1:-1;;;;;204:1567:218;719:10:99;1422:23:78;204:1567:218;;1359:130:78:o;204:1567:218:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;204:1567:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:218;;;;;:::i;:::-;;;;-1:-1:-1;204:1567:218;;;;:::o;:::-;;;:::o;:::-;;;;;:::o;:::-;;;-1:-1:-1;;;204:1567:218;;;;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","SUPER_RARE_WHITELIST_ROLE()":"16ac5f56","addToWhitelist(address)":"e43252d7","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","owner()":"8da5cb5b","removeFromWhitelist(address)":"8ab1d681","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","superRareV2Contract()":"7eedb183","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","transferOwnershipOfSuperRareV2(address)":"1570c64f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_superRareV2Contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SUPER_RARE_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"}],\"name\":\"addToWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_removedAddress\",\"type\":\"address\"}],\"name\":\"removeFromWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareV2Contract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnershipOfSuperRareV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/SuperRareAdmin.sol\":\"SuperRareAdmin\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/utils/SuperRareAdmin.sol\":{\"keccak256\":\"0x0977bf7d7ce875d302cc3e3b45a57baae3ea1434f3876a4a9517cf279d31170b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2224a570d47a9769b40ab9281b1aeb2cba5fb8a72d670b0111c7e56032352b2\",\"dweb:/ipfs/Qmeeq57uN4KGPAb7Pz584iUsHCUcqwSPnKbiEMYPEct572\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_superRareV2Contract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SUPER_RARE_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToWhitelist"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_removedAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromWhitelist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareV2Contract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnershipOfSuperRareV2"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/SuperRareAdmin.sol":"SuperRareAdmin"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/utils/SuperRareAdmin.sol":{"keccak256":"0x0977bf7d7ce875d302cc3e3b45a57baae3ea1434f3876a4a9517cf279d31170b","urls":["bzz-raw://b2224a570d47a9769b40ab9281b1aeb2cba5fb8a72d670b0111c7e56032352b2","dweb:/ipfs/Qmeeq57uN4KGPAb7Pz584iUsHCUcqwSPnKbiEMYPEct572"],"license":"MIT"}},"version":1},"id":218} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_superRareV2Contract","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SUPER_RARE_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addToWhitelist","inputs":[{"name":"_newAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeFromWhitelist","inputs":[{"name":"_removedAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"superRareV2Contract","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnershipOfSuperRareV2","inputs":[{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60803461011657601f610d4138819003918201601f191683019291906001600160401b0384118385101761011b57816020928492604096875283398101031261011657516001600160a01b0390818116908190036101165760008054336001600160a01b03198083168217845592949091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36002541617600255808052600160205281812033825260205260ff8282205416156100c9575b5051610c0f90816101328239f35b8080526001602052818120338252602052818120600160ff19825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4386100bb565b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610612575080631570c64f146105b757806316ac5f561461057c578063248a9ca3146105535780632f2ff15d146104a757806336568abe14610415578063715018a6146103bb5780637eedb183146103925780638ab1d681146102ff5780638da5cb5b146102d757806391d1485414610291578063a217fddf14610276578063d547741f1461023c578063e43252d71461018d5763f2fde38b146100c857600080fd5b34610189576020366003190112610189576100e1610666565b906100ea610aaa565b6001600160a01b0391821692831561013757505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b505034610238578160203660031901126102355780610232926101ae610666565b7f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc316835260016020528183203384526020526101ee60ff8385205416610b29565b8260018060a01b038060025416935190602082019363e43252d760e01b855216602482015260248152610220816109b4565b51925af161022c610b75565b90610bb5565b80f35b80fd5b5080fd5b50903461018957806003193601126101895761023291356102716001610260610681565b938387528160205286200154610697565b610a34565b50503461023857816003193601126102385751908152602090f35b50346101895781600319360112610189578160209360ff926102b1610681565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b505034610238578160031936011261023857905490516001600160a01b039091168152602090f35b50503461023857816020366003190112610235578061023292610320610666565b7f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc3168352600160205281832033845260205261036060ff8385205416610b29565b8260018060a01b0380600254169351906020820193638ab1d68160e01b855216602482015260248152610220816109b4565b50503461023857816003193601126102385760025490516001600160a01b039091168152602090f35b83346102355780600319360112610235576103d4610aaa565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610238578260031936011261023857610430610681565b90336001600160a01b0383160361044c57906102329135610a34565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b503461018957816003193601126101895735906104c2610681565b9082845260016020526104da60018286200154610697565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610508578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b503461018957602036600319011261018957816020936001923581528285522001549051908152f35b505034610238578160031936011261023857602090517f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc3168152f35b505034610238578160203660031901126102355780610232926105d8610666565b6105e0610aaa565b8260018060a01b038060025416935190602082019363f2fde38b60e01b855216602482015260248152610220816109b4565b92505034610189576020366003190112610189573563ffffffff60e01b81168091036101895760209250637965db0b60e01b8114908115610655575b5015158152f35b6301ffc9a760e01b1490503861064e565b600435906001600160a01b038216820361067c57565b600080fd5b602435906001600160a01b038216820361067c57565b6000818152600190602091808352604093848320338452845260ff8584205416156106c3575050505050565b845133916106d0826109b4565b602a8252858201928736853782511561097d5760308453825185101561097d576078602184015360295b85811161091357506108d1578651936080850185811067ffffffffffffffff8211176108bd578852604285528685019560603688378551156108a9576030875385518210156108a95790607860218701536041915b81831161083b575050506107f9579385936107df936107d06048946107a77f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000996107f59b519a8b978801525180926037880190610991565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610991565b010360288101855201836109e6565b5162461bcd60e51b815291829160048301610a08565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610895576f181899199a1a9b1b9c1cb0b131b232b360811b901a61086b8589610b02565b5360041c9280156108815760001901919061074f565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648688519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015610969576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109418386610b02565b5360041c90801561095557600019016106fa565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b60005b8381106109a45750506000910152565b8181015183820152602001610994565b6060810190811067ffffffffffffffff8211176109d057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176109d057604052565b60409160208252610a288151809281602086015260208686019101610991565b601f01601f1916010190565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416610a6557505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b03163303610abe57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908151811015610b13570160200190565b634e487b7160e01b600052603260045260246000fd5b15610b3057565b60405162461bcd60e51b815260206004820152601a60248201527f646f65736e7420686176652077686974656c69737420726f6c650000000000006044820152606490fd5b3d15610bb0573d9067ffffffffffffffff82116109d05760405191610ba4601f8201601f1916602001846109e6565b82523d6000602084013e565b606090565b15610bbd5750565b60405162461bcd60e51b81529081906107f59060048301610a0856fea2646970667358221220d2fe87f8c36c3acf028c9f858c832c4a0f6a27148ea1faf01f5a4aaf1865bb1664736f6c63430008120033","sourceMap":"204:1567:239:-:0;;;;;;;;;;;;;-1:-1:-1;;204:1567:239;;;;;;-1:-1:-1;;;;;204:1567:239;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;204:1567:239;;;;;;;;;;-1:-1:-1;204:1567:239;;719:10:102;-1:-1:-1;;;;;;204:1567:239;;;;;;;-1:-1:-1;;719:10:102;;204:1567:239;2566:40:81;-1:-1:-1;;2566:40:81;458:42:239;204:1567;;;458:42;204:1567;;;;;;;;;;719:10:102;204:1567:239;;;;;;;;;;7669:23:79;7665:149;;-1:-1:-1;204:1567:239;;;;;;;;;7665:149:79;204:1567:239;;;;;;;;;719:10:102;204:1567:239;;;;;;;;;;;;;;;;719:10:102;;;7763:40:79;;;;;7665:149;;;204:1567:239;-1:-1:-1;204:1567:239;;;;;;-1:-1:-1;204:1567:239;;;;;-1:-1:-1;204:1567:239","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610612575080631570c64f146105b757806316ac5f561461057c578063248a9ca3146105535780632f2ff15d146104a757806336568abe14610415578063715018a6146103bb5780637eedb183146103925780638ab1d681146102ff5780638da5cb5b146102d757806391d1485414610291578063a217fddf14610276578063d547741f1461023c578063e43252d71461018d5763f2fde38b146100c857600080fd5b34610189576020366003190112610189576100e1610666565b906100ea610aaa565b6001600160a01b0391821692831561013757505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b505034610238578160203660031901126102355780610232926101ae610666565b7f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc316835260016020528183203384526020526101ee60ff8385205416610b29565b8260018060a01b038060025416935190602082019363e43252d760e01b855216602482015260248152610220816109b4565b51925af161022c610b75565b90610bb5565b80f35b80fd5b5080fd5b50903461018957806003193601126101895761023291356102716001610260610681565b938387528160205286200154610697565b610a34565b50503461023857816003193601126102385751908152602090f35b50346101895781600319360112610189578160209360ff926102b1610681565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b505034610238578160031936011261023857905490516001600160a01b039091168152602090f35b50503461023857816020366003190112610235578061023292610320610666565b7f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc3168352600160205281832033845260205261036060ff8385205416610b29565b8260018060a01b0380600254169351906020820193638ab1d68160e01b855216602482015260248152610220816109b4565b50503461023857816003193601126102385760025490516001600160a01b039091168152602090f35b83346102355780600319360112610235576103d4610aaa565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50829034610238578260031936011261023857610430610681565b90336001600160a01b0383160361044c57906102329135610a34565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b503461018957816003193601126101895735906104c2610681565b9082845260016020526104da60018286200154610697565b828452600160209081528185206001600160a01b039093168086529290528084205460ff1615610508578380f35b82845260016020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b503461018957602036600319011261018957816020936001923581528285522001549051908152f35b505034610238578160031936011261023857602090517f9099625456168fa1014632039545443bfd375a6a89598f9953c299c9a35fc3168152f35b505034610238578160203660031901126102355780610232926105d8610666565b6105e0610aaa565b8260018060a01b038060025416935190602082019363f2fde38b60e01b855216602482015260248152610220816109b4565b92505034610189576020366003190112610189573563ffffffff60e01b81168091036101895760209250637965db0b60e01b8114908115610655575b5015158152f35b6301ffc9a760e01b1490503861064e565b600435906001600160a01b038216820361067c57565b600080fd5b602435906001600160a01b038216820361067c57565b6000818152600190602091808352604093848320338452845260ff8584205416156106c3575050505050565b845133916106d0826109b4565b602a8252858201928736853782511561097d5760308453825185101561097d576078602184015360295b85811161091357506108d1578651936080850185811067ffffffffffffffff8211176108bd578852604285528685019560603688378551156108a9576030875385518210156108a95790607860218701536041915b81831161083b575050506107f9579385936107df936107d06048946107a77f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000996107f59b519a8b978801525180926037880190610991565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610991565b010360288101855201836109e6565b5162461bcd60e51b815291829160048301610a08565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610895576f181899199a1a9b1b9c1cb0b131b232b360811b901a61086b8589610b02565b5360041c9280156108815760001901919061074f565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648688519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015610969576f181899199a1a9b1b9c1cb0b131b232b360811b901a6109418386610b02565b5360041c90801561095557600019016106fa565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b60005b8381106109a45750506000910152565b8181015183820152602001610994565b6060810190811067ffffffffffffffff8211176109d057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176109d057604052565b60409160208252610a288151809281602086015260208686019101610991565b601f01601f1916010190565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416610a6557505050565b8083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b6000546001600160a01b03163303610abe57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b908151811015610b13570160200190565b634e487b7160e01b600052603260045260246000fd5b15610b3057565b60405162461bcd60e51b815260206004820152601a60248201527f646f65736e7420686176652077686974656c69737420726f6c650000000000006044820152606490fd5b3d15610bb0573d9067ffffffffffffffff82116109d05760405191610ba4601f8201601f1916602001846109e6565b82523d6000602084013e565b606090565b15610bbd5750565b60405162461bcd60e51b81529081906107f59060048301610a0856fea2646970667358221220d2fe87f8c36c3acf028c9f858c832c4a0f6a27148ea1faf01f5a4aaf1865bb1664736f6c63430008120033","sourceMap":"204:1567:239:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:239;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;-1:-1:-1;;;;;204:1567:239;;;;2162:22:81;;204:1567:239;;-1:-1:-1;;204:1567:239;;-1:-1:-1;;;;;;204:1567:239;;;;;;;2566:40:81;204:1567:239;;2566:40:81;204:1567:239;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;204:1567:239;;;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:239;;;;;916:30;204:1567;;;:::i;:::-;320:38;204:1567;;3130:6:79;204:1567:239;;;;;685:10;204:1567;;;;629:119;204:1567;;;;;;629:119;:::i;:::-;204:1567;;;;;;;794:19;204:1567;;;;832:63;204:1567;832:63;;;;;;;;204:1567;832:63;;;204:1567;832:63;;;;;;:::i;:::-;794:111;;;;;;:::i;:::-;916:30;;:::i;:::-;204:1567;;;;;;;;;;;;;;;;;;;;;;;5486:7:79;204:1567:239;;2642:4:79;204:1567:239;;;:::i;:::-;;;;;;;;;;4604:22:79;204:1567:239;2642:4:79;:::i;:::-;5486:7;:::i;204:1567:239:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;204:1567:239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;204:1567:239;;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:239;;;;;1390:30;204:1567;;;:::i;:::-;320:38;204:1567;;3130:6:79;204:1567:239;;;;;1104:10;204:1567;;;;1048:119;204:1567;;;;;;1048:119;:::i;:::-;204:1567;;;;;;;1213:19;204:1567;;;;1251:118;204:1567;1251:118;;;;;;;;204:1567;1251:118;;;204:1567;1251:118;;;;;;:::i;204:1567::-;;;;;;;;;;;;;;365:34;204:1567;;;-1:-1:-1;;;;;204:1567:239;;;;;;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;204:1567:239;;-1:-1:-1;;;;;;204:1567:239;;;;;;-1:-1:-1;;;;;204:1567:239;2566:40:81;204:1567:239;;2566:40:81;204:1567:239;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:102;;-1:-1:-1;;;;;204:1567:239;;6133:23:79;204:1567:239;;;6237:7:79;204:1567:239;;6237:7:79;:::i;204:1567:239:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;204:1567:239;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2642:4:79;204:1567:239;;;;4604:22:79;204:1567:239;2642:4:79;:::i;:::-;204:1567:239;;;;;;;;;;;-1:-1:-1;;;;;204:1567:239;;;;;;;;;;;;;;;7669:23:79;7665:149;;204:1567:239;;;7665:149:79;204:1567:239;;;;;;;;;;;;;;;;;;;;;;;;;719:10:102;7763:40:79;;;;;7665:149;;;204:1567:239;;;;;;;;;;-1:-1:-1;;204:1567:239;;;;;;;;;;;;;;;;4604:22:79;204:1567:239;;;;;;;;;;;;;;;;;;;;;;;;320:38;204:1567;;;;;;;;;;;;-1:-1:-1;;204:1567:239;;;;;1716:30;204:1567;;;:::i;:::-;1063:62:81;;:::i;:::-;204:1567:239;;;;;;;1593:19;204:1567;;;;1631:64;204:1567;1631:64;;;;;;;;204:1567;1631:64;;;204:1567;1631:64;;;;;;:::i;204:1567::-;;;;;;;;;-1:-1:-1;;204:1567:239;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2840:47:79;;;:87;;;;204:1567:239;;;;;;;2840:87:79;-1:-1:-1;;;937:40:107;;-1:-1:-1;2840:87:79;;;204:1567:239;;;;-1:-1:-1;;;;;204:1567:239;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;204:1567:239;;;;;;:::o;3460:103:79:-;-1:-1:-1;204:1567:239;;;3130:6:79;204:1567:239;;;;;;;;;;;719:10:102;204:1567:239;;;;;;;;;;3931:23:79;3927:390;;3460:103;;;;;:::o;3927:390::-;204:1567:239;;719:10:102;;204:1567:239;;;:::i;:::-;;;;;;;;;;;;;;;;;1975:15:104;;;204:1567:239;;;;;;;2000:15:104;204:1567:239;;;2000:15:104;204:1567:239;2058:5:104;;;;;;2170:10;278:18;;204:1567:239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:15:104;;;204:1567:239;;;;;;;;2000:15:104;204:1567:239;;;2000:15:104;204:1567:239;2025:128:104;2058:5;;;;;;2170:10;;;278:18;;204:1567:239;;;4022:252:79;204:1567:239;;;;;;;3970:336:79;204:1567:239;;4022:252:79;;;;;204:1567:239;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;204:1567:239;;;;;;;;;;;;:::i;:::-;;4022:252:79;;;;;;;;;:::i;:::-;204:1567:239;-1:-1:-1;;;3970:336:79;;204:1567:239;;;2141:1:104;3970:336:79;;;:::i;:::-;;;;278:18:104;;204:1567:239;;;;;;;278:18:104;;;2141:1;278:18;;;;;;204:1567:239;278:18:104;204:1567:239;;;278:18:104;;2065:3;2105:11;;;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;204:1567:239;2065:3:104;204:1567:239;;;;-1:-1:-1;;204:1567:239;;2030:26:104;;;204:1567:239;-1:-1:-1;;;204:1567:239;;;2141:1:104;204:1567:239;;;;2096:21:104;-1:-1:-1;;;204:1567:239;;;2141:1:104;204:1567:239;;;;;-1:-1:-1;;;204:1567:239;;;2141:1:104;204:1567:239;;;;;-1:-1:-1;;;204:1567:239;;;2141:1:104;204:1567:239;;;;278:18:104;;204:1567:239;;;;;;;278:18:104;;;2141:1;278:18;;;;;;204:1567:239;278:18:104;204:1567:239;;;278:18:104;;2065:3;2105:11;2113:3;2105:11;;2096:21;;;;;;-1:-1:-1;;;2096:21:104;;2084:33;;;;:::i;:::-;;2141:1;204:1567:239;2065:3:104;204:1567:239;;;;-1:-1:-1;;204:1567:239;2030:26:104;;204:1567:239;-1:-1:-1;;;204:1567:239;;;2141:1:104;204:1567:239;;;;2096:21:104;-1:-1:-1;;;204:1567:239;;;2141:1:104;204:1567:239;;;;;-1:-1:-1;;;204:1567:239;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:239;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;204:1567:239;;;;:::o;7991:234:79:-;;-1:-1:-1;204:1567:239;;;;3130:6:79;204:1567:239;;;;;;;;;;;;;;;;;;;;;;;;8070:149:79;;7991:234;;;:::o;8070:149::-;204:1567:239;;;3130:6:79;204:1567:239;;;;;;;;;;;;;;;;;;;;8168:40:79;719:10:102;8168:40:79;;;7991:234::o;1359:130:81:-;1273:6;204:1567:239;-1:-1:-1;;;;;204:1567:239;719:10:102;1422:23:81;204:1567:239;;1359:130:81:o;204:1567:239:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;204:1567:239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;204:1567:239;;;;;:::i;:::-;;;;-1:-1:-1;204:1567:239;;;;:::o;:::-;;;:::o;:::-;;;;;:::o;:::-;;;-1:-1:-1;;;204:1567:239;;;;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","SUPER_RARE_WHITELIST_ROLE()":"16ac5f56","addToWhitelist(address)":"e43252d7","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","owner()":"8da5cb5b","removeFromWhitelist(address)":"8ab1d681","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","superRareV2Contract()":"7eedb183","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","transferOwnershipOfSuperRareV2(address)":"1570c64f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_superRareV2Contract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SUPER_RARE_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"}],\"name\":\"addToWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_removedAddress\",\"type\":\"address\"}],\"name\":\"removeFromWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareV2Contract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnershipOfSuperRareV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/SuperRareAdmin.sol\":\"SuperRareAdmin\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/utils/SuperRareAdmin.sol\":{\"keccak256\":\"0x0977bf7d7ce875d302cc3e3b45a57baae3ea1434f3876a4a9517cf279d31170b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2224a570d47a9769b40ab9281b1aeb2cba5fb8a72d670b0111c7e56032352b2\",\"dweb:/ipfs/Qmeeq57uN4KGPAb7Pz584iUsHCUcqwSPnKbiEMYPEct572\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_superRareV2Contract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SUPER_RARE_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToWhitelist"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_removedAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromWhitelist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareV2Contract","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnershipOfSuperRareV2"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/SuperRareAdmin.sol":"SuperRareAdmin"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/utils/SuperRareAdmin.sol":{"keccak256":"0x0977bf7d7ce875d302cc3e3b45a57baae3ea1434f3876a4a9517cf279d31170b","urls":["bzz-raw://b2224a570d47a9769b40ab9281b1aeb2cba5fb8a72d670b0111c7e56032352b2","dweb:/ipfs/Qmeeq57uN4KGPAb7Pz584iUsHCUcqwSPnKbiEMYPEct572"],"license":"MIT"}},"version":1},"id":239} \ No newline at end of file diff --git a/abis/SuperRareAuctionHouse.json b/abis/SuperRareAuctionHouse.json index afb61e9..0f299c0 100644 --- a/abis/SuperRareAuctionHouse.json +++ b/abis/SuperRareAuctionHouse.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"convertOfferToAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234610016576151ed908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081629d9aa914614662575080630141c59014614639578063060d9eeb1461458a5780630a5c4ed51461456c5780630bcba09d146145435780630cd87c6814613de55780630e519ef914613dc7578063155a56b114613dab5780631a2ac30f14613d4a578063299a0e1e14613cdb5780632c41905314613c615780633bc3d9be14613c385780634c94c90c14613c0f5780635138b08c14612b955780636240cd1c14612b6c5780636b534ed014612b435780636fe9f44c14612b1f578063715018a614612ac1578063859b97fe146123be5780638da5cb5b146123955780639041a0ec14611339578063a11b071214611310578063a6d23e10146112e7578063b23afc26146112b7578063b567858814610339578063ba50b63214610310578063c47c35c114610282578063c90b871414610255578063daa26499146102375763f2fde38b1461016a57600080fd5b3461023457602036600319011261023457610183614687565b61018b614754565b6001600160a01b039081169081156101e057603354826bffffffffffffffffffffffff60a01b821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b5034610234578060031936011261023457602060a254604051908152f35b50346102345780600319360112610234576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b50346102345760403660031901126102345760e0906001600160a01b0390604090826102ac614687565b16815260a6602052818120602435825260205220908082541691600181015491600282015490600383015490600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346102345780600319360112610234576097546040516001600160a01b039091168152602090f35b5060803660031901126102345761034e614687565b61035661469d565b906002606554146112725760026065556097546040516361fe24a960e11b815260643560048201526001600160a01b0390911690602081602481855afa8015611267578590611233575b6103ad9150606435614960565b906103b88285614ab5565b60018060a01b038316855260a66020526040852060243586526020526040852090604051916103e6836147ac565b60018060a01b03815416835260018101546020840152600281015460408401526003810154606084015260018060a01b036004820154166080840152600581015460a0840152600681015460c0840152600781016040519081602082549182815201918a5260208a20908a5b818110611214575050509061046c8160089493038261482c565b60e085015201604051808260208294549384815201908a5260208a20928a905b80601f83011061108a576105a2945491818110611076575b81811061105f575b818110611048575b818110611031575b81811061101b575b818110611004575b818110610fed575b818110610fd6575b818110610fbf575b818110610fa8575b818110610f91575b818110610f7a575b818110610f63575b818110610f4c575b818110610f35575b818110610f1e575b818110610f07575b818110610ef0575b818110610ed9575b818110610ec2575b818110610eab575b818110610e94575b818110610e7d575b818110610e66575b818110610e4f575b818110610e38575b818110610e21575b818110610e0a575b818110610df3575b818110610ddc575b818110610dc5575b10610db7575b50038261482c565b61010083015260c082015115610d685781516001600160a01b03163314610d175760408201514210610cd25760808201516001600160a01b0390811690861603610c745760643515610c3c57602060049160405192838092637cd11f4360e11b82525afa9081156109f4578691610c05575b5060643511610bb65760a081015160643510610b625760408101518015908115610b4a575b5015610b0e5760018060a01b038316855260a760205260408520602435865260205260408520916106c160405193610670856147c8565b60018060a01b03815416855260018060a01b03600182015416602086015260ff6003600283015492836040890152015416606086015260646106ba60ff60a05460a01c1683614864565b0490614960565b60643510610aaf576040516331a9108f60e11b81526024803560048301529091906020908390816001600160a01b0389165afa918215610aa4578792610a73575b5082516001600160a01b038381169116148015610a61575b15610a1057825161073e926001600160a01b039182169116146109ff575b85614b94565b61075f604083015160ff60608501511660018060a01b038551169187614fb5565b609754604051638347592160e01b815290602090829060049082906001600160a01b03165afa9081156109f45786916109c5575b5060ff60036040516107a4816147c8565b3381526001600160a01b0388811660208084019182526064356040808601918252978716606086019081528b85168e5260a78352888e206024358f52909252878d20945185549085166001600160a01b031991821617865592516001860180549190951693169290921790925551600283015551910180549190921660ff199091161790558101518591829182908061094f5750506001600160a01b0385811680845260a6602090815260408086206024358752909152842042600290910155915116903b1561094b576040516323b872dd60e01b81526001600160a01b03909116600482015230602480830191909152356044820152818180606481010381836001600160a01b038a165af1801561094057610928575b50506001915b51604080516001600160a01b03968716815260643560208201529315159084015260608301919091528316608082015260243592339216907f189a468e632a450afd491f84aa9ae94addc6813c7e309a7b1b1223f88802a77d9060a090a4600160655580f35b610931906147e3565b61093c5784386108bc565b8480fd5b6040513d84823e3d90fd5b5080fd5b61096b919593506109664291606085015190614960565b61496d565b60a25480911061097d575b50506108c2565b61099892935061098f60409142614960565b9101519061496d565b9060018060a01b038416865260a66020526040862060243587526020528160036040882001553880610976565b6109e7915060203d6020116109ed575b6109df818361482c565b8101906148a4565b38610793565b503d6109d5565b6040513d88823e3d90fd5b610a0b60243586614992565b610738565b60405162461bcd60e51b815260206004820152602360248201527f6269643a3a41756374696f6e2063726561746f72206d757374206265206f776e60448201526232b91760e91b6064820152608490fd5b506001600160a01b038216301461071a565b610a9691925060203d602011610a9d575b610a8e818361482c565b8101906148bd565b9038610702565b503d610a84565b6040513d89823e3d90fd5b60405162461bcd60e51b815260206004820152603160248201527f6269643a3a4d75737420626520686967686572207468616e20707265762062696044820152703210159036b4b71034b731b932b0b9b29760791b6064820152608490fd5b60405162461bcd60e51b81526020600482015260146024820152733134b21d1d26bab9ba1031329030b1ba34bb329760611b6044820152606490fd5b610b5a9150606083015190614960565b421038610639565b60405162461bcd60e51b815260206004820152602660248201527f6269643a3a43616e6e6f74206265206c6f776572207468616e206d696e696d7560448201526536903134b21760d11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f6269643a3a4d757374206265206c657373207468616e206d61782076616c75656044820152601760f91b6064820152608490fd5b90506020813d602011610c34575b81610c206020938361482c565b81010312610c2f575138610614565b600080fd5b3d9150610c13565b60405162461bcd60e51b815260206004820152601060248201526f06269643a3a43616e6e6f7420626520360841b6044820152606490fd5b60405162461bcd60e51b815260206004820152603060248201527f6269643a3a43757272656e6379206d75737420626520696e20636f6e6669677560448201526f3932b2103232b737b6b4b730ba34b7b760811b6064820152608490fd5b60405162461bcd60e51b815260206004820152601860248201527f6269643a3a41756374696f6e206e6f74206163746976652e00000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526024808201527f6269643a3a43616e6e6f7420626964206f6e20796f7572206f776e206175637460448201526334b7b71760e11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f6269643a3a4d757374206861766520612063757272656e742061756374696f6e6044820152601760f91b6064820152608490fd5b60f81c81526020013861059a565b92602060019160ff8560f01c168152019301610594565b92602060019160ff8560e81c16815201930161058c565b92602060019160ff8560e01c168152019301610584565b92602060019160ff8560d81c16815201930161057c565b92602060019160ff8560d01c168152019301610574565b92602060019160ff8560c81c16815201930161056c565b92602060019160ff8560c01c168152019301610564565b92602060019160ff8560b81c16815201930161055c565b92602060019160ff8560b01c168152019301610554565b92602060019160ff8560a81c16815201930161054c565b92602060019160ff8560a01c168152019301610544565b92602060019160ff8560981c16815201930161053c565b92602060019160ff8560901c168152019301610534565b92602060019160ff8560881c16815201930161052c565b92602060019160ff8560801c168152019301610524565b92602060019160ff8560781c16815201930161051c565b92602060019160ff8560701c168152019301610514565b92602060019160ff8560681c16815201930161050c565b92602060019160ff8560601c168152019301610504565b92602060019160ff8560581c1681520193016104fc565b92602060019160ff8560501c1681520193016104f4565b92602060019160ff8560481c1681520193016104ec565b92602060019160ff8560401c1681520193016104e4565b92602060019160ff8560381c1681520193016104dc565b92602060019160ff8560301c1681520193016104d4565b92602060019160ff8560281c1681520193016104cc565b92602060019160ff85831c1681520193016104c4565b92602060019160ff8560181c1681520193016104bc565b92602060019160ff8560101c1681520193016104b4565b92602060019160ff8560081c1681520193016104ac565b92602060019160ff851681520193016104a4565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201940192018492939161048c565b82546001600160a01b0316845260209093019260019283019201610452565b506020813d60201161125f575b8161124d6020938361482c565b81010312610c2f576103ad90516103a0565b3d9150611240565b6040513d87823e3d90fd5b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50346102345780600319360112610234576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b5034610234578060031936011261023457609e546040516001600160a01b039091168152602090f35b50346102345780600319360112610234576098546040516001600160a01b039091168152602090f35b503461023457610120366003190112610234576024356001600160a01b0381169003610c2f576084356001600160a01b0381168103610c2f5760e4356001600160401b038111612391576113919036906004016146b3565b610104356001600160401b03811161093c576113b19036906004016146b3565b916001600160a01b03851615801561231f575b156122e2576040516331a9108f60e11b8152604435600482015260208160248181356001600160a01b03165afa9081156122d6576000916122b7575b50336001600160a01b039091160361227257611420604435602435614992565b801561221d57600581116121cc57828103612172576000805b8482106121465760649150036120f1576004356d21a7a62224a2afa0aaa1aa24a7a760911b1415806120d1575b6120955760a15460a435116120445760018060a01b0360243516865260a660205260408620604435875260205260408620604051906114a4826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c0830152604051806007830190602082549182815201918b5260208b20908b5b818110612025575050509061152a8160089493038261482c565b60e0840152604051910180548083529089526020808a209183918201908b905b80601f830110611e7d576116409454918181106110765781811061105f57818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260018060a01b0360243516875260a760205260408720604435885260205260408720604051611674816147c8565b81546001600160a01b03908116808352600184015490911660208301526002830154604083015260039092015460ff16606090910152611e2c5760c081015115908115611e17575b5015611dba5760a43515611d69576004356d21a7a62224a2afa0aaa1aa24a7a760911b03611cd85760643515611c77575b609754604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa908115610aa4578791611c45575b5060643511611bcf576004356d21a7a62224a2afa0aaa1aa24a7a760911b03611bc65785935b60405194611754866147ac565b338652436020870152604086015260a43560608601526001600160a01b038616608086015260643560a086015260043560c08601526117928261484d565b916117a0604051938461482c565b8083526020830191368260051b820111610c2f5780925b8260051b82018410611ba6575050505060e08401526117d58261484d565b916117e3604051938461482c565b8083526020830191368260051b820111610c2f5780925b8260051b82018410611b8c575050505061010082015260018060a01b0360243516835260a6602052604083206044358452602052604083209060018060a01b038151166bffffffffffffffffffffffff60a01b9081845416178355602082015160018401556040820151600284015560608201516003840155600483019060018060a01b036080840151169082541617905560a0810151600583015560c0810151600683015560e08101518051906001600160401b038211611b7857600160401b8211611b1457602060078501918254848455808510611b5b575b500190865260208620865b838110611b3e57505050506101000151908151906001600160401b038211611b2a57600160401b8211611b1457600860209101928354838555808410611ac8575b50019184526020842090845b8160051c8110611a895750601f198116808203611a3a575b5050506004357029a1a422a22aa622a22fa0aaa1aa24a7a760791b1490506119c7575b6040519060018060a01b0316815260c4356020820152606435604082015260a43560608201523390604435907fdb89081d9a5399380ffbcc376a961ed023027fca462e08b3d23146e4c6ac62f2608060018060a01b036024351692a480f35b6024356001600160a01b03163b1561094b576040516323b872dd60e01b815233600482015230602482015260448035908201528290818180606481010381836024356001600160a01b03165af1801561094057611a26575b5050611968565b611a2f906147e3565b61094b578138611a1f565b928593865b8184038110611a595750505060051c015538808080611945565b9091946020611a7f6001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101611a3f565b85865b60208110611aa157508382015560010161192d565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501611a8c565b611af4908560005283600020601f80870160051c82019281881680611afa575b500160051c019061488d565b38611921565b60001990818601918254918a0360031b1c16905538611ae8565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b85526041600452602485fd5b82516001600160a01b0316818301556020909201916001016118e0565b611b7290846000528584600020918201910161488d565b386118d5565b634e487b7160e01b86526041600452602486fd5b833560ff81168103610c2f578152602093840193016117fa565b83356001600160a01b0381168103610c2f578152602093840193016117b7565b60c43593611747565b60405162461bcd60e51b815260206004820152604260248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74207365742073746160448201527f7274696e6720707269636520686967686572207468616e206d61782076616c75606482015261329760f11b608482015260a490fd5b90506020813d602011611c6f575b81611c606020938361482c565b81010312610c2f575138611721565b3d9150611c53565b60405162461bcd60e51b815260206004820152603360248201527f636f6e66696775726541756374696f6e3a3a436f6c646965207374617274696e604482015272067207072696365206d757374206265203e203606c1b6064820152608490fd5b70565e5bdd5dd559dd5dd05f555e55db585960791b600435016116ed574260c435116116ed5760405162461bcd60e51b815260206004820152603960248201527f636f6e66696775726541756374696f6e3a3a5363686564756c6564206175637460448201527f696f6e2063616e6e6f7420737461727420696e20706173742e000000000000006064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a4c656e677468206d7573742062656044820152630203e20360e41b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74206861766520612060448201526e31bab93932b73a1030bab1ba34b7b760891b6064820152608490fd5b516001600160a01b03163314159050386116bc565b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a6269642073686f756c646e7420656044820152631e1a5cdd60e21b6064820152608490fd5b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018492939161154a565b82546001600160a01b0316845260209093019260019283019201611510565b60405162461bcd60e51b815260206004820152602360248201527f636f6e66696775726541756374696f6e3a3a41756374696f6e20746f6f206c6f60448201526237339760e91b6064820152608490fd5b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642041756374696f6e205479706560601b6044820152606490fd5b506004357029a1a422a22aa622a22fa0aaa1aa24a7a760791b1415611466565b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff8216809203610c2f5761216c9161216691614960565b91614aa6565b90611439565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b6122d0915060203d602011610a9d57610a8e818361482c565b38611400565b6040513d6000823e3d90fd5b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b50609d54604051632d5ad3d560e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610aa4578791612363575b506113c4565b612384915060203d811161238a575b61237c818361482c565b81019061497a565b3861235d565b503d612372565b8280fd5b50346102345780600319360112610234576033546040516001600160a01b039091168152602090f35b5034610234576040366003190112610234576123d8614687565b6001600160a01b031680825260a6602090815260408084206024358086529252808420905190612407826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c0830152600781016040518082602082945493848152019089526020892092895b818110612a9f5750506124899250038261482c565b60e08301526040516008918201805480835290875260208088209293849291830191895b81601f820110612914576125a69554928282106128fe575b8282106128e7575b50818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260c08101511561288a5760408101518015908115612880575b50156128255780516001600160a01b0316331480156127c9575b156127735782845260a660205260408420828552602052612602604085206148dc565b6040516331a9108f60e11b8082526004820184905290602081602481885afa9081156109f4578691612754575b506001600160a01b031630146126fc575b604051908152826004820152602081602481875afa9081156112675785916126dd575b50336001600160a01b03909116036126a757516001600160a01b0316917f26d4510b556e779d6507640413e013206e44c8f5d018c7c74ed8926f3f024a9c8480a480f35b60405162461bcd60e51b815260206004820152600e60248201526d1cd95b991a5b99c819985a5b195960921b6044820152606490fd5b6126f6915060203d602011610a9d57610a8e818361482c565b38612663565b833b1561093c576040516323b872dd60e01b81523060048201523360248201526044810184905285908181606481838a5af1801561094057612740575b5050612640565b612749906147e3565b61093c578438612739565b61276d915060203d602011610a9d57610a8e818361482c565b3861262f565b60405162461bcd60e51b815260206004820152602860248201527f63616e63656c41756374696f6e3a3a4d7573742062652063726561746f72206f604482015267391037bbb732b91760c11b6064820152608490fd5b506040516331a9108f60e11b815260048101839052602081602481875afa908115611267578591612806575b506001600160a01b031633146125df565b61281f915060203d602011610a9d57610a8e818361482c565b386127f5565b60405162461bcd60e51b815260206004820152602d60248201527f63616e63656c41756374696f6e3a3a41756374696f6e206d757374206e6f742060448201526c3430bb329039ba30b93a32b21760991b6064820152608490fd5b90504210386125c5565b60405162461bcd60e51b815260206004820152602f60248201527f63616e63656c41756374696f6e3a3a4d757374206861766520616e206175637460448201526e34b7b71031b7b73334b3bab932b21760891b6064820152608490fd5b6001919460ff856020931c168152019301386124cd565b9093602060019160ff86168152019401906124c5565b919350916001610400602092875460ff808216835280828a1c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201950191019185939194926124ad565b84546001600160a01b0316835260019485019486945060209093019201612474565b5034610234578060031936011261023457612ada614754565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610234578060031936011261023457602060ff60a05460a01c16604051908152f35b503461023457806003193601126102345760a0546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457609d546040516001600160a01b039091168152602090f35b503461023457604036600319011261023457612baf614687565b60018060a01b038116825260a66020526040822060243583526020526040822060405190612bdc826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c08301526007810160405190816020825491828152019187526020872090875b818110613bf05750505090612c628160089493038261482c565b60e084015260405191018054808352908552602080862091839182019087905b80601f830110613a6657612d789454918181106110765781811061105f57818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260c0810151151580613a59575b156139fa57612da36040820151606083015190614960565b421061399e5760018060a01b038216835260a7602052604083206024358452602052604083209060ff600360405193612ddb856147c8565b60018060a01b03815416855260018060a01b03600182015416602086015260028101546040860152015416606083015260018060a01b038316845260a6602052604084206024358552602052612e33604085206148dc565b6001600160a01b03838116855260a7602090815260408087206024358852909152852085815560018101869055600281018690556003018590558251168061302e5750805184906001600160a01b039081169085163b1561094b576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b038a165af1801561094057613016575b50506040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa908115611267578591612ff7575b5081516001600160a01b03908116911603612f8c575b8151815160809092015160409384015184516001600160a01b03948516815291841660208301529381019390935260243593908216929116907fef4e2262a841641690bb931801dc0d1923e6b417cd217f91f8049d8aa9f5f08690606090a480f35b60405162461bcd60e51b815260206004820152603860248201527f736574746c6541756374696f6e3a3a4661696c656420746f2072657475726e2060448201527f746f6b656e20746f2061756374696f6e2063726561746f7200000000000000006064820152608490fd5b613010915060203d602011610a9d57610a8e818361482c565b38612f14565b61301f906147e3565b61302a578338612edc565b8380fd5b929391929091906001600160a01b0385163b1561094b576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b038a165af180156109405761398f575b5060018060a01b036020840151169360408401519160018060a01b038451169160e08501519561010086015193875185510361392e576097546040516361fe24a960e11b8152600481018890529087906001600160a01b0316602083602481845afa928315610aa45787936138fa575b5060405192613111846147f6565b60028452604036602086013760a0546001600160a01b0316806131338661508d565b52609f5460405163e286ef3360e01b81526004810188905290602090829060249082906001600160a01b03165afa9081156138b7578a916138db575b506001600160a01b0316613182866150b0565b526001600160a01b03613194866150b0565b51166138c2575b6131a4856150b0565b6001600160a01b039091169052604051906131be826147f6565b6002825260403660208401376040516303fdde1160e21b8152600481018c9052602081602481875afa9081156138b7578a91613885575b506131ff8361508d565b5260208b60246040518096819363470d6ed960e11b835260048301525afa92831561387a57908e86928b9561383f575b506132439461323d856150b0565b526150d4565b609754604051631446f21360e21b81526001600160a01b0387811660048301526024803590830152909160209183916044918391165afa908115610aa4578791613820575b5061362b576040519261329a84614811565b6001845260203681860137604051926132b284614811565b60018452602036818601376001600160a01b03906132cf9061508d565b51166132da8461508d565b52609c54604051635dc22eff60e01b81526004810183905290602090829060249082906001600160a01b03165afa908115613620578891613601575b501561359f57609c54604051632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610aa4578961337e61339f969594606461337760ff8297613384978f91613580575b50168095614864565b049061496d565b9a614864565b0461338e8361508d565b526133988261508d565b518b6150d4565b8651956133ab8761484d565b966133b9604051988961482c565b8088526133c8601f199161484d565b01366020890137839784985b81518a10156134325761342661342c918b6106ba60ff61341e838f8f8f8390613410613417938861340860649c8d956150c0565b511690614864565b04926150c0565b528d6150c0565b51168c614864565b99614aa6565b986133d4565b9297949991965092975061344694506150d4565b60975484906001600160a01b0316803b1561094b57604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af180156109405761356c575b50506040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa90811561126757859161354d575b5082516001600160a01b03918216911614612f2a5760405162461bcd60e51b815260206004820152603360248201527f736574746c6541756374696f6e3a3a4661696c656420746f207472616e73666560448201527239103a379030bab1ba34b7b7103bb4b73732b960691b6064820152608490fd5b613566915060203d602011610a9d57610a8e818361482c565b386134d7565b613575906147e3565b61302a57833861349f565b613599915060203d6020116109ed576109df818361482c565b3861336e565b5060975460405163b28a7bad60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610aa4578961337e6135fc969594606461337760ff8297613384978f916135805750168095614864565b61339f565b61361a915060203d60201161238a5761237c818361482c565b38613316565b6040513d8a823e3d90fd5b5050509693959290918095928160018060a01b03609954166064604051809a8193637a99dc0160e11b835260018060a01b038716600484015260243560248401528d60448401525af1988915610940578297839a6136cf575b50829783985b8b518a10156136b1576134266136ab916136a48c8f6150c0565b5190614960565b9861368a565b979a91939598506136c8886135fc9496989b61496d565b978b6150d4565b975098503d968783823e6136e3888261482c565b6040818981010312612391578051906001600160401b03821161302a57888101601f83830101121561302a57818101519161371d8361484d565b9261372b604051948561482c565b80845260208401918b840160208360051b8387010101116137f857602081850101925b60208360051b838701010184106137fc57505050506020810151986001600160401b038a1161093c57808201601f8b840101121561093c5789820151916137948361484d565b9a6137a26040519c8d61482c565b838c5260208c0192820160208560051b8385010101116137f8579190602083820101925b60208560051b828401010184106137e4575050505050969838613684565b6020808094865181520194019392506137c6565b8680fd5b83516001600160a01b038116810361381c5781526020938401930161374e565b8880fd5b613839915060203d60201161238a5761237c818361482c565b38613288565b92505092506020813d602011613872575b8161385d6020938361482c565b81010312610c2f57519184908e61324361322f565b3d9150613850565b6040513d8b823e3d90fd5b90506020813d6020116138af575b816138a06020938361482c565b81010312610c2f5751386131f5565b3d9150613893565b6040513d8c823e3d90fd5b506001600160a01b036138d4856150b0565b511661319b565b6138f4915060203d602011610a9d57610a8e818361482c565b3861316f565b9092506020813d602011613926575b816139166020938361482c565b81010312610c2f57519138613103565b3d9150613909565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b613998906147e3565b38613093565b60405162461bcd60e51b815260206004820152602e60248201527f736574746c6541756374696f6e3a3a43616e206f6e6c7920736574746c65206560448201526d373232b21030bab1ba34b7b7399760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603160248201527f736574746c6541756374696f6e3a3a4d75737420686176652061206375727265604482015270373a103b30b634b21030bab1ba34b7b71760791b6064820152608490fd5b5060408101511515612d8b565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e0820152019401920184929391612c82565b82546001600160a01b0316845260209093019260019283019201612c48565b50346102345780600319360112610234576099546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457609b546040516001600160a01b039091168152602090f35b50346102345760a09060ff6040613c7736614720565b90600180889794971b03809616835260a56020528383209083526020528483832091168252602052209182541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b5034610234576040366003190112610234576080906001600160a01b039060409082613d05614687565b16815260a760205281812060243582526020522081815416916001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b5034610234576060906040613d5e36614720565b9060018060a09694961b03809516835260a4602052838320908352602052838383209116825260205220600282825416926001830154169101549060405192835260208301526040820152f35b5034610234578060031936011261023457602090604051908152f35b5034610234578060031936011261023457602060a154604051908152f35b5034610234576040366003190112610234576001600160a01b03613e07614687565b16815260a66020526040812060243582526020526040812060405191613e2c836147ac565b60018060a01b03825416835260018201546020840152600282015460408401526003820154606084015260018060a01b036004830154166080840152600582015460a0840152600682015460c084015260405180816020600786015492838152016007860185526020852092855b818110614521575050613eaf9250038261482c565b60e084015260405190818260206008860154928381520160088196018452602084209284905b80601f83011061437957613fee945491818110614365575b81811061434e575b818110614337575b818110614320575b81811061430a575b8181106142f3575b8181106142dc575b8181106142c5575b8181106142ae575b818110614297575b818110614280575b818110614269575b818110614252575b81811061423b575b818110614224575b81811061420d575b8181106141f6575b8181106141df575b8181106141c8575b8181106141b1575b81811061419a575b818110614183575b81811061416c575b818110614155575b81811061413e575b818110614127575b818110614110575b8181106140f9575b8181106140e2575b8181106140cb575b8181106140b4575b106140a6575b50949394038461482c565b8261010085015260018060a01b038451169260206140698187015196604081015190606081015160018060a01b0360808301511660a08301519160e060c0850151940151946040519c8d9c8d52888d015260408c015260608b015260808a015260a089015260c08801526101208060e08901528701906146e3565b9185830361010087015251918281520192915b81811061408a575050500390f35b825160ff1684528594506020938401939092019160010161407c565b60f81c815260200138613fe3565b92602060019160ff8560f01c168152019301613fdd565b92602060019160ff8560e81c168152019301613fd5565b92602060019160ff8560e01c168152019301613fcd565b92602060019160ff8560d81c168152019301613fc5565b92602060019160ff8560d01c168152019301613fbd565b92602060019160ff8560c81c168152019301613fb5565b92602060019160ff8560c01c168152019301613fad565b92602060019160ff8560b81c168152019301613fa5565b92602060019160ff8560b01c168152019301613f9d565b92602060019160ff8560a81c168152019301613f95565b92602060019160ff8560a01c168152019301613f8d565b92602060019160ff8560981c168152019301613f85565b92602060019160ff8560901c168152019301613f7d565b92602060019160ff8560881c168152019301613f75565b92602060019160ff8560801c168152019301613f6d565b92602060019160ff8560781c168152019301613f65565b92602060019160ff8560701c168152019301613f5d565b92602060019160ff8560681c168152019301613f55565b92602060019160ff8560601c168152019301613f4d565b92602060019160ff8560581c168152019301613f45565b92602060019160ff8560501c168152019301613f3d565b92602060019160ff8560481c168152019301613f35565b92602060019160ff8560401c168152019301613f2d565b92602060019160ff8560381c168152019301613f25565b92602060019160ff8560301c168152019301613f1d565b92602060019160ff8560281c168152019301613f15565b92602060019160ff85831c168152019301613f0d565b92602060019160ff8560181c168152019301613f05565b92602060019160ff8560101c168152019301613efd565b92602060019160ff8560081c168152019301613ef5565b92602060019160ff85168152019301613eed565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920185929391613ed5565b84546001600160a01b0316835260019485019486945060209093019201613e9a565b5034610234578060031936011261023457609c546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457602060a354604051908152f35b50346102345760e0366003190112610234576145a4614687565b506145ad61469d565b506001600160401b0360a435818111612391576145ce9036906004016146b3565b505060c43590811161094b576145e89036906004016146b3565b505060405162461bcd60e51b815260206004820152602160248201527f636f6e766572744f66666572546f41756374696f6e3a3a4465707265636174656044820152601960fa1b6064820152608490fd5b5034610234578060031936011261023457609a546040516001600160a01b039091168152602090f35b90503461094b578160031936011261094b57609f546001600160a01b03168152602090f35b600435906001600160a01b0382168203610c2f57565b604435906001600160a01b0382168203610c2f57565b9181601f84011215610c2f578235916001600160401b038311610c2f576020808501948460051b010111610c2f57565b90815180825260208080930193019160005b828110614703575050505090565b83516001600160a01b0316855293810193928101926001016146f5565b6060906003190112610c2f576001600160a01b036004358181168103610c2f5791602435916044359081168103610c2f5790565b6033546001600160a01b0316330361476857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b61012081019081106001600160401b03821117611b1457604052565b608081019081106001600160401b03821117611b1457604052565b6001600160401b038111611b1457604052565b606081019081106001600160401b03821117611b1457604052565b604081019081106001600160401b03821117611b1457604052565b90601f801991011681019081106001600160401b03821117611b1457604052565b6001600160401b038111611b145760051b60200190565b8181029291811591840414171561487757565b634e487b7160e01b600052601160045260246000fd5b818110614898575050565b6000815560010161488d565b90816020910312610c2f575160ff81168103610c2f5790565b90816020910312610c2f57516001600160a01b0381168103610c2f5790565b600860009182815582600182015582600282015582600382015582600482015582600582015582600682015560078101805484825580614946575b505001908154908083558161492b57505050565b60208161494494601f935220910160051c81019061488d565b565b614959918552602085209081019061488d565b3880614917565b9190820180921161487757565b9190820391821161487757565b90816020910312610c2f57518015158103610c2f5790565b60018060a01b0316604051916331a9108f60e11b835260048301526020918281602481855afa80156122d657614a00928492600092614a87575b5060405163e985e9c560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03915afa9081156122d657600091614a6a575b5015614a1c5750565b6084906040519062461bcd60e51b82526004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152fd5b614a819150823d841161238a5761237c818361482c565b38614a13565b614a9f919250833d8511610a9d57610a8e818361482c565b90386149cc565b60001981146148775760010190565b6001600160a01b03168015614b9057604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa9081156122d657600091614b5f575b5010614b0157565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211614b88575b81614b786020938361482c565b8101031261023457505138614af9565b3d9150614b6b565b5050565b6001600160a01b0316908115614d655734614d0f5760409081516370a0823160e01b938482523060048301526020948583602481855afa928315614d0457908691600094614cd2575b5085516323b872dd60e01b8382015233602482015230604482015260648101869052614c2090614c1a81608481015b03601f19810183528261482c565b84614daa565b602486518094819382523060048301525afa908115614cc757600091614c98575b5090614c4c9161496d565b03614c55575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614cc0575b614cae818361482c565b81010312610234575051614c4c614c41565b503d614ca4565b84513d6000823e3d90fd5b9182819592953d8311614cfd575b614cea818361482c565b8101031261023457508590519238614bdd565b503d614ce0565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b90503403614d6f57565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b604051614e08916001600160a01b0316614dc382614811565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614e02614e90565b91614ecf565b805190828215928315614e78575b50505015614e215750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b614e88935082018101910161497a565b388281614e16565b3d15614eca573d906001600160401b038211611b145760405191614ebe601f8201601f19166020018461482c565b82523d6000602084013e565b606090565b91929015614f315750815115614ee3575090565b3b15614eec5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015614f445750805190602001fd5b60405162461bcd60e51b8152908190614f609060048301614f64565b0390fd5b6020808252825181830181905290939260005b828110614f9957505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501614f77565b15614f445750565b92919080156150465760646106ba614fcd9383614864565b6001600160a01b039290919083168015614feb57614944935061504c565b50609e5460405163410085df60e01b602082019081526001600160a01b039093166024820152604481018490526149449460009485949390911692916150348160648101614c0c565b51925af1615040614e90565b90614fad565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b039290921660248301526044808301939093529181526149449161508860648361482c565b614daa565b80511561509a5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561509a5760400190565b805182101561509a5760209160051b010190565b9293929091906001600160a01b039081168061516f5750609e54169160405160206151178183019463c176e63960e01b86526040602485015260648401906146e3565b82810360231901604484015287518082529082019782019160005b82811061515b57505050509160009391836150348695614944989903601f19810183528261482c565b83518a529881019892810192600101615132565b9492509060005b81518110156151af57806151a5846151916151aa94866150c0565b511661519d83886150c0565b51908961504c565b614aa6565b615176565b50505050905056fea2646970667358221220a452bcfe68796db77058fe59c5580b1d92395beb85efb357ae193ddbd54a9bcc64736f6c63430008120033","sourceMap":"772:13785:149:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c9081629d9aa914614662575080630141c59014614639578063060d9eeb1461458a5780630a5c4ed51461456c5780630bcba09d146145435780630cd87c6814613de55780630e519ef914613dc7578063155a56b114613dab5780631a2ac30f14613d4a578063299a0e1e14613cdb5780632c41905314613c615780633bc3d9be14613c385780634c94c90c14613c0f5780635138b08c14612b955780636240cd1c14612b6c5780636b534ed014612b435780636fe9f44c14612b1f578063715018a614612ac1578063859b97fe146123be5780638da5cb5b146123955780639041a0ec14611339578063a11b071214611310578063a6d23e10146112e7578063b23afc26146112b7578063b567858814610339578063ba50b63214610310578063c47c35c114610282578063c90b871414610255578063daa26499146102375763f2fde38b1461016a57600080fd5b3461023457602036600319011261023457610183614687565b61018b614754565b6001600160a01b039081169081156101e057603354826bffffffffffffffffffffffff60a01b821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b5034610234578060031936011261023457602060a254604051908152f35b50346102345780600319360112610234576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b50346102345760403660031901126102345760e0906001600160a01b0390604090826102ac614687565b16815260a6602052818120602435825260205220908082541691600181015491600282015490600383015490600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346102345780600319360112610234576097546040516001600160a01b039091168152602090f35b5060803660031901126102345761034e614687565b61035661469d565b906002606554146112725760026065556097546040516361fe24a960e11b815260643560048201526001600160a01b0390911690602081602481855afa8015611267578590611233575b6103ad9150606435614960565b906103b88285614ab5565b60018060a01b038316855260a66020526040852060243586526020526040852090604051916103e6836147ac565b60018060a01b03815416835260018101546020840152600281015460408401526003810154606084015260018060a01b036004820154166080840152600581015460a0840152600681015460c0840152600781016040519081602082549182815201918a5260208a20908a5b818110611214575050509061046c8160089493038261482c565b60e085015201604051808260208294549384815201908a5260208a20928a905b80601f83011061108a576105a2945491818110611076575b81811061105f575b818110611048575b818110611031575b81811061101b575b818110611004575b818110610fed575b818110610fd6575b818110610fbf575b818110610fa8575b818110610f91575b818110610f7a575b818110610f63575b818110610f4c575b818110610f35575b818110610f1e575b818110610f07575b818110610ef0575b818110610ed9575b818110610ec2575b818110610eab575b818110610e94575b818110610e7d575b818110610e66575b818110610e4f575b818110610e38575b818110610e21575b818110610e0a575b818110610df3575b818110610ddc575b818110610dc5575b10610db7575b50038261482c565b61010083015260c082015115610d685781516001600160a01b03163314610d175760408201514210610cd25760808201516001600160a01b0390811690861603610c745760643515610c3c57602060049160405192838092637cd11f4360e11b82525afa9081156109f4578691610c05575b5060643511610bb65760a081015160643510610b625760408101518015908115610b4a575b5015610b0e5760018060a01b038316855260a760205260408520602435865260205260408520916106c160405193610670856147c8565b60018060a01b03815416855260018060a01b03600182015416602086015260ff6003600283015492836040890152015416606086015260646106ba60ff60a05460a01c1683614864565b0490614960565b60643510610aaf576040516331a9108f60e11b81526024803560048301529091906020908390816001600160a01b0389165afa918215610aa4578792610a73575b5082516001600160a01b038381169116148015610a61575b15610a1057825161073e926001600160a01b039182169116146109ff575b85614b94565b61075f604083015160ff60608501511660018060a01b038551169187614fb5565b609754604051638347592160e01b815290602090829060049082906001600160a01b03165afa9081156109f45786916109c5575b5060ff60036040516107a4816147c8565b3381526001600160a01b0388811660208084019182526064356040808601918252978716606086019081528b85168e5260a78352888e206024358f52909252878d20945185549085166001600160a01b031991821617865592516001860180549190951693169290921790925551600283015551910180549190921660ff199091161790558101518591829182908061094f5750506001600160a01b0385811680845260a6602090815260408086206024358752909152842042600290910155915116903b1561094b576040516323b872dd60e01b81526001600160a01b03909116600482015230602480830191909152356044820152818180606481010381836001600160a01b038a165af1801561094057610928575b50506001915b51604080516001600160a01b03968716815260643560208201529315159084015260608301919091528316608082015260243592339216907f189a468e632a450afd491f84aa9ae94addc6813c7e309a7b1b1223f88802a77d9060a090a4600160655580f35b610931906147e3565b61093c5784386108bc565b8480fd5b6040513d84823e3d90fd5b5080fd5b61096b919593506109664291606085015190614960565b61496d565b60a25480911061097d575b50506108c2565b61099892935061098f60409142614960565b9101519061496d565b9060018060a01b038416865260a66020526040862060243587526020528160036040882001553880610976565b6109e7915060203d6020116109ed575b6109df818361482c565b8101906148a4565b38610793565b503d6109d5565b6040513d88823e3d90fd5b610a0b60243586614992565b610738565b60405162461bcd60e51b815260206004820152602360248201527f6269643a3a41756374696f6e2063726561746f72206d757374206265206f776e60448201526232b91760e91b6064820152608490fd5b506001600160a01b038216301461071a565b610a9691925060203d602011610a9d575b610a8e818361482c565b8101906148bd565b9038610702565b503d610a84565b6040513d89823e3d90fd5b60405162461bcd60e51b815260206004820152603160248201527f6269643a3a4d75737420626520686967686572207468616e20707265762062696044820152703210159036b4b71034b731b932b0b9b29760791b6064820152608490fd5b60405162461bcd60e51b81526020600482015260146024820152733134b21d1d26bab9ba1031329030b1ba34bb329760611b6044820152606490fd5b610b5a9150606083015190614960565b421038610639565b60405162461bcd60e51b815260206004820152602660248201527f6269643a3a43616e6e6f74206265206c6f776572207468616e206d696e696d7560448201526536903134b21760d11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f6269643a3a4d757374206265206c657373207468616e206d61782076616c75656044820152601760f91b6064820152608490fd5b90506020813d602011610c34575b81610c206020938361482c565b81010312610c2f575138610614565b600080fd5b3d9150610c13565b60405162461bcd60e51b815260206004820152601060248201526f06269643a3a43616e6e6f7420626520360841b6044820152606490fd5b60405162461bcd60e51b815260206004820152603060248201527f6269643a3a43757272656e6379206d75737420626520696e20636f6e6669677560448201526f3932b2103232b737b6b4b730ba34b7b760811b6064820152608490fd5b60405162461bcd60e51b815260206004820152601860248201527f6269643a3a41756374696f6e206e6f74206163746976652e00000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526024808201527f6269643a3a43616e6e6f7420626964206f6e20796f7572206f776e206175637460448201526334b7b71760e11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f6269643a3a4d757374206861766520612063757272656e742061756374696f6e6044820152601760f91b6064820152608490fd5b60f81c81526020013861059a565b92602060019160ff8560f01c168152019301610594565b92602060019160ff8560e81c16815201930161058c565b92602060019160ff8560e01c168152019301610584565b92602060019160ff8560d81c16815201930161057c565b92602060019160ff8560d01c168152019301610574565b92602060019160ff8560c81c16815201930161056c565b92602060019160ff8560c01c168152019301610564565b92602060019160ff8560b81c16815201930161055c565b92602060019160ff8560b01c168152019301610554565b92602060019160ff8560a81c16815201930161054c565b92602060019160ff8560a01c168152019301610544565b92602060019160ff8560981c16815201930161053c565b92602060019160ff8560901c168152019301610534565b92602060019160ff8560881c16815201930161052c565b92602060019160ff8560801c168152019301610524565b92602060019160ff8560781c16815201930161051c565b92602060019160ff8560701c168152019301610514565b92602060019160ff8560681c16815201930161050c565b92602060019160ff8560601c168152019301610504565b92602060019160ff8560581c1681520193016104fc565b92602060019160ff8560501c1681520193016104f4565b92602060019160ff8560481c1681520193016104ec565b92602060019160ff8560401c1681520193016104e4565b92602060019160ff8560381c1681520193016104dc565b92602060019160ff8560301c1681520193016104d4565b92602060019160ff8560281c1681520193016104cc565b92602060019160ff85831c1681520193016104c4565b92602060019160ff8560181c1681520193016104bc565b92602060019160ff8560101c1681520193016104b4565b92602060019160ff8560081c1681520193016104ac565b92602060019160ff851681520193016104a4565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201940192018492939161048c565b82546001600160a01b0316845260209093019260019283019201610452565b506020813d60201161125f575b8161124d6020938361482c565b81010312610c2f576103ad90516103a0565b3d9150611240565b6040513d87823e3d90fd5b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50346102345780600319360112610234576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b5034610234578060031936011261023457609e546040516001600160a01b039091168152602090f35b50346102345780600319360112610234576098546040516001600160a01b039091168152602090f35b503461023457610120366003190112610234576024356001600160a01b0381169003610c2f576084356001600160a01b0381168103610c2f5760e4356001600160401b038111612391576113919036906004016146b3565b610104356001600160401b03811161093c576113b19036906004016146b3565b916001600160a01b03851615801561231f575b156122e2576040516331a9108f60e11b8152604435600482015260208160248181356001600160a01b03165afa9081156122d6576000916122b7575b50336001600160a01b039091160361227257611420604435602435614992565b801561221d57600581116121cc57828103612172576000805b8482106121465760649150036120f1576004356d21a7a62224a2afa0aaa1aa24a7a760911b1415806120d1575b6120955760a15460a435116120445760018060a01b0360243516865260a660205260408620604435875260205260408620604051906114a4826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c0830152604051806007830190602082549182815201918b5260208b20908b5b818110612025575050509061152a8160089493038261482c565b60e0840152604051910180548083529089526020808a209183918201908b905b80601f830110611e7d576116409454918181106110765781811061105f57818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260018060a01b0360243516875260a760205260408720604435885260205260408720604051611674816147c8565b81546001600160a01b03908116808352600184015490911660208301526002830154604083015260039092015460ff16606090910152611e2c5760c081015115908115611e17575b5015611dba5760a43515611d69576004356d21a7a62224a2afa0aaa1aa24a7a760911b03611cd85760643515611c77575b609754604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa908115610aa4578791611c45575b5060643511611bcf576004356d21a7a62224a2afa0aaa1aa24a7a760911b03611bc65785935b60405194611754866147ac565b338652436020870152604086015260a43560608601526001600160a01b038616608086015260643560a086015260043560c08601526117928261484d565b916117a0604051938461482c565b8083526020830191368260051b820111610c2f5780925b8260051b82018410611ba6575050505060e08401526117d58261484d565b916117e3604051938461482c565b8083526020830191368260051b820111610c2f5780925b8260051b82018410611b8c575050505061010082015260018060a01b0360243516835260a6602052604083206044358452602052604083209060018060a01b038151166bffffffffffffffffffffffff60a01b9081845416178355602082015160018401556040820151600284015560608201516003840155600483019060018060a01b036080840151169082541617905560a0810151600583015560c0810151600683015560e08101518051906001600160401b038211611b7857600160401b8211611b1457602060078501918254848455808510611b5b575b500190865260208620865b838110611b3e57505050506101000151908151906001600160401b038211611b2a57600160401b8211611b1457600860209101928354838555808410611ac8575b50019184526020842090845b8160051c8110611a895750601f198116808203611a3a575b5050506004357029a1a422a22aa622a22fa0aaa1aa24a7a760791b1490506119c7575b6040519060018060a01b0316815260c4356020820152606435604082015260a43560608201523390604435907fdb89081d9a5399380ffbcc376a961ed023027fca462e08b3d23146e4c6ac62f2608060018060a01b036024351692a480f35b6024356001600160a01b03163b1561094b576040516323b872dd60e01b815233600482015230602482015260448035908201528290818180606481010381836024356001600160a01b03165af1801561094057611a26575b5050611968565b611a2f906147e3565b61094b578138611a1f565b928593865b8184038110611a595750505060051c015538808080611945565b9091946020611a7f6001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101611a3f565b85865b60208110611aa157508382015560010161192d565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501611a8c565b611af4908560005283600020601f80870160051c82019281881680611afa575b500160051c019061488d565b38611921565b60001990818601918254918a0360031b1c16905538611ae8565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b85526041600452602485fd5b82516001600160a01b0316818301556020909201916001016118e0565b611b7290846000528584600020918201910161488d565b386118d5565b634e487b7160e01b86526041600452602486fd5b833560ff81168103610c2f578152602093840193016117fa565b83356001600160a01b0381168103610c2f578152602093840193016117b7565b60c43593611747565b60405162461bcd60e51b815260206004820152604260248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74207365742073746160448201527f7274696e6720707269636520686967686572207468616e206d61782076616c75606482015261329760f11b608482015260a490fd5b90506020813d602011611c6f575b81611c606020938361482c565b81010312610c2f575138611721565b3d9150611c53565b60405162461bcd60e51b815260206004820152603360248201527f636f6e66696775726541756374696f6e3a3a436f6c646965207374617274696e604482015272067207072696365206d757374206265203e203606c1b6064820152608490fd5b70565e5bdd5dd559dd5dd05f555e55db585960791b600435016116ed574260c435116116ed5760405162461bcd60e51b815260206004820152603960248201527f636f6e66696775726541756374696f6e3a3a5363686564756c6564206175637460448201527f696f6e2063616e6e6f7420737461727420696e20706173742e000000000000006064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a4c656e677468206d7573742062656044820152630203e20360e41b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74206861766520612060448201526e31bab93932b73a1030bab1ba34b7b760891b6064820152608490fd5b516001600160a01b03163314159050386116bc565b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a6269642073686f756c646e7420656044820152631e1a5cdd60e21b6064820152608490fd5b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018492939161154a565b82546001600160a01b0316845260209093019260019283019201611510565b60405162461bcd60e51b815260206004820152602360248201527f636f6e66696775726541756374696f6e3a3a41756374696f6e20746f6f206c6f60448201526237339760e91b6064820152608490fd5b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642041756374696f6e205479706560601b6044820152606490fd5b506004357029a1a422a22aa622a22fa0aaa1aa24a7a760791b1415611466565b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff8216809203610c2f5761216c9161216691614960565b91614aa6565b90611439565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b6122d0915060203d602011610a9d57610a8e818361482c565b38611400565b6040513d6000823e3d90fd5b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b50609d54604051632d5ad3d560e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610aa4578791612363575b506113c4565b612384915060203d811161238a575b61237c818361482c565b81019061497a565b3861235d565b503d612372565b8280fd5b50346102345780600319360112610234576033546040516001600160a01b039091168152602090f35b5034610234576040366003190112610234576123d8614687565b6001600160a01b031680825260a6602090815260408084206024358086529252808420905190612407826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c0830152600781016040518082602082945493848152019089526020892092895b818110612a9f5750506124899250038261482c565b60e08301526040516008918201805480835290875260208088209293849291830191895b81601f820110612914576125a69554928282106128fe575b8282106128e7575b50818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260c08101511561288a5760408101518015908115612880575b50156128255780516001600160a01b0316331480156127c9575b156127735782845260a660205260408420828552602052612602604085206148dc565b6040516331a9108f60e11b8082526004820184905290602081602481885afa9081156109f4578691612754575b506001600160a01b031630146126fc575b604051908152826004820152602081602481875afa9081156112675785916126dd575b50336001600160a01b03909116036126a757516001600160a01b0316917f26d4510b556e779d6507640413e013206e44c8f5d018c7c74ed8926f3f024a9c8480a480f35b60405162461bcd60e51b815260206004820152600e60248201526d1cd95b991a5b99c819985a5b195960921b6044820152606490fd5b6126f6915060203d602011610a9d57610a8e818361482c565b38612663565b833b1561093c576040516323b872dd60e01b81523060048201523360248201526044810184905285908181606481838a5af1801561094057612740575b5050612640565b612749906147e3565b61093c578438612739565b61276d915060203d602011610a9d57610a8e818361482c565b3861262f565b60405162461bcd60e51b815260206004820152602860248201527f63616e63656c41756374696f6e3a3a4d7573742062652063726561746f72206f604482015267391037bbb732b91760c11b6064820152608490fd5b506040516331a9108f60e11b815260048101839052602081602481875afa908115611267578591612806575b506001600160a01b031633146125df565b61281f915060203d602011610a9d57610a8e818361482c565b386127f5565b60405162461bcd60e51b815260206004820152602d60248201527f63616e63656c41756374696f6e3a3a41756374696f6e206d757374206e6f742060448201526c3430bb329039ba30b93a32b21760991b6064820152608490fd5b90504210386125c5565b60405162461bcd60e51b815260206004820152602f60248201527f63616e63656c41756374696f6e3a3a4d757374206861766520616e206175637460448201526e34b7b71031b7b73334b3bab932b21760891b6064820152608490fd5b6001919460ff856020931c168152019301386124cd565b9093602060019160ff86168152019401906124c5565b919350916001610400602092875460ff808216835280828a1c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201950191019185939194926124ad565b84546001600160a01b0316835260019485019486945060209093019201612474565b5034610234578060031936011261023457612ada614754565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610234578060031936011261023457602060ff60a05460a01c16604051908152f35b503461023457806003193601126102345760a0546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457609d546040516001600160a01b039091168152602090f35b503461023457604036600319011261023457612baf614687565b60018060a01b038116825260a66020526040822060243583526020526040822060405190612bdc826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c08301526007810160405190816020825491828152019187526020872090875b818110613bf05750505090612c628160089493038261482c565b60e084015260405191018054808352908552602080862091839182019087905b80601f830110613a6657612d789454918181106110765781811061105f57818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260c0810151151580613a59575b156139fa57612da36040820151606083015190614960565b421061399e5760018060a01b038216835260a7602052604083206024358452602052604083209060ff600360405193612ddb856147c8565b60018060a01b03815416855260018060a01b03600182015416602086015260028101546040860152015416606083015260018060a01b038316845260a6602052604084206024358552602052612e33604085206148dc565b6001600160a01b03838116855260a7602090815260408087206024358852909152852085815560018101869055600281018690556003018590558251168061302e5750805184906001600160a01b039081169085163b1561094b576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b038a165af1801561094057613016575b50506040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa908115611267578591612ff7575b5081516001600160a01b03908116911603612f8c575b8151815160809092015160409384015184516001600160a01b03948516815291841660208301529381019390935260243593908216929116907fef4e2262a841641690bb931801dc0d1923e6b417cd217f91f8049d8aa9f5f08690606090a480f35b60405162461bcd60e51b815260206004820152603860248201527f736574746c6541756374696f6e3a3a4661696c656420746f2072657475726e2060448201527f746f6b656e20746f2061756374696f6e2063726561746f7200000000000000006064820152608490fd5b613010915060203d602011610a9d57610a8e818361482c565b38612f14565b61301f906147e3565b61302a578338612edc565b8380fd5b929391929091906001600160a01b0385163b1561094b576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b038a165af180156109405761398f575b5060018060a01b036020840151169360408401519160018060a01b038451169160e08501519561010086015193875185510361392e576097546040516361fe24a960e11b8152600481018890529087906001600160a01b0316602083602481845afa928315610aa45787936138fa575b5060405192613111846147f6565b60028452604036602086013760a0546001600160a01b0316806131338661508d565b52609f5460405163e286ef3360e01b81526004810188905290602090829060249082906001600160a01b03165afa9081156138b7578a916138db575b506001600160a01b0316613182866150b0565b526001600160a01b03613194866150b0565b51166138c2575b6131a4856150b0565b6001600160a01b039091169052604051906131be826147f6565b6002825260403660208401376040516303fdde1160e21b8152600481018c9052602081602481875afa9081156138b7578a91613885575b506131ff8361508d565b5260208b60246040518096819363470d6ed960e11b835260048301525afa92831561387a57908e86928b9561383f575b506132439461323d856150b0565b526150d4565b609754604051631446f21360e21b81526001600160a01b0387811660048301526024803590830152909160209183916044918391165afa908115610aa4578791613820575b5061362b576040519261329a84614811565b6001845260203681860137604051926132b284614811565b60018452602036818601376001600160a01b03906132cf9061508d565b51166132da8461508d565b52609c54604051635dc22eff60e01b81526004810183905290602090829060249082906001600160a01b03165afa908115613620578891613601575b501561359f57609c54604051632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610aa4578961337e61339f969594606461337760ff8297613384978f91613580575b50168095614864565b049061496d565b9a614864565b0461338e8361508d565b526133988261508d565b518b6150d4565b8651956133ab8761484d565b966133b9604051988961482c565b8088526133c8601f199161484d565b01366020890137839784985b81518a10156134325761342661342c918b6106ba60ff61341e838f8f8f8390613410613417938861340860649c8d956150c0565b511690614864565b04926150c0565b528d6150c0565b51168c614864565b99614aa6565b986133d4565b9297949991965092975061344694506150d4565b60975484906001600160a01b0316803b1561094b57604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af180156109405761356c575b50506040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa90811561126757859161354d575b5082516001600160a01b03918216911614612f2a5760405162461bcd60e51b815260206004820152603360248201527f736574746c6541756374696f6e3a3a4661696c656420746f207472616e73666560448201527239103a379030bab1ba34b7b7103bb4b73732b960691b6064820152608490fd5b613566915060203d602011610a9d57610a8e818361482c565b386134d7565b613575906147e3565b61302a57833861349f565b613599915060203d6020116109ed576109df818361482c565b3861336e565b5060975460405163b28a7bad60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610aa4578961337e6135fc969594606461337760ff8297613384978f916135805750168095614864565b61339f565b61361a915060203d60201161238a5761237c818361482c565b38613316565b6040513d8a823e3d90fd5b5050509693959290918095928160018060a01b03609954166064604051809a8193637a99dc0160e11b835260018060a01b038716600484015260243560248401528d60448401525af1988915610940578297839a6136cf575b50829783985b8b518a10156136b1576134266136ab916136a48c8f6150c0565b5190614960565b9861368a565b979a91939598506136c8886135fc9496989b61496d565b978b6150d4565b975098503d968783823e6136e3888261482c565b6040818981010312612391578051906001600160401b03821161302a57888101601f83830101121561302a57818101519161371d8361484d565b9261372b604051948561482c565b80845260208401918b840160208360051b8387010101116137f857602081850101925b60208360051b838701010184106137fc57505050506020810151986001600160401b038a1161093c57808201601f8b840101121561093c5789820151916137948361484d565b9a6137a26040519c8d61482c565b838c5260208c0192820160208560051b8385010101116137f8579190602083820101925b60208560051b828401010184106137e4575050505050969838613684565b6020808094865181520194019392506137c6565b8680fd5b83516001600160a01b038116810361381c5781526020938401930161374e565b8880fd5b613839915060203d60201161238a5761237c818361482c565b38613288565b92505092506020813d602011613872575b8161385d6020938361482c565b81010312610c2f57519184908e61324361322f565b3d9150613850565b6040513d8b823e3d90fd5b90506020813d6020116138af575b816138a06020938361482c565b81010312610c2f5751386131f5565b3d9150613893565b6040513d8c823e3d90fd5b506001600160a01b036138d4856150b0565b511661319b565b6138f4915060203d602011610a9d57610a8e818361482c565b3861316f565b9092506020813d602011613926575b816139166020938361482c565b81010312610c2f57519138613103565b3d9150613909565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b613998906147e3565b38613093565b60405162461bcd60e51b815260206004820152602e60248201527f736574746c6541756374696f6e3a3a43616e206f6e6c7920736574746c65206560448201526d373232b21030bab1ba34b7b7399760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603160248201527f736574746c6541756374696f6e3a3a4d75737420686176652061206375727265604482015270373a103b30b634b21030bab1ba34b7b71760791b6064820152608490fd5b5060408101511515612d8b565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e0820152019401920184929391612c82565b82546001600160a01b0316845260209093019260019283019201612c48565b50346102345780600319360112610234576099546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457609b546040516001600160a01b039091168152602090f35b50346102345760a09060ff6040613c7736614720565b90600180889794971b03809616835260a56020528383209083526020528483832091168252602052209182541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b5034610234576040366003190112610234576080906001600160a01b039060409082613d05614687565b16815260a760205281812060243582526020522081815416916001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b5034610234576060906040613d5e36614720565b9060018060a09694961b03809516835260a4602052838320908352602052838383209116825260205220600282825416926001830154169101549060405192835260208301526040820152f35b5034610234578060031936011261023457602090604051908152f35b5034610234578060031936011261023457602060a154604051908152f35b5034610234576040366003190112610234576001600160a01b03613e07614687565b16815260a66020526040812060243582526020526040812060405191613e2c836147ac565b60018060a01b03825416835260018201546020840152600282015460408401526003820154606084015260018060a01b036004830154166080840152600582015460a0840152600682015460c084015260405180816020600786015492838152016007860185526020852092855b818110614521575050613eaf9250038261482c565b60e084015260405190818260206008860154928381520160088196018452602084209284905b80601f83011061437957613fee945491818110614365575b81811061434e575b818110614337575b818110614320575b81811061430a575b8181106142f3575b8181106142dc575b8181106142c5575b8181106142ae575b818110614297575b818110614280575b818110614269575b818110614252575b81811061423b575b818110614224575b81811061420d575b8181106141f6575b8181106141df575b8181106141c8575b8181106141b1575b81811061419a575b818110614183575b81811061416c575b818110614155575b81811061413e575b818110614127575b818110614110575b8181106140f9575b8181106140e2575b8181106140cb575b8181106140b4575b106140a6575b50949394038461482c565b8261010085015260018060a01b038451169260206140698187015196604081015190606081015160018060a01b0360808301511660a08301519160e060c0850151940151946040519c8d9c8d52888d015260408c015260608b015260808a015260a089015260c08801526101208060e08901528701906146e3565b9185830361010087015251918281520192915b81811061408a575050500390f35b825160ff1684528594506020938401939092019160010161407c565b60f81c815260200138613fe3565b92602060019160ff8560f01c168152019301613fdd565b92602060019160ff8560e81c168152019301613fd5565b92602060019160ff8560e01c168152019301613fcd565b92602060019160ff8560d81c168152019301613fc5565b92602060019160ff8560d01c168152019301613fbd565b92602060019160ff8560c81c168152019301613fb5565b92602060019160ff8560c01c168152019301613fad565b92602060019160ff8560b81c168152019301613fa5565b92602060019160ff8560b01c168152019301613f9d565b92602060019160ff8560a81c168152019301613f95565b92602060019160ff8560a01c168152019301613f8d565b92602060019160ff8560981c168152019301613f85565b92602060019160ff8560901c168152019301613f7d565b92602060019160ff8560881c168152019301613f75565b92602060019160ff8560801c168152019301613f6d565b92602060019160ff8560781c168152019301613f65565b92602060019160ff8560701c168152019301613f5d565b92602060019160ff8560681c168152019301613f55565b92602060019160ff8560601c168152019301613f4d565b92602060019160ff8560581c168152019301613f45565b92602060019160ff8560501c168152019301613f3d565b92602060019160ff8560481c168152019301613f35565b92602060019160ff8560401c168152019301613f2d565b92602060019160ff8560381c168152019301613f25565b92602060019160ff8560301c168152019301613f1d565b92602060019160ff8560281c168152019301613f15565b92602060019160ff85831c168152019301613f0d565b92602060019160ff8560181c168152019301613f05565b92602060019160ff8560101c168152019301613efd565b92602060019160ff8560081c168152019301613ef5565b92602060019160ff85168152019301613eed565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920185929391613ed5565b84546001600160a01b0316835260019485019486945060209093019201613e9a565b5034610234578060031936011261023457609c546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457602060a354604051908152f35b50346102345760e0366003190112610234576145a4614687565b506145ad61469d565b506001600160401b0360a435818111612391576145ce9036906004016146b3565b505060c43590811161094b576145e89036906004016146b3565b505060405162461bcd60e51b815260206004820152602160248201527f636f6e766572744f66666572546f41756374696f6e3a3a4465707265636174656044820152601960fa1b6064820152608490fd5b5034610234578060031936011261023457609a546040516001600160a01b039091168152602090f35b90503461094b578160031936011261094b57609f546001600160a01b03168152602090f35b600435906001600160a01b0382168203610c2f57565b604435906001600160a01b0382168203610c2f57565b9181601f84011215610c2f578235916001600160401b038311610c2f576020808501948460051b010111610c2f57565b90815180825260208080930193019160005b828110614703575050505090565b83516001600160a01b0316855293810193928101926001016146f5565b6060906003190112610c2f576001600160a01b036004358181168103610c2f5791602435916044359081168103610c2f5790565b6033546001600160a01b0316330361476857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b61012081019081106001600160401b03821117611b1457604052565b608081019081106001600160401b03821117611b1457604052565b6001600160401b038111611b1457604052565b606081019081106001600160401b03821117611b1457604052565b604081019081106001600160401b03821117611b1457604052565b90601f801991011681019081106001600160401b03821117611b1457604052565b6001600160401b038111611b145760051b60200190565b8181029291811591840414171561487757565b634e487b7160e01b600052601160045260246000fd5b818110614898575050565b6000815560010161488d565b90816020910312610c2f575160ff81168103610c2f5790565b90816020910312610c2f57516001600160a01b0381168103610c2f5790565b600860009182815582600182015582600282015582600382015582600482015582600582015582600682015560078101805484825580614946575b505001908154908083558161492b57505050565b60208161494494601f935220910160051c81019061488d565b565b614959918552602085209081019061488d565b3880614917565b9190820180921161487757565b9190820391821161487757565b90816020910312610c2f57518015158103610c2f5790565b60018060a01b0316604051916331a9108f60e11b835260048301526020918281602481855afa80156122d657614a00928492600092614a87575b5060405163e985e9c560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03915afa9081156122d657600091614a6a575b5015614a1c5750565b6084906040519062461bcd60e51b82526004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152fd5b614a819150823d841161238a5761237c818361482c565b38614a13565b614a9f919250833d8511610a9d57610a8e818361482c565b90386149cc565b60001981146148775760010190565b6001600160a01b03168015614b9057604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa9081156122d657600091614b5f575b5010614b0157565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211614b88575b81614b786020938361482c565b8101031261023457505138614af9565b3d9150614b6b565b5050565b6001600160a01b0316908115614d655734614d0f5760409081516370a0823160e01b938482523060048301526020948583602481855afa928315614d0457908691600094614cd2575b5085516323b872dd60e01b8382015233602482015230604482015260648101869052614c2090614c1a81608481015b03601f19810183528261482c565b84614daa565b602486518094819382523060048301525afa908115614cc757600091614c98575b5090614c4c9161496d565b03614c55575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614cc0575b614cae818361482c565b81010312610234575051614c4c614c41565b503d614ca4565b84513d6000823e3d90fd5b9182819592953d8311614cfd575b614cea818361482c565b8101031261023457508590519238614bdd565b503d614ce0565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b90503403614d6f57565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b604051614e08916001600160a01b0316614dc382614811565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614e02614e90565b91614ecf565b805190828215928315614e78575b50505015614e215750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b614e88935082018101910161497a565b388281614e16565b3d15614eca573d906001600160401b038211611b145760405191614ebe601f8201601f19166020018461482c565b82523d6000602084013e565b606090565b91929015614f315750815115614ee3575090565b3b15614eec5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015614f445750805190602001fd5b60405162461bcd60e51b8152908190614f609060048301614f64565b0390fd5b6020808252825181830181905290939260005b828110614f9957505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501614f77565b15614f445750565b92919080156150465760646106ba614fcd9383614864565b6001600160a01b039290919083168015614feb57614944935061504c565b50609e5460405163410085df60e01b602082019081526001600160a01b039093166024820152604481018490526149449460009485949390911692916150348160648101614c0c565b51925af1615040614e90565b90614fad565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b039290921660248301526044808301939093529181526149449161508860648361482c565b614daa565b80511561509a5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561509a5760400190565b805182101561509a5760209160051b010190565b9293929091906001600160a01b039081168061516f5750609e54169160405160206151178183019463c176e63960e01b86526040602485015260648401906146e3565b82810360231901604484015287518082529082019782019160005b82811061515b57505050509160009391836150348695614944989903601f19810183528261482c565b83518a529881019892810192600101615132565b9492509060005b81518110156151af57806151a5846151916151aa94866150c0565b511661519d83886150c0565b51908961504c565b614aa6565b615176565b50505050905056fea2646970667358221220a452bcfe68796db77058fe59c5580b1d92395beb85efb357ae193ddbd54a9bcc64736f6c63430008120033","sourceMap":"772:13785:149:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;772:13785:149;;;;2402:22:39;;772:13785:149;;2758:6:39;772:13785:149;;;;;;;;2758:6:39;772:13785:149;;2806:40:39;772:13785:149;2806:40:39;;772:13785:149;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;6547:37:153;772:13785:149;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;:::i;:::-;;;;7097:68:153;772:13785:149;;;;;;;;;;;;;;;;;7097:68:153;772:13785:149;7097:68:153;;772:13785:149;7097:68:153;;;;772:13785:149;7097:68:153;772:13785:149;7097:68:153;;772:13785:149;7097:68:153;772:13785:149;7097:68:153;;772:13785:149;;7097:68:153;;;;;772:13785:149;7097:68:153;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5377:47:153;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;-1:-1:-1;772:13785:149;;-1:-1:-1;;772:13785:149;;;;;;:::i;:::-;;;:::i;:::-;;1830:1:48;2712:7;772:13785:149;2712:19:48;1830:1;;;2712:7;772:13785:149;8905:19;772:13785;;;-1:-1:-1;;;8905:52:149;;772:13785;;;8905:52;;772:13785;-1:-1:-1;;;;;772:13785:149;;;;;;;;;8905:52;;;;;;;;;;772:13785;8895:62;772:13785;;;;8895:62;:::i;:::-;9017:14;;;;;:::i;:::-;772:13785;;;;;;;;;9064:13;772:13785;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1830:1:48;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;9119:33;772:13785;;;;-1:-1:-1;;;;;772:13785:149;9231:10;9205:36;772:13785;;;;;;9297:15;:39;772:13785;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;9380:43;772:13785;;;;9491:11;772:13785;;;;;;;;;;;;;;9549:44;;;;;;;;;;;;;772:13785;;;;9538:55;772:13785;;;;;;;;9646:29;772:13785;;;;;;9740:25;;:93;;;;;772:13785;;;;;;;;;;;;;;9897:11;772:13785;;;;;;;;;;;;;;;9968:72;772:13785;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1830:1:48;772:13785:149;;;;;;;;;;;;;;;;;9987:45;772:13785;;;;;;9987:45;;:::i;:::-;772:13785;9968:72;;:::i;:::-;772:13785;;9957:83;772:13785;;;;-1:-1:-1;;;10180:24:149;;772:13785;;;;10180:24;;772:13785;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;10180:24;;;;;;;;;;;772:13785;-1:-1:-1;772:13785:149;;-1:-1:-1;;;;;772:13785:149;;;;;10219:36;:67;;;;772:13785;;;;;;10504:14;;-1:-1:-1;;;;;772:13785:149;;;;;10337:36;10333:123;;772:13785;10504:14;;:::i;:::-;10526:81;772:13785;;;;;;;;;;;;;;;;;;10526:81;;;:::i;:::-;8905:19;772:13785;;;-1:-1:-1;;;10732:49:149;;772:13785;;;;;;;;;-1:-1:-1;;;;;772:13785:149;10732:49;;;;;;;;;;;772:13785;;;;;;;;;:::i;:::-;9231:10;772:13785;;-1:-1:-1;;;;;772:13785:149;;;;10655:132;;;772:13785;;;;;;10655:132;;;772:13785;;;;;;;10655:132;;772:13785;;;;;;;;9897:11;772:13785;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;772:13785:149;;;;;;;;-1:-1:-1;772:13785:149;;;;;;;;;;;;;;;;;;1830:1:48;772:13785:149;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;;;;;;;;;;;;10866:25;;-1:-1:-1;;;;;;;772:13785:149;;;;;;9064:13;772:13785;;;;;;;;;;;;;;;;;9297:15;1830:1:48;10901:53:149;;;772:13785;;;;;10981:68;;;;772:13785;;-1:-1:-1;;;10981:68:149;;-1:-1:-1;;;;;772:13785:149;;;;10981:68;;772:13785;11033:4;772:13785;;;;;;;;;;;;;;;;;;;10981:68;772:13785;;-1:-1:-1;;;;;772:13785:149;;10981:68;;;;;;;;10862:506;11058:21;;772:13785;10862:506;;772:13785;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9231:10;;772:13785;;11379:180;;772:13785;;11379:180;772:13785;2712:7:48;772:13785:149;;;10981:68;;;;:::i;:::-;772:13785;;10981:68;;;;772:13785;;;;10981:68;772:13785;;;;;;;;;10981:68;772:13785;;;10862:506;11096:64;9297:15;;;;11096:46;9297:15;772:13785;;;;;11096:46;;:::i;:::-;:64;:::i;:::-;11163:22;772:13785;11096:89;;;11092:276;;10862:506;;;;;11092:276;11214:63;9297:15;;;11214:40;772:13785;9297:15;;11214:40;:::i;:::-;772:13785;;;11214:63;;:::i;:::-;772:13785;;;;;;;;;;9064:13;772:13785;;;;;;;;;;;;;;;;11286:56;772:13785;11092:276;;;;10732:49;;;;772:13785;10732:49;772:13785;10732:49;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;772:13785;;;;;;;;;10333:123;10440:8;772:13785;;10440:8;;:::i;:::-;10333:123;;772:13785;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;10219:67;-1:-1:-1;;;;;;772:13785:149;;10281:4;10259:27;10219:67;;10180:24;;;;;772:13785;10180:24;772:13785;10180:24;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;772:13785;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;9740:93;9787:46;772:13785;;;;;;9787:46;;:::i;:::-;9297:15;9769:64;9740:93;;;772:13785;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;9549:44;;;772:13785;9549:44;;772:13785;9549:44;;;;;;772:13785;9549:44;;;:::i;:::-;;;772:13785;;;;;9549:44;;;772:13785;;;;9549:44;;;-1:-1:-1;9549:44:149;;772:13785;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;8905:52;;772:13785;8905:52;;772:13785;8905:52;;;;;;772:13785;8905:52;;;:::i;:::-;;;772:13785;;;;8895:62;772:13785;;8905:52;;;;;-1:-1:-1;8905:52:149;;;772:13785;;;;;;;;;1830:1:48;772:13785:149;;-1:-1:-1;;;1830:1:48;;772:13785:149;;1830:1:48;;;;772:13785:149;1830:1:48;;772:13785:149;1830:1:48;772:13785:149;;;1830:1:48;772:13785:149;;1830:1:48;772:13785:149;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;6119:25:153;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;5484:43:153;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;772:13785:149;;1254:30:152;:89;;;;772:13785:149;;;;;;-1:-1:-1;;;2229:24:152;;772:13785:149;;;2229:24:152;;772:13785:149;2229:24:152;772:13785:149;;;;;-1:-1:-1;;;;;772:13785:149;2229:24:152;;;;;;;772:13785:149;2229:24:152;;;772:13785:149;-1:-1:-1;2257:10:152;-1:-1:-1;;;;;772:13785:149;;;2229:38:152;772:13785:149;;2319:8;772:13785;;;;2319:8;:::i;:::-;2808:18:152;;772:13785:149;;2902:1:152;2884:19;;772:13785:149;;2958:32:152;;;772:13785:149;;;3079:13:152;3094:18;;;;;;772:13785:149;3172:17:152;;;772:13785:149;;;;-1:-1:-1;;;14437:30:149;;;:67;;3074:84:152;14433:118:149;;2462:16;772:13785;;;2442:36;772:13785;;;;;;;;;;;;2552:13;2229:24:152;772:13785:149;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2902:1:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;2623:11;2229:24:152;772:13785:149;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2774:33;:75;;;;;772:13785;;;;;;;2933:20;772:13785;;;;-1:-1:-1;;;14437:30:149;772:13785;;;;3057:19;772:13785;;3003:300;3347:19;772:13785;;;-1:-1:-1;;;3347:44:149;;772:13785;2229:24:152;;772:13785:149;;;;;;-1:-1:-1;;;;;772:13785:149;3347:44;;;;;;;;;;;3003:300;772:13785;;;3328:63;772:13785;;;;-1:-1:-1;;;14437:30:149;772:13785;;3595:47;;;772:13785;;;;;;:::i;:::-;2257:10:152;772:13785:149;;3575:12;2229:24:152;3533:249:149;;772:13785;;3533:249;;772:13785;;;;3533:249;;772:13785;-1:-1:-1;;;;;772:13785:149;;;3533:249;;772:13785;;;;3533:249;;772:13785;;;;3533:249;;772:13785;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2229:24:152;772:13785:149;;;;;2902:1:152;772:13785:149;;;;;;;;;;2902:1:152;772:13785:149;;;;;;;3533:249;;;;772:13785;3533:249;;772:13785;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2229:24:152;772:13785:149;;;;;2902:1:152;772:13785:149;;;;;;;;;;2902:1:152;772:13785:149;;;;;;;3533:249;;;;772:13785;3533:249;;772:13785;;;;;;;;;;;2552:13;2229:24:152;772:13785:149;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;2229:24:152;3533:249:149;;772:13785;;;;;;3533:249;;772:13785;;;;;;3533:249;;772:13785;;;;;;;;;;;;;;;3533:249;;772:13785;;;;;;;;;;3533:249;;772:13785;2902:1:152;772:13785:149;;;;3533:249;;772:13785;;;;;;3533:249;;772:13785;;;;-1:-1:-1;;;;;772:13785:149;;;;-1:-1:-1;;;772:13785:149;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;3533:249;;;;772:13785;3533:249;772:13785;;;;;-1:-1:-1;;;;;772:13785:149;;;;-1:-1:-1;;;772:13785:149;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;2902:1:152;772:13785:149;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;-1:-1:-1;;;772:13785:149;;-1:-1:-1;;;3793:33:149;;-1:-1:-1;3789:159:149;;772:13785;;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;2257:10:152;772:13785:149;;;;3959:162;772:13785;;;;;;;;;3959:162;;772:13785;;3789:159;772:13785;;-1:-1:-1;;;;;772:13785:149;3885:56;;;;772:13785;;-1:-1:-1;;;3885:56:149;;2257:10:152;772:13785:149;3885:56;;772:13785;3925:4;772:13785;;;;;;;;;;;;;;;;;;;3885:56;772:13785;;;;-1:-1:-1;;;;;772:13785:149;3885:56;;;;;;;;3789:159;;;;;3885:56;;;;:::i;:::-;772:13785;;3885:56;;;;772:13785;;;;;;;;;;;;;;;;2902:1:152;772:13785:149;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;-1:-1:-1;772:13785:149;;;;;;;;;;;;;;;;2229:24:152;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2902:1:152;772:13785:149;;;;;;;;;;;;;2902:1:152;772:13785:149;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;2229:24:152;772:13785:149;;;;;;;3595:47;772:13785;;3595:47;;;772:13785;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;3347:44;;;2229:24:152;3347:44:149;;2229:24:152;3347:44:149;;;;;;2229:24:152;3347:44:149;;;:::i;:::-;;;772:13785;;;;;3347:44;;;;;;-1:-1:-1;3347:44:149;;772:13785;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;3003:300;-1:-1:-1;;;772:13785:149;;3151:33;3003:300;3147:156;3217:15;772:13785;;3204:28;3003:300;772:13785;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;2774:75;772:13785;-1:-1:-1;;;;;772:13785:149;2257:10:152;2812:36:149;;;-1:-1:-1;2774:75:149;;;772:13785;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;14433:118;772:13785;;-1:-1:-1;;;14514:30:149;;2229:24:152;772:13785:149;14514:30;;772:13785;;;;;;-1:-1:-1;;;772:13785:149;;;;;;14514:30;14437:67;-1:-1:-1;772:13785:149;;-1:-1:-1;;;14471:33:149;;14437:67;;772:13785;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;3114:3:152;772:13785:149;2902:1:152;772:13785:149;;;;;;;;;;;;;3114:3:152;3127:24;;;;:::i;:::-;3114:3;;:::i;:::-;3079:13;;;772:13785:149;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;2229:24:152;772:13785:149;;;;;;;;;;;;;;;;;2229:24:152;;;;;;;;;;;;;;:::i;:::-;;;;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;1254:89:152;-1:-1:-1;1288:21:152;772:13785:149;;;-1:-1:-1;;;1288:55:152;;-1:-1:-1;;;;;772:13785:149;;;;1288:55:152;;772:13785:149;;;;;;;;;;;;1288:55:152;;;;;;;;;;;1254:89;;;;1288:55;;;;772:13785:149;1288:55:152;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;772:13785:149;;;;;;;;;;;;;;;;;1513:6:39;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;;:::i;:::-;-1:-1:-1;;;;;772:13785:149;;;;7504:13;772:13785;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;7607:33;772:13785;;;;;;7714:25;;:67;;;;;772:13785;;;;;;;-1:-1:-1;;;;;772:13785:149;7890:10;7864:36;:78;;;;772:13785;;;;;;;7504:13;772:13785;;;;;;;;;;8005:47;772:13785;;;8005:47;:::i;:::-;772:13785;;-1:-1:-1;;;8063:24:149;;;772:13785;8063:24;;772:13785;;;;;;;;8063:24;;;;;;;;;;;;772:13785;-1:-1:-1;;;;;;772:13785:149;8099:4;8063:41;8059:118;;772:13785;;;8191:24;;;;772:13785;8191:24;;772:13785;;8191:24;772:13785;8191:24;;;;;;;;;;;;;772:13785;-1:-1:-1;7890:10:149;-1:-1:-1;;;;;772:13785:149;;;8191:38;772:13785;;;-1:-1:-1;;;;;772:13785:149;;8260:64;;;;772:13785;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;8191:24;;;;772:13785;8191:24;772:13785;8191:24;;;;;;;:::i;:::-;;;;8059:118;8114:56;;;;;772:13785;;-1:-1:-1;;;8114:56:149;;8099:4;772:13785;8114:56;;772:13785;7890:10;772:13785;;;;;;;;;;;;;;;;;8114:56;;;;;;;;;8059:118;;;;;8114:56;;;;:::i;:::-;772:13785;;8114:56;;;;8063:24;;;;772:13785;8063:24;772:13785;8063:24;;;;;;;:::i;:::-;;;;772:13785;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;7864:78;-1:-1:-1;772:13785:149;;-1:-1:-1;;;7904:24:149;;772:13785;7904:24;;772:13785;;;;;;;7904:24;;;;;;;;;;;;7864:78;-1:-1:-1;;;;;;772:13785:149;7890:10;7904:38;7864:78;;7904:24;;;;772:13785;7904:24;772:13785;7904:24;;;;;;;:::i;:::-;;;;772:13785;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;7714:67;7743:15;;;:38;7714:67;;;772:13785;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;-1:-1:-1;772:13785:149;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;772:13785:149;;-1:-1:-1;;;;;;772:13785:149;;;;;;;-1:-1:-1;;;;;772:13785:149;2806:40:39;772:13785:149;;2806:40:39;772:13785:149;;;;;;;;;;;;;;;;;6372:41:153;772:13785:149;6372:41:153;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;6025:51:153;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;;:::i;:::-;;;;;;;;;;11913:13;772:13785;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;11975:33;;:62;;;772:13785;;;;12143:46;772:13785;;;;;;;;12143:46;;:::i;:::-;12124:15;:65;772:13785;;;;;;;;;;;12279:11;772:13785;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11913:13;772:13785;;;;;;;;;;;12324:47;772:13785;;;12324:47;:::i;:::-;-1:-1:-1;;;;;772:13785:149;;;;;12279:11;772:13785;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12481:28;772:13785;;-1:-1:-1;772:13785:149;;;;-1:-1:-1;;;;;772:13785:149;;;;;;12519:68;;;;772:13785;;-1:-1:-1;;;12519:68:149;;12547:4;772:13785;12519:68;;772:13785;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;12519:68;772:13785;;-1:-1:-1;;;;;772:13785:149;;12519:68;;;;;;;;12477:736;-1:-1:-1;;772:13785:149;;-1:-1:-1;;;12603:24:149;;772:13785;;;;12603:24;;772:13785;;;;;;-1:-1:-1;;;;;772:13785:149;;12603:24;;;;;;;;;;;12477:736;-1:-1:-1;772:13785:149;;-1:-1:-1;;;;;772:13785:149;;;;;12603:50;772:13785;;12477:736;772:13785;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13225:164;;772:13785;;13225:164;772:13785;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;12603:24;;;;772:13785;12603:24;772:13785;12603:24;;;;;;;:::i;:::-;;;;12519:68;;;;:::i;:::-;772:13785;;12519:68;;;;772:13785;;;;12477:736;772:13785;;;;;;;-1:-1:-1;;;;;772:13785:149;;12736:60;;;;772:13785;;-1:-1:-1;;;12736:60:149;;12764:4;772:13785;12736:60;;772:13785;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;12736:60;772:13785;;-1:-1:-1;;;;;772:13785:149;;12736:60;;;;;;;;12477:736;772:13785;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12954:23;772:13785;;;;12987:19;772:13785;;;;;7197:41:152;772:13785:149;;8017:19:152;772:13785:149;;;-1:-1:-1;;;8017:52:152;;772:13785:149;8017:52:152;;772:13785:149;;;;7879:33:152;;-1:-1:-1;;;;;772:13785:149;;;;;;8017:52:152;;;;;;;;;;;12477:736:149;772:13785;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;8145:44:152;;;:::i;:::-;772:13785:149;8241:15:152;772:13785:149;;;-1:-1:-1;;;8220:81:152;;772:13785:149;8220:81:152;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;8220:81:152;;;;;;;;;;;12477:736:149;-1:-1:-1;;;;;;772:13785:149;8195:107:152;;;:::i;:::-;772:13785:149;-1:-1:-1;;;;;8325:14:152;;;:::i;:::-;772:13785:149;;8325:75:152;;;8308:92;;;:::i;:::-;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;8466:85:152;;772:13785:149;8466:85:152;;772:13785:149;;;;;;;8466:85:152;;;;;;;;;;;;8325:75;8454:97;;;;:::i;:::-;772:13785:149;;;;;;;;;;;;;8569:75:152;;772:13785:149;8569:75:152;;772:13785:149;8569:75:152;;;;;;;;;;;;;;;8325;8557:87;8714:6;8557:87;;;;:::i;:::-;772:13785:149;8714:6:152;:::i;:::-;8017:19;772:13785:149;;;-1:-1:-1;;;8733:65:152;;-1:-1:-1;;;;;772:13785:149;;;;8733:65:152;;772:13785:149;;;;;;;;;;;;;;;;;;;8733:65:152;;;;;;;;;;;8325:75;-1:-1:-1;8732:66:152;;772:13785:149;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;8955:14:152;;;:::i;:::-;772:13785:149;;8936:33:152;;;:::i;:::-;772:13785:149;8982:21:152;772:13785:149;;;-1:-1:-1;;;8982:54:152;;772:13785:149;8982:54:152;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;8982:54:152;;;;;;;;;;;8728:1462;-1:-1:-1;8978:766:152;;;8982:21;772:13785:149;;;-1:-1:-1;;;9077:52:152;;772:13785:149;9077:52:152;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;9077:52:152;;;;;;;;9158:56;9354:11;9077:52;;;9210:3;9178:28;772:13785:149;9077:52:152;;9243:28;9077:52;;;;;8978:766;772:13785:149;;9178:28:152;;;:::i;:::-;772:13785:149;9158:56:152;;:::i;:::-;9243:28;;:::i;:::-;772:13785:149;9225:53:152;;;:::i;:::-;772:13785:149;9323:14:152;;;:::i;:::-;772:13785:149;9354:11:152;;:::i;:::-;772:13785:149;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;10269:22:152;10303:13;;10298:187;10342:3;772:13785:149;;10318:22:152;;;;;10423:55;10342:3;10412;;10438:33;772:13785:149;10456:15:152;10412:3;;;;;;10375:33;10355:60;10412:3;;10393:15;10412:3;10393:15;;;;:::i;:::-;772:13785:149;;10375:33:152;;:::i;:::-;772:13785:149;10355:60:152;;:::i;:::-;772:13785:149;10456:15:152;;:::i;:::-;772:13785:149;;10438:33:152;;:::i;10423:55::-;10342:3;;:::i;:::-;10303:13;;;10318:22;;;;;;;;;;;10549:13;10318:22;;10549:13;:::i;:::-;8017:19;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;13023:68;;;;;772:13785;;-1:-1:-1;;;13023:68:149;;-1:-1:-1;;;;;772:13785:149;;;13023:68;;772:13785;;;;;;;;;;;;;;;;;;10412:3:152;;772:13785:149;;;;13023:68;;;;;;;;10298:187:152;-1:-1:-1;;772:13785:149;;-1:-1:-1;;;13107:24:149;;772:13785;;;;13107:24;;772:13785;;;;;;-1:-1:-1;;;;;772:13785:149;;13107:24;;;;;;;;;;;10298:187:152;-1:-1:-1;772:13785:149;;-1:-1:-1;;;;;772:13785:149;;;;;;12477:736;772:13785;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;10412:3:152;772:13785:149;;;;;;13107:24;;;;772:13785;13107:24;772:13785;13107:24;;;;;;;:::i;:::-;;;;13023:68;;;;:::i;:::-;772:13785;;13023:68;;;;9077:52:152;;;;772:13785:149;9077:52:152;772:13785:149;9077:52:152;;;;;;;:::i;:::-;;;;8978:766;-1:-1:-1;8017:19:152;772:13785:149;;;-1:-1:-1;;;9420:78:152;;-1:-1:-1;;;;;772:13785:149;;;;9420:78:152;;772:13785:149;;;;;;;;;;;;9420:78:152;;;;;;;;9527:56;9723:11;9420:78;;;9579:3;9547:28;772:13785:149;9420:78:152;;9612:28;9420:78;;;;;772:13785:149;;9547:28:152;;;:::i;9723:11::-;8978:766;;8982:54;;;;772:13785:149;8982:54:152;772:13785:149;8982:54:152;;;;;;;:::i;:::-;;;;;772:13785:149;;;;;;;;;8728:1462:152;772:13785:149;;;;;;;;;;;;;;;;;;9831:13:152;772:13785:149;;;;;;;;;;;;9831:92:152;;772:13785:149;;;;;;;;9831:92:152;;772:13785:149;;;;;;;;;;;;9831:92:152;;;;;;;;;;;;;8728:1462;9932:26;;9972:13;;9967:96;10009:3;772:13785:149;;9987:20:152;;;;;10024:30;10009:3;10042:12;;;;;:::i;:::-;772:13785:149;10024:30:152;;:::i;10009:3::-;9972:13;;;9987:20;;;;;;;;10071:33;9987:20;10173:9;9987:20;;;;10071:33;:::i;:::-;10173:9;;;:::i;9831:92::-;;;;;;;;;;;;;;;:::i;:::-;772:13785:149;9831:92:152;;;;772:13785:149;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;9831:92:152;;;772:13785:149;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9831:92:152;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;9831:92:152;;;772:13785:149;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9831:92:152;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9831:92:152;;;;;;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;8733:65:152;;;;772:13785:149;8733:65:152;772:13785:149;8733:65:152;;;;;;;:::i;:::-;;;;8569:75;;;;;;772:13785:149;8569:75:152;;772:13785:149;8569:75:152;;;;;;772:13785:149;8569:75:152;;;:::i;:::-;;;772:13785:149;;;;;;;;;8714:6:152;8569:75;;;;;-1:-1:-1;8569:75:152;;;772:13785:149;;;;;;;;;8466:85:152;;;772:13785:149;8466:85:152;;772:13785:149;8466:85:152;;;;;;772:13785:149;8466:85:152;;;:::i;:::-;;;772:13785:149;;;;;8466:85:152;;;;;;-1:-1:-1;8466:85:152;;;772:13785:149;;;;;;;;;8325:75:152;-1:-1:-1;;;;;;8386:14:152;;;:::i;:::-;772:13785:149;;8325:75:152;;8220:81;;;;772:13785:149;8220:81:152;772:13785:149;8220:81:152;;;;;;;:::i;:::-;;;;8017:52;;;;772:13785:149;8017:52:152;;772:13785:149;8017:52:152;;;;;;772:13785:149;8017:52:152;;;:::i;:::-;;;772:13785:149;;;;;8017:52:152;;;;;;;-1:-1:-1;8017:52:152;;772:13785:149;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;12736:60;;;;:::i;:::-;;;;772:13785;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;11975:62;772:13785;;;;;12012:25;;11975:62;;772:13785;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5586:37:153;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;5789:36:153;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6940:91:153;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;6940:91:153;772:13785:149;6940:91:153;;772:13785:149;6940:91:153;;;;;772:13785:149;6940:91:153;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;:::i;:::-;;;;7227:62:153;772:13785:149;;;;;;;;;;;;;;;;7227:62:153;772:13785:149;7227:62:153;;772:13785:149;;7227:62:153;772:13785:149;;7227:62:153;;;772:13785:149;7227:62:153;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6745:92:153;772:13785:149;;;;;;;;;;;;;;;;;;;;;6745:92:153;772:13785:149;;;;6745:92:153;772:13785:149;6745:92:153;;772:13785:149;;6745:92:153;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6474:31:153;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;-1:-1:-1;;;;;772:13785:149;;:::i;:::-;;;;14030:13;772:13785;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14294:23;772:13785;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;-1:-1:-1;772:13785:149;;;;;;;;;;;;;;;;;;;;;5892:51:153;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;6619:36:153;772:13785:149;;;;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;;772:13785:149;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;772:13785:149;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;;;5688:35:153;772:13785:149;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;6195:30:153;772:13785:149;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;772:13785:149;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;772:13785:149;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;:::o;1599:130:39:-;1513:6;772:13785:149;-1:-1:-1;;;;;772:13785:149;929:10:65;1662:23:39;772:13785:149;;1599:130:39:o;772:13785:149:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;:::o;:::-;-1:-1:-1;;;;;772:13785:149;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;:::o;:::-;-1:-1:-1;;;;;772:13785:149;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;1592:301:152:-;772:13785:149;;;;;;;;;;;;1767:24:152;;;;;772:13785:149;1767:24:152;;;;772:13785:149;1767:24:152;;;;;;;;1805:45;1767:24;;;-1:-1:-1;1767:24:152;;;1592:301;-1:-1:-1;772:13785:149;;-1:-1:-1;;;1805:45:152;;-1:-1:-1;;;;;772:13785:149;;;1767:24:152;1805:45;;772:13785:149;1844:4:152;772:13785:149;;;;;;;;-1:-1:-1;772:13785:149;;;;;;;;;1805:45:152;;;;;;;;;;-1:-1:-1;1805:45:152;;;1592:301;772:13785:149;;;;1592:301:152;:::o;772:13785:149:-;;;;;;;;;;;1767:24:152;772:13785:149;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;1805:45:152;;;;;;;;;;;;;;:::i;:::-;;;;1767:24;;;;;;;;;;;;;;;:::i;:::-;;;;;772:13785:149;-1:-1:-1;;772:13785:149;;;;;;;:::o;3598:314:152:-;-1:-1:-1;;;;;772:13785:149;3702:23:152;;3698:50;;772:13785:149;;-1:-1:-1;;;3801:42:152;;3817:10;3801:42;;;772:13785:149;3837:4:152;772:13785:149;;;;;3801:42:152;;772:13785:149;;;;;;3801:42:152;;;;;;;3723:1;3801:42;;;3598:314;3801:53;;772:13785:149;;3598:314:152:o;772:13785:149:-;;;-1:-1:-1;;;772:13785:149;;3801:42:152;;772:13785:149;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;3801:42:152;;;;;;;;;;;;;;;;:::i;:::-;;;772:13785:149;;;;;;3801:42:152;;;;;;-1:-1:-1;3801:42:152;;3698:50;3735:7;;:::o;4369:604::-;-1:-1:-1;;;;;772:13785:149;;4464:30:152;;4460:117;;4591:9;772:13785:149;;;;;;;;;4726:30:152;;;;4750:4;4726:30;;;772:13785:149;4726:30:152;;;;772:13785:149;4726:30:152;;;;;;;;;;;;4492:1;4726:30;;;4369:604;-1:-1:-1;772:13785:149;;-1:-1:-1;;;1482:68:93;;;;4786:10:152;772:13785:149;1482:68:93;;772:13785:149;4750:4:152;772:13785:149;;;;;;;;;;1482:68:93;;;772:13785:149;;;;1482:68:93;;772:13785:149;;1482:68:93;;;;;;:::i;:::-;;;:::i;:::-;772:13785:149;;;4851:30:152;;;;;;4750:4;4726:30;4851;;772:13785:149;4851:30:152;;;;;;;4492:1;4851:30;;;4369:604;4896:28;;;;;:::i;:::-;:39;772:13785:149;;4369:604:152;;:::o;772:13785:149:-;;;;;;;;;;;4726:30:152;772:13785:149;;;;;;;;;;;;;;4851:30:152;;;;;;;;;;;;;;;:::i;:::-;;;772:13785:149;;;;-1:-1:-1;772:13785:149;4896:28:152;4851:30;;;;;;;;772:13785:149;;;4492:1:152;772:13785:149;;;;;4726:30:152;;;;;;;;;;;;;;;;;:::i;:::-;;;772:13785:149;;;;;;;;4726:30:152;;;;;;;;;;772:13785:149;;;4492:1:152;772:13785:149;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;4460:117:152;4512:9;;;:20;772:13785:149;;4564:7:152:o;772:13785:149:-;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;;;5173:642:93;772:13785:149;;5535:69:98;;-1:-1:-1;;;;;772:13785:149;;;;:::i;:::-;-1:-1:-1;772:13785:149;;;;;;;;;;;5487:31:98;;;;;;;;;;;:::i;:::-;5535:69;;:::i;:::-;772:13785:149;;5705:22:93;;;;:56;;;;;5173:642;772:13785:149;;;;;;5173:642:93;:::o;772:13785:149:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:149;;;;;5705:56:93;5731:30;;-1:-1:-1;5731:30:93;;;;;;;:::i;:::-;5705:56;;;;;772:13785:149;;;;;;;-1:-1:-1;;;;;772:13785:149;;;;;;;;;;;-1:-1:-1;;772:13785:149;;;;;:::i;:::-;;;;-1:-1:-1;772:13785:149;;;;:::o;:::-;;;:::o;7671:628:98:-;;;;7875:418;;;772:13785:149;;;7906:22:98;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;772:13785:149;;8201:17:98;:::o;772:13785:149:-;;;-1:-1:-1;;;772:13785:149;;;;;;;;;;;;;;;;;;;;7875:418:98;772:13785:149;;;;-1:-1:-1;8980:21:98;:17;;9152:142;;;;;;;8976:379;772:13785:149;;-1:-1:-1;;;9324:20:98;;772:13785:149;;;9324:20:98;;;;;;:::i;:::-;;;;772:13785:149;;;;;;;;;;;;;;;;-1:-1:-1;772:13785:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;5400:645:152:-;;;;5544:12;;5540:39;;5651:3;5622:25;5610:45;5622:25;;;:::i;5610:45::-;-1:-1:-1;;;;;772:13785:149;;;;;;5666:30:152;;5662:281;;6025:14;;;;:::i;5662:281::-;-1:-1:-1;5750:8:152;772:13785:149;;;-1:-1:-1;;;5797:78:152;;;;;;-1:-1:-1;;;;;772:13785:149;;;5797:78:152;;;772:13785:149;;;;;;;5892:30:152;;5555:1;;;;772:13785:149;;;;;5797:78:152;;772:13785:149;;;;5797:78:152;772:13785:149;5797:78:152;5742:141;;;;;;:::i;:::-;5892:30;;:::i;5540:39::-;5566:7;;;;:::o;941:175:93:-;772:13785:149;;-1:-1:-1;;;1050:58:93;;;;-1:-1:-1;;;;;772:13785:149;;;;1050:58:93;;;772:13785:149;;;;;;;;;1050:58:93;;;;;;772:13785:149;;1050:58:93;:::i;:::-;;:::i;772:13785:149:-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;10572:609:152:-;;;;;;;-1:-1:-1;;;;;772:13785:149;;;10744:30:152;772:13785:149;;;10828:8:152;772:13785:149;;;;;10868:72:152;772:13785:149;10868:72:152;;;10891:25;;;;10868:72;;772:13785:149;10868:72:152;;;772:13785:149;;;;;;:::i;:::-;;;;-1:-1:-1;;772:13785:149;;;;;;;;;;;;;;;;;10772:1:152;772:13785:149;;;;;;10868:72:152;;;;;10772:1;10868:72;;;;;;10957:30;10868:72;;;772:13785:149;;10868:72:152;;;;;;:::i;772:13785:149:-;;;;;;;;;;;;;;;;;10740:437:152;11061:13;;;;10772:1;11100:3;772:13785:149;;11076:22:152;;;;;11134:14;11115:47;11134:14;;11100:3;11134:14;;;:::i;:::-;772:13785:149;;11150:11:152;;;;:::i;:::-;772:13785:149;11115:47:152;;;:::i;:::-;11100:3;:::i;:::-;11061:13;;11076:22;;;;;;;10572:609::o","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","bid(address,uint256,address,uint256)":"b5678588","cancelAuction(address,uint256)":"859b97fe","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":"060d9eeb","getAuctionDetails(address,uint256)":"0cd87c68","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offerCancelationDelay()":"0a5c4ed5","owner()":"8da5cb5b","payments()":"a6d23e10","renounceOwnership()":"715018a6","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","settleAuction(address,uint256)":"5138b08c","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"convertOfferToAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"details\":\"Only the configured currency can be used (Zero address for eth)\",\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelAuction(address,uint256)\":{\"details\":\"Requires the person sending the message to be the auction creator or token owner.\",\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"details\":\"If auction type is coldie (reserve) then _startingAmount cant be 0._currencyAddress equal to the zero address denotes eth.All time related params are unix epoch timestamps.\",\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"details\":\"Covers use of any currency (0 address is eth).Only covers converting an offer to a coldie auction.Cant convert offer if an auction currently exists.\",\"params\":{\"_amount\":\"Amount being converted into an auction.\",\"_currencyAddress\":\"Address of the currency being converted.\",\"_lengthOfAuction\":\"Number of seconds the auction will last.\",\"_originContract\":\"Contract address of the asset.\",\"_splitAddresses\":\"Addresses that the sellers take in will be split amongst.\",\"_splitRatios\":\"Ratios that the take in will be split by.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"settleAuction(address,uint256)\":{\"details\":\"Anyone is able to settle an auction since non-input params are used.\",\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"SuperRareAuctionHouse\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Converts an offer into a coldie auction.\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The logic for all functions related to the SuperRareAuctionHouse.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/auctionhouse/SuperRareAuctionHouse.sol\":\"SuperRareAuctionHouse\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/auctionhouse/ISuperRareAuctionHouse.sol\":{\"keccak256\":\"0x443cb16d59d383f4498c88ffb89c1d7e0ef4c8746f2391732ee7559185784215\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f566ddabac5831ab16eed94a303fe969ba2364a047b332856c318f0fe0931c27\",\"dweb:/ipfs/QmdNDMXe5NWjx1P689kmQLArEUYW7pmvs3Ry535dHRfFST\"]},\"src/auctionhouse/SuperRareAuctionHouse.sol\":{\"keccak256\":\"0x3bbd654d28a5bf7846751cfb2240f7b033092e4b46b9b23b373c36055c05bae7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d804dc212693b412aac34925cc7fa7f6b8ebb8fab34c269bf6cfee63b2da16bc\",\"dweb:/ipfs/QmPiLMdjMHGrYCyHviBPDoV49xFcPR75y4bhJ24nzkJVbM\"]},\"src/bazaar/SuperRareBazaarBase.sol\":{\"keccak256\":\"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d\",\"dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"convertOfferToAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"bid(address,uint256,address,uint256)":{"details":"Only the configured currency can be used (Zero address for eth)","params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"cancelAuction(address,uint256)":{"details":"Requires the person sending the message to be the auction creator or token owner.","params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"details":"If auction type is coldie (reserve) then _startingAmount cant be 0._currencyAddress equal to the zero address denotes eth.All time related params are unix epoch timestamps.","params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"details":"Covers use of any currency (0 address is eth).Only covers converting an offer to a coldie auction.Cant convert offer if an auction currently exists.","params":{"_amount":"Amount being converted into an auction.","_currencyAddress":"Address of the currency being converted.","_lengthOfAuction":"Number of seconds the auction will last.","_originContract":"Contract address of the asset.","_splitAddresses":"Addresses that the sellers take in will be split amongst.","_splitRatios":"Ratios that the take in will be split by.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"settleAuction(address,uint256)":{"details":"Anyone is able to settle an auction since non-input params are used.","params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Converts an offer into a coldie auction."},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/auctionhouse/SuperRareAuctionHouse.sol":"SuperRareAuctionHouse"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/auctionhouse/ISuperRareAuctionHouse.sol":{"keccak256":"0x443cb16d59d383f4498c88ffb89c1d7e0ef4c8746f2391732ee7559185784215","urls":["bzz-raw://f566ddabac5831ab16eed94a303fe969ba2364a047b332856c318f0fe0931c27","dweb:/ipfs/QmdNDMXe5NWjx1P689kmQLArEUYW7pmvs3Ry535dHRfFST"],"license":"MIT"},"src/auctionhouse/SuperRareAuctionHouse.sol":{"keccak256":"0x3bbd654d28a5bf7846751cfb2240f7b033092e4b46b9b23b373c36055c05bae7","urls":["bzz-raw://d804dc212693b412aac34925cc7fa7f6b8ebb8fab34c269bf6cfee63b2da16bc","dweb:/ipfs/QmPiLMdjMHGrYCyHviBPDoV49xFcPR75y4bhJ24nzkJVbM"],"license":"MIT"},"src/bazaar/SuperRareBazaarBase.sol":{"keccak256":"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826","urls":["bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d","dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"}},"version":1},"id":149} \ No newline at end of file +{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"convertOfferToAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234610016576151ed908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081629d9aa914614662575080630141c59014614639578063060d9eeb1461458a5780630a5c4ed51461456c5780630bcba09d146145435780630cd87c6814613de55780630e519ef914613dc7578063155a56b114613dab5780631a2ac30f14613d4a578063299a0e1e14613cdb5780632c41905314613c615780633bc3d9be14613c385780634c94c90c14613c0f5780635138b08c14612b955780636240cd1c14612b6c5780636b534ed014612b435780636fe9f44c14612b1f578063715018a614612ac1578063859b97fe146123be5780638da5cb5b146123955780639041a0ec14611339578063a11b071214611310578063a6d23e10146112e7578063b23afc26146112b7578063b567858814610339578063ba50b63214610310578063c47c35c114610282578063c90b871414610255578063daa26499146102375763f2fde38b1461016a57600080fd5b3461023457602036600319011261023457610183614687565b61018b614754565b6001600160a01b039081169081156101e057603354826bffffffffffffffffffffffff60a01b821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b5034610234578060031936011261023457602060a254604051908152f35b50346102345780600319360112610234576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b50346102345760403660031901126102345760e0906001600160a01b0390604090826102ac614687565b16815260a6602052818120602435825260205220908082541691600181015491600282015490600383015490600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346102345780600319360112610234576097546040516001600160a01b039091168152602090f35b5060803660031901126102345761034e614687565b61035661469d565b906002606554146112725760026065556097546040516361fe24a960e11b815260643560048201526001600160a01b0390911690602081602481855afa8015611267578590611233575b6103ad9150606435614960565b906103b88285614ab5565b60018060a01b038316855260a66020526040852060243586526020526040852090604051916103e6836147ac565b60018060a01b03815416835260018101546020840152600281015460408401526003810154606084015260018060a01b036004820154166080840152600581015460a0840152600681015460c0840152600781016040519081602082549182815201918a5260208a20908a5b818110611214575050509061046c8160089493038261482c565b60e085015201604051808260208294549384815201908a5260208a20928a905b80601f83011061108a576105a2945491818110611076575b81811061105f575b818110611048575b818110611031575b81811061101b575b818110611004575b818110610fed575b818110610fd6575b818110610fbf575b818110610fa8575b818110610f91575b818110610f7a575b818110610f63575b818110610f4c575b818110610f35575b818110610f1e575b818110610f07575b818110610ef0575b818110610ed9575b818110610ec2575b818110610eab575b818110610e94575b818110610e7d575b818110610e66575b818110610e4f575b818110610e38575b818110610e21575b818110610e0a575b818110610df3575b818110610ddc575b818110610dc5575b10610db7575b50038261482c565b61010083015260c082015115610d685781516001600160a01b03163314610d175760408201514210610cd25760808201516001600160a01b0390811690861603610c745760643515610c3c57602060049160405192838092637cd11f4360e11b82525afa9081156109f4578691610c05575b5060643511610bb65760a081015160643510610b625760408101518015908115610b4a575b5015610b0e5760018060a01b038316855260a760205260408520602435865260205260408520916106c160405193610670856147c8565b60018060a01b03815416855260018060a01b03600182015416602086015260ff6003600283015492836040890152015416606086015260646106ba60ff60a05460a01c1683614864565b0490614960565b60643510610aaf576040516331a9108f60e11b81526024803560048301529091906020908390816001600160a01b0389165afa918215610aa4578792610a73575b5082516001600160a01b038381169116148015610a61575b15610a1057825161073e926001600160a01b039182169116146109ff575b85614b94565b61075f604083015160ff60608501511660018060a01b038551169187614fb5565b609754604051638347592160e01b815290602090829060049082906001600160a01b03165afa9081156109f45786916109c5575b5060ff60036040516107a4816147c8565b3381526001600160a01b0388811660208084019182526064356040808601918252978716606086019081528b85168e5260a78352888e206024358f52909252878d20945185549085166001600160a01b031991821617865592516001860180549190951693169290921790925551600283015551910180549190921660ff199091161790558101518591829182908061094f5750506001600160a01b0385811680845260a6602090815260408086206024358752909152842042600290910155915116903b1561094b576040516323b872dd60e01b81526001600160a01b03909116600482015230602480830191909152356044820152818180606481010381836001600160a01b038a165af1801561094057610928575b50506001915b51604080516001600160a01b03968716815260643560208201529315159084015260608301919091528316608082015260243592339216907f189a468e632a450afd491f84aa9ae94addc6813c7e309a7b1b1223f88802a77d9060a090a4600160655580f35b610931906147e3565b61093c5784386108bc565b8480fd5b6040513d84823e3d90fd5b5080fd5b61096b919593506109664291606085015190614960565b61496d565b60a25480911061097d575b50506108c2565b61099892935061098f60409142614960565b9101519061496d565b9060018060a01b038416865260a66020526040862060243587526020528160036040882001553880610976565b6109e7915060203d6020116109ed575b6109df818361482c565b8101906148a4565b38610793565b503d6109d5565b6040513d88823e3d90fd5b610a0b60243586614992565b610738565b60405162461bcd60e51b815260206004820152602360248201527f6269643a3a41756374696f6e2063726561746f72206d757374206265206f776e60448201526232b91760e91b6064820152608490fd5b506001600160a01b038216301461071a565b610a9691925060203d602011610a9d575b610a8e818361482c565b8101906148bd565b9038610702565b503d610a84565b6040513d89823e3d90fd5b60405162461bcd60e51b815260206004820152603160248201527f6269643a3a4d75737420626520686967686572207468616e20707265762062696044820152703210159036b4b71034b731b932b0b9b29760791b6064820152608490fd5b60405162461bcd60e51b81526020600482015260146024820152733134b21d1d26bab9ba1031329030b1ba34bb329760611b6044820152606490fd5b610b5a9150606083015190614960565b421038610639565b60405162461bcd60e51b815260206004820152602660248201527f6269643a3a43616e6e6f74206265206c6f776572207468616e206d696e696d7560448201526536903134b21760d11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f6269643a3a4d757374206265206c657373207468616e206d61782076616c75656044820152601760f91b6064820152608490fd5b90506020813d602011610c34575b81610c206020938361482c565b81010312610c2f575138610614565b600080fd5b3d9150610c13565b60405162461bcd60e51b815260206004820152601060248201526f06269643a3a43616e6e6f7420626520360841b6044820152606490fd5b60405162461bcd60e51b815260206004820152603060248201527f6269643a3a43757272656e6379206d75737420626520696e20636f6e6669677560448201526f3932b2103232b737b6b4b730ba34b7b760811b6064820152608490fd5b60405162461bcd60e51b815260206004820152601860248201527f6269643a3a41756374696f6e206e6f74206163746976652e00000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526024808201527f6269643a3a43616e6e6f7420626964206f6e20796f7572206f776e206175637460448201526334b7b71760e11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f6269643a3a4d757374206861766520612063757272656e742061756374696f6e6044820152601760f91b6064820152608490fd5b60f81c81526020013861059a565b92602060019160ff8560f01c168152019301610594565b92602060019160ff8560e81c16815201930161058c565b92602060019160ff8560e01c168152019301610584565b92602060019160ff8560d81c16815201930161057c565b92602060019160ff8560d01c168152019301610574565b92602060019160ff8560c81c16815201930161056c565b92602060019160ff8560c01c168152019301610564565b92602060019160ff8560b81c16815201930161055c565b92602060019160ff8560b01c168152019301610554565b92602060019160ff8560a81c16815201930161054c565b92602060019160ff8560a01c168152019301610544565b92602060019160ff8560981c16815201930161053c565b92602060019160ff8560901c168152019301610534565b92602060019160ff8560881c16815201930161052c565b92602060019160ff8560801c168152019301610524565b92602060019160ff8560781c16815201930161051c565b92602060019160ff8560701c168152019301610514565b92602060019160ff8560681c16815201930161050c565b92602060019160ff8560601c168152019301610504565b92602060019160ff8560581c1681520193016104fc565b92602060019160ff8560501c1681520193016104f4565b92602060019160ff8560481c1681520193016104ec565b92602060019160ff8560401c1681520193016104e4565b92602060019160ff8560381c1681520193016104dc565b92602060019160ff8560301c1681520193016104d4565b92602060019160ff8560281c1681520193016104cc565b92602060019160ff85831c1681520193016104c4565b92602060019160ff8560181c1681520193016104bc565b92602060019160ff8560101c1681520193016104b4565b92602060019160ff8560081c1681520193016104ac565b92602060019160ff851681520193016104a4565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201940192018492939161048c565b82546001600160a01b0316845260209093019260019283019201610452565b506020813d60201161125f575b8161124d6020938361482c565b81010312610c2f576103ad90516103a0565b3d9150611240565b6040513d87823e3d90fd5b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50346102345780600319360112610234576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b5034610234578060031936011261023457609e546040516001600160a01b039091168152602090f35b50346102345780600319360112610234576098546040516001600160a01b039091168152602090f35b503461023457610120366003190112610234576024356001600160a01b0381169003610c2f576084356001600160a01b0381168103610c2f5760e4356001600160401b038111612391576113919036906004016146b3565b610104356001600160401b03811161093c576113b19036906004016146b3565b916001600160a01b03851615801561231f575b156122e2576040516331a9108f60e11b8152604435600482015260208160248181356001600160a01b03165afa9081156122d6576000916122b7575b50336001600160a01b039091160361227257611420604435602435614992565b801561221d57600581116121cc57828103612172576000805b8482106121465760649150036120f1576004356d21a7a62224a2afa0aaa1aa24a7a760911b1415806120d1575b6120955760a15460a435116120445760018060a01b0360243516865260a660205260408620604435875260205260408620604051906114a4826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c0830152604051806007830190602082549182815201918b5260208b20908b5b818110612025575050509061152a8160089493038261482c565b60e0840152604051910180548083529089526020808a209183918201908b905b80601f830110611e7d576116409454918181106110765781811061105f57818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260018060a01b0360243516875260a760205260408720604435885260205260408720604051611674816147c8565b81546001600160a01b03908116808352600184015490911660208301526002830154604083015260039092015460ff16606090910152611e2c5760c081015115908115611e17575b5015611dba5760a43515611d69576004356d21a7a62224a2afa0aaa1aa24a7a760911b03611cd85760643515611c77575b609754604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa908115610aa4578791611c45575b5060643511611bcf576004356d21a7a62224a2afa0aaa1aa24a7a760911b03611bc65785935b60405194611754866147ac565b338652436020870152604086015260a43560608601526001600160a01b038616608086015260643560a086015260043560c08601526117928261484d565b916117a0604051938461482c565b8083526020830191368260051b820111610c2f5780925b8260051b82018410611ba6575050505060e08401526117d58261484d565b916117e3604051938461482c565b8083526020830191368260051b820111610c2f5780925b8260051b82018410611b8c575050505061010082015260018060a01b0360243516835260a6602052604083206044358452602052604083209060018060a01b038151166bffffffffffffffffffffffff60a01b9081845416178355602082015160018401556040820151600284015560608201516003840155600483019060018060a01b036080840151169082541617905560a0810151600583015560c0810151600683015560e08101518051906001600160401b038211611b7857600160401b8211611b1457602060078501918254848455808510611b5b575b500190865260208620865b838110611b3e57505050506101000151908151906001600160401b038211611b2a57600160401b8211611b1457600860209101928354838555808410611ac8575b50019184526020842090845b8160051c8110611a895750601f198116808203611a3a575b5050506004357029a1a422a22aa622a22fa0aaa1aa24a7a760791b1490506119c7575b6040519060018060a01b0316815260c4356020820152606435604082015260a43560608201523390604435907fdb89081d9a5399380ffbcc376a961ed023027fca462e08b3d23146e4c6ac62f2608060018060a01b036024351692a480f35b6024356001600160a01b03163b1561094b576040516323b872dd60e01b815233600482015230602482015260448035908201528290818180606481010381836024356001600160a01b03165af1801561094057611a26575b5050611968565b611a2f906147e3565b61094b578138611a1f565b928593865b8184038110611a595750505060051c015538808080611945565b9091946020611a7f6001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101611a3f565b85865b60208110611aa157508382015560010161192d565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501611a8c565b611af4908560005283600020601f80870160051c82019281881680611afa575b500160051c019061488d565b38611921565b60001990818601918254918a0360031b1c16905538611ae8565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b85526041600452602485fd5b82516001600160a01b0316818301556020909201916001016118e0565b611b7290846000528584600020918201910161488d565b386118d5565b634e487b7160e01b86526041600452602486fd5b833560ff81168103610c2f578152602093840193016117fa565b83356001600160a01b0381168103610c2f578152602093840193016117b7565b60c43593611747565b60405162461bcd60e51b815260206004820152604260248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74207365742073746160448201527f7274696e6720707269636520686967686572207468616e206d61782076616c75606482015261329760f11b608482015260a490fd5b90506020813d602011611c6f575b81611c606020938361482c565b81010312610c2f575138611721565b3d9150611c53565b60405162461bcd60e51b815260206004820152603360248201527f636f6e66696775726541756374696f6e3a3a436f6c646965207374617274696e604482015272067207072696365206d757374206265203e203606c1b6064820152608490fd5b70565e5bdd5dd559dd5dd05f555e55db585960791b600435016116ed574260c435116116ed5760405162461bcd60e51b815260206004820152603960248201527f636f6e66696775726541756374696f6e3a3a5363686564756c6564206175637460448201527f696f6e2063616e6e6f7420737461727420696e20706173742e000000000000006064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a4c656e677468206d7573742062656044820152630203e20360e41b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74206861766520612060448201526e31bab93932b73a1030bab1ba34b7b760891b6064820152608490fd5b516001600160a01b03163314159050386116bc565b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a6269642073686f756c646e7420656044820152631e1a5cdd60e21b6064820152608490fd5b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018492939161154a565b82546001600160a01b0316845260209093019260019283019201611510565b60405162461bcd60e51b815260206004820152602360248201527f636f6e66696775726541756374696f6e3a3a41756374696f6e20746f6f206c6f60448201526237339760e91b6064820152608490fd5b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642041756374696f6e205479706560601b6044820152606490fd5b506004357029a1a422a22aa622a22fa0aaa1aa24a7a760791b1415611466565b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff8216809203610c2f5761216c9161216691614960565b91614aa6565b90611439565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b6122d0915060203d602011610a9d57610a8e818361482c565b38611400565b6040513d6000823e3d90fd5b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b50609d54604051632d5ad3d560e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610aa4578791612363575b506113c4565b612384915060203d811161238a575b61237c818361482c565b81019061497a565b3861235d565b503d612372565b8280fd5b50346102345780600319360112610234576033546040516001600160a01b039091168152602090f35b5034610234576040366003190112610234576123d8614687565b6001600160a01b031680825260a6602090815260408084206024358086529252808420905190612407826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c0830152600781016040518082602082945493848152019089526020892092895b818110612a9f5750506124899250038261482c565b60e08301526040516008918201805480835290875260208088209293849291830191895b81601f820110612914576125a69554928282106128fe575b8282106128e7575b50818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260c08101511561288a5760408101518015908115612880575b50156128255780516001600160a01b0316331480156127c9575b156127735782845260a660205260408420828552602052612602604085206148dc565b6040516331a9108f60e11b8082526004820184905290602081602481885afa9081156109f4578691612754575b506001600160a01b031630146126fc575b604051908152826004820152602081602481875afa9081156112675785916126dd575b50336001600160a01b03909116036126a757516001600160a01b0316917f26d4510b556e779d6507640413e013206e44c8f5d018c7c74ed8926f3f024a9c8480a480f35b60405162461bcd60e51b815260206004820152600e60248201526d1cd95b991a5b99c819985a5b195960921b6044820152606490fd5b6126f6915060203d602011610a9d57610a8e818361482c565b38612663565b833b1561093c576040516323b872dd60e01b81523060048201523360248201526044810184905285908181606481838a5af1801561094057612740575b5050612640565b612749906147e3565b61093c578438612739565b61276d915060203d602011610a9d57610a8e818361482c565b3861262f565b60405162461bcd60e51b815260206004820152602860248201527f63616e63656c41756374696f6e3a3a4d7573742062652063726561746f72206f604482015267391037bbb732b91760c11b6064820152608490fd5b506040516331a9108f60e11b815260048101839052602081602481875afa908115611267578591612806575b506001600160a01b031633146125df565b61281f915060203d602011610a9d57610a8e818361482c565b386127f5565b60405162461bcd60e51b815260206004820152602d60248201527f63616e63656c41756374696f6e3a3a41756374696f6e206d757374206e6f742060448201526c3430bb329039ba30b93a32b21760991b6064820152608490fd5b90504210386125c5565b60405162461bcd60e51b815260206004820152602f60248201527f63616e63656c41756374696f6e3a3a4d757374206861766520616e206175637460448201526e34b7b71031b7b73334b3bab932b21760891b6064820152608490fd5b6001919460ff856020931c168152019301386124cd565b9093602060019160ff86168152019401906124c5565b919350916001610400602092875460ff808216835280828a1c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201950191019185939194926124ad565b84546001600160a01b0316835260019485019486945060209093019201612474565b5034610234578060031936011261023457612ada614754565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610234578060031936011261023457602060ff60a05460a01c16604051908152f35b503461023457806003193601126102345760a0546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457609d546040516001600160a01b039091168152602090f35b503461023457604036600319011261023457612baf614687565b60018060a01b038116825260a66020526040822060243583526020526040822060405190612bdc826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c08301526007810160405190816020825491828152019187526020872090875b818110613bf05750505090612c628160089493038261482c565b60e084015260405191018054808352908552602080862091839182019087905b80601f830110613a6657612d789454918181106110765781811061105f57818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260c0810151151580613a59575b156139fa57612da36040820151606083015190614960565b421061399e5760018060a01b038216835260a7602052604083206024358452602052604083209060ff600360405193612ddb856147c8565b60018060a01b03815416855260018060a01b03600182015416602086015260028101546040860152015416606083015260018060a01b038316845260a6602052604084206024358552602052612e33604085206148dc565b6001600160a01b03838116855260a7602090815260408087206024358852909152852085815560018101869055600281018690556003018590558251168061302e5750805184906001600160a01b039081169085163b1561094b576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b038a165af1801561094057613016575b50506040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa908115611267578591612ff7575b5081516001600160a01b03908116911603612f8c575b8151815160809092015160409384015184516001600160a01b03948516815291841660208301529381019390935260243593908216929116907fef4e2262a841641690bb931801dc0d1923e6b417cd217f91f8049d8aa9f5f08690606090a480f35b60405162461bcd60e51b815260206004820152603860248201527f736574746c6541756374696f6e3a3a4661696c656420746f2072657475726e2060448201527f746f6b656e20746f2061756374696f6e2063726561746f7200000000000000006064820152608490fd5b613010915060203d602011610a9d57610a8e818361482c565b38612f14565b61301f906147e3565b61302a578338612edc565b8380fd5b929391929091906001600160a01b0385163b1561094b576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b038a165af180156109405761398f575b5060018060a01b036020840151169360408401519160018060a01b038451169160e08501519561010086015193875185510361392e576097546040516361fe24a960e11b8152600481018890529087906001600160a01b0316602083602481845afa928315610aa45787936138fa575b5060405192613111846147f6565b60028452604036602086013760a0546001600160a01b0316806131338661508d565b52609f5460405163e286ef3360e01b81526004810188905290602090829060249082906001600160a01b03165afa9081156138b7578a916138db575b506001600160a01b0316613182866150b0565b526001600160a01b03613194866150b0565b51166138c2575b6131a4856150b0565b6001600160a01b039091169052604051906131be826147f6565b6002825260403660208401376040516303fdde1160e21b8152600481018c9052602081602481875afa9081156138b7578a91613885575b506131ff8361508d565b5260208b60246040518096819363470d6ed960e11b835260048301525afa92831561387a57908e86928b9561383f575b506132439461323d856150b0565b526150d4565b609754604051631446f21360e21b81526001600160a01b0387811660048301526024803590830152909160209183916044918391165afa908115610aa4578791613820575b5061362b576040519261329a84614811565b6001845260203681860137604051926132b284614811565b60018452602036818601376001600160a01b03906132cf9061508d565b51166132da8461508d565b52609c54604051635dc22eff60e01b81526004810183905290602090829060249082906001600160a01b03165afa908115613620578891613601575b501561359f57609c54604051632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610aa4578961337e61339f969594606461337760ff8297613384978f91613580575b50168095614864565b049061496d565b9a614864565b0461338e8361508d565b526133988261508d565b518b6150d4565b8651956133ab8761484d565b966133b9604051988961482c565b8088526133c8601f199161484d565b01366020890137839784985b81518a10156134325761342661342c918b6106ba60ff61341e838f8f8f8390613410613417938861340860649c8d956150c0565b511690614864565b04926150c0565b528d6150c0565b51168c614864565b99614aa6565b986133d4565b9297949991965092975061344694506150d4565b60975484906001600160a01b0316803b1561094b57604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af180156109405761356c575b50506040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa90811561126757859161354d575b5082516001600160a01b03918216911614612f2a5760405162461bcd60e51b815260206004820152603360248201527f736574746c6541756374696f6e3a3a4661696c656420746f207472616e73666560448201527239103a379030bab1ba34b7b7103bb4b73732b960691b6064820152608490fd5b613566915060203d602011610a9d57610a8e818361482c565b386134d7565b613575906147e3565b61302a57833861349f565b613599915060203d6020116109ed576109df818361482c565b3861336e565b5060975460405163b28a7bad60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610aa4578961337e6135fc969594606461337760ff8297613384978f916135805750168095614864565b61339f565b61361a915060203d60201161238a5761237c818361482c565b38613316565b6040513d8a823e3d90fd5b5050509693959290918095928160018060a01b03609954166064604051809a8193637a99dc0160e11b835260018060a01b038716600484015260243560248401528d60448401525af1988915610940578297839a6136cf575b50829783985b8b518a10156136b1576134266136ab916136a48c8f6150c0565b5190614960565b9861368a565b979a91939598506136c8886135fc9496989b61496d565b978b6150d4565b975098503d968783823e6136e3888261482c565b6040818981010312612391578051906001600160401b03821161302a57888101601f83830101121561302a57818101519161371d8361484d565b9261372b604051948561482c565b80845260208401918b840160208360051b8387010101116137f857602081850101925b60208360051b838701010184106137fc57505050506020810151986001600160401b038a1161093c57808201601f8b840101121561093c5789820151916137948361484d565b9a6137a26040519c8d61482c565b838c5260208c0192820160208560051b8385010101116137f8579190602083820101925b60208560051b828401010184106137e4575050505050969838613684565b6020808094865181520194019392506137c6565b8680fd5b83516001600160a01b038116810361381c5781526020938401930161374e565b8880fd5b613839915060203d60201161238a5761237c818361482c565b38613288565b92505092506020813d602011613872575b8161385d6020938361482c565b81010312610c2f57519184908e61324361322f565b3d9150613850565b6040513d8b823e3d90fd5b90506020813d6020116138af575b816138a06020938361482c565b81010312610c2f5751386131f5565b3d9150613893565b6040513d8c823e3d90fd5b506001600160a01b036138d4856150b0565b511661319b565b6138f4915060203d602011610a9d57610a8e818361482c565b3861316f565b9092506020813d602011613926575b816139166020938361482c565b81010312610c2f57519138613103565b3d9150613909565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b613998906147e3565b38613093565b60405162461bcd60e51b815260206004820152602e60248201527f736574746c6541756374696f6e3a3a43616e206f6e6c7920736574746c65206560448201526d373232b21030bab1ba34b7b7399760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603160248201527f736574746c6541756374696f6e3a3a4d75737420686176652061206375727265604482015270373a103b30b634b21030bab1ba34b7b71760791b6064820152608490fd5b5060408101511515612d8b565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e0820152019401920184929391612c82565b82546001600160a01b0316845260209093019260019283019201612c48565b50346102345780600319360112610234576099546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457609b546040516001600160a01b039091168152602090f35b50346102345760a09060ff6040613c7736614720565b90600180889794971b03809616835260a56020528383209083526020528483832091168252602052209182541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b5034610234576040366003190112610234576080906001600160a01b039060409082613d05614687565b16815260a760205281812060243582526020522081815416916001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b5034610234576060906040613d5e36614720565b9060018060a09694961b03809516835260a4602052838320908352602052838383209116825260205220600282825416926001830154169101549060405192835260208301526040820152f35b5034610234578060031936011261023457602090604051908152f35b5034610234578060031936011261023457602060a154604051908152f35b5034610234576040366003190112610234576001600160a01b03613e07614687565b16815260a66020526040812060243582526020526040812060405191613e2c836147ac565b60018060a01b03825416835260018201546020840152600282015460408401526003820154606084015260018060a01b036004830154166080840152600582015460a0840152600682015460c084015260405180816020600786015492838152016007860185526020852092855b818110614521575050613eaf9250038261482c565b60e084015260405190818260206008860154928381520160088196018452602084209284905b80601f83011061437957613fee945491818110614365575b81811061434e575b818110614337575b818110614320575b81811061430a575b8181106142f3575b8181106142dc575b8181106142c5575b8181106142ae575b818110614297575b818110614280575b818110614269575b818110614252575b81811061423b575b818110614224575b81811061420d575b8181106141f6575b8181106141df575b8181106141c8575b8181106141b1575b81811061419a575b818110614183575b81811061416c575b818110614155575b81811061413e575b818110614127575b818110614110575b8181106140f9575b8181106140e2575b8181106140cb575b8181106140b4575b106140a6575b50949394038461482c565b8261010085015260018060a01b038451169260206140698187015196604081015190606081015160018060a01b0360808301511660a08301519160e060c0850151940151946040519c8d9c8d52888d015260408c015260608b015260808a015260a089015260c08801526101208060e08901528701906146e3565b9185830361010087015251918281520192915b81811061408a575050500390f35b825160ff1684528594506020938401939092019160010161407c565b60f81c815260200138613fe3565b92602060019160ff8560f01c168152019301613fdd565b92602060019160ff8560e81c168152019301613fd5565b92602060019160ff8560e01c168152019301613fcd565b92602060019160ff8560d81c168152019301613fc5565b92602060019160ff8560d01c168152019301613fbd565b92602060019160ff8560c81c168152019301613fb5565b92602060019160ff8560c01c168152019301613fad565b92602060019160ff8560b81c168152019301613fa5565b92602060019160ff8560b01c168152019301613f9d565b92602060019160ff8560a81c168152019301613f95565b92602060019160ff8560a01c168152019301613f8d565b92602060019160ff8560981c168152019301613f85565b92602060019160ff8560901c168152019301613f7d565b92602060019160ff8560881c168152019301613f75565b92602060019160ff8560801c168152019301613f6d565b92602060019160ff8560781c168152019301613f65565b92602060019160ff8560701c168152019301613f5d565b92602060019160ff8560681c168152019301613f55565b92602060019160ff8560601c168152019301613f4d565b92602060019160ff8560581c168152019301613f45565b92602060019160ff8560501c168152019301613f3d565b92602060019160ff8560481c168152019301613f35565b92602060019160ff8560401c168152019301613f2d565b92602060019160ff8560381c168152019301613f25565b92602060019160ff8560301c168152019301613f1d565b92602060019160ff8560281c168152019301613f15565b92602060019160ff85831c168152019301613f0d565b92602060019160ff8560181c168152019301613f05565b92602060019160ff8560101c168152019301613efd565b92602060019160ff8560081c168152019301613ef5565b92602060019160ff85168152019301613eed565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920185929391613ed5565b84546001600160a01b0316835260019485019486945060209093019201613e9a565b5034610234578060031936011261023457609c546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457602060a354604051908152f35b50346102345760e0366003190112610234576145a4614687565b506145ad61469d565b506001600160401b0360a435818111612391576145ce9036906004016146b3565b505060c43590811161094b576145e89036906004016146b3565b505060405162461bcd60e51b815260206004820152602160248201527f636f6e766572744f66666572546f41756374696f6e3a3a4465707265636174656044820152601960fa1b6064820152608490fd5b5034610234578060031936011261023457609a546040516001600160a01b039091168152602090f35b90503461094b578160031936011261094b57609f546001600160a01b03168152602090f35b600435906001600160a01b0382168203610c2f57565b604435906001600160a01b0382168203610c2f57565b9181601f84011215610c2f578235916001600160401b038311610c2f576020808501948460051b010111610c2f57565b90815180825260208080930193019160005b828110614703575050505090565b83516001600160a01b0316855293810193928101926001016146f5565b6060906003190112610c2f576001600160a01b036004358181168103610c2f5791602435916044359081168103610c2f5790565b6033546001600160a01b0316330361476857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b61012081019081106001600160401b03821117611b1457604052565b608081019081106001600160401b03821117611b1457604052565b6001600160401b038111611b1457604052565b606081019081106001600160401b03821117611b1457604052565b604081019081106001600160401b03821117611b1457604052565b90601f801991011681019081106001600160401b03821117611b1457604052565b6001600160401b038111611b145760051b60200190565b8181029291811591840414171561487757565b634e487b7160e01b600052601160045260246000fd5b818110614898575050565b6000815560010161488d565b90816020910312610c2f575160ff81168103610c2f5790565b90816020910312610c2f57516001600160a01b0381168103610c2f5790565b600860009182815582600182015582600282015582600382015582600482015582600582015582600682015560078101805484825580614946575b505001908154908083558161492b57505050565b60208161494494601f935220910160051c81019061488d565b565b614959918552602085209081019061488d565b3880614917565b9190820180921161487757565b9190820391821161487757565b90816020910312610c2f57518015158103610c2f5790565b60018060a01b0316604051916331a9108f60e11b835260048301526020918281602481855afa80156122d657614a00928492600092614a87575b5060405163e985e9c560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03915afa9081156122d657600091614a6a575b5015614a1c5750565b6084906040519062461bcd60e51b82526004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152fd5b614a819150823d841161238a5761237c818361482c565b38614a13565b614a9f919250833d8511610a9d57610a8e818361482c565b90386149cc565b60001981146148775760010190565b6001600160a01b03168015614b9057604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa9081156122d657600091614b5f575b5010614b0157565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211614b88575b81614b786020938361482c565b8101031261023457505138614af9565b3d9150614b6b565b5050565b6001600160a01b0316908115614d655734614d0f5760409081516370a0823160e01b938482523060048301526020948583602481855afa928315614d0457908691600094614cd2575b5085516323b872dd60e01b8382015233602482015230604482015260648101869052614c2090614c1a81608481015b03601f19810183528261482c565b84614daa565b602486518094819382523060048301525afa908115614cc757600091614c98575b5090614c4c9161496d565b03614c55575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614cc0575b614cae818361482c565b81010312610234575051614c4c614c41565b503d614ca4565b84513d6000823e3d90fd5b9182819592953d8311614cfd575b614cea818361482c565b8101031261023457508590519238614bdd565b503d614ce0565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b90503403614d6f57565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b604051614e08916001600160a01b0316614dc382614811565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614e02614e90565b91614ecf565b805190828215928315614e78575b50505015614e215750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b614e88935082018101910161497a565b388281614e16565b3d15614eca573d906001600160401b038211611b145760405191614ebe601f8201601f19166020018461482c565b82523d6000602084013e565b606090565b91929015614f315750815115614ee3575090565b3b15614eec5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015614f445750805190602001fd5b60405162461bcd60e51b8152908190614f609060048301614f64565b0390fd5b6020808252825181830181905290939260005b828110614f9957505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501614f77565b15614f445750565b92919080156150465760646106ba614fcd9383614864565b6001600160a01b039290919083168015614feb57614944935061504c565b50609e5460405163410085df60e01b602082019081526001600160a01b039093166024820152604481018490526149449460009485949390911692916150348160648101614c0c565b51925af1615040614e90565b90614fad565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b039290921660248301526044808301939093529181526149449161508860648361482c565b614daa565b80511561509a5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561509a5760400190565b805182101561509a5760209160051b010190565b9293929091906001600160a01b039081168061516f5750609e54169160405160206151178183019463c176e63960e01b86526040602485015260648401906146e3565b82810360231901604484015287518082529082019782019160005b82811061515b57505050509160009391836150348695614944989903601f19810183528261482c565b83518a529881019892810192600101615132565b9492509060005b81518110156151af57806151a5846151916151aa94866150c0565b511661519d83886150c0565b51908961504c565b614aa6565b615176565b50505050905056fea26469706673582212207b5b52bd86af533b92eece40cacb62fc2f86c018c4201b6c1cfde20e036215de64736f6c63430008120033","sourceMap":"772:13785:158:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c9081629d9aa914614662575080630141c59014614639578063060d9eeb1461458a5780630a5c4ed51461456c5780630bcba09d146145435780630cd87c6814613de55780630e519ef914613dc7578063155a56b114613dab5780631a2ac30f14613d4a578063299a0e1e14613cdb5780632c41905314613c615780633bc3d9be14613c385780634c94c90c14613c0f5780635138b08c14612b955780636240cd1c14612b6c5780636b534ed014612b435780636fe9f44c14612b1f578063715018a614612ac1578063859b97fe146123be5780638da5cb5b146123955780639041a0ec14611339578063a11b071214611310578063a6d23e10146112e7578063b23afc26146112b7578063b567858814610339578063ba50b63214610310578063c47c35c114610282578063c90b871414610255578063daa26499146102375763f2fde38b1461016a57600080fd5b3461023457602036600319011261023457610183614687565b61018b614754565b6001600160a01b039081169081156101e057603354826bffffffffffffffffffffffff60a01b821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b5034610234578060031936011261023457602060a254604051908152f35b50346102345780600319360112610234576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b50346102345760403660031901126102345760e0906001600160a01b0390604090826102ac614687565b16815260a6602052818120602435825260205220908082541691600181015491600282015490600383015490600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346102345780600319360112610234576097546040516001600160a01b039091168152602090f35b5060803660031901126102345761034e614687565b61035661469d565b906002606554146112725760026065556097546040516361fe24a960e11b815260643560048201526001600160a01b0390911690602081602481855afa8015611267578590611233575b6103ad9150606435614960565b906103b88285614ab5565b60018060a01b038316855260a66020526040852060243586526020526040852090604051916103e6836147ac565b60018060a01b03815416835260018101546020840152600281015460408401526003810154606084015260018060a01b036004820154166080840152600581015460a0840152600681015460c0840152600781016040519081602082549182815201918a5260208a20908a5b818110611214575050509061046c8160089493038261482c565b60e085015201604051808260208294549384815201908a5260208a20928a905b80601f83011061108a576105a2945491818110611076575b81811061105f575b818110611048575b818110611031575b81811061101b575b818110611004575b818110610fed575b818110610fd6575b818110610fbf575b818110610fa8575b818110610f91575b818110610f7a575b818110610f63575b818110610f4c575b818110610f35575b818110610f1e575b818110610f07575b818110610ef0575b818110610ed9575b818110610ec2575b818110610eab575b818110610e94575b818110610e7d575b818110610e66575b818110610e4f575b818110610e38575b818110610e21575b818110610e0a575b818110610df3575b818110610ddc575b818110610dc5575b10610db7575b50038261482c565b61010083015260c082015115610d685781516001600160a01b03163314610d175760408201514210610cd25760808201516001600160a01b0390811690861603610c745760643515610c3c57602060049160405192838092637cd11f4360e11b82525afa9081156109f4578691610c05575b5060643511610bb65760a081015160643510610b625760408101518015908115610b4a575b5015610b0e5760018060a01b038316855260a760205260408520602435865260205260408520916106c160405193610670856147c8565b60018060a01b03815416855260018060a01b03600182015416602086015260ff6003600283015492836040890152015416606086015260646106ba60ff60a05460a01c1683614864565b0490614960565b60643510610aaf576040516331a9108f60e11b81526024803560048301529091906020908390816001600160a01b0389165afa918215610aa4578792610a73575b5082516001600160a01b038381169116148015610a61575b15610a1057825161073e926001600160a01b039182169116146109ff575b85614b94565b61075f604083015160ff60608501511660018060a01b038551169187614fb5565b609754604051638347592160e01b815290602090829060049082906001600160a01b03165afa9081156109f45786916109c5575b5060ff60036040516107a4816147c8565b3381526001600160a01b0388811660208084019182526064356040808601918252978716606086019081528b85168e5260a78352888e206024358f52909252878d20945185549085166001600160a01b031991821617865592516001860180549190951693169290921790925551600283015551910180549190921660ff199091161790558101518591829182908061094f5750506001600160a01b0385811680845260a6602090815260408086206024358752909152842042600290910155915116903b1561094b576040516323b872dd60e01b81526001600160a01b03909116600482015230602480830191909152356044820152818180606481010381836001600160a01b038a165af1801561094057610928575b50506001915b51604080516001600160a01b03968716815260643560208201529315159084015260608301919091528316608082015260243592339216907f189a468e632a450afd491f84aa9ae94addc6813c7e309a7b1b1223f88802a77d9060a090a4600160655580f35b610931906147e3565b61093c5784386108bc565b8480fd5b6040513d84823e3d90fd5b5080fd5b61096b919593506109664291606085015190614960565b61496d565b60a25480911061097d575b50506108c2565b61099892935061098f60409142614960565b9101519061496d565b9060018060a01b038416865260a66020526040862060243587526020528160036040882001553880610976565b6109e7915060203d6020116109ed575b6109df818361482c565b8101906148a4565b38610793565b503d6109d5565b6040513d88823e3d90fd5b610a0b60243586614992565b610738565b60405162461bcd60e51b815260206004820152602360248201527f6269643a3a41756374696f6e2063726561746f72206d757374206265206f776e60448201526232b91760e91b6064820152608490fd5b506001600160a01b038216301461071a565b610a9691925060203d602011610a9d575b610a8e818361482c565b8101906148bd565b9038610702565b503d610a84565b6040513d89823e3d90fd5b60405162461bcd60e51b815260206004820152603160248201527f6269643a3a4d75737420626520686967686572207468616e20707265762062696044820152703210159036b4b71034b731b932b0b9b29760791b6064820152608490fd5b60405162461bcd60e51b81526020600482015260146024820152733134b21d1d26bab9ba1031329030b1ba34bb329760611b6044820152606490fd5b610b5a9150606083015190614960565b421038610639565b60405162461bcd60e51b815260206004820152602660248201527f6269643a3a43616e6e6f74206265206c6f776572207468616e206d696e696d7560448201526536903134b21760d11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f6269643a3a4d757374206265206c657373207468616e206d61782076616c75656044820152601760f91b6064820152608490fd5b90506020813d602011610c34575b81610c206020938361482c565b81010312610c2f575138610614565b600080fd5b3d9150610c13565b60405162461bcd60e51b815260206004820152601060248201526f06269643a3a43616e6e6f7420626520360841b6044820152606490fd5b60405162461bcd60e51b815260206004820152603060248201527f6269643a3a43757272656e6379206d75737420626520696e20636f6e6669677560448201526f3932b2103232b737b6b4b730ba34b7b760811b6064820152608490fd5b60405162461bcd60e51b815260206004820152601860248201527f6269643a3a41756374696f6e206e6f74206163746976652e00000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526024808201527f6269643a3a43616e6e6f7420626964206f6e20796f7572206f776e206175637460448201526334b7b71760e11b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f6269643a3a4d757374206861766520612063757272656e742061756374696f6e6044820152601760f91b6064820152608490fd5b60f81c81526020013861059a565b92602060019160ff8560f01c168152019301610594565b92602060019160ff8560e81c16815201930161058c565b92602060019160ff8560e01c168152019301610584565b92602060019160ff8560d81c16815201930161057c565b92602060019160ff8560d01c168152019301610574565b92602060019160ff8560c81c16815201930161056c565b92602060019160ff8560c01c168152019301610564565b92602060019160ff8560b81c16815201930161055c565b92602060019160ff8560b01c168152019301610554565b92602060019160ff8560a81c16815201930161054c565b92602060019160ff8560a01c168152019301610544565b92602060019160ff8560981c16815201930161053c565b92602060019160ff8560901c168152019301610534565b92602060019160ff8560881c16815201930161052c565b92602060019160ff8560801c168152019301610524565b92602060019160ff8560781c16815201930161051c565b92602060019160ff8560701c168152019301610514565b92602060019160ff8560681c16815201930161050c565b92602060019160ff8560601c168152019301610504565b92602060019160ff8560581c1681520193016104fc565b92602060019160ff8560501c1681520193016104f4565b92602060019160ff8560481c1681520193016104ec565b92602060019160ff8560401c1681520193016104e4565b92602060019160ff8560381c1681520193016104dc565b92602060019160ff8560301c1681520193016104d4565b92602060019160ff8560281c1681520193016104cc565b92602060019160ff85831c1681520193016104c4565b92602060019160ff8560181c1681520193016104bc565b92602060019160ff8560101c1681520193016104b4565b92602060019160ff8560081c1681520193016104ac565b92602060019160ff851681520193016104a4565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201940192018492939161048c565b82546001600160a01b0316845260209093019260019283019201610452565b506020813d60201161125f575b8161124d6020938361482c565b81010312610c2f576103ad90516103a0565b3d9150611240565b6040513d87823e3d90fd5b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50346102345780600319360112610234576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b5034610234578060031936011261023457609e546040516001600160a01b039091168152602090f35b50346102345780600319360112610234576098546040516001600160a01b039091168152602090f35b503461023457610120366003190112610234576024356001600160a01b0381169003610c2f576084356001600160a01b0381168103610c2f5760e4356001600160401b038111612391576113919036906004016146b3565b610104356001600160401b03811161093c576113b19036906004016146b3565b916001600160a01b03851615801561231f575b156122e2576040516331a9108f60e11b8152604435600482015260208160248181356001600160a01b03165afa9081156122d6576000916122b7575b50336001600160a01b039091160361227257611420604435602435614992565b801561221d57600581116121cc57828103612172576000805b8482106121465760649150036120f1576004356d21a7a62224a2afa0aaa1aa24a7a760911b1415806120d1575b6120955760a15460a435116120445760018060a01b0360243516865260a660205260408620604435875260205260408620604051906114a4826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c0830152604051806007830190602082549182815201918b5260208b20908b5b818110612025575050509061152a8160089493038261482c565b60e0840152604051910180548083529089526020808a209183918201908b905b80601f830110611e7d576116409454918181106110765781811061105f57818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260018060a01b0360243516875260a760205260408720604435885260205260408720604051611674816147c8565b81546001600160a01b03908116808352600184015490911660208301526002830154604083015260039092015460ff16606090910152611e2c5760c081015115908115611e17575b5015611dba5760a43515611d69576004356d21a7a62224a2afa0aaa1aa24a7a760911b03611cd85760643515611c77575b609754604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa908115610aa4578791611c45575b5060643511611bcf576004356d21a7a62224a2afa0aaa1aa24a7a760911b03611bc65785935b60405194611754866147ac565b338652436020870152604086015260a43560608601526001600160a01b038616608086015260643560a086015260043560c08601526117928261484d565b916117a0604051938461482c565b8083526020830191368260051b820111610c2f5780925b8260051b82018410611ba6575050505060e08401526117d58261484d565b916117e3604051938461482c565b8083526020830191368260051b820111610c2f5780925b8260051b82018410611b8c575050505061010082015260018060a01b0360243516835260a6602052604083206044358452602052604083209060018060a01b038151166bffffffffffffffffffffffff60a01b9081845416178355602082015160018401556040820151600284015560608201516003840155600483019060018060a01b036080840151169082541617905560a0810151600583015560c0810151600683015560e08101518051906001600160401b038211611b7857600160401b8211611b1457602060078501918254848455808510611b5b575b500190865260208620865b838110611b3e57505050506101000151908151906001600160401b038211611b2a57600160401b8211611b1457600860209101928354838555808410611ac8575b50019184526020842090845b8160051c8110611a895750601f198116808203611a3a575b5050506004357029a1a422a22aa622a22fa0aaa1aa24a7a760791b1490506119c7575b6040519060018060a01b0316815260c4356020820152606435604082015260a43560608201523390604435907fdb89081d9a5399380ffbcc376a961ed023027fca462e08b3d23146e4c6ac62f2608060018060a01b036024351692a480f35b6024356001600160a01b03163b1561094b576040516323b872dd60e01b815233600482015230602482015260448035908201528290818180606481010381836024356001600160a01b03165af1801561094057611a26575b5050611968565b611a2f906147e3565b61094b578138611a1f565b928593865b8184038110611a595750505060051c015538808080611945565b9091946020611a7f6001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101611a3f565b85865b60208110611aa157508382015560010161192d565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501611a8c565b611af4908560005283600020601f80870160051c82019281881680611afa575b500160051c019061488d565b38611921565b60001990818601918254918a0360031b1c16905538611ae8565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b85526041600452602485fd5b82516001600160a01b0316818301556020909201916001016118e0565b611b7290846000528584600020918201910161488d565b386118d5565b634e487b7160e01b86526041600452602486fd5b833560ff81168103610c2f578152602093840193016117fa565b83356001600160a01b0381168103610c2f578152602093840193016117b7565b60c43593611747565b60405162461bcd60e51b815260206004820152604260248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74207365742073746160448201527f7274696e6720707269636520686967686572207468616e206d61782076616c75606482015261329760f11b608482015260a490fd5b90506020813d602011611c6f575b81611c606020938361482c565b81010312610c2f575138611721565b3d9150611c53565b60405162461bcd60e51b815260206004820152603360248201527f636f6e66696775726541756374696f6e3a3a436f6c646965207374617274696e604482015272067207072696365206d757374206265203e203606c1b6064820152608490fd5b70565e5bdd5dd559dd5dd05f555e55db585960791b600435016116ed574260c435116116ed5760405162461bcd60e51b815260206004820152603960248201527f636f6e66696775726541756374696f6e3a3a5363686564756c6564206175637460448201527f696f6e2063616e6e6f7420737461727420696e20706173742e000000000000006064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a4c656e677468206d7573742062656044820152630203e20360e41b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74206861766520612060448201526e31bab93932b73a1030bab1ba34b7b760891b6064820152608490fd5b516001600160a01b03163314159050386116bc565b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a6269642073686f756c646e7420656044820152631e1a5cdd60e21b6064820152608490fd5b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018492939161154a565b82546001600160a01b0316845260209093019260019283019201611510565b60405162461bcd60e51b815260206004820152602360248201527f636f6e66696775726541756374696f6e3a3a41756374696f6e20746f6f206c6f60448201526237339760e91b6064820152608490fd5b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642041756374696f6e205479706560601b6044820152606490fd5b506004357029a1a422a22aa622a22fa0aaa1aa24a7a760791b1415611466565b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff8216809203610c2f5761216c9161216691614960565b91614aa6565b90611439565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b6122d0915060203d602011610a9d57610a8e818361482c565b38611400565b6040513d6000823e3d90fd5b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b50609d54604051632d5ad3d560e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610aa4578791612363575b506113c4565b612384915060203d811161238a575b61237c818361482c565b81019061497a565b3861235d565b503d612372565b8280fd5b50346102345780600319360112610234576033546040516001600160a01b039091168152602090f35b5034610234576040366003190112610234576123d8614687565b6001600160a01b031680825260a6602090815260408084206024358086529252808420905190612407826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c0830152600781016040518082602082945493848152019089526020892092895b818110612a9f5750506124899250038261482c565b60e08301526040516008918201805480835290875260208088209293849291830191895b81601f820110612914576125a69554928282106128fe575b8282106128e7575b50818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260c08101511561288a5760408101518015908115612880575b50156128255780516001600160a01b0316331480156127c9575b156127735782845260a660205260408420828552602052612602604085206148dc565b6040516331a9108f60e11b8082526004820184905290602081602481885afa9081156109f4578691612754575b506001600160a01b031630146126fc575b604051908152826004820152602081602481875afa9081156112675785916126dd575b50336001600160a01b03909116036126a757516001600160a01b0316917f26d4510b556e779d6507640413e013206e44c8f5d018c7c74ed8926f3f024a9c8480a480f35b60405162461bcd60e51b815260206004820152600e60248201526d1cd95b991a5b99c819985a5b195960921b6044820152606490fd5b6126f6915060203d602011610a9d57610a8e818361482c565b38612663565b833b1561093c576040516323b872dd60e01b81523060048201523360248201526044810184905285908181606481838a5af1801561094057612740575b5050612640565b612749906147e3565b61093c578438612739565b61276d915060203d602011610a9d57610a8e818361482c565b3861262f565b60405162461bcd60e51b815260206004820152602860248201527f63616e63656c41756374696f6e3a3a4d7573742062652063726561746f72206f604482015267391037bbb732b91760c11b6064820152608490fd5b506040516331a9108f60e11b815260048101839052602081602481875afa908115611267578591612806575b506001600160a01b031633146125df565b61281f915060203d602011610a9d57610a8e818361482c565b386127f5565b60405162461bcd60e51b815260206004820152602d60248201527f63616e63656c41756374696f6e3a3a41756374696f6e206d757374206e6f742060448201526c3430bb329039ba30b93a32b21760991b6064820152608490fd5b90504210386125c5565b60405162461bcd60e51b815260206004820152602f60248201527f63616e63656c41756374696f6e3a3a4d757374206861766520616e206175637460448201526e34b7b71031b7b73334b3bab932b21760891b6064820152608490fd5b6001919460ff856020931c168152019301386124cd565b9093602060019160ff86168152019401906124c5565b919350916001610400602092875460ff808216835280828a1c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e082015201950191019185939194926124ad565b84546001600160a01b0316835260019485019486945060209093019201612474565b5034610234578060031936011261023457612ada614754565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610234578060031936011261023457602060ff60a05460a01c16604051908152f35b503461023457806003193601126102345760a0546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457609d546040516001600160a01b039091168152602090f35b503461023457604036600319011261023457612baf614687565b60018060a01b038116825260a66020526040822060243583526020526040822060405190612bdc826147ac565b60018060a01b03815416825260018101546020830152600281015460408301526003810154606083015260018060a01b036004820154166080830152600581015460a0830152600681015460c08301526007810160405190816020825491828152019187526020872090875b818110613bf05750505090612c628160089493038261482c565b60e084015260405191018054808352908552602080862091839182019087905b80601f830110613a6657612d789454918181106110765781811061105f57818110611048578181106110315781811061101b5781811061100457818110610fed57818110610fd657818110610fbf57818110610fa857818110610f9157818110610f7a57818110610f6357818110610f4c57818110610f3557818110610f1e57818110610f0757818110610ef057818110610ed957818110610ec257818110610eab57818110610e9457818110610e7d57818110610e6657818110610e4f57818110610e3857818110610e2157818110610e0a57818110610df357818110610ddc57818110610dc55710610db75750038261482c565b61010082015260c0810151151580613a59575b156139fa57612da36040820151606083015190614960565b421061399e5760018060a01b038216835260a7602052604083206024358452602052604083209060ff600360405193612ddb856147c8565b60018060a01b03815416855260018060a01b03600182015416602086015260028101546040860152015416606083015260018060a01b038316845260a6602052604084206024358552602052612e33604085206148dc565b6001600160a01b03838116855260a7602090815260408087206024358852909152852085815560018101869055600281018690556003018590558251168061302e5750805184906001600160a01b039081169085163b1561094b576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b038a165af1801561094057613016575b50506040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa908115611267578591612ff7575b5081516001600160a01b03908116911603612f8c575b8151815160809092015160409384015184516001600160a01b03948516815291841660208301529381019390935260243593908216929116907fef4e2262a841641690bb931801dc0d1923e6b417cd217f91f8049d8aa9f5f08690606090a480f35b60405162461bcd60e51b815260206004820152603860248201527f736574746c6541756374696f6e3a3a4661696c656420746f2072657475726e2060448201527f746f6b656e20746f2061756374696f6e2063726561746f7200000000000000006064820152608490fd5b613010915060203d602011610a9d57610a8e818361482c565b38612f14565b61301f906147e3565b61302a578338612edc565b8380fd5b929391929091906001600160a01b0385163b1561094b576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b038a165af180156109405761398f575b5060018060a01b036020840151169360408401519160018060a01b038451169160e08501519561010086015193875185510361392e576097546040516361fe24a960e11b8152600481018890529087906001600160a01b0316602083602481845afa928315610aa45787936138fa575b5060405192613111846147f6565b60028452604036602086013760a0546001600160a01b0316806131338661508d565b52609f5460405163e286ef3360e01b81526004810188905290602090829060249082906001600160a01b03165afa9081156138b7578a916138db575b506001600160a01b0316613182866150b0565b526001600160a01b03613194866150b0565b51166138c2575b6131a4856150b0565b6001600160a01b039091169052604051906131be826147f6565b6002825260403660208401376040516303fdde1160e21b8152600481018c9052602081602481875afa9081156138b7578a91613885575b506131ff8361508d565b5260208b60246040518096819363470d6ed960e11b835260048301525afa92831561387a57908e86928b9561383f575b506132439461323d856150b0565b526150d4565b609754604051631446f21360e21b81526001600160a01b0387811660048301526024803590830152909160209183916044918391165afa908115610aa4578791613820575b5061362b576040519261329a84614811565b6001845260203681860137604051926132b284614811565b60018452602036818601376001600160a01b03906132cf9061508d565b51166132da8461508d565b52609c54604051635dc22eff60e01b81526004810183905290602090829060249082906001600160a01b03165afa908115613620578891613601575b501561359f57609c54604051632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa908115610aa4578961337e61339f969594606461337760ff8297613384978f91613580575b50168095614864565b049061496d565b9a614864565b0461338e8361508d565b526133988261508d565b518b6150d4565b8651956133ab8761484d565b966133b9604051988961482c565b8088526133c8601f199161484d565b01366020890137839784985b81518a10156134325761342661342c918b6106ba60ff61341e838f8f8f8390613410613417938861340860649c8d956150c0565b511690614864565b04926150c0565b528d6150c0565b51168c614864565b99614aa6565b986133d4565b9297949991965092975061344694506150d4565b60975484906001600160a01b0316803b1561094b57604051635a3c652d60e01b81526001600160a01b03861660048201526024803590820152600160448201529082908290606490829084905af180156109405761356c575b50506040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa90811561126757859161354d575b5082516001600160a01b03918216911614612f2a5760405162461bcd60e51b815260206004820152603360248201527f736574746c6541756374696f6e3a3a4661696c656420746f207472616e73666560448201527239103a379030bab1ba34b7b7103bb4b73732b960691b6064820152608490fd5b613566915060203d602011610a9d57610a8e818361482c565b386134d7565b613575906147e3565b61302a57833861349f565b613599915060203d6020116109ed576109df818361482c565b3861336e565b5060975460405163b28a7bad60e01b81526001600160a01b038781166004830152909160209183916024918391165afa908115610aa4578961337e6135fc969594606461337760ff8297613384978f916135805750168095614864565b61339f565b61361a915060203d60201161238a5761237c818361482c565b38613316565b6040513d8a823e3d90fd5b5050509693959290918095928160018060a01b03609954166064604051809a8193637a99dc0160e11b835260018060a01b038716600484015260243560248401528d60448401525af1988915610940578297839a6136cf575b50829783985b8b518a10156136b1576134266136ab916136a48c8f6150c0565b5190614960565b9861368a565b979a91939598506136c8886135fc9496989b61496d565b978b6150d4565b975098503d968783823e6136e3888261482c565b6040818981010312612391578051906001600160401b03821161302a57888101601f83830101121561302a57818101519161371d8361484d565b9261372b604051948561482c565b80845260208401918b840160208360051b8387010101116137f857602081850101925b60208360051b838701010184106137fc57505050506020810151986001600160401b038a1161093c57808201601f8b840101121561093c5789820151916137948361484d565b9a6137a26040519c8d61482c565b838c5260208c0192820160208560051b8385010101116137f8579190602083820101925b60208560051b828401010184106137e4575050505050969838613684565b6020808094865181520194019392506137c6565b8680fd5b83516001600160a01b038116810361381c5781526020938401930161374e565b8880fd5b613839915060203d60201161238a5761237c818361482c565b38613288565b92505092506020813d602011613872575b8161385d6020938361482c565b81010312610c2f57519184908e61324361322f565b3d9150613850565b6040513d8b823e3d90fd5b90506020813d6020116138af575b816138a06020938361482c565b81010312610c2f5751386131f5565b3d9150613893565b6040513d8c823e3d90fd5b506001600160a01b036138d4856150b0565b511661319b565b6138f4915060203d602011610a9d57610a8e818361482c565b3861316f565b9092506020813d602011613926575b816139166020938361482c565b81010312610c2f57519138613103565b3d9150613909565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b613998906147e3565b38613093565b60405162461bcd60e51b815260206004820152602e60248201527f736574746c6541756374696f6e3a3a43616e206f6e6c7920736574746c65206560448201526d373232b21030bab1ba34b7b7399760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603160248201527f736574746c6541756374696f6e3a3a4d75737420686176652061206375727265604482015270373a103b30b634b21030bab1ba34b7b71760791b6064820152608490fd5b5060408101511515612d8b565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260281c1660a0840152808260301c1660c0840152808260381c1660e0840152808260401c16610100840152808260481c16610120840152808260501c16610140840152808260581c16610160840152808260601c16610180840152808260681c166101a0840152808260701c166101c0840152808260781c166101e0840152808260801c16610200840152808260881c16610220840152808260901c16610240840152808260981c16610260840152808260a01c16610280840152808260a81c166102a0840152808260b01c166102c0840152808260b81c166102e0840152808260c01c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e0820152019401920184929391612c82565b82546001600160a01b0316845260209093019260019283019201612c48565b50346102345780600319360112610234576099546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457609b546040516001600160a01b039091168152602090f35b50346102345760a09060ff6040613c7736614720565b90600180889794971b03809616835260a56020528383209083526020528483832091168252602052209182541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b5034610234576040366003190112610234576080906001600160a01b039060409082613d05614687565b16815260a760205281812060243582526020522081815416916001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b5034610234576060906040613d5e36614720565b9060018060a09694961b03809516835260a4602052838320908352602052838383209116825260205220600282825416926001830154169101549060405192835260208301526040820152f35b5034610234578060031936011261023457602090604051908152f35b5034610234578060031936011261023457602060a154604051908152f35b5034610234576040366003190112610234576001600160a01b03613e07614687565b16815260a66020526040812060243582526020526040812060405191613e2c836147ac565b60018060a01b03825416835260018201546020840152600282015460408401526003820154606084015260018060a01b036004830154166080840152600582015460a0840152600682015460c084015260405180816020600786015492838152016007860185526020852092855b818110614521575050613eaf9250038261482c565b60e084015260405190818260206008860154928381520160088196018452602084209284905b80601f83011061437957613fee945491818110614365575b81811061434e575b818110614337575b818110614320575b81811061430a575b8181106142f3575b8181106142dc575b8181106142c5575b8181106142ae575b818110614297575b818110614280575b818110614269575b818110614252575b81811061423b575b818110614224575b81811061420d575b8181106141f6575b8181106141df575b8181106141c8575b8181106141b1575b81811061419a575b818110614183575b81811061416c575b818110614155575b81811061413e575b818110614127575b818110614110575b8181106140f9575b8181106140e2575b8181106140cb575b8181106140b4575b106140a6575b50949394038461482c565b8261010085015260018060a01b038451169260206140698187015196604081015190606081015160018060a01b0360808301511660a08301519160e060c0850151940151946040519c8d9c8d52888d015260408c015260608b015260808a015260a089015260c08801526101208060e08901528701906146e3565b9185830361010087015251918281520192915b81811061408a575050500390f35b825160ff1684528594506020938401939092019160010161407c565b60f81c815260200138613fe3565b92602060019160ff8560f01c168152019301613fdd565b92602060019160ff8560e81c168152019301613fd5565b92602060019160ff8560e01c168152019301613fcd565b92602060019160ff8560d81c168152019301613fc5565b92602060019160ff8560d01c168152019301613fbd565b92602060019160ff8560c81c168152019301613fb5565b92602060019160ff8560c01c168152019301613fad565b92602060019160ff8560b81c168152019301613fa5565b92602060019160ff8560b01c168152019301613f9d565b92602060019160ff8560a81c168152019301613f95565b92602060019160ff8560a01c168152019301613f8d565b92602060019160ff8560981c168152019301613f85565b92602060019160ff8560901c168152019301613f7d565b92602060019160ff8560881c168152019301613f75565b92602060019160ff8560801c168152019301613f6d565b92602060019160ff8560781c168152019301613f65565b92602060019160ff8560701c168152019301613f5d565b92602060019160ff8560681c168152019301613f55565b92602060019160ff8560601c168152019301613f4d565b92602060019160ff8560581c168152019301613f45565b92602060019160ff8560501c168152019301613f3d565b92602060019160ff8560481c168152019301613f35565b92602060019160ff8560401c168152019301613f2d565b92602060019160ff8560381c168152019301613f25565b92602060019160ff8560301c168152019301613f1d565b92602060019160ff8560281c168152019301613f15565b92602060019160ff85831c168152019301613f0d565b92602060019160ff8560181c168152019301613f05565b92602060019160ff8560101c168152019301613efd565b92602060019160ff8560081c168152019301613ef5565b92602060019160ff85168152019301613eed565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920185929391613ed5565b84546001600160a01b0316835260019485019486945060209093019201613e9a565b5034610234578060031936011261023457609c546040516001600160a01b039091168152602090f35b5034610234578060031936011261023457602060a354604051908152f35b50346102345760e0366003190112610234576145a4614687565b506145ad61469d565b506001600160401b0360a435818111612391576145ce9036906004016146b3565b505060c43590811161094b576145e89036906004016146b3565b505060405162461bcd60e51b815260206004820152602160248201527f636f6e766572744f66666572546f41756374696f6e3a3a4465707265636174656044820152601960fa1b6064820152608490fd5b5034610234578060031936011261023457609a546040516001600160a01b039091168152602090f35b90503461094b578160031936011261094b57609f546001600160a01b03168152602090f35b600435906001600160a01b0382168203610c2f57565b604435906001600160a01b0382168203610c2f57565b9181601f84011215610c2f578235916001600160401b038311610c2f576020808501948460051b010111610c2f57565b90815180825260208080930193019160005b828110614703575050505090565b83516001600160a01b0316855293810193928101926001016146f5565b6060906003190112610c2f576001600160a01b036004358181168103610c2f5791602435916044359081168103610c2f5790565b6033546001600160a01b0316330361476857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b61012081019081106001600160401b03821117611b1457604052565b608081019081106001600160401b03821117611b1457604052565b6001600160401b038111611b1457604052565b606081019081106001600160401b03821117611b1457604052565b604081019081106001600160401b03821117611b1457604052565b90601f801991011681019081106001600160401b03821117611b1457604052565b6001600160401b038111611b145760051b60200190565b8181029291811591840414171561487757565b634e487b7160e01b600052601160045260246000fd5b818110614898575050565b6000815560010161488d565b90816020910312610c2f575160ff81168103610c2f5790565b90816020910312610c2f57516001600160a01b0381168103610c2f5790565b600860009182815582600182015582600282015582600382015582600482015582600582015582600682015560078101805484825580614946575b505001908154908083558161492b57505050565b60208161494494601f935220910160051c81019061488d565b565b614959918552602085209081019061488d565b3880614917565b9190820180921161487757565b9190820391821161487757565b90816020910312610c2f57518015158103610c2f5790565b60018060a01b0316604051916331a9108f60e11b835260048301526020918281602481855afa80156122d657614a00928492600092614a87575b5060405163e985e9c560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03915afa9081156122d657600091614a6a575b5015614a1c5750565b6084906040519062461bcd60e51b82526004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152fd5b614a819150823d841161238a5761237c818361482c565b38614a13565b614a9f919250833d8511610a9d57610a8e818361482c565b90386149cc565b60001981146148775760010190565b6001600160a01b03168015614b9057604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa9081156122d657600091614b5f575b5010614b0157565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211614b88575b81614b786020938361482c565b8101031261023457505138614af9565b3d9150614b6b565b5050565b6001600160a01b0316908115614d655734614d0f5760409081516370a0823160e01b938482523060048301526020948583602481855afa928315614d0457908691600094614cd2575b5085516323b872dd60e01b8382015233602482015230604482015260648101869052614c2090614c1a81608481015b03601f19810183528261482c565b84614daa565b602486518094819382523060048301525afa908115614cc757600091614c98575b5090614c4c9161496d565b03614c55575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311614cc0575b614cae818361482c565b81010312610234575051614c4c614c41565b503d614ca4565b84513d6000823e3d90fd5b9182819592953d8311614cfd575b614cea818361482c565b8101031261023457508590519238614bdd565b503d614ce0565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b90503403614d6f57565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b604051614e08916001600160a01b0316614dc382614811565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614e02614e90565b91614ecf565b805190828215928315614e78575b50505015614e215750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b614e88935082018101910161497a565b388281614e16565b3d15614eca573d906001600160401b038211611b145760405191614ebe601f8201601f19166020018461482c565b82523d6000602084013e565b606090565b91929015614f315750815115614ee3575090565b3b15614eec5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015614f445750805190602001fd5b60405162461bcd60e51b8152908190614f609060048301614f64565b0390fd5b6020808252825181830181905290939260005b828110614f9957505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501614f77565b15614f445750565b92919080156150465760646106ba614fcd9383614864565b6001600160a01b039290919083168015614feb57614944935061504c565b50609e5460405163410085df60e01b602082019081526001600160a01b039093166024820152604481018490526149449460009485949390911692916150348160648101614c0c565b51925af1615040614e90565b90614fad565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b039290921660248301526044808301939093529181526149449161508860648361482c565b614daa565b80511561509a5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561509a5760400190565b805182101561509a5760209160051b010190565b9293929091906001600160a01b039081168061516f5750609e54169160405160206151178183019463c176e63960e01b86526040602485015260648401906146e3565b82810360231901604484015287518082529082019782019160005b82811061515b57505050509160009391836150348695614944989903601f19810183528261482c565b83518a529881019892810192600101615132565b9492509060005b81518110156151af57806151a5846151916151aa94866150c0565b511661519d83886150c0565b51908961504c565b614aa6565b615176565b50505050905056fea26469706673582212207b5b52bd86af533b92eece40cacb62fc2f86c018c4201b6c1cfde20e036215de64736f6c63430008120033","sourceMap":"772:13785:158:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;;:::i;:::-;1303:62:42;;:::i;:::-;-1:-1:-1;;;;;772:13785:158;;;;2402:22:42;;772:13785:158;;2758:6:42;772:13785:158;;;;;;;;2758:6:42;772:13785:158;;2806:40:42;772:13785:158;2806:40:42;;772:13785:158;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;6547:37:164;772:13785:158;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;:::i;:::-;;;;7097:68:164;772:13785:158;;;;;;;;;;;;;;;;;7097:68:164;772:13785:158;7097:68:164;;772:13785:158;7097:68:164;;;;772:13785:158;7097:68:164;772:13785:158;7097:68:164;;772:13785:158;7097:68:164;772:13785:158;7097:68:164;;772:13785:158;;7097:68:164;;;;;772:13785:158;7097:68:164;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5377:47:164;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;-1:-1:-1;772:13785:158;;-1:-1:-1;;772:13785:158;;;;;;:::i;:::-;;;:::i;:::-;;1830:1:51;2712:7;772:13785:158;2712:19:51;1830:1;;;2712:7;772:13785:158;8905:19;772:13785;;;-1:-1:-1;;;8905:52:158;;772:13785;;;8905:52;;772:13785;-1:-1:-1;;;;;772:13785:158;;;;;;;;;8905:52;;;;;;;;;;772:13785;8895:62;772:13785;;;;8895:62;:::i;:::-;9017:14;;;;;:::i;:::-;772:13785;;;;;;;;;9064:13;772:13785;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1830:1:51;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;9119:33;772:13785;;;;-1:-1:-1;;;;;772:13785:158;9231:10;9205:36;772:13785;;;;;;9297:15;:39;772:13785;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;9380:43;772:13785;;;;9491:11;772:13785;;;;;;;;;;;;;;9549:44;;;;;;;;;;;;;772:13785;;;;9538:55;772:13785;;;;;;;;9646:29;772:13785;;;;;;9740:25;;:93;;;;;772:13785;;;;;;;;;;;;;;9897:11;772:13785;;;;;;;;;;;;;;;9968:72;772:13785;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1830:1:51;772:13785:158;;;;;;;;;;;;;;;;;9987:45;772:13785;;;;;;9987:45;;:::i;:::-;772:13785;9968:72;;:::i;:::-;772:13785;;9957:83;772:13785;;;;-1:-1:-1;;;10180:24:158;;772:13785;;;;10180:24;;772:13785;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;10180:24;;;;;;;;;;;772:13785;-1:-1:-1;772:13785:158;;-1:-1:-1;;;;;772:13785:158;;;;;10219:36;:67;;;;772:13785;;;;;;10504:14;;-1:-1:-1;;;;;772:13785:158;;;;;10337:36;10333:123;;772:13785;10504:14;;:::i;:::-;10526:81;772:13785;;;;;;;;;;;;;;;;;;10526:81;;;:::i;:::-;8905:19;772:13785;;;-1:-1:-1;;;10732:49:158;;772:13785;;;;;;;;;-1:-1:-1;;;;;772:13785:158;10732:49;;;;;;;;;;;772:13785;;;;;;;;;:::i;:::-;9231:10;772:13785;;-1:-1:-1;;;;;772:13785:158;;;;10655:132;;;772:13785;;;;;;10655:132;;;772:13785;;;;;;;10655:132;;772:13785;;;;;;;;9897:11;772:13785;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;772:13785:158;;;;;;;;-1:-1:-1;772:13785:158;;;;;;;;;;;;;;;;;;1830:1:51;772:13785:158;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;;;;;;;;;;;;10866:25;;-1:-1:-1;;;;;;;772:13785:158;;;;;;9064:13;772:13785;;;;;;;;;;;;;;;;;9297:15;1830:1:51;10901:53:158;;;772:13785;;;;;10981:68;;;;772:13785;;-1:-1:-1;;;10981:68:158;;-1:-1:-1;;;;;772:13785:158;;;;10981:68;;772:13785;11033:4;772:13785;;;;;;;;;;;;;;;;;;;10981:68;772:13785;;-1:-1:-1;;;;;772:13785:158;;10981:68;;;;;;;;10862:506;11058:21;;772:13785;10862:506;;772:13785;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9231:10;;772:13785;;11379:180;;772:13785;;11379:180;772:13785;2712:7:51;772:13785:158;;;10981:68;;;;:::i;:::-;772:13785;;10981:68;;;;772:13785;;;;10981:68;772:13785;;;;;;;;;10981:68;772:13785;;;10862:506;11096:64;9297:15;;;;11096:46;9297:15;772:13785;;;;;11096:46;;:::i;:::-;:64;:::i;:::-;11163:22;772:13785;11096:89;;;11092:276;;10862:506;;;;;11092:276;11214:63;9297:15;;;11214:40;772:13785;9297:15;;11214:40;:::i;:::-;772:13785;;;11214:63;;:::i;:::-;772:13785;;;;;;;;;;9064:13;772:13785;;;;;;;;;;;;;;;;11286:56;772:13785;11092:276;;;;10732:49;;;;772:13785;10732:49;772:13785;10732:49;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;772:13785;;;;;;;;;10333:123;10440:8;772:13785;;10440:8;;:::i;:::-;10333:123;;772:13785;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;10219:67;-1:-1:-1;;;;;;772:13785:158;;10281:4;10259:27;10219:67;;10180:24;;;;;772:13785;10180:24;772:13785;10180:24;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;772:13785;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;9740:93;9787:46;772:13785;;;;;;9787:46;;:::i;:::-;9297:15;9769:64;9740:93;;;772:13785;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;9549:44;;;772:13785;9549:44;;772:13785;9549:44;;;;;;772:13785;9549:44;;;:::i;:::-;;;772:13785;;;;;9549:44;;;772:13785;;;;9549:44;;;-1:-1:-1;9549:44:158;;772:13785;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;8905:52;;772:13785;8905:52;;772:13785;8905:52;;;;;;772:13785;8905:52;;;:::i;:::-;;;772:13785;;;;8895:62;772:13785;;8905:52;;;;;-1:-1:-1;8905:52:158;;;772:13785;;;;;;;;;1830:1:51;772:13785:158;;-1:-1:-1;;;1830:1:51;;772:13785:158;;1830:1:51;;;;772:13785:158;1830:1:51;;772:13785:158;1830:1:51;772:13785:158;;;1830:1:51;772:13785:158;;1830:1:51;772:13785:158;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;6119:25:164;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;5484:43:164;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;772:13785:158;;1254:30:163;:89;;;;772:13785:158;;;;;;-1:-1:-1;;;2229:24:163;;772:13785:158;;;2229:24:163;;772:13785:158;2229:24:163;772:13785:158;;;;;-1:-1:-1;;;;;772:13785:158;2229:24:163;;;;;;;772:13785:158;2229:24:163;;;772:13785:158;-1:-1:-1;2257:10:163;-1:-1:-1;;;;;772:13785:158;;;2229:38:163;772:13785:158;;2319:8;772:13785;;;;2319:8;:::i;:::-;2808:18:163;;772:13785:158;;2902:1:163;2884:19;;772:13785:158;;2958:32:163;;;772:13785:158;;;3079:13:163;3094:18;;;;;;772:13785:158;3172:17:163;;;772:13785:158;;;;-1:-1:-1;;;14437:30:158;;;:67;;3074:84:163;14433:118:158;;2462:16;772:13785;;;2442:36;772:13785;;;;;;;;;;;;2552:13;2229:24:163;772:13785:158;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2902:1:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;2623:11;2229:24:163;772:13785:158;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2774:33;:75;;;;;772:13785;;;;;;;2933:20;772:13785;;;;-1:-1:-1;;;14437:30:158;772:13785;;;;3057:19;772:13785;;3003:300;3347:19;772:13785;;;-1:-1:-1;;;3347:44:158;;772:13785;2229:24:163;;772:13785:158;;;;;;-1:-1:-1;;;;;772:13785:158;3347:44;;;;;;;;;;;3003:300;772:13785;;;3328:63;772:13785;;;;-1:-1:-1;;;14437:30:158;772:13785;;3595:47;;;772:13785;;;;;;:::i;:::-;2257:10:163;772:13785:158;;3575:12;2229:24:163;3533:249:158;;772:13785;;3533:249;;772:13785;;;;3533:249;;772:13785;-1:-1:-1;;;;;772:13785:158;;;3533:249;;772:13785;;;;3533:249;;772:13785;;;;3533:249;;772:13785;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2229:24:163;772:13785:158;;;;;2902:1:163;772:13785:158;;;;;;;;;;2902:1:163;772:13785:158;;;;;;;3533:249;;;;772:13785;3533:249;;772:13785;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2229:24:163;772:13785:158;;;;;2902:1:163;772:13785:158;;;;;;;;;;2902:1:163;772:13785:158;;;;;;;3533:249;;;;772:13785;3533:249;;772:13785;;;;;;;;;;;2552:13;2229:24:163;772:13785:158;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;2229:24:163;3533:249:158;;772:13785;;;;;;3533:249;;772:13785;;;;;;3533:249;;772:13785;;;;;;;;;;;;;;;3533:249;;772:13785;;;;;;;;;;3533:249;;772:13785;2902:1:163;772:13785:158;;;;3533:249;;772:13785;;;;;;3533:249;;772:13785;;;;-1:-1:-1;;;;;772:13785:158;;;;-1:-1:-1;;;772:13785:158;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;3533:249;;;;772:13785;3533:249;772:13785;;;;;-1:-1:-1;;;;;772:13785:158;;;;-1:-1:-1;;;772:13785:158;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;2902:1:163;772:13785:158;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;-1:-1:-1;;;772:13785:158;;-1:-1:-1;;;3793:33:158;;-1:-1:-1;3789:159:158;;772:13785;;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;2257:10:163;772:13785:158;;;;3959:162;772:13785;;;;;;;;;3959:162;;772:13785;;3789:159;772:13785;;-1:-1:-1;;;;;772:13785:158;3885:56;;;;772:13785;;-1:-1:-1;;;3885:56:158;;2257:10:163;772:13785:158;3885:56;;772:13785;3925:4;772:13785;;;;;;;;;;;;;;;;;;;3885:56;772:13785;;;;-1:-1:-1;;;;;772:13785:158;3885:56;;;;;;;;3789:159;;;;;3885:56;;;;:::i;:::-;772:13785;;3885:56;;;;772:13785;;;;;;;;;;;;;;;;2902:1:163;772:13785:158;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;-1:-1:-1;772:13785:158;;;;;;;;;;;;;;;;2229:24:163;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2902:1:163;772:13785:158;;;;;;;;;;;;;2902:1:163;772:13785:158;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;2229:24:163;772:13785:158;;;;;;;3595:47;772:13785;;3595:47;;;772:13785;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;3347:44;;;2229:24:163;3347:44:158;;2229:24:163;3347:44:158;;;;;;2229:24:163;3347:44:158;;;:::i;:::-;;;772:13785;;;;;3347:44;;;;;;-1:-1:-1;3347:44:158;;772:13785;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;3003:300;-1:-1:-1;;;772:13785:158;;3151:33;3003:300;3147:156;3217:15;772:13785;;3204:28;3003:300;772:13785;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;2774:75;772:13785;-1:-1:-1;;;;;772:13785:158;2257:10:163;2812:36:158;;;-1:-1:-1;2774:75:158;;;772:13785;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;14433:118;772:13785;;-1:-1:-1;;;14514:30:158;;2229:24:163;772:13785:158;14514:30;;772:13785;;;;;;-1:-1:-1;;;772:13785:158;;;;;;14514:30;14437:67;-1:-1:-1;772:13785:158;;-1:-1:-1;;;14471:33:158;;14437:67;;772:13785;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;3114:3:163;772:13785:158;2902:1:163;772:13785:158;;;;;;;;;;;;;3114:3:163;3127:24;;;;:::i;:::-;3114:3;;:::i;:::-;3079:13;;;772:13785:158;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;2229:24:163;772:13785:158;;;;;;;;;;;;;;;;;2229:24:163;;;;;;;;;;;;;;:::i;:::-;;;;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;1254:89:163;-1:-1:-1;1288:21:163;772:13785:158;;;-1:-1:-1;;;1288:55:163;;-1:-1:-1;;;;;772:13785:158;;;;1288:55:163;;772:13785:158;;;;;;;;;;;;1288:55:163;;;;;;;;;;;1254:89;;;;1288:55;;;;772:13785:158;1288:55:163;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;772:13785:158;;;;;;;;;;;;;;;;;1513:6:42;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;;:::i;:::-;-1:-1:-1;;;;;772:13785:158;;;;7504:13;772:13785;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;7607:33;772:13785;;;;;;7714:25;;:67;;;;;772:13785;;;;;;;-1:-1:-1;;;;;772:13785:158;7890:10;7864:36;:78;;;;772:13785;;;;;;;7504:13;772:13785;;;;;;;;;;8005:47;772:13785;;;8005:47;:::i;:::-;772:13785;;-1:-1:-1;;;8063:24:158;;;772:13785;8063:24;;772:13785;;;;;;;;8063:24;;;;;;;;;;;;772:13785;-1:-1:-1;;;;;;772:13785:158;8099:4;8063:41;8059:118;;772:13785;;;8191:24;;;;772:13785;8191:24;;772:13785;;8191:24;772:13785;8191:24;;;;;;;;;;;;;772:13785;-1:-1:-1;7890:10:158;-1:-1:-1;;;;;772:13785:158;;;8191:38;772:13785;;;-1:-1:-1;;;;;772:13785:158;;8260:64;;;;772:13785;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;8191:24;;;;772:13785;8191:24;772:13785;8191:24;;;;;;;:::i;:::-;;;;8059:118;8114:56;;;;;772:13785;;-1:-1:-1;;;8114:56:158;;8099:4;772:13785;8114:56;;772:13785;7890:10;772:13785;;;;;;;;;;;;;;;;;8114:56;;;;;;;;;8059:118;;;;;8114:56;;;;:::i;:::-;772:13785;;8114:56;;;;8063:24;;;;772:13785;8063:24;772:13785;8063:24;;;;;;;:::i;:::-;;;;772:13785;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;7864:78;-1:-1:-1;772:13785:158;;-1:-1:-1;;;7904:24:158;;772:13785;7904:24;;772:13785;;;;;;;7904:24;;;;;;;;;;;;7864:78;-1:-1:-1;;;;;;772:13785:158;7890:10;7904:38;7864:78;;7904:24;;;;772:13785;7904:24;772:13785;7904:24;;;;;;;:::i;:::-;;;;772:13785;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;7714:67;7743:15;;;:38;7714:67;;;772:13785;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;-1:-1:-1;772:13785:158;;;;;;;;;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;772:13785:158;;-1:-1:-1;;;;;;772:13785:158;;;;;;;-1:-1:-1;;;;;772:13785:158;2806:40:42;772:13785:158;;2806:40:42;772:13785:158;;;;;;;;;;;;;;;;;6372:41:164;772:13785:158;6372:41:164;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;6025:51:164;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;;:::i;:::-;;;;;;;;;;11913:13;772:13785;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;11975:33;;:62;;;772:13785;;;;12143:46;772:13785;;;;;;;;12143:46;;:::i;:::-;12124:15;:65;772:13785;;;;;;;;;;;12279:11;772:13785;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11913:13;772:13785;;;;;;;;;;;12324:47;772:13785;;;12324:47;:::i;:::-;-1:-1:-1;;;;;772:13785:158;;;;;12279:11;772:13785;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12481:28;772:13785;;-1:-1:-1;772:13785:158;;;;-1:-1:-1;;;;;772:13785:158;;;;;;12519:68;;;;772:13785;;-1:-1:-1;;;12519:68:158;;12547:4;772:13785;12519:68;;772:13785;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;12519:68;772:13785;;-1:-1:-1;;;;;772:13785:158;;12519:68;;;;;;;;12477:736;-1:-1:-1;;772:13785:158;;-1:-1:-1;;;12603:24:158;;772:13785;;;;12603:24;;772:13785;;;;;;-1:-1:-1;;;;;772:13785:158;;12603:24;;;;;;;;;;;12477:736;-1:-1:-1;772:13785:158;;-1:-1:-1;;;;;772:13785:158;;;;;12603:50;772:13785;;12477:736;772:13785;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13225:164;;772:13785;;13225:164;772:13785;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;12603:24;;;;772:13785;12603:24;772:13785;12603:24;;;;;;;:::i;:::-;;;;12519:68;;;;:::i;:::-;772:13785;;12519:68;;;;772:13785;;;;12477:736;772:13785;;;;;;;-1:-1:-1;;;;;772:13785:158;;12736:60;;;;772:13785;;-1:-1:-1;;;12736:60:158;;12764:4;772:13785;12736:60;;772:13785;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;12736:60;772:13785;;-1:-1:-1;;;;;772:13785:158;;12736:60;;;;;;;;12477:736;772:13785;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12954:23;772:13785;;;;12987:19;772:13785;;;;;7197:41:163;772:13785:158;;8017:19:163;772:13785:158;;;-1:-1:-1;;;8017:52:163;;772:13785:158;8017:52:163;;772:13785:158;;;;7879:33:163;;-1:-1:-1;;;;;772:13785:158;;;;;;8017:52:163;;;;;;;;;;;12477:736:158;772:13785;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;8145:44:163;;;:::i;:::-;772:13785:158;8241:15:163;772:13785:158;;;-1:-1:-1;;;8220:81:163;;772:13785:158;8220:81:163;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;8220:81:163;;;;;;;;;;;12477:736:158;-1:-1:-1;;;;;;772:13785:158;8195:107:163;;;:::i;:::-;772:13785:158;-1:-1:-1;;;;;8325:14:163;;;:::i;:::-;772:13785:158;;8325:75:163;;;8308:92;;;:::i;:::-;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;8466:85:163;;772:13785:158;8466:85:163;;772:13785:158;;;;;;;8466:85:163;;;;;;;;;;;;8325:75;8454:97;;;;:::i;:::-;772:13785:158;;;;;;;;;;;;;8569:75:163;;772:13785:158;8569:75:163;;772:13785:158;8569:75:163;;;;;;;;;;;;;;;8325;8557:87;8714:6;8557:87;;;;:::i;:::-;772:13785:158;8714:6:163;:::i;:::-;8017:19;772:13785:158;;;-1:-1:-1;;;8733:65:163;;-1:-1:-1;;;;;772:13785:158;;;;8733:65:163;;772:13785:158;;;;;;;;;;;;;;;;;;;8733:65:163;;;;;;;;;;;8325:75;-1:-1:-1;8732:66:163;;772:13785:158;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;8955:14:163;;;:::i;:::-;772:13785:158;;8936:33:163;;;:::i;:::-;772:13785:158;8982:21:163;772:13785:158;;;-1:-1:-1;;;8982:54:163;;772:13785:158;8982:54:163;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;8982:54:163;;;;;;;;;;;8728:1462;-1:-1:-1;8978:766:163;;;8982:21;772:13785:158;;;-1:-1:-1;;;9077:52:163;;772:13785:158;9077:52:163;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;9077:52:163;;;;;;;;9158:56;9354:11;9077:52;;;9210:3;9178:28;772:13785:158;9077:52:163;;9243:28;9077:52;;;;;8978:766;772:13785:158;;9178:28:163;;;:::i;:::-;772:13785:158;9158:56:163;;:::i;:::-;9243:28;;:::i;:::-;772:13785:158;9225:53:163;;;:::i;:::-;772:13785:158;9323:14:163;;;:::i;:::-;772:13785:158;9354:11:163;;:::i;:::-;772:13785:158;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;10269:22:163;10303:13;;10298:187;10342:3;772:13785:158;;10318:22:163;;;;;10423:55;10342:3;10412;;10438:33;772:13785:158;10456:15:163;10412:3;;;;;;10375:33;10355:60;10412:3;;10393:15;10412:3;10393:15;;;;:::i;:::-;772:13785:158;;10375:33:163;;:::i;:::-;772:13785:158;10355:60:163;;:::i;:::-;772:13785:158;10456:15:163;;:::i;:::-;772:13785:158;;10438:33:163;;:::i;10423:55::-;10342:3;;:::i;:::-;10303:13;;;10318:22;;;;;;;;;;;10549:13;10318:22;;10549:13;:::i;:::-;8017:19;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;13023:68;;;;;772:13785;;-1:-1:-1;;;13023:68:158;;-1:-1:-1;;;;;772:13785:158;;;13023:68;;772:13785;;;;;;;;;;;;;;;;;;10412:3:163;;772:13785:158;;;;13023:68;;;;;;;;10298:187:163;-1:-1:-1;;772:13785:158;;-1:-1:-1;;;13107:24:158;;772:13785;;;;13107:24;;772:13785;;;;;;-1:-1:-1;;;;;772:13785:158;;13107:24;;;;;;;;;;;10298:187:163;-1:-1:-1;772:13785:158;;-1:-1:-1;;;;;772:13785:158;;;;;;12477:736;772:13785;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;10412:3:163;772:13785:158;;;;;;13107:24;;;;772:13785;13107:24;772:13785;13107:24;;;;;;;:::i;:::-;;;;13023:68;;;;:::i;:::-;772:13785;;13023:68;;;;9077:52:163;;;;772:13785:158;9077:52:163;772:13785:158;9077:52:163;;;;;;;:::i;:::-;;;;8978:766;-1:-1:-1;8017:19:163;772:13785:158;;;-1:-1:-1;;;9420:78:163;;-1:-1:-1;;;;;772:13785:158;;;;9420:78:163;;772:13785:158;;;;;;;;;;;;9420:78:163;;;;;;;;9527:56;9723:11;9420:78;;;9579:3;9547:28;772:13785:158;9420:78:163;;9612:28;9420:78;;;;;772:13785:158;;9547:28:163;;;:::i;9723:11::-;8978:766;;8982:54;;;;772:13785:158;8982:54:163;772:13785:158;8982:54:163;;;;;;;:::i;:::-;;;;;772:13785:158;;;;;;;;;8728:1462:163;772:13785:158;;;;;;;;;;;;;;;;;;9831:13:163;772:13785:158;;;;;;;;;;;;9831:92:163;;772:13785:158;;;;;;;;9831:92:163;;772:13785:158;;;;;;;;;;;;9831:92:163;;;;;;;;;;;;;8728:1462;9932:26;;9972:13;;9967:96;10009:3;772:13785:158;;9987:20:163;;;;;10024:30;10009:3;10042:12;;;;;:::i;:::-;772:13785:158;10024:30:163;;:::i;10009:3::-;9972:13;;;9987:20;;;;;;;;10071:33;9987:20;10173:9;9987:20;;;;10071:33;:::i;:::-;10173:9;;;:::i;9831:92::-;;;;;;;;;;;;;;;:::i;:::-;772:13785:158;9831:92:163;;;;772:13785:158;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;9831:92:163;;;772:13785:158;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9831:92:163;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;9831:92:163;;;772:13785:158;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9831:92:163;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9831:92:163;;;;;;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;8733:65:163;;;;772:13785:158;8733:65:163;772:13785:158;8733:65:163;;;;;;;:::i;:::-;;;;8569:75;;;;;;772:13785:158;8569:75:163;;772:13785:158;8569:75:163;;;;;;772:13785:158;8569:75:163;;;:::i;:::-;;;772:13785:158;;;;;;;;;8714:6:163;8569:75;;;;;-1:-1:-1;8569:75:163;;;772:13785:158;;;;;;;;;8466:85:163;;;772:13785:158;8466:85:163;;772:13785:158;8466:85:163;;;;;;772:13785:158;8466:85:163;;;:::i;:::-;;;772:13785:158;;;;;8466:85:163;;;;;;-1:-1:-1;8466:85:163;;;772:13785:158;;;;;;;;;8325:75:163;-1:-1:-1;;;;;;8386:14:163;;;:::i;:::-;772:13785:158;;8325:75:163;;8220:81;;;;772:13785:158;8220:81:163;772:13785:158;8220:81:163;;;;;;;:::i;:::-;;;;8017:52;;;;772:13785:158;8017:52:163;;772:13785:158;8017:52:163;;;;;;772:13785:158;8017:52:163;;;:::i;:::-;;;772:13785:158;;;;;8017:52:163;;;;;;;-1:-1:-1;8017:52:163;;772:13785:158;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;12736:60;;;;:::i;:::-;;;;772:13785;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;11975:62;772:13785;;;;;12012:25;;11975:62;;772:13785;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5586:37:164;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;5789:36:164;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6940:91:164;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;6940:91:164;772:13785:158;6940:91:164;;772:13785:158;6940:91:164;;;;;772:13785:158;6940:91:164;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;:::i;:::-;;;;7227:62:164;772:13785:158;;;;;;;;;;;;;;;;7227:62:164;772:13785:158;7227:62:164;;772:13785:158;;7227:62:164;772:13785:158;;7227:62:164;;;772:13785:158;7227:62:164;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6745:92:164;772:13785:158;;;;;;;;;;;;;;;;;;;;;6745:92:164;772:13785:158;;;;6745:92:164;772:13785:158;6745:92:164;;772:13785:158;;6745:92:164;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6474:31:164;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;-1:-1:-1;;;;;772:13785:158;;:::i;:::-;;;;14030:13;772:13785;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14294:23;772:13785;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;-1:-1:-1;772:13785:158;;;;;;;;;;;;;;;;;;;;;5892:51:164;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;6619:36:164;772:13785:158;;;;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;;772:13785:158;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;772:13785:158;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;;;5688:35:164;772:13785:158;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;6195:30:164;772:13785:158;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;772:13785:158;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;772:13785:158;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;:::o;1599:130:42:-;1513:6;772:13785:158;-1:-1:-1;;;;;772:13785:158;929:10:68;1662:23:42;772:13785:158;;1599:130:42:o;772:13785:158:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;:::o;:::-;-1:-1:-1;;;;;772:13785:158;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;:::o;:::-;-1:-1:-1;;;;;772:13785:158;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;1592:301:163:-;772:13785:158;;;;;;;;;;;;1767:24:163;;;;;772:13785:158;1767:24:163;;;;772:13785:158;1767:24:163;;;;;;;;1805:45;1767:24;;;-1:-1:-1;1767:24:163;;;1592:301;-1:-1:-1;772:13785:158;;-1:-1:-1;;;1805:45:163;;-1:-1:-1;;;;;772:13785:158;;;1767:24:163;1805:45;;772:13785:158;1844:4:163;772:13785:158;;;;;;;;-1:-1:-1;772:13785:158;;;;;;;;;1805:45:163;;;;;;;;;;-1:-1:-1;1805:45:163;;;1592:301;772:13785:158;;;;1592:301:163;:::o;772:13785:158:-;;;;;;;;;;;1767:24:163;772:13785:158;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;1805:45:163;;;;;;;;;;;;;;:::i;:::-;;;;1767:24;;;;;;;;;;;;;;;:::i;:::-;;;;;772:13785:158;-1:-1:-1;;772:13785:158;;;;;;;:::o;3598:314:163:-;-1:-1:-1;;;;;772:13785:158;3702:23:163;;3698:50;;772:13785:158;;-1:-1:-1;;;3801:42:163;;3817:10;3801:42;;;772:13785:158;3837:4:163;772:13785:158;;;;;3801:42:163;;772:13785:158;;;;;;3801:42:163;;;;;;;3723:1;3801:42;;;3598:314;3801:53;;772:13785:158;;3598:314:163:o;772:13785:158:-;;;-1:-1:-1;;;772:13785:158;;3801:42:163;;772:13785:158;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;3801:42:163;;;;;;;;;;;;;;;;:::i;:::-;;;772:13785:158;;;;;;3801:42:163;;;;;;-1:-1:-1;3801:42:163;;3698:50;3735:7;;:::o;4369:604::-;-1:-1:-1;;;;;772:13785:158;;4464:30:163;;4460:117;;4591:9;772:13785:158;;;;;;;;;4726:30:163;;;;4750:4;4726:30;;;772:13785:158;4726:30:163;;;;772:13785:158;4726:30:163;;;;;;;;;;;;4492:1;4726:30;;;4369:604;-1:-1:-1;772:13785:158;;-1:-1:-1;;;1482:68:96;;;;4786:10:163;772:13785:158;1482:68:96;;772:13785:158;4750:4:163;772:13785:158;;;;;;;;;;1482:68:96;;;772:13785:158;;;;1482:68:96;;772:13785:158;;1482:68:96;;;;;;:::i;:::-;;;:::i;:::-;772:13785:158;;;4851:30:163;;;;;;4750:4;4726:30;4851;;772:13785:158;4851:30:163;;;;;;;4492:1;4851:30;;;4369:604;4896:28;;;;;:::i;:::-;:39;772:13785:158;;4369:604:163;;:::o;772:13785:158:-;;;;;;;;;;;4726:30:163;772:13785:158;;;;;;;;;;;;;;4851:30:163;;;;;;;;;;;;;;;:::i;:::-;;;772:13785:158;;;;-1:-1:-1;772:13785:158;4896:28:163;4851:30;;;;;;;;772:13785:158;;;4492:1:163;772:13785:158;;;;;4726:30:163;;;;;;;;;;;;;;;;;:::i;:::-;;;772:13785:158;;;;;;;;4726:30:163;;;;;;;;;;772:13785:158;;;4492:1:163;772:13785:158;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;4460:117:163;4512:9;;;:20;772:13785:158;;4564:7:163:o;772:13785:158:-;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;;;5173:642:96;772:13785:158;;5535:69:101;;-1:-1:-1;;;;;772:13785:158;;;;:::i;:::-;-1:-1:-1;772:13785:158;;;;;;;;;;;5487:31:101;;;;;;;;;;;:::i;:::-;5535:69;;:::i;:::-;772:13785:158;;5705:22:96;;;;:56;;;;;5173:642;772:13785:158;;;;;;5173:642:96;:::o;772:13785:158:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;772:13785:158;;;;;5705:56:96;5731:30;;-1:-1:-1;5731:30:96;;;;;;;:::i;:::-;5705:56;;;;;772:13785:158;;;;;;;-1:-1:-1;;;;;772:13785:158;;;;;;;;;;;-1:-1:-1;;772:13785:158;;;;;:::i;:::-;;;;-1:-1:-1;772:13785:158;;;;:::o;:::-;;;:::o;7671:628:101:-;;;;7875:418;;;772:13785:158;;;7906:22:101;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;772:13785:158;;8201:17:101;:::o;772:13785:158:-;;;-1:-1:-1;;;772:13785:158;;;;;;;;;;;;;;;;;;;;7875:418:101;772:13785:158;;;;-1:-1:-1;8980:21:101;:17;;9152:142;;;;;;;8976:379;772:13785:158;;-1:-1:-1;;;9324:20:101;;772:13785:158;;;9324:20:101;;;;;;:::i;:::-;;;;772:13785:158;;;;;;;;;;;;;;;;-1:-1:-1;772:13785:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;5400:645:163:-;;;;5544:12;;5540:39;;5651:3;5622:25;5610:45;5622:25;;;:::i;5610:45::-;-1:-1:-1;;;;;772:13785:158;;;;;;5666:30:163;;5662:281;;6025:14;;;;:::i;5662:281::-;-1:-1:-1;5750:8:163;772:13785:158;;;-1:-1:-1;;;5797:78:163;;;;;;-1:-1:-1;;;;;772:13785:158;;;5797:78:163;;;772:13785:158;;;;;;;5892:30:163;;5555:1;;;;772:13785:158;;;;;5797:78:163;;772:13785:158;;;;5797:78:163;772:13785:158;5797:78:163;5742:141;;;;;;:::i;:::-;5892:30;;:::i;5540:39::-;5566:7;;;;:::o;941:175:96:-;772:13785:158;;-1:-1:-1;;;1050:58:96;;;;-1:-1:-1;;;;;772:13785:158;;;;1050:58:96;;;772:13785:158;;;;;;;;;1050:58:96;;;;;;772:13785:158;;1050:58:96;:::i;:::-;;:::i;772:13785:158:-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;10572:609:163:-;;;;;;;-1:-1:-1;;;;;772:13785:158;;;10744:30:163;772:13785:158;;;10828:8:163;772:13785:158;;;;;10868:72:163;772:13785:158;10868:72:163;;;10891:25;;;;10868:72;;772:13785:158;10868:72:163;;;772:13785:158;;;;;;:::i;:::-;;;;-1:-1:-1;;772:13785:158;;;;;;;;;;;;;;;;;10772:1:163;772:13785:158;;;;;;10868:72:163;;;;;10772:1;10868:72;;;;;;10957:30;10868:72;;;772:13785:158;;10868:72:163;;;;;;:::i;772:13785:158:-;;;;;;;;;;;;;;;;;10740:437:163;11061:13;;;;10772:1;11100:3;772:13785:158;;11076:22:163;;;;;11134:14;11115:47;11134:14;;11100:3;11134:14;;;:::i;:::-;772:13785:158;;11150:11:163;;;;:::i;:::-;772:13785:158;11115:47:163;;;:::i;:::-;11100:3;:::i;:::-;11061:13;;11076:22;;;;;;;10572:609::o","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","bid(address,uint256,address,uint256)":"b5678588","cancelAuction(address,uint256)":"859b97fe","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":"060d9eeb","getAuctionDetails(address,uint256)":"0cd87c68","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offerCancelationDelay()":"0a5c4ed5","owner()":"8da5cb5b","payments()":"a6d23e10","renounceOwnership()":"715018a6","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","settleAuction(address,uint256)":"5138b08c","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"convertOfferToAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"details\":\"Only the configured currency can be used (Zero address for eth)\",\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelAuction(address,uint256)\":{\"details\":\"Requires the person sending the message to be the auction creator or token owner.\",\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"details\":\"If auction type is coldie (reserve) then _startingAmount cant be 0._currencyAddress equal to the zero address denotes eth.All time related params are unix epoch timestamps.\",\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"details\":\"Covers use of any currency (0 address is eth).Only covers converting an offer to a coldie auction.Cant convert offer if an auction currently exists.\",\"params\":{\"_amount\":\"Amount being converted into an auction.\",\"_currencyAddress\":\"Address of the currency being converted.\",\"_lengthOfAuction\":\"Number of seconds the auction will last.\",\"_originContract\":\"Contract address of the asset.\",\"_splitAddresses\":\"Addresses that the sellers take in will be split amongst.\",\"_splitRatios\":\"Ratios that the take in will be split by.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"settleAuction(address,uint256)\":{\"details\":\"Anyone is able to settle an auction since non-input params are used.\",\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"SuperRareAuctionHouse\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Converts an offer into a coldie auction.\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The logic for all functions related to the SuperRareAuctionHouse.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/auctionhouse/SuperRareAuctionHouse.sol\":\"SuperRareAuctionHouse\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/auctionhouse/ISuperRareAuctionHouse.sol\":{\"keccak256\":\"0x8d8b3238ea1eff36c36746470ccac4a727984271da0037b3e919954bf950b204\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07bba4661d77c78adfdde1add4c939b5d0fb79e71f409b5dec626481e46f685\",\"dweb:/ipfs/QmdRojysUu8qjSP84Qi54MqZZLGE9BvPmTYeywLJ4pJMf8\"]},\"src/auctionhouse/SuperRareAuctionHouse.sol\":{\"keccak256\":\"0x3bbd654d28a5bf7846751cfb2240f7b033092e4b46b9b23b373c36055c05bae7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d804dc212693b412aac34925cc7fa7f6b8ebb8fab34c269bf6cfee63b2da16bc\",\"dweb:/ipfs/QmPiLMdjMHGrYCyHviBPDoV49xFcPR75y4bhJ24nzkJVbM\"]},\"src/bazaar/SuperRareBazaarBase.sol\":{\"keccak256\":\"0xfbb8c1a7cfc1d0cf31736904cce528e95df5838fd4e2f40acb1de0fc83c14bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7f2369ec2267aec741e1dc5574ae3cf933d048b9d2431353d79e5beda305695\",\"dweb:/ipfs/QmSsPKk2tsbiz2sqjwTR4SWBLA2zftaJxEz3xYZNUcPY2A\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x5c3045f0a2282d16d841e62ab16542345e48e8ce9640a18f52cebfdebb2c4086\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d24f010509edc8bc6c3245522154ea9f27f7574d80850c23f134d8b0f59952bb\",\"dweb:/ipfs/QmbcdHpb4tyXdXMXk2xGjTrgrT1vyCiUdEZkDdWKbvW9Bo\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"convertOfferToAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"bid(address,uint256,address,uint256)":{"details":"Only the configured currency can be used (Zero address for eth)","params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"cancelAuction(address,uint256)":{"details":"Requires the person sending the message to be the auction creator or token owner.","params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"details":"If auction type is coldie (reserve) then _startingAmount cant be 0._currencyAddress equal to the zero address denotes eth.All time related params are unix epoch timestamps.","params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"details":"Covers use of any currency (0 address is eth).Only covers converting an offer to a coldie auction.Cant convert offer if an auction currently exists.","params":{"_amount":"Amount being converted into an auction.","_currencyAddress":"Address of the currency being converted.","_lengthOfAuction":"Number of seconds the auction will last.","_originContract":"Contract address of the asset.","_splitAddresses":"Addresses that the sellers take in will be split amongst.","_splitRatios":"Ratios that the take in will be split by.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"settleAuction(address,uint256)":{"details":"Anyone is able to settle an auction since non-input params are used.","params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Converts an offer into a coldie auction."},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/auctionhouse/SuperRareAuctionHouse.sol":"SuperRareAuctionHouse"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/auctionhouse/ISuperRareAuctionHouse.sol":{"keccak256":"0x8d8b3238ea1eff36c36746470ccac4a727984271da0037b3e919954bf950b204","urls":["bzz-raw://e07bba4661d77c78adfdde1add4c939b5d0fb79e71f409b5dec626481e46f685","dweb:/ipfs/QmdRojysUu8qjSP84Qi54MqZZLGE9BvPmTYeywLJ4pJMf8"],"license":"MIT"},"src/auctionhouse/SuperRareAuctionHouse.sol":{"keccak256":"0x3bbd654d28a5bf7846751cfb2240f7b033092e4b46b9b23b373c36055c05bae7","urls":["bzz-raw://d804dc212693b412aac34925cc7fa7f6b8ebb8fab34c269bf6cfee63b2da16bc","dweb:/ipfs/QmPiLMdjMHGrYCyHviBPDoV49xFcPR75y4bhJ24nzkJVbM"],"license":"MIT"},"src/bazaar/SuperRareBazaarBase.sol":{"keccak256":"0xfbb8c1a7cfc1d0cf31736904cce528e95df5838fd4e2f40acb1de0fc83c14bdb","urls":["bzz-raw://c7f2369ec2267aec741e1dc5574ae3cf933d048b9d2431353d79e5beda305695","dweb:/ipfs/QmSsPKk2tsbiz2sqjwTR4SWBLA2zftaJxEz3xYZNUcPY2A"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x5c3045f0a2282d16d841e62ab16542345e48e8ce9640a18f52cebfdebb2c4086","urls":["bzz-raw://d24f010509edc8bc6c3245522154ea9f27f7574d80850c23f134d8b0f59952bb","dweb:/ipfs/QmbcdHpb4tyXdXMXk2xGjTrgrT1vyCiUdEZkDdWKbvW9Bo"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"}},"version":1},"id":158} \ No newline at end of file diff --git a/abis/SuperRareAuctionHouseV2.json b/abis/SuperRareAuctionHouseV2.json new file mode 100644 index 0000000..d2098e4 --- /dev/null +++ b/abis/SuperRareAuctionHouseV2.json @@ -0,0 +1 @@ +{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFeeAtTime","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"bidWithAuctionMerkleProof","inputs":[{"name":"originContract","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"creator","type":"address","internalType":"address"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"bidAmount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelAuctionMerkleRoot","inputs":[{"name":"root","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"creatorRootToConfig","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"currency","type":"address","internalType":"address"},{"name":"startingAmount","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getCreatorAuctionMerkleRootNonce","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMerkleAuctionConfig","inputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"root","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISuperRareAuctionHouseV2.MerkleAuctionConfig","components":[{"name":"currency","type":"address","internalType":"address"},{"name":"startingAmount","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"},{"name":"nonce","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenAuctionNonce","inputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"tokenContract","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUserAuctionMerkleRoots","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_stakingSettings","type":"address","internalType":"address"},{"name":"_networkBeneficiary","type":"address","internalType":"address"},{"name":"_erc20ApprovalManager","type":"address","internalType":"address"},{"name":"_erc721ApprovalManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isTokenInRoot","inputs":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"origin","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerAuctionMerkleRoot","inputs":[{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"currency","type":"address","internalType":"address"},{"name":"startingAmount","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAuctionLengthExtension","inputs":[{"name":"_auctionLengthExtension","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxAuctionLength","inputs":[{"name":"_maxAuctionLength","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinimumBidIncreasePercentage","inputs":[{"name":"_minimumBidIncreasePercentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_firstBid","type":"bool","indexed":false,"internalType":"bool"},{"name":"_marketplaceFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionMerkleBid","inputs":[{"name":"contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"bidder","type":"address","indexed":true,"internalType":"address"},{"name":"creator","type":"address","indexed":false,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AuctionMerkleRootCancelled","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"AuctionMerkleRootRegistered","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"startingAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"duration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_bidder","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_marketplaceFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":false,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startingAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001757615f8a90816200001d8239f35b600080fdfe608080604052600436101561006a575b50361561001b57600080fd5b60405162461bcd60e51b815260206004820152602160248201527f455448207061796d656e74206e6f74206163636570746564206469726563746c6044820152607960f81b6064820152608490fd5b600090813560e01c9081630cd87c68146147e1575080630e519ef9146147c357806310f79789146147a0578063155a56b114614784578063299a0e1e1461471857806348626b90146146ea5780634ebade5f1461463c5780635060eadf14613ba25780635138b08c1461307b5780635e51b2d414612fe65780636fe9f44c14612fc8578063715018a614612f6a57806376ffb5a714612dfd578063859b97fe14612a4b5780638da5cb5b14612a225780639041a0ec14611da9578063ac964f8e14611c93578063affdafd814611c70578063b23afc2614611c47578063b5678588146113ae578063bb120e661461133a578063c306b37814610a03578063c47c35c114610975578063c90b87141461094c578063d97f7657146108be578063daa26499146108a0578063e29ac8901461085d578063f2fde38b146107cc5763f8aa56ee0361000f57346107c95760c03660031901126107c9576101cb614956565b608480356001600160401b0381116107c5576101eb9036906004016149bf565b9160a4356001600160401b0381116107c15761020b9036906004016149bf565b9091610216866156d4565b841561076f5760058511610721578185036106ca576000805b83821061069e57606491500361064c5760a454606435116105f557609854604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa9081156105ea5788916105b3575b506044351161054b575033865260a660205261029f60043560408820615487565b5033865260a86020526040862060043587526020526040862054936001850185116105375733875260a8602052604087206004358852602052600185016040882055610329604051936102f185614aac565b60018060a01b038816855261031a602086019660443588526040870194606435865236916151b4565b93606086019485523691615212565b60808401526001850160a084015233875260a7602052604087206004358852602052604087209360018060a01b038451166001600160601b0360a01b865416178555516001850155516002840155518051906001600160401b038211610523576020600385019161039a84846152ce565b0190875260208720875b83811061050657505050506004820160808201518051906001600160401b0382116104f2576020906103d6838561532c565b019187526020872090875b8160051c81106104b35750601f198116810380610460575b5050505060a0015160059190910155604080516001600160a01b0393909316835260443560208401526064359083015260010160608201526004359033907f0f068b6b9bec01608fb1954057289ba057441305f4c64a0fc92bc9fc9a59ff3690608090a380f35b928893895b81811061048357505050916005939160a093851c01559138806103f9565b90919460206104a96001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101610465565b88895b602081106104cb5750838201556001016103e1565b855190959160019160209160ff60038a901b81811b199092169216901b17920195016104b6565b634e487b7160e01b88526041600452602488fd5b82516001600160a01b0316818301556020909201916001016103a4565b634e487b7160e01b87526041600452602487fd5b634e487b7160e01b87526011600452602487fd5b60405162461bcd60e51b815260206004820152604060248201527f726567697374657241756374696f6e4d65726b6c65526f6f743a3a537461727460448201527f696e6720616d6f756e742065786365656473206d6178696d756d2076616c75656064820152fd5b90506020813d6020116105e2575b816105ce60209383614b2b565b810103126105dd57513861027e565b600080fd5b3d91506105c1565b6040513d8a823e3d90fd5b60405162461bcd60e51b815260206004820152602c60248201527f726567697374657241756374696f6e4d65726b6c65526f6f743a3a447572617460448201526b696f6e20746f6f206c6f6e6760a01b6064820152fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152fd5b8160051b8501359060ff82168092036105dd576106c4916106be916153d0565b9161567c565b9061022f565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152fd5b8580fd5b8380fd5b80fd5b50346107c95760203660031901126107c9576107e661492a565b6107ee6149ef565b6001600160a01b038116156108095761080690614a47565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346107c95760403660031901126107c9576020906040906001600160a01b0361088561492a565b16815260a88352818120602435825283522054604051908152f35b50346107c957806003193601126107c957602060a554604051908152f35b50346107c95760803660031901126107c95760406020916108dd61492a565b61092b6109396108eb614940565b9285519283918883019560643591602435908892606894926001600160601b0319809360601b168552601485015260601b16603483015260488201520190565b03601f198101835282614b2b565b519020815260a983522054604051908152f35b50346107c957806003193601126107c9576020604051600080516020615f358339815191528152f35b50346107c95760403660031901126107c95760e0906001600160a01b03906040908261099f61492a565b16815260a1602052818120602435825260205220908082541691600181015491600282015490600383015490600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346107c9576101403660031901126107c957610a1e61492a565b610a26614956565b610a2e614940565b606435916001600160a01b03831683036105dd57610a4a61496c565b9260a435906001600160a01b03821682036105dd5760c435906001600160a01b03821682036105dd5760e435956001600160a01b03871687036105dd5761010435946001600160a01b03861686036105dd5761012435966001600160a01b03881688036105dd578a549960ff8b60081c16159a8b809c61132d575b8015611316575b156112ba5760ff1981166001178d558b6112a9575b506001600160a01b03811615611248576001600160a01b038316156111ed576001600160a01b0382161561118a576001600160a01b03851615611127576001600160a01b038416156110d1576001600160a01b03871615611074576001600160a01b03861615611017576001600160a01b038a1615610fb7576001600160a01b03881615610f55576001600160a01b03891615610ef25760405163ef8c824960e01b81526001600160a01b039a8b166004820152908a16602482015290891660448201529088166064820152908716608482015290861660a482015290851660c482015290841660e48201529083166101048201529116610124820152610140816101448173__$c98ca6a62396e5a7a1471db151198a1f31$__5af4908115610ee7578391610d80575b5060018060a01b03815116906001600160601b0360a01b9182609754161760975560018060a01b0360208201511682609854161760985560018060a01b0360408201511682609954161760995560018060a01b0360608201511682609a541617609a5560018060a01b0360808201511682609b541617609b5560018060a01b0360a08201511682609c541617609c5560018060a01b0360c08201511682609d541617609d5560018060a01b0360e08201511682609e541617609e5560018060a01b036101008201511682609f541617609f5561012060018060a01b03910151169060a054161760a055600160a35562093a8060a45561038460a555610d1f60ff835460081c16610d1a81614b60565b614b60565b610d2833614a47565b815490610d3e60ff8360081c16610d1a81614b60565b6001606555610d4b575080f35b61ff00191681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610140813d61014011610edf575b81610d9e6101409383614b2b565b81010312610edb576040519061014082018281106001600160401b03821117610ec557604052610dcd81614b4c565b825260208101516001600160a01b0381168103610ec157602083015260408101516001600160a01b0381168103610ec157604083015260608101516001600160a01b0381168103610ec157606083015260808101516001600160a01b0381168103610ec157608083015260a08101516001600160a01b0381168103610ec15760a083015260c08101516001600160a01b0381168103610ec15760c083015260e08101516001600160a01b0381168103610ec15760e083015261010081810151906001600160a01b03821682036107c15783015261012090810151906001600160a01b0382168203610ec15782015238610c0b565b8480fd5b634e487b7160e01b600052604160045260246000fd5b8280fd5b3d9150610d90565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a657263373231417070726f76616c4d616e616765604482015274722063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603460248201527f696e697469616c697a653a3a6572633230417070726f76616c4d616e616765726044820152732063616e6e6f742062652030206164647265737360601b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f696e697469616c697a653a3a6e6574776f726b42656e65666963696172792063604482015271616e6e6f742062652030206164647265737360701b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6753657474696e67732063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6752656769737472792063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602860248201527f696e697469616c697a653a3a7061796d656e74732063616e6e6f742062652030604482015267206164647265737360c01b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a617070726f766564546f6b656e52656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a73706163654f70657261746f7252656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152602d60248201527f696e697469616c697a653a3a726f79616c7479456e67696e652063616e6e6f7460448201526c2062652030206164647265737360981b6064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f696e697469616c697a653a3a6d61726b6574706c61636553657474696e67732060448201527263616e6e6f742062652030206164647265737360681b6064820152608490fd5b61ffff1916610101178c5538610ae1565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610acc5750600160ff821614610acc565b50600160ff821610610ac5565b50346107c95760403660031901126107c9576001600160a01b03906040908261136161492a565b16815260a760209081528282206024358352815291902080546001820154600283015460059093015460408051969093166001600160a01b03168652938501528301526060820152608090f35b5060803660031901126107c9576113c361492a565b6113cb614940565b906113d4615403565b6098546040516361fe24a960e11b815260643560048201526001600160a01b0390911690602081602481855afa801561175c578590611c13575b61141b91506064356153d0565b6114258185615794565b60018060a01b038316855260a160205260408520602435865260205260408520916114bb60086040519461145886614a90565b80546001600160a01b0390811687526001820154602088015260028201546040880152600382015460608801526004820154166080870152600581015460a0870152600681015460c08701526114b060078201614bc0565b60e087015201614c1a565b61010084015260c083015115611bcf5782516001600160a01b03163314611b7e5760408301514210611b3957604083015180611ae0575b5060808301516001600160a01b0390811690861603611a855760a083015160643510611a4057606435156119ec57602060049160405192838092637cd11f4360e11b82525afa9081156117865786916119ba575b50606435116119755760018060a01b038316855260a260205260408520602435865260205260408520916040519161157d83614ac7565b83546001600160a01b0390811680855260018601549091166020850152600285015460408501819052600390950154606085015293846118f0575b506115c39086615894565b604081015180611887575b5082158061186c575b6117bc575b508180611791575b5050609854604051638347592160e01b80825291602090829060049082906001600160a01b03165afa908115611786578691611767575b5060036040519161162b83614ac7565b3383526001600160a01b038781166020808601918252606435604080880191825260ff95909516606088019081528a85168d5260a28352858d206024358e528352858d20975188549086166001600160a01b03199182161789559351600189018054918716919095161790935551600287015590519390940192909255609854905193845283916004918391165afa801561175c5760ff91869161172d575b506040519460018060a01b031685526064356020860152821560408601521660608401526080830152602435917f189a468e632a450afd491f84aa9ae94addc6813c7e309a7b1b1223f88802a77d60a03393600180831b031692a4600160655580f35b61174f915060203d602011611755575b6117478183614b2b565b8101906153ea565b386116ca565b503d61173d565b6040513d87823e3d90fd5b611780915060203d602011611755576117478183614b2b565b3861161b565b6040513d88823e3d90fd5b602082015160408301516060909301516117b59390916001600160a01b0316615b8e565b38816115e4565b6040516331a9108f60e11b81526024803560048301529091906020908390816001600160a01b0389165afa918215611861578792611821575b50516001600160a01b0390811691168190036115dc5761181b9060243590309086615ea5565b386115dc565b9091506020813d602011611859575b8161183d60209383614b2b565b810103126118555761184e90614b4c565b90386117f5565b8680fd5b3d9150611830565b6040513d89823e3d90fd5b50600080516020615f3583398151915260c0820151146115d7565b6118a09061189b42916060850151906153d0565b6153dd565b60a554908181106118b2575b506115ce565b61189b6118c39260608501516153d0565b6001600160a01b038516875260a1602090815260408089206024358a5290915287206003015538806118ac565b606461190261190d9260a3549061526a565b0460408501516153d0565b6064351061191b57386115b8565b60405162461bcd60e51b815260206004820152602c60248201527f6269643a3a4d75737420696e63726561736520626964206279206d696e696d7560448201526b6d2070657263656e7461676560a01b6064820152608490fd5b60405162461bcd60e51b815260206004820152601a60248201527f6269643a3a4269642065786365656473206d61782076616c75650000000000006044820152606490fd5b90506020813d6020116119e4575b816119d560209383614b2b565b810103126105dd575138611546565b3d91506119c8565b60405162461bcd60e51b815260206004820152602660248201527f6269643a3a42696420616d6f756e74206d75737420626520677265617465722060448201526507468616e20360d41b6064820152608490fd5b60405162461bcd60e51b815260206004820152601760248201527f6269643a3a42696420616d6f756e7420746f6f206c6f770000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602d60248201527f6269643a3a43757272656e637920646f6573206e6f74206d617463682061756360448201526c74696f6e2063757272656e637960981b6064820152608490fd5b6060840151611aee916153d0565b421015611afb57386114f2565b60405162461bcd60e51b8152602060048201526016602482015275189a590e8e905d58dd1a5bdb881a185cc8195b99195960521b6044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f6269643a3a41756374696f6e206e6f74206163746976650000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f6269643a3a43616e6e6f7420626964206f6e20796f7572206f776e206175637460448201526234b7b760e91b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f6269643a3a4d757374206861766520612063757272656e742061756374696f6e6044820152fd5b506020813d602011611c3f575b81611c2d60209383614b2b565b810103126105dd5761141b905161140e565b3d9150611c20565b50346107c957806003193601126107c9576020604051600080516020615f158339815191528152f35b50346107c95760203660031901126107c957611c8a6149ef565b60043560a45580f35b50346107c957602080600319360112611da5576004359033835260a68152611cce826040852060019160005201602052604060002054151590565b15611d515733835260a68152611ce782604085206154f5565b5033835260a781526040832090828452526000600560408420848155826001820155826002820155611d1b600382016152aa565b611d2760048201615302565b0155337f6c4be52b9a419eb78a1483e27346ba15e73a3f933dfc4310e9728ddf33c695f88380a380f35b6084906040519062461bcd60e51b82526004820152602760248201527f63616e63656c41756374696f6e4d65726b6c65526f6f743a3a4e6f7420726f6f6044820152663a1037bbb732b960c91b6064820152fd5b5080fd5b50346107c9576101203660031901126107c957611dc4614956565b611dcc61496c565b60e4356001600160401b0381116107c557611deb9036906004016149bf565b90610104356001600160401b0381116107c157611e0c9036906004016149bf565b611e15856156d4565b60018060a01b038616875260a160205260408720604435885260205260408720611eaa600860405192611e4784614a90565b80546001600160a01b0390811685526001820154602086015260028201546040860152600382015460608601526004820154166080850152600581015460a0850152600681015460c0850152611e9f60078201614bc0565b60e085015201614c1a565b6101008201526040516331a9108f60e11b815260443560048201526020816024816001600160a01b038c165afa90811561246b5789916129e4575b506001600160a01b03163014806129d7575b1561290e57516001600160a01b031633036128b7575b60a05460405163e985e9c560e01b81523360048201526001600160a01b039091166024820152602081806044810103816001600160a01b038b165afa9081156105ea578891612888575b50156128435783156127ee576005841161279d57808403612743576000805b82821061271d5760649150036126c857600080516020615f35833981519152600435148080156126af575b156126565760a45460a435116126065760a435156125b55760018060a01b038716885260a260205260408820604435895260205260408820604051611fe581614ac7565b81546001600160a01b0390811680835260018401549091166020830152600283015460408301526003909201546060909101526125625780156124d75760643515612476575b609854604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa90811561246b578991612439575b50606435116123c4576120cd936120c191156123bb5788955b6040519661208588614a90565b338852436020890152604088015260a43560608801526001600160a01b038816608088015260643560a088015260043560c088015236916151b4565b60e08501523691615212565b6101008201526001600160a01b03838116855260a16020908152604080872060443588528252808720845181549085166001600160a01b03199182161782559285015160018201559084015160028201556060840151600382015560808401516004820180549190941692169190911790915560a0820151600582015560c0820151600682015560e08201518051919291906001600160401b038211610523576020600785019161217e84846152ce565b0190875260208720875b83811061239e57505050506101000151908151906001600160401b03821161238a57600860209101926121bb838561532c565b019185526020852090855b8160051c811061234b5750601f19811681036122fd575b505050600080516020615f158339815191526004351480612270575b61225d575b6040519033825260018060a01b0316602082015260c4356040820152606435606082015260a43560808201527fdb89081d9a5399380ffbcc376a961ed023027fca462e08b3d23146e4c6ac62f260a060443593600180831b031692a380f35b61226b604435303385615ea5565b6121fe565b506040516331a9108f60e11b815260443560048201526020816024816001600160a01b0387165afa9081156122f25784916122b8575b506001600160a01b03163014156121f9565b90506020813d6020116122ea575b816122d360209383614b2b565b810103126107c5576122e490614b4c565b386122a6565b3d91506122c6565b6040513d86823e3d90fd5b8592865b601f1983168303811061231d57505060051c01553880806121dd565b909360206123426001928460ff895116919060ff809160031b9316831b921b19161790565b95019101612301565b86875b602081106123635750838201556001016121c6565b855190959160019160209160ff60038a901b81811b199092169216901b179201950161234e565b634e487b7160e01b86526041600452602486fd5b82516001600160a01b031681830155602090920191600101612188565b60c43595612078565b60405162461bcd60e51b815260206004820152604160248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74207365742073746160448201527f7274696e6720707269636520686967686572207468616e206d61782076616c756064820152606560f81b608482015260a490fd5b90506020813d602011612463575b8161245460209383614b2b565b810103126105dd57513861205f565b3d9150612447565b6040513d8b823e3d90fd5b60405162461bcd60e51b815260206004820152603360248201527f636f6e66696775726541756374696f6e3a3a436f6c646965207374617274696e604482015272067207072696365206d757374206265203e203606c1b6064820152608490fd5b600080516020615f158339815191526004350361202b574260c4351161202b5760405162461bcd60e51b815260206004820152603860248201527f636f6e66696775726541756374696f6e3a3a5363686564756c6564206175637460448201527f696f6e2063616e6e6f7420737461727420696e207061737400000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f636f6e66696775726541756374696f6e3a3a4269642073686f756c646e277420604482015264195e1a5cdd60da1b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a4c656e677468206d7573742062656044820152630203e20360e41b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f636f6e66696775726541756374696f6e3a3a41756374696f6e20746f6f206c6f6044820152616e6760f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602b60248201527f636865636b56616c696441756374696f6e547970653a3a496e76616c6964206160448201526a756374696f6e207479706560a81b6064820152608490fd5b50600080516020615f1583398151915260043514611fa1565b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff82168092036105dd5761273d916106be916153d0565b90611f76565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f6f776e6572206d757374206861766520617070726f76656420746f6b656e00006044820152606490fd5b6128aa915060203d6020116128b0575b6128a28183614b2b565b8101906156bc565b38611f57565b503d612898565b60405162461bcd60e51b815260206004820152602960248201527f636f6e66696775726541756374696f6e3a3a4d7573742062652061756374696f604482015268371031b932b0ba37b960b91b6064820152608490fd5b506040516331a9108f60e11b815260443560048201526020816024816001600160a01b038b165afa9081156105ea578891612999575b506001600160a01b03163314611f0d5760405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b90506020813d6020116129cf575b816129b460209383614b2b565b810103126129cb576129c590614b4c565b38612944565b8780fd5b3d91506129a7565b5060408101514210611ef7565b90506020813d602011612a1a575b816129ff60209383614b2b565b81010312612a1657612a1090614b4c565b38611ee5565b8880fd5b3d91506129f2565b50346107c957806003193601126107c9576033546040516001600160a01b039091168152602090f35b50346107c95760403660031901126107c957612a6561492a565b6001600160a01b0390811680835260a160209081526040808520602480358088529184528287209251919592612a9a83614a90565b8381541683526001810154858401526002810154906040840191825260038101546060850152846004820154166080850152600581015460a0850152612aff600860068301549260c08701938452612af460078201614bc0565b60e088015201614c1a565b6101008501525115612da257518015908115612d98575b5015612d4057828251163303612cee5784875260a18452604087208688528452612b4260408820615390565b6040516331a9108f60e11b8082526004820188905290858184818a5afa90811561246b578991612cb9575b5084163014612c56575b60405190815286600482015284818381895afa9081156105ea578891612c21575b508333911603612bd2575051604051911681527f26d4510b556e779d6507640413e013206e44c8f5d018c7c74ed8926f3f024a9c9190a380f35b836084916040519162461bcd60e51b83526004830152808201527f63616e63656c41756374696f6e3a3a546f6b656e207472616e736665722066616044820152631a5b195960e21b6064820152fd5b90508481813d8311612c4f575b612c388183614b2b565b810103126129cb57612c4990614b4c565b38612b98565b503d612c2e565b853b156129cb576040516323b872dd60e01b81523060048201523360248201526044810188905288908181606481838c5af18015612cae57612c9a575b5050612b77565b612ca390614ae2565b6129cb578738612c93565b6040513d84823e3d90fd5b90508581813d8311612ce7575b612cd08183614b2b565b81010312612a1657612ce190614b4c565b38612b6d565b503d612cc6565b8360266084926040519262461bcd60e51b845260048401528201527f63616e63656c41756374696f6e3a3a4d7573742062652061756374696f6e20636044820152653932b0ba37b960d11b6064820152fd5b83602c6084926040519262461bcd60e51b845260048401528201527f63616e63656c41756374696f6e3a3a41756374696f6e206d757374206e6f742060448201526b1a185d99481cdd185c9d195960a21b6064820152fd5b9050421038612b16565b60405162461bcd60e51b815260048101869052602e818401527f63616e63656c41756374696f6e3a3a4d757374206861766520616e206175637460448201526d1a5bdb8818dbdb999a59dd5c995960921b6064820152608490fd5b50346107c95760403660031901126107c957612e1761492a565b604051612e2381614aac565b8281528260a0602092828482015282604082015260608082015260606080820152015260018060a01b03809216835260a781526040832060243584528152604083209160405193612e7385614aac565b818454168552600194858501549484820195865260028101549360408301948552612ea060038301614bc0565b606084019081526005612eb560048501614c1a565b936080860194855201549560a0850196875260405198888a528360e08b01965116898b01525160408a0152516060890152519260c06080890152835180915286610100890194019185905b8a838310612f525750505050505193601f198683030160a08701528080865193848152019501925b828110612f3c57845160c088015286860387f35b835160ff16865294810194928101928701612f28565b84518216875295890195938901939190910190612f00565b50346107c957806003193601126107c957612f836149ef565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346107c957806003193601126107c957602060a354604051908152f35b50346107c95760803660031901126107c957613000614956565b90606435906001600160401b0382116107c95760206130718461306c61302936600488016149bf565b60405160609490941b6001600160601b031916868501908152604435601482015291939092919061305d816034840161092b565b519020926004359236916155d1565b61561f565b6040519015158152f35b50346107c95760403660031901126107c95761309561492a565b60018060a01b038116825260a1602052604082206024358352602052604082206130c7600860405192611e4784614a90565b61010082015260018060a01b038216835260a260205260408320602435845260205260408320916003604051936130fd85614ac7565b80546001600160a01b0390811686526001820154166020860152600281015460408601520154606084015260c082015115613b5e5761314560408301516060840151906153d0565b4210613b0d5760018060a01b038116845260a160205260408420602435855260205261317360408520615390565b6001600160a01b03818116855260a26020908152604080872060243588529091528520858155600181018690556002810186905560030185905583511615613a9a57825184906001600160a01b039081169083163b15611da5576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b0388165af18015612cae57613a86575b505060208301516040840151835160e0850151610100860151815181516001600160a01b03948516999690941696929591949303613a25576024838a9499602060018060a01b0360985416604051948580926361fe24a960e11b82528660048301525afa9283156117865786936139ee575b506040519261329b84614af5565b6002845260403660208601376097546001600160a01b0316806132bd8661568b565b52609e5460405163e286ef3360e01b81526004810185905290602090829060249082906001600160a01b03165afa90811561246b5789916139b4575b506001600160a01b031661330c86615698565b526001600160a01b0361331e86615698565b511661399b575b61332e85615698565b6001600160a01b0390911690526040519061334882614af5565b600282526040366020840137609d546040516303fdde1160e21b8152600481018690526001600160a01b0390911690602081602481855afa908115613990578a91613958575b5060249160209161339e8661568b565b526040519283809263470d6ed960e11b82528960048301525afa90811561246b57899161391d575b50829186916133d76133de95615698565b528c615dc2565b609854604051631446f21360e21b81526001600160a01b038781166004830152602480359083015290949116602085604481845afa80156105ea57889586916138fe575b50156136ee575b5050609a54604051637a99dc0160e11b81526001600160a01b038781166004830152602480359083015260448201949094529c8d93606493508492165af1968715610ee757839984986135a8575b508399849a5b89518c10156134aa5761349e6134a4916134978e8d6156a8565b51906153d0565b9b61567c565b9a61347d565b9a506134c18b6134c89496989a939597999b6153dd565b9a8a615dc2565b8451956134d48761519d565b966134e26040519889614b2b565b8088526134f1601f199161519d565b01366020890137845b86518110156135365780606461352060ff613518613531958c6156a8565b51168d61526a565b0461352b828b6156a8565b5261567c565b6134fa565b50919592966135489498919550615dc2565b51815160408084015160609485015182516001600160a01b039586168152938516602085015291830152928101929092526024359216907f9af79c03d71f5375aad271d2d27dc3b4227362c41a7a2ab66072e4e6592e262b90608090a380f35b995096503d988984823e6135bc8a82614b2b565b6040818b810103126107c55780516001600160401b038111610ec1578101908a8101601f83011215610ec1578151916135f48361519d565b926136026040519485614b2b565b80845260208401918d840160208360051b830101116129cb5760208101925b60208360051b83010184106136ca575050505060208101519a6001600160401b038c116107c157808201601f8d84010112156107c1578b820151916136658361519d565b9c6040519d613674908f614b2b565b8d8481526020019282018460051b82840101602001116129cb579190602083820101925b60208560051b828401010184106136b6575050505050989638613477565b602080809486518152019401939250613698565b83516001600160a01b03811681036136ea57815260209384019301613621565b8980fd5b90919350604051906136ff82614b10565b60018252602036818401376040519261371784614b10565b60018452602036818601376001600160a01b03906137349061568b565b511661373f8461568b565b52609954604051635dc22eff60e01b81526004810187905290602090829060249082906001600160a01b03165afa90811561246b5789916138df575b50156138315750609954604051632260494f60e01b81526004810195909552602090859060249082906001600160a01b03165afa93841561186157879460ff918691613812575b50169b6137cf8d8561526a565b606490046137dc916153dd565b9b6137e7908461526a565b606490046137f48261568b565b526137fe8161568b565b519161380a928b615dc2565b388080613429565b61382b915060203d602011611755576117478183614b2b565b386137c2565b60405163b28a7bad60e01b81526001600160a01b0388166004820152919c50909350602090849060249082905afa92831561178657869360ff9185916138c0575b50169a61387f8c8461526a565b6064900461388d90846153dd565b9b613898908461526a565b606490046138a58261568b565b526138af8161568b565b51916138bb928b615dc2565b61380a565b6138d9915060203d602011611755576117478183614b2b565b38613872565b6138f8915060203d6020116128b0576128a28183614b2b565b3861377b565b613917915060203d6020116128b0576128a28183614b2b565b38613422565b985050906020883d602011613950575b8161393a60209383614b2b565b810103126105dd5796518d9791906133de6133c6565b3d915061392d565b9950506020893d602011613988575b8161397460209383614b2b565b810103126105dd5797518e9890602461338e565b3d9150613967565b6040513d8c823e3d90fd5b506001600160a01b036139ad85615698565b5116613325565b90506020813d6020116139e6575b816139cf60209383614b2b565b81010312612a16576139e090614b4c565b386132f9565b3d91506139c2565b955091506020853d602011613a1d575b81613a0b60209383614b2b565b810103126105dd578a9451913861328d565b3d91506139fe565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b613a8f90614ae2565b6107c557833861321b565b8151909291906001600160a01b039081169084163b15610ec1576040516323b872dd60e01b8152306004820152602480820192909252903560448201528481606481836001600160a01b0389165af1801561175c57613afa575b50613548565b613b0690949194614ae2565b9238613af4565b60405162461bcd60e51b8152602060048201526024808201527f736574746c6541756374696f6e3a3a41756374696f6e20686173206e6f7420656044820152631b99195960e21b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f736574746c6541756374696f6e3a3a4e6f2061756374696f6e206578697374736044820152fd5b5060c03660031901126107c957613bb761492a565b613bbf614940565b9060a4356001600160401b0381116107c557613be2613c2b9136906004016149bf565b613bea615403565b604051606085901b6001600160601b03191660208201908152602435603483015261306c91613c1c816054810161092b565b519020926064359236916155d1565b156145df5760018060a01b038216835260a6602052613c5f6064356040852060019160005201602052604060002054151590565b1561457c5760018060a01b038216835260a760205260408320606435845260205260408320600560405191613c9383614aac565b80546001600160a01b031683526001810154602084015260028101546040840152613cc060038201614bc0565b6060840152613cd160048201614c1a565b6080840152015460a0820152604051606084811b6001600160601b03199081166020840190815260643560348501529185901b166054830152602435606883015290613d20816088810161092b565b5190209060018060a01b038416855260a860205260408520606435865260205260408520549180865260a96020528260408720541015614506576001600160a01b038416865260a16020908152604080882060243589529091528620600601546144a7576084351561445357609854604051637cd11f4360e11b81526001600160a01b0390911690602081600481855afa9081156105ea578891614421575b50608435116143bd57602083015160843510614352576040516331a9108f60e11b81526024803560048301526020908290816001600160a01b038a165afa9081156105ea578891614318575b506001600160a01b038781169116036142c05760a05460405163e985e9c560e01b81526001600160a01b0388811660048301529091166024820152602081806044810103816001600160a01b038a165afa9081156105ea5788916142a1575b5015612843576020602491604051928380926361fe24a960e11b825260843560048301525afa90811561186157879161426d575b50613eae613ebe916084356153d0565b83516001600160a01b0316615894565b855260a9602052816040862055604081015160018060a01b03825116602083015160608401519060808501519260405194613ef886614a90565b60018060a01b038a1686524360208701524260408701526060860152608085015260a0840152600080516020615f3583398151915260c084015260e083015261010082015260018060a01b038416865260a1602052604086206024358752602052604086209060018060a01b038151166001600160601b0360a01b8354161782556020810151600183015560408101516002830155606081015160038301556004820160018060a01b036080830151166001600160601b0360a01b82541617905560a0810151600583015560c0810151600683015560e08101518051906001600160401b0382116142595760206007850191613ff484846152ce565b0190895260208920895b83811061423c57505050506101000151908151906001600160401b0382116104f25760086020910192614031838561532c565b019187526020872090875b8160051c81106141fd5750601f19811681036141af575b50509051609854604051638347592160e01b81526001600160a01b0392831693509160209183916004918391165afa8015611786576003918791614190575b50604051926140a084614ac7565b338452602084019081526040840190608435825260ff606086019316835260018060a01b038716895260a2602052604089206024358a52602052604089209460018060a01b039051166001600160601b0360a01b865416178555600185019060018060a01b039051166001600160601b0360a01b82541617905551600284015551910155614132602435308585615ea5565b6040519260018060a01b0316835260643560208401526084356040840152606083015233917f98d4c2e28312f55a87c3b4b9eca06fe575a2b0db79bccf976fa9c8863e48db9f60806024359360018060a01b031692a4600160655580f35b6141a9915060203d602011611755576117478183614b2b565b38614092565b8792885b601f198316830381106141cf57505060051c0155388080614053565b909360206141f46001928460ff895116919060ff809160031b9316831b921b19161790565b950191016141b3565b88895b6020811061421557508382015560010161403c565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501614200565b82516001600160a01b031681830155602090920191600101613ffe565b634e487b7160e01b89526041600452602489fd5b90506020813d602011614299575b8161428860209383614b2b565b810103126118555751613eae613e9e565b3d915061427b565b6142ba915060203d6020116128b0576128a28183614b2b565b38613e6a565b60405162461bcd60e51b815260206004820152602a60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4e6f74207460448201526937b5b2b71037bbb732b960b11b6064820152608490fd5b90506020813d60201161434a575b8161433360209383614b2b565b810103126129cb5761434490614b4c565b38613e0b565b3d9150614326565b60405162461bcd60e51b815260206004820152603b60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43616e6e6f60448201527f74206265206c6f776572207468616e206d696e696d756d2062696400000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603660248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4d757374206044820152756265206c657373207468616e206d61782076616c756560501b6064820152608490fd5b90506020813d60201161444b575b8161443c60209383614b2b565b810103126129cb575138613dbf565b3d915061442f565b60405162461bcd60e51b815260206004820152602660248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43616e6e6f60448201526507420626520360d41b6064820152608490fd5b60405162461bcd60e51b815260206004820152603160248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a41756374696044820152706f6e20616c72656164792065786973747360781b6064820152608490fd5b60405162461bcd60e51b815260206004820152604260248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a546f6b656e60448201527f20616c7265616479207573656420666f722074686973204d65726b6c6520726f6064820152611bdd60f21b608482015260a490fd5b60405162461bcd60e51b815260206004820152603560248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4d65726b6c60448201527419481c9bdbdd081b9bdd081c9959da5cdd195c9959605a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a496e76616c60448201526e34b21026b2b935b63290383937b7b360891b6064820152608490fd5b50346107c957602080600319360112611da5576001600160a01b0361465f61492a565b16825260a681526040822060405192838383549182815201908193835284832090835b8181106146d65750505084614698910385614b2b565b60405193838594850191818652518092526040850193925b8281106146bf57505050500390f35b8351855286955093810193928101926001016146b0565b825484529286019260019283019201614682565b50346107c95760203660031901126107c95760043560ff8116809103611da5576147126149ef565b60a35580f35b50346107c95760403660031901126107c9576080906001600160a01b03906040908261474261492a565b16815260a26020528181206024358252602052208181541691600182015416906003600282015491015491604051938452602084015260408301526060820152f35b50346107c957806003193601126107c957602090604051908152f35b50346107c95760203660031901126107c9576147ba6149ef565b60043560a55580f35b50346107c957806003193601126107c957602060a454604051908152f35b905034611da5576040366003190112611da5576001600160a01b03918261480661492a565b16815260209060a182526040812060243582528252604081209261482981614a90565b8484541681526001926148f2848601549582840196875260028101549060408501918252600381015460608601908152896004830154166080870190815260058301549060a0880191825260068401549260c089019384528c6148a1600861489360078901614bc0565b9760e08d0198895201614c1a565b9d8e9a6101009b8c82015251169c5196519151925116925193519451956040519c8d52888d015260408c015260608b015260808a015260a089015260c08801526101208060e0890152870190614982565b91858303908601528080875193848152019601925b8281106149145785870386f35b835160ff16875295810195928101928401614907565b600435906001600160a01b03821682036105dd57565b604435906001600160a01b03821682036105dd57565b602435906001600160a01b03821682036105dd57565b608435906001600160a01b03821682036105dd57565b90815180825260208080930193019160005b8281106149a2575050505090565b83516001600160a01b031685529381019392810192600101614994565b9181601f840112156105dd578235916001600160401b0383116105dd576020808501948460051b0101116105dd57565b6033546001600160a01b03163303614a0357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b61012081019081106001600160401b03821117610ec557604052565b60c081019081106001600160401b03821117610ec557604052565b608081019081106001600160401b03821117610ec557604052565b6001600160401b038111610ec557604052565b606081019081106001600160401b03821117610ec557604052565b604081019081106001600160401b03821117610ec557604052565b90601f801991011681019081106001600160401b03821117610ec557604052565b51906001600160a01b03821682036105dd57565b15614b6757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b9060405191828154918282526020928383019160005283600020936000905b828210614bf757505050614bf592500383614b2b565b565b85546001600160a01b031684526001958601958895509381019390910190614bdf565b90604051918281549182825260209081830190600052816000206000905b85601f8301106150065794614bf595549184828210614ff3575b828210614fdd575b828210614fc7575b828210614fb1575b828210614f9c575b828210614f86575b828210614f70575b828210614f5a575b828210614f44575b828210614f2e575b828210614f18575b828210614f02575b828210614eec575b828210614ed6575b828210614ec0575b828210614eaa575b828210614e94575b828210614e7e575b828210614e68575b828210614e52575b828210614e3c575b828210614e26575b828210614e10575b828210614dfa575b828210614de4575b828210614dce575b828210614db8575b828210614da2575b828210614d8c575b828210614d76575b828210614d60575b5010614d53575b5090500383614b2b565b60f81c8152018038614d49565b6001919460ff8560f01c16815201930184614d42565b6001919460ff8560e81c16815201930184614d3a565b6001919460ff8560e01c16815201930184614d32565b6001919460ff8560d81c16815201930184614d2a565b6001919460ff8560d01c16815201930184614d22565b6001919460ff8560c81c16815201930184614d1a565b6001919460ff8560c01c16815201930184614d12565b6001919460ff8560b81c16815201930184614d0a565b6001919460ff8560b01c16815201930184614d02565b6001919460ff8560a81c16815201930184614cfa565b6001919460ff8560a01c16815201930184614cf2565b6001919460ff8560981c16815201930184614cea565b6001919460ff8560901c16815201930184614ce2565b6001919460ff8560881c16815201930184614cda565b6001919460ff8560801c16815201930184614cd2565b6001919460ff8560781c16815201930184614cca565b6001919460ff8560701c16815201930184614cc2565b6001919460ff8560681c16815201930184614cba565b6001919460ff8560601c16815201930184614cb2565b6001919460ff8560581c16815201930184614caa565b6001919460ff8560501c16815201930184614ca2565b6001919460ff8560481c16815201930184614c9a565b6001919460ff8560401c16815201930184614c92565b6001919460ff8560381c16815201930184614c8a565b6001919460ff8560301c16815201930184614c82565b6001919460ff8560281c16815201930184614c7a565b6001919460ff85831c16815201930184614c72565b6001919460ff8560181c16815201930184614c6a565b6001919460ff8560101c16815201930184614c62565b6001919460ff8560081c16815201930184614c5a565b6001919460ff8516815201930184614c52565b9350916001610400829693865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018693919492614c38565b6001600160401b038111610ec55760051b60200190565b92916151bf8261519d565b916151cd6040519384614b2b565b829481845260208094019160051b81019283116105dd57905b8282106151f35750505050565b81356001600160a01b03811681036105dd5781529083019083016151e6565b929161521d8261519d565b9161522b6040519384614b2b565b829481845260208094019160051b81019283116105dd57905b8282106152515750505050565b813560ff811681036105dd578152908301908301615244565b8181029291811591840414171561527d57565b634e487b7160e01b600052601160045260246000fd5b81811061529e575050565b60008155600101615293565b805460008255806152b9575050565b614bf591600052602060002090810190615293565b90600160401b8111610ec5578154908083558181106152ec57505050565b614bf59260005260206000209182019101615293565b80546000825580615311575050565b614bf591600052601f6020600020910160051c810190615293565b90600160401b8111610ec557815481835580821061534957505050565b614bf592600052601f6020600020918180850160051c8401941680615375575b500160051c0190615293565b600019908186019182549160200360031b1c16905538615369565b6008614bf591600080825580600183015580600283015580600383015580600483015580600583015560068201556153ca600782016152aa565b01615302565b9190820180921161527d57565b9190820391821161527d57565b908160209103126105dd575160ff811681036105dd5790565b600260655414615414576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b80548210156154715760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60008281526001820160205260409020546154ee57805490600160401b821015610ec557826154d76154c0846001809601855584615459565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b906001820190600092818452826020526040842054908115156000146155ca5760001991808301818111610537578254908482019182116155b657808203615581575b5050508054801561556d578201916155508383615459565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6155a16155916154c09386615459565b90549060031b1c92839286615459565b90558652846020526040862055388080615538565b634e487b7160e01b88526011600452602488fd5b5050505090565b92916155dc8261519d565b916155ea6040519384614b2b565b829481845260208094019160051b81019283116105dd57905b8282106156105750505050565b81358152908301908301615603565b929091906000915b84518310156156745761563a83866156a8565b5190600082821015615662575060005260205261565c60406000205b9261567c565b91615627565b60409161565c93825260205220615656565b915092501490565b600019811461527d5760010190565b8051156154715760200190565b8051600110156154715760400190565b80518210156154715760209160051b010190565b908160209103126105dd575180151581036105dd5790565b6001600160a01b03908116801591821561572f575b5050156156f257565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250609c541691602460405180948193632d5ad3d560e01b835260048301525afa9081156157885760009161576a575b5038806156e9565b615782915060203d81116128b0576128a28183614b2b565b38615762565b6040513d6000823e3d90fd5b6001600160a01b0390811690811561588f57609f54604051636eb1769f60e11b815233600482015291166001600160a01b0316602482015290602090829081806044810103915afa9081156157885760009161585e575b50106157f357565b60405162461bcd60e51b815260206004820152603960248201527f73656e646572206e6565647320746f20617070726f766520455243323041707060448201527f726f76616c4d616e6167657220666f722063757272656e6379000000000000006064820152608490fd5b906020823d8211615887575b8161587760209383614b2b565b810103126107c9575051386157eb565b3d915061586a565b505050565b6001600160a01b0391600091838116908115615a965734615a40576040938451916370a0823160e01b908184523060048501526020978885602481895afa948515615a36578495615a07575b50609f541690813b156107c5578751630aed65f560e11b81526001600160a01b03919091166004820152336024820152306044820152606481018790529083908290608490829084905af180156159fd57908892916159ea575b50602487518096819382523060048301525afa9081156159df57906159b0575b61596492506153dd565b0361596d575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b508482813d83116159d8575b6159c68183614b2b565b810103126105dd57615964915161595a565b503d6159bc565b8551903d90823e3d90fd5b6159f690939193614ae2565b913861593a565b87513d85823e3d90fd5b9094508881813d8311615a2f575b615a1f8183614b2b565b810103126107c5575193386158e0565b503d615a15565b88513d86823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b50509150503403615aa357565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b3d15615b18573d906001600160401b038211610ec55760405191615b0c601f8201601f191660200184614b2b565b82523d6000602084013e565b606090565b6020808252825181830181905290939260005b828110615b5257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501615b30565b15615b6e5750565b60405162461bcd60e51b8152908190615b8a9060048301615b1d565b0390fd5b9291908015615c26576064615ba6615bad938361526a565b04906153d0565b6001600160a01b039290919083168015615bcb57614bf59350615c2c565b50609b5460405163410085df60e01b602082019081526001600160a01b03909316602482015260448101849052614bf5946000948594939091169291615c14816064810161092b565b51925af1615c20615ade565b90615b66565b50505050565b60405163a9059cbb60e01b60208083019182526001600160a01b039490941660248301526044808301959095529381529192615cc592916000908190615c73606486614b2b565b60018060a01b03169260405194615c8986614b10565b8786527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656488870152519082855af1615cbf615ade565b91615d4d565b805190828215928315615d35575b50505015615cde5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b615d4593508201810191016156bc565b388281615cd3565b91929015615daf5750815115615d61575090565b3b15615d6a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015615b6e5750805190602001fd5b6001600160a01b0390811694939290918515615e1d575060005b8151811015615e155780615e0b84615df7615e1094866156a8565b5116615e0383886156a8565b519089615c2c565b61567c565b615ddc565b505050509050565b92945090609b5416916040516020615e4d8183019463c176e63960e01b8652604060248501526064840190614982565b82810360231901604484015287518082529082019782019160005b828110615e915750505050916000939183615c148695614bf5989903601f198101835282614b2b565b83518a529881019892810192600101615e68565b919060018060a01b0360a0541690813b156105dd57604051630aed65f560e11b81526001600160a01b039485166004820152908416602482015291909216604482015260648101929092526000908290608490829084905af1801561578857615f0b5750565b614bf590614ae256fe35775639ffa1ccf8884b76bf027c512202ff431a9e3a1ba9ccd3c50c795759a6b827bfa0833ec95ae4f99f3f3f227cdb14c204ea3ebc414f5f479aabf742b928a2646970667358221220c7575b130bcf816a83e802c3fc144d074c1984de949da4f88cc04e9f523db19864736f6c63430008120033","sourceMap":"1110:23712:69:-:0;;;;;;;;;;;;;;;;;","linkReferences":{"src/v2/utils/MarketConfigV2.sol":{"MarketConfigV2":[{"start":3077,"length":20}]}}},"deployedBytecode":{"object":"0x608080604052600436101561006a575b50361561001b57600080fd5b60405162461bcd60e51b815260206004820152602160248201527f455448207061796d656e74206e6f74206163636570746564206469726563746c6044820152607960f81b6064820152608490fd5b600090813560e01c9081630cd87c68146147e1575080630e519ef9146147c357806310f79789146147a0578063155a56b114614784578063299a0e1e1461471857806348626b90146146ea5780634ebade5f1461463c5780635060eadf14613ba25780635138b08c1461307b5780635e51b2d414612fe65780636fe9f44c14612fc8578063715018a614612f6a57806376ffb5a714612dfd578063859b97fe14612a4b5780638da5cb5b14612a225780639041a0ec14611da9578063ac964f8e14611c93578063affdafd814611c70578063b23afc2614611c47578063b5678588146113ae578063bb120e661461133a578063c306b37814610a03578063c47c35c114610975578063c90b87141461094c578063d97f7657146108be578063daa26499146108a0578063e29ac8901461085d578063f2fde38b146107cc5763f8aa56ee0361000f57346107c95760c03660031901126107c9576101cb614956565b608480356001600160401b0381116107c5576101eb9036906004016149bf565b9160a4356001600160401b0381116107c15761020b9036906004016149bf565b9091610216866156d4565b841561076f5760058511610721578185036106ca576000805b83821061069e57606491500361064c5760a454606435116105f557609854604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa9081156105ea5788916105b3575b506044351161054b575033865260a660205261029f60043560408820615487565b5033865260a86020526040862060043587526020526040862054936001850185116105375733875260a8602052604087206004358852602052600185016040882055610329604051936102f185614aac565b60018060a01b038816855261031a602086019660443588526040870194606435865236916151b4565b93606086019485523691615212565b60808401526001850160a084015233875260a7602052604087206004358852602052604087209360018060a01b038451166001600160601b0360a01b865416178555516001850155516002840155518051906001600160401b038211610523576020600385019161039a84846152ce565b0190875260208720875b83811061050657505050506004820160808201518051906001600160401b0382116104f2576020906103d6838561532c565b019187526020872090875b8160051c81106104b35750601f198116810380610460575b5050505060a0015160059190910155604080516001600160a01b0393909316835260443560208401526064359083015260010160608201526004359033907f0f068b6b9bec01608fb1954057289ba057441305f4c64a0fc92bc9fc9a59ff3690608090a380f35b928893895b81811061048357505050916005939160a093851c01559138806103f9565b90919460206104a96001928460ff8a5116919060ff809160031b9316831b921b19161790565b9601929101610465565b88895b602081106104cb5750838201556001016103e1565b855190959160019160209160ff60038a901b81811b199092169216901b17920195016104b6565b634e487b7160e01b88526041600452602488fd5b82516001600160a01b0316818301556020909201916001016103a4565b634e487b7160e01b87526041600452602487fd5b634e487b7160e01b87526011600452602487fd5b60405162461bcd60e51b815260206004820152604060248201527f726567697374657241756374696f6e4d65726b6c65526f6f743a3a537461727460448201527f696e6720616d6f756e742065786365656473206d6178696d756d2076616c75656064820152fd5b90506020813d6020116105e2575b816105ce60209383614b2b565b810103126105dd57513861027e565b600080fd5b3d91506105c1565b6040513d8a823e3d90fd5b60405162461bcd60e51b815260206004820152602c60248201527f726567697374657241756374696f6e4d65726b6c65526f6f743a3a447572617460448201526b696f6e20746f6f206c6f6e6760a01b6064820152fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152fd5b8160051b8501359060ff82168092036105dd576106c4916106be916153d0565b9161567c565b9061022f565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152fd5b8580fd5b8380fd5b80fd5b50346107c95760203660031901126107c9576107e661492a565b6107ee6149ef565b6001600160a01b038116156108095761080690614a47565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346107c95760403660031901126107c9576020906040906001600160a01b0361088561492a565b16815260a88352818120602435825283522054604051908152f35b50346107c957806003193601126107c957602060a554604051908152f35b50346107c95760803660031901126107c95760406020916108dd61492a565b61092b6109396108eb614940565b9285519283918883019560643591602435908892606894926001600160601b0319809360601b168552601485015260601b16603483015260488201520190565b03601f198101835282614b2b565b519020815260a983522054604051908152f35b50346107c957806003193601126107c9576020604051600080516020615f358339815191528152f35b50346107c95760403660031901126107c95760e0906001600160a01b03906040908261099f61492a565b16815260a1602052818120602435825260205220908082541691600181015491600282015490600383015490600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346107c9576101403660031901126107c957610a1e61492a565b610a26614956565b610a2e614940565b606435916001600160a01b03831683036105dd57610a4a61496c565b9260a435906001600160a01b03821682036105dd5760c435906001600160a01b03821682036105dd5760e435956001600160a01b03871687036105dd5761010435946001600160a01b03861686036105dd5761012435966001600160a01b03881688036105dd578a549960ff8b60081c16159a8b809c61132d575b8015611316575b156112ba5760ff1981166001178d558b6112a9575b506001600160a01b03811615611248576001600160a01b038316156111ed576001600160a01b0382161561118a576001600160a01b03851615611127576001600160a01b038416156110d1576001600160a01b03871615611074576001600160a01b03861615611017576001600160a01b038a1615610fb7576001600160a01b03881615610f55576001600160a01b03891615610ef25760405163ef8c824960e01b81526001600160a01b039a8b166004820152908a16602482015290891660448201529088166064820152908716608482015290861660a482015290851660c482015290841660e48201529083166101048201529116610124820152610140816101448173__$c98ca6a62396e5a7a1471db151198a1f31$__5af4908115610ee7578391610d80575b5060018060a01b03815116906001600160601b0360a01b9182609754161760975560018060a01b0360208201511682609854161760985560018060a01b0360408201511682609954161760995560018060a01b0360608201511682609a541617609a5560018060a01b0360808201511682609b541617609b5560018060a01b0360a08201511682609c541617609c5560018060a01b0360c08201511682609d541617609d5560018060a01b0360e08201511682609e541617609e5560018060a01b036101008201511682609f541617609f5561012060018060a01b03910151169060a054161760a055600160a35562093a8060a45561038460a555610d1f60ff835460081c16610d1a81614b60565b614b60565b610d2833614a47565b815490610d3e60ff8360081c16610d1a81614b60565b6001606555610d4b575080f35b61ff00191681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b9050610140813d61014011610edf575b81610d9e6101409383614b2b565b81010312610edb576040519061014082018281106001600160401b03821117610ec557604052610dcd81614b4c565b825260208101516001600160a01b0381168103610ec157602083015260408101516001600160a01b0381168103610ec157604083015260608101516001600160a01b0381168103610ec157606083015260808101516001600160a01b0381168103610ec157608083015260a08101516001600160a01b0381168103610ec15760a083015260c08101516001600160a01b0381168103610ec15760c083015260e08101516001600160a01b0381168103610ec15760e083015261010081810151906001600160a01b03821682036107c15783015261012090810151906001600160a01b0382168203610ec15782015238610c0b565b8480fd5b634e487b7160e01b600052604160045260246000fd5b8280fd5b3d9150610d90565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a657263373231417070726f76616c4d616e616765604482015274722063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603460248201527f696e697469616c697a653a3a6572633230417070726f76616c4d616e616765726044820152732063616e6e6f742062652030206164647265737360601b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f696e697469616c697a653a3a6e6574776f726b42656e65666963696172792063604482015271616e6e6f742062652030206164647265737360701b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6753657474696e67732063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f696e697469616c697a653a3a7374616b696e6752656769737472792063616e6e60448201526e6f742062652030206164647265737360881b6064820152608490fd5b60405162461bcd60e51b815260206004820152602860248201527f696e697469616c697a653a3a7061796d656e74732063616e6e6f742062652030604482015267206164647265737360c01b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a617070726f766564546f6b656e52656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152603560248201527f696e697469616c697a653a3a73706163654f70657261746f7252656769737472604482015274792063616e6e6f742062652030206164647265737360581b6064820152608490fd5b60405162461bcd60e51b815260206004820152602d60248201527f696e697469616c697a653a3a726f79616c7479456e67696e652063616e6e6f7460448201526c2062652030206164647265737360981b6064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f696e697469616c697a653a3a6d61726b6574706c61636553657474696e67732060448201527263616e6e6f742062652030206164647265737360681b6064820152608490fd5b61ffff1916610101178c5538610ae1565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610acc5750600160ff821614610acc565b50600160ff821610610ac5565b50346107c95760403660031901126107c9576001600160a01b03906040908261136161492a565b16815260a760209081528282206024358352815291902080546001820154600283015460059093015460408051969093166001600160a01b03168652938501528301526060820152608090f35b5060803660031901126107c9576113c361492a565b6113cb614940565b906113d4615403565b6098546040516361fe24a960e11b815260643560048201526001600160a01b0390911690602081602481855afa801561175c578590611c13575b61141b91506064356153d0565b6114258185615794565b60018060a01b038316855260a160205260408520602435865260205260408520916114bb60086040519461145886614a90565b80546001600160a01b0390811687526001820154602088015260028201546040880152600382015460608801526004820154166080870152600581015460a0870152600681015460c08701526114b060078201614bc0565b60e087015201614c1a565b61010084015260c083015115611bcf5782516001600160a01b03163314611b7e5760408301514210611b3957604083015180611ae0575b5060808301516001600160a01b0390811690861603611a855760a083015160643510611a4057606435156119ec57602060049160405192838092637cd11f4360e11b82525afa9081156117865786916119ba575b50606435116119755760018060a01b038316855260a260205260408520602435865260205260408520916040519161157d83614ac7565b83546001600160a01b0390811680855260018601549091166020850152600285015460408501819052600390950154606085015293846118f0575b506115c39086615894565b604081015180611887575b5082158061186c575b6117bc575b508180611791575b5050609854604051638347592160e01b80825291602090829060049082906001600160a01b03165afa908115611786578691611767575b5060036040519161162b83614ac7565b3383526001600160a01b038781166020808601918252606435604080880191825260ff95909516606088019081528a85168d5260a28352858d206024358e528352858d20975188549086166001600160a01b03199182161789559351600189018054918716919095161790935551600287015590519390940192909255609854905193845283916004918391165afa801561175c5760ff91869161172d575b506040519460018060a01b031685526064356020860152821560408601521660608401526080830152602435917f189a468e632a450afd491f84aa9ae94addc6813c7e309a7b1b1223f88802a77d60a03393600180831b031692a4600160655580f35b61174f915060203d602011611755575b6117478183614b2b565b8101906153ea565b386116ca565b503d61173d565b6040513d87823e3d90fd5b611780915060203d602011611755576117478183614b2b565b3861161b565b6040513d88823e3d90fd5b602082015160408301516060909301516117b59390916001600160a01b0316615b8e565b38816115e4565b6040516331a9108f60e11b81526024803560048301529091906020908390816001600160a01b0389165afa918215611861578792611821575b50516001600160a01b0390811691168190036115dc5761181b9060243590309086615ea5565b386115dc565b9091506020813d602011611859575b8161183d60209383614b2b565b810103126118555761184e90614b4c565b90386117f5565b8680fd5b3d9150611830565b6040513d89823e3d90fd5b50600080516020615f3583398151915260c0820151146115d7565b6118a09061189b42916060850151906153d0565b6153dd565b60a554908181106118b2575b506115ce565b61189b6118c39260608501516153d0565b6001600160a01b038516875260a1602090815260408089206024358a5290915287206003015538806118ac565b606461190261190d9260a3549061526a565b0460408501516153d0565b6064351061191b57386115b8565b60405162461bcd60e51b815260206004820152602c60248201527f6269643a3a4d75737420696e63726561736520626964206279206d696e696d7560448201526b6d2070657263656e7461676560a01b6064820152608490fd5b60405162461bcd60e51b815260206004820152601a60248201527f6269643a3a4269642065786365656473206d61782076616c75650000000000006044820152606490fd5b90506020813d6020116119e4575b816119d560209383614b2b565b810103126105dd575138611546565b3d91506119c8565b60405162461bcd60e51b815260206004820152602660248201527f6269643a3a42696420616d6f756e74206d75737420626520677265617465722060448201526507468616e20360d41b6064820152608490fd5b60405162461bcd60e51b815260206004820152601760248201527f6269643a3a42696420616d6f756e7420746f6f206c6f770000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602d60248201527f6269643a3a43757272656e637920646f6573206e6f74206d617463682061756360448201526c74696f6e2063757272656e637960981b6064820152608490fd5b6060840151611aee916153d0565b421015611afb57386114f2565b60405162461bcd60e51b8152602060048201526016602482015275189a590e8e905d58dd1a5bdb881a185cc8195b99195960521b6044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f6269643a3a41756374696f6e206e6f74206163746976650000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f6269643a3a43616e6e6f7420626964206f6e20796f7572206f776e206175637460448201526234b7b760e91b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f6269643a3a4d757374206861766520612063757272656e742061756374696f6e6044820152fd5b506020813d602011611c3f575b81611c2d60209383614b2b565b810103126105dd5761141b905161140e565b3d9150611c20565b50346107c957806003193601126107c9576020604051600080516020615f158339815191528152f35b50346107c95760203660031901126107c957611c8a6149ef565b60043560a45580f35b50346107c957602080600319360112611da5576004359033835260a68152611cce826040852060019160005201602052604060002054151590565b15611d515733835260a68152611ce782604085206154f5565b5033835260a781526040832090828452526000600560408420848155826001820155826002820155611d1b600382016152aa565b611d2760048201615302565b0155337f6c4be52b9a419eb78a1483e27346ba15e73a3f933dfc4310e9728ddf33c695f88380a380f35b6084906040519062461bcd60e51b82526004820152602760248201527f63616e63656c41756374696f6e4d65726b6c65526f6f743a3a4e6f7420726f6f6044820152663a1037bbb732b960c91b6064820152fd5b5080fd5b50346107c9576101203660031901126107c957611dc4614956565b611dcc61496c565b60e4356001600160401b0381116107c557611deb9036906004016149bf565b90610104356001600160401b0381116107c157611e0c9036906004016149bf565b611e15856156d4565b60018060a01b038616875260a160205260408720604435885260205260408720611eaa600860405192611e4784614a90565b80546001600160a01b0390811685526001820154602086015260028201546040860152600382015460608601526004820154166080850152600581015460a0850152600681015460c0850152611e9f60078201614bc0565b60e085015201614c1a565b6101008201526040516331a9108f60e11b815260443560048201526020816024816001600160a01b038c165afa90811561246b5789916129e4575b506001600160a01b03163014806129d7575b1561290e57516001600160a01b031633036128b7575b60a05460405163e985e9c560e01b81523360048201526001600160a01b039091166024820152602081806044810103816001600160a01b038b165afa9081156105ea578891612888575b50156128435783156127ee576005841161279d57808403612743576000805b82821061271d5760649150036126c857600080516020615f35833981519152600435148080156126af575b156126565760a45460a435116126065760a435156125b55760018060a01b038716885260a260205260408820604435895260205260408820604051611fe581614ac7565b81546001600160a01b0390811680835260018401549091166020830152600283015460408301526003909201546060909101526125625780156124d75760643515612476575b609854604051637cd11f4360e11b815290602090829060049082906001600160a01b03165afa90811561246b578991612439575b50606435116123c4576120cd936120c191156123bb5788955b6040519661208588614a90565b338852436020890152604088015260a43560608801526001600160a01b038816608088015260643560a088015260043560c088015236916151b4565b60e08501523691615212565b6101008201526001600160a01b03838116855260a16020908152604080872060443588528252808720845181549085166001600160a01b03199182161782559285015160018201559084015160028201556060840151600382015560808401516004820180549190941692169190911790915560a0820151600582015560c0820151600682015560e08201518051919291906001600160401b038211610523576020600785019161217e84846152ce565b0190875260208720875b83811061239e57505050506101000151908151906001600160401b03821161238a57600860209101926121bb838561532c565b019185526020852090855b8160051c811061234b5750601f19811681036122fd575b505050600080516020615f158339815191526004351480612270575b61225d575b6040519033825260018060a01b0316602082015260c4356040820152606435606082015260a43560808201527fdb89081d9a5399380ffbcc376a961ed023027fca462e08b3d23146e4c6ac62f260a060443593600180831b031692a380f35b61226b604435303385615ea5565b6121fe565b506040516331a9108f60e11b815260443560048201526020816024816001600160a01b0387165afa9081156122f25784916122b8575b506001600160a01b03163014156121f9565b90506020813d6020116122ea575b816122d360209383614b2b565b810103126107c5576122e490614b4c565b386122a6565b3d91506122c6565b6040513d86823e3d90fd5b8592865b601f1983168303811061231d57505060051c01553880806121dd565b909360206123426001928460ff895116919060ff809160031b9316831b921b19161790565b95019101612301565b86875b602081106123635750838201556001016121c6565b855190959160019160209160ff60038a901b81811b199092169216901b179201950161234e565b634e487b7160e01b86526041600452602486fd5b82516001600160a01b031681830155602090920191600101612188565b60c43595612078565b60405162461bcd60e51b815260206004820152604160248201527f636f6e66696775726541756374696f6e3a3a43616e6e6f74207365742073746160448201527f7274696e6720707269636520686967686572207468616e206d61782076616c756064820152606560f81b608482015260a490fd5b90506020813d602011612463575b8161245460209383614b2b565b810103126105dd57513861205f565b3d9150612447565b6040513d8b823e3d90fd5b60405162461bcd60e51b815260206004820152603360248201527f636f6e66696775726541756374696f6e3a3a436f6c646965207374617274696e604482015272067207072696365206d757374206265203e203606c1b6064820152608490fd5b600080516020615f158339815191526004350361202b574260c4351161202b5760405162461bcd60e51b815260206004820152603860248201527f636f6e66696775726541756374696f6e3a3a5363686564756c6564206175637460448201527f696f6e2063616e6e6f7420737461727420696e207061737400000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f636f6e66696775726541756374696f6e3a3a4269642073686f756c646e277420604482015264195e1a5cdd60da1b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636f6e66696775726541756374696f6e3a3a4c656e677468206d7573742062656044820152630203e20360e41b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f636f6e66696775726541756374696f6e3a3a41756374696f6e20746f6f206c6f6044820152616e6760f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602b60248201527f636865636b56616c696441756374696f6e547970653a3a496e76616c6964206160448201526a756374696f6e207479706560a81b6064820152608490fd5b50600080516020615f1583398151915260043514611fa1565b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8401359060ff82168092036105dd5761273d916106be916153d0565b90611f76565b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f6f776e6572206d757374206861766520617070726f76656420746f6b656e00006044820152606490fd5b6128aa915060203d6020116128b0575b6128a28183614b2b565b8101906156bc565b38611f57565b503d612898565b60405162461bcd60e51b815260206004820152602960248201527f636f6e66696775726541756374696f6e3a3a4d7573742062652061756374696f604482015268371031b932b0ba37b960b91b6064820152608490fd5b506040516331a9108f60e11b815260443560048201526020816024816001600160a01b038b165afa9081156105ea578891612999575b506001600160a01b03163314611f0d5760405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b90506020813d6020116129cf575b816129b460209383614b2b565b810103126129cb576129c590614b4c565b38612944565b8780fd5b3d91506129a7565b5060408101514210611ef7565b90506020813d602011612a1a575b816129ff60209383614b2b565b81010312612a1657612a1090614b4c565b38611ee5565b8880fd5b3d91506129f2565b50346107c957806003193601126107c9576033546040516001600160a01b039091168152602090f35b50346107c95760403660031901126107c957612a6561492a565b6001600160a01b0390811680835260a160209081526040808520602480358088529184528287209251919592612a9a83614a90565b8381541683526001810154858401526002810154906040840191825260038101546060850152846004820154166080850152600581015460a0850152612aff600860068301549260c08701938452612af460078201614bc0565b60e088015201614c1a565b6101008501525115612da257518015908115612d98575b5015612d4057828251163303612cee5784875260a18452604087208688528452612b4260408820615390565b6040516331a9108f60e11b8082526004820188905290858184818a5afa90811561246b578991612cb9575b5084163014612c56575b60405190815286600482015284818381895afa9081156105ea578891612c21575b508333911603612bd2575051604051911681527f26d4510b556e779d6507640413e013206e44c8f5d018c7c74ed8926f3f024a9c9190a380f35b836084916040519162461bcd60e51b83526004830152808201527f63616e63656c41756374696f6e3a3a546f6b656e207472616e736665722066616044820152631a5b195960e21b6064820152fd5b90508481813d8311612c4f575b612c388183614b2b565b810103126129cb57612c4990614b4c565b38612b98565b503d612c2e565b853b156129cb576040516323b872dd60e01b81523060048201523360248201526044810188905288908181606481838c5af18015612cae57612c9a575b5050612b77565b612ca390614ae2565b6129cb578738612c93565b6040513d84823e3d90fd5b90508581813d8311612ce7575b612cd08183614b2b565b81010312612a1657612ce190614b4c565b38612b6d565b503d612cc6565b8360266084926040519262461bcd60e51b845260048401528201527f63616e63656c41756374696f6e3a3a4d7573742062652061756374696f6e20636044820152653932b0ba37b960d11b6064820152fd5b83602c6084926040519262461bcd60e51b845260048401528201527f63616e63656c41756374696f6e3a3a41756374696f6e206d757374206e6f742060448201526b1a185d99481cdd185c9d195960a21b6064820152fd5b9050421038612b16565b60405162461bcd60e51b815260048101869052602e818401527f63616e63656c41756374696f6e3a3a4d757374206861766520616e206175637460448201526d1a5bdb8818dbdb999a59dd5c995960921b6064820152608490fd5b50346107c95760403660031901126107c957612e1761492a565b604051612e2381614aac565b8281528260a0602092828482015282604082015260608082015260606080820152015260018060a01b03809216835260a781526040832060243584528152604083209160405193612e7385614aac565b818454168552600194858501549484820195865260028101549360408301948552612ea060038301614bc0565b606084019081526005612eb560048501614c1a565b936080860194855201549560a0850196875260405198888a528360e08b01965116898b01525160408a0152516060890152519260c06080890152835180915286610100890194019185905b8a838310612f525750505050505193601f198683030160a08701528080865193848152019501925b828110612f3c57845160c088015286860387f35b835160ff16865294810194928101928701612f28565b84518216875295890195938901939190910190612f00565b50346107c957806003193601126107c957612f836149ef565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346107c957806003193601126107c957602060a354604051908152f35b50346107c95760803660031901126107c957613000614956565b90606435906001600160401b0382116107c95760206130718461306c61302936600488016149bf565b60405160609490941b6001600160601b031916868501908152604435601482015291939092919061305d816034840161092b565b519020926004359236916155d1565b61561f565b6040519015158152f35b50346107c95760403660031901126107c95761309561492a565b60018060a01b038116825260a1602052604082206024358352602052604082206130c7600860405192611e4784614a90565b61010082015260018060a01b038216835260a260205260408320602435845260205260408320916003604051936130fd85614ac7565b80546001600160a01b0390811686526001820154166020860152600281015460408601520154606084015260c082015115613b5e5761314560408301516060840151906153d0565b4210613b0d5760018060a01b038116845260a160205260408420602435855260205261317360408520615390565b6001600160a01b03818116855260a26020908152604080872060243588529091528520858155600181018690556002810186905560030185905583511615613a9a57825184906001600160a01b039081169083163b15611da5576040516323b872dd60e01b81523060048201526001600160a01b03909116602480830191909152356044820152818180606481010381836001600160a01b0388165af18015612cae57613a86575b505060208301516040840151835160e0850151610100860151815181516001600160a01b03948516999690941696929591949303613a25576024838a9499602060018060a01b0360985416604051948580926361fe24a960e11b82528660048301525afa9283156117865786936139ee575b506040519261329b84614af5565b6002845260403660208601376097546001600160a01b0316806132bd8661568b565b52609e5460405163e286ef3360e01b81526004810185905290602090829060249082906001600160a01b03165afa90811561246b5789916139b4575b506001600160a01b031661330c86615698565b526001600160a01b0361331e86615698565b511661399b575b61332e85615698565b6001600160a01b0390911690526040519061334882614af5565b600282526040366020840137609d546040516303fdde1160e21b8152600481018690526001600160a01b0390911690602081602481855afa908115613990578a91613958575b5060249160209161339e8661568b565b526040519283809263470d6ed960e11b82528960048301525afa90811561246b57899161391d575b50829186916133d76133de95615698565b528c615dc2565b609854604051631446f21360e21b81526001600160a01b038781166004830152602480359083015290949116602085604481845afa80156105ea57889586916138fe575b50156136ee575b5050609a54604051637a99dc0160e11b81526001600160a01b038781166004830152602480359083015260448201949094529c8d93606493508492165af1968715610ee757839984986135a8575b508399849a5b89518c10156134aa5761349e6134a4916134978e8d6156a8565b51906153d0565b9b61567c565b9a61347d565b9a506134c18b6134c89496989a939597999b6153dd565b9a8a615dc2565b8451956134d48761519d565b966134e26040519889614b2b565b8088526134f1601f199161519d565b01366020890137845b86518110156135365780606461352060ff613518613531958c6156a8565b51168d61526a565b0461352b828b6156a8565b5261567c565b6134fa565b50919592966135489498919550615dc2565b51815160408084015160609485015182516001600160a01b039586168152938516602085015291830152928101929092526024359216907f9af79c03d71f5375aad271d2d27dc3b4227362c41a7a2ab66072e4e6592e262b90608090a380f35b995096503d988984823e6135bc8a82614b2b565b6040818b810103126107c55780516001600160401b038111610ec1578101908a8101601f83011215610ec1578151916135f48361519d565b926136026040519485614b2b565b80845260208401918d840160208360051b830101116129cb5760208101925b60208360051b83010184106136ca575050505060208101519a6001600160401b038c116107c157808201601f8d84010112156107c1578b820151916136658361519d565b9c6040519d613674908f614b2b565b8d8481526020019282018460051b82840101602001116129cb579190602083820101925b60208560051b828401010184106136b6575050505050989638613477565b602080809486518152019401939250613698565b83516001600160a01b03811681036136ea57815260209384019301613621565b8980fd5b90919350604051906136ff82614b10565b60018252602036818401376040519261371784614b10565b60018452602036818601376001600160a01b03906137349061568b565b511661373f8461568b565b52609954604051635dc22eff60e01b81526004810187905290602090829060249082906001600160a01b03165afa90811561246b5789916138df575b50156138315750609954604051632260494f60e01b81526004810195909552602090859060249082906001600160a01b03165afa93841561186157879460ff918691613812575b50169b6137cf8d8561526a565b606490046137dc916153dd565b9b6137e7908461526a565b606490046137f48261568b565b526137fe8161568b565b519161380a928b615dc2565b388080613429565b61382b915060203d602011611755576117478183614b2b565b386137c2565b60405163b28a7bad60e01b81526001600160a01b0388166004820152919c50909350602090849060249082905afa92831561178657869360ff9185916138c0575b50169a61387f8c8461526a565b6064900461388d90846153dd565b9b613898908461526a565b606490046138a58261568b565b526138af8161568b565b51916138bb928b615dc2565b61380a565b6138d9915060203d602011611755576117478183614b2b565b38613872565b6138f8915060203d6020116128b0576128a28183614b2b565b3861377b565b613917915060203d6020116128b0576128a28183614b2b565b38613422565b985050906020883d602011613950575b8161393a60209383614b2b565b810103126105dd5796518d9791906133de6133c6565b3d915061392d565b9950506020893d602011613988575b8161397460209383614b2b565b810103126105dd5797518e9890602461338e565b3d9150613967565b6040513d8c823e3d90fd5b506001600160a01b036139ad85615698565b5116613325565b90506020813d6020116139e6575b816139cf60209383614b2b565b81010312612a16576139e090614b4c565b386132f9565b3d91506139c2565b955091506020853d602011613a1d575b81613a0b60209383614b2b565b810103126105dd578a9451913861328d565b3d91506139fe565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b613a8f90614ae2565b6107c557833861321b565b8151909291906001600160a01b039081169084163b15610ec1576040516323b872dd60e01b8152306004820152602480820192909252903560448201528481606481836001600160a01b0389165af1801561175c57613afa575b50613548565b613b0690949194614ae2565b9238613af4565b60405162461bcd60e51b8152602060048201526024808201527f736574746c6541756374696f6e3a3a41756374696f6e20686173206e6f7420656044820152631b99195960e21b6064820152608490fd5b606460405162461bcd60e51b815260206004820152602060248201527f736574746c6541756374696f6e3a3a4e6f2061756374696f6e206578697374736044820152fd5b5060c03660031901126107c957613bb761492a565b613bbf614940565b9060a4356001600160401b0381116107c557613be2613c2b9136906004016149bf565b613bea615403565b604051606085901b6001600160601b03191660208201908152602435603483015261306c91613c1c816054810161092b565b519020926064359236916155d1565b156145df5760018060a01b038216835260a6602052613c5f6064356040852060019160005201602052604060002054151590565b1561457c5760018060a01b038216835260a760205260408320606435845260205260408320600560405191613c9383614aac565b80546001600160a01b031683526001810154602084015260028101546040840152613cc060038201614bc0565b6060840152613cd160048201614c1a565b6080840152015460a0820152604051606084811b6001600160601b03199081166020840190815260643560348501529185901b166054830152602435606883015290613d20816088810161092b565b5190209060018060a01b038416855260a860205260408520606435865260205260408520549180865260a96020528260408720541015614506576001600160a01b038416865260a16020908152604080882060243589529091528620600601546144a7576084351561445357609854604051637cd11f4360e11b81526001600160a01b0390911690602081600481855afa9081156105ea578891614421575b50608435116143bd57602083015160843510614352576040516331a9108f60e11b81526024803560048301526020908290816001600160a01b038a165afa9081156105ea578891614318575b506001600160a01b038781169116036142c05760a05460405163e985e9c560e01b81526001600160a01b0388811660048301529091166024820152602081806044810103816001600160a01b038a165afa9081156105ea5788916142a1575b5015612843576020602491604051928380926361fe24a960e11b825260843560048301525afa90811561186157879161426d575b50613eae613ebe916084356153d0565b83516001600160a01b0316615894565b855260a9602052816040862055604081015160018060a01b03825116602083015160608401519060808501519260405194613ef886614a90565b60018060a01b038a1686524360208701524260408701526060860152608085015260a0840152600080516020615f3583398151915260c084015260e083015261010082015260018060a01b038416865260a1602052604086206024358752602052604086209060018060a01b038151166001600160601b0360a01b8354161782556020810151600183015560408101516002830155606081015160038301556004820160018060a01b036080830151166001600160601b0360a01b82541617905560a0810151600583015560c0810151600683015560e08101518051906001600160401b0382116142595760206007850191613ff484846152ce565b0190895260208920895b83811061423c57505050506101000151908151906001600160401b0382116104f25760086020910192614031838561532c565b019187526020872090875b8160051c81106141fd5750601f19811681036141af575b50509051609854604051638347592160e01b81526001600160a01b0392831693509160209183916004918391165afa8015611786576003918791614190575b50604051926140a084614ac7565b338452602084019081526040840190608435825260ff606086019316835260018060a01b038716895260a2602052604089206024358a52602052604089209460018060a01b039051166001600160601b0360a01b865416178555600185019060018060a01b039051166001600160601b0360a01b82541617905551600284015551910155614132602435308585615ea5565b6040519260018060a01b0316835260643560208401526084356040840152606083015233917f98d4c2e28312f55a87c3b4b9eca06fe575a2b0db79bccf976fa9c8863e48db9f60806024359360018060a01b031692a4600160655580f35b6141a9915060203d602011611755576117478183614b2b565b38614092565b8792885b601f198316830381106141cf57505060051c0155388080614053565b909360206141f46001928460ff895116919060ff809160031b9316831b921b19161790565b950191016141b3565b88895b6020811061421557508382015560010161403c565b855190959160019160209160ff60038a901b81811b199092169216901b1792019501614200565b82516001600160a01b031681830155602090920191600101613ffe565b634e487b7160e01b89526041600452602489fd5b90506020813d602011614299575b8161428860209383614b2b565b810103126118555751613eae613e9e565b3d915061427b565b6142ba915060203d6020116128b0576128a28183614b2b565b38613e6a565b60405162461bcd60e51b815260206004820152602a60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4e6f74207460448201526937b5b2b71037bbb732b960b11b6064820152608490fd5b90506020813d60201161434a575b8161433360209383614b2b565b810103126129cb5761434490614b4c565b38613e0b565b3d9150614326565b60405162461bcd60e51b815260206004820152603b60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43616e6e6f60448201527f74206265206c6f776572207468616e206d696e696d756d2062696400000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603660248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4d757374206044820152756265206c657373207468616e206d61782076616c756560501b6064820152608490fd5b90506020813d60201161444b575b8161443c60209383614b2b565b810103126129cb575138613dbf565b3d915061442f565b60405162461bcd60e51b815260206004820152602660248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a43616e6e6f60448201526507420626520360d41b6064820152608490fd5b60405162461bcd60e51b815260206004820152603160248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a41756374696044820152706f6e20616c72656164792065786973747360781b6064820152608490fd5b60405162461bcd60e51b815260206004820152604260248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a546f6b656e60448201527f20616c7265616479207573656420666f722074686973204d65726b6c6520726f6064820152611bdd60f21b608482015260a490fd5b60405162461bcd60e51b815260206004820152603560248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a4d65726b6c60448201527419481c9bdbdd081b9bdd081c9959da5cdd195c9959605a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f6269645769746841756374696f6e4d65726b6c6550726f6f663a3a496e76616c60448201526e34b21026b2b935b63290383937b7b360891b6064820152608490fd5b50346107c957602080600319360112611da5576001600160a01b0361465f61492a565b16825260a681526040822060405192838383549182815201908193835284832090835b8181106146d65750505084614698910385614b2b565b60405193838594850191818652518092526040850193925b8281106146bf57505050500390f35b8351855286955093810193928101926001016146b0565b825484529286019260019283019201614682565b50346107c95760203660031901126107c95760043560ff8116809103611da5576147126149ef565b60a35580f35b50346107c95760403660031901126107c9576080906001600160a01b03906040908261474261492a565b16815260a26020528181206024358252602052208181541691600182015416906003600282015491015491604051938452602084015260408301526060820152f35b50346107c957806003193601126107c957602090604051908152f35b50346107c95760203660031901126107c9576147ba6149ef565b60043560a55580f35b50346107c957806003193601126107c957602060a454604051908152f35b905034611da5576040366003190112611da5576001600160a01b03918261480661492a565b16815260209060a182526040812060243582528252604081209261482981614a90565b8484541681526001926148f2848601549582840196875260028101549060408501918252600381015460608601908152896004830154166080870190815260058301549060a0880191825260068401549260c089019384528c6148a1600861489360078901614bc0565b9760e08d0198895201614c1a565b9d8e9a6101009b8c82015251169c5196519151925116925193519451956040519c8d52888d015260408c015260608b015260808a015260a089015260c08801526101208060e0890152870190614982565b91858303908601528080875193848152019601925b8281106149145785870386f35b835160ff16875295810195928101928401614907565b600435906001600160a01b03821682036105dd57565b604435906001600160a01b03821682036105dd57565b602435906001600160a01b03821682036105dd57565b608435906001600160a01b03821682036105dd57565b90815180825260208080930193019160005b8281106149a2575050505090565b83516001600160a01b031685529381019392810192600101614994565b9181601f840112156105dd578235916001600160401b0383116105dd576020808501948460051b0101116105dd57565b6033546001600160a01b03163303614a0357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b61012081019081106001600160401b03821117610ec557604052565b60c081019081106001600160401b03821117610ec557604052565b608081019081106001600160401b03821117610ec557604052565b6001600160401b038111610ec557604052565b606081019081106001600160401b03821117610ec557604052565b604081019081106001600160401b03821117610ec557604052565b90601f801991011681019081106001600160401b03821117610ec557604052565b51906001600160a01b03821682036105dd57565b15614b6757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b9060405191828154918282526020928383019160005283600020936000905b828210614bf757505050614bf592500383614b2b565b565b85546001600160a01b031684526001958601958895509381019390910190614bdf565b90604051918281549182825260209081830190600052816000206000905b85601f8301106150065794614bf595549184828210614ff3575b828210614fdd575b828210614fc7575b828210614fb1575b828210614f9c575b828210614f86575b828210614f70575b828210614f5a575b828210614f44575b828210614f2e575b828210614f18575b828210614f02575b828210614eec575b828210614ed6575b828210614ec0575b828210614eaa575b828210614e94575b828210614e7e575b828210614e68575b828210614e52575b828210614e3c575b828210614e26575b828210614e10575b828210614dfa575b828210614de4575b828210614dce575b828210614db8575b828210614da2575b828210614d8c575b828210614d76575b828210614d60575b5010614d53575b5090500383614b2b565b60f81c8152018038614d49565b6001919460ff8560f01c16815201930184614d42565b6001919460ff8560e81c16815201930184614d3a565b6001919460ff8560e01c16815201930184614d32565b6001919460ff8560d81c16815201930184614d2a565b6001919460ff8560d01c16815201930184614d22565b6001919460ff8560c81c16815201930184614d1a565b6001919460ff8560c01c16815201930184614d12565b6001919460ff8560b81c16815201930184614d0a565b6001919460ff8560b01c16815201930184614d02565b6001919460ff8560a81c16815201930184614cfa565b6001919460ff8560a01c16815201930184614cf2565b6001919460ff8560981c16815201930184614cea565b6001919460ff8560901c16815201930184614ce2565b6001919460ff8560881c16815201930184614cda565b6001919460ff8560801c16815201930184614cd2565b6001919460ff8560781c16815201930184614cca565b6001919460ff8560701c16815201930184614cc2565b6001919460ff8560681c16815201930184614cba565b6001919460ff8560601c16815201930184614cb2565b6001919460ff8560581c16815201930184614caa565b6001919460ff8560501c16815201930184614ca2565b6001919460ff8560481c16815201930184614c9a565b6001919460ff8560401c16815201930184614c92565b6001919460ff8560381c16815201930184614c8a565b6001919460ff8560301c16815201930184614c82565b6001919460ff8560281c16815201930184614c7a565b6001919460ff85831c16815201930184614c72565b6001919460ff8560181c16815201930184614c6a565b6001919460ff8560101c16815201930184614c62565b6001919460ff8560081c16815201930184614c5a565b6001919460ff8516815201930184614c52565b9350916001610400829693865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018693919492614c38565b6001600160401b038111610ec55760051b60200190565b92916151bf8261519d565b916151cd6040519384614b2b565b829481845260208094019160051b81019283116105dd57905b8282106151f35750505050565b81356001600160a01b03811681036105dd5781529083019083016151e6565b929161521d8261519d565b9161522b6040519384614b2b565b829481845260208094019160051b81019283116105dd57905b8282106152515750505050565b813560ff811681036105dd578152908301908301615244565b8181029291811591840414171561527d57565b634e487b7160e01b600052601160045260246000fd5b81811061529e575050565b60008155600101615293565b805460008255806152b9575050565b614bf591600052602060002090810190615293565b90600160401b8111610ec5578154908083558181106152ec57505050565b614bf59260005260206000209182019101615293565b80546000825580615311575050565b614bf591600052601f6020600020910160051c810190615293565b90600160401b8111610ec557815481835580821061534957505050565b614bf592600052601f6020600020918180850160051c8401941680615375575b500160051c0190615293565b600019908186019182549160200360031b1c16905538615369565b6008614bf591600080825580600183015580600283015580600383015580600483015580600583015560068201556153ca600782016152aa565b01615302565b9190820180921161527d57565b9190820391821161527d57565b908160209103126105dd575160ff811681036105dd5790565b600260655414615414576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b80548210156154715760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60008281526001820160205260409020546154ee57805490600160401b821015610ec557826154d76154c0846001809601855584615459565b819391549060031b91821b91600019901b19161790565b905580549260005201602052604060002055600190565b5050600090565b906001820190600092818452826020526040842054908115156000146155ca5760001991808301818111610537578254908482019182116155b657808203615581575b5050508054801561556d578201916155508383615459565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6155a16155916154c09386615459565b90549060031b1c92839286615459565b90558652846020526040862055388080615538565b634e487b7160e01b88526011600452602488fd5b5050505090565b92916155dc8261519d565b916155ea6040519384614b2b565b829481845260208094019160051b81019283116105dd57905b8282106156105750505050565b81358152908301908301615603565b929091906000915b84518310156156745761563a83866156a8565b5190600082821015615662575060005260205261565c60406000205b9261567c565b91615627565b60409161565c93825260205220615656565b915092501490565b600019811461527d5760010190565b8051156154715760200190565b8051600110156154715760400190565b80518210156154715760209160051b010190565b908160209103126105dd575180151581036105dd5790565b6001600160a01b03908116801591821561572f575b5050156156f257565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250609c541691602460405180948193632d5ad3d560e01b835260048301525afa9081156157885760009161576a575b5038806156e9565b615782915060203d81116128b0576128a28183614b2b565b38615762565b6040513d6000823e3d90fd5b6001600160a01b0390811690811561588f57609f54604051636eb1769f60e11b815233600482015291166001600160a01b0316602482015290602090829081806044810103915afa9081156157885760009161585e575b50106157f357565b60405162461bcd60e51b815260206004820152603960248201527f73656e646572206e6565647320746f20617070726f766520455243323041707060448201527f726f76616c4d616e6167657220666f722063757272656e6379000000000000006064820152608490fd5b906020823d8211615887575b8161587760209383614b2b565b810103126107c9575051386157eb565b3d915061586a565b505050565b6001600160a01b0391600091838116908115615a965734615a40576040938451916370a0823160e01b908184523060048501526020978885602481895afa948515615a36578495615a07575b50609f541690813b156107c5578751630aed65f560e11b81526001600160a01b03919091166004820152336024820152306044820152606481018790529083908290608490829084905af180156159fd57908892916159ea575b50602487518096819382523060048301525afa9081156159df57906159b0575b61596492506153dd565b0361596d575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b508482813d83116159d8575b6159c68183614b2b565b810103126105dd57615964915161595a565b503d6159bc565b8551903d90823e3d90fd5b6159f690939193614ae2565b913861593a565b87513d85823e3d90fd5b9094508881813d8311615a2f575b615a1f8183614b2b565b810103126107c5575193386158e0565b503d615a15565b88513d86823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b50509150503403615aa357565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b3d15615b18573d906001600160401b038211610ec55760405191615b0c601f8201601f191660200184614b2b565b82523d6000602084013e565b606090565b6020808252825181830181905290939260005b828110615b5257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501615b30565b15615b6e5750565b60405162461bcd60e51b8152908190615b8a9060048301615b1d565b0390fd5b9291908015615c26576064615ba6615bad938361526a565b04906153d0565b6001600160a01b039290919083168015615bcb57614bf59350615c2c565b50609b5460405163410085df60e01b602082019081526001600160a01b03909316602482015260448101849052614bf5946000948594939091169291615c14816064810161092b565b51925af1615c20615ade565b90615b66565b50505050565b60405163a9059cbb60e01b60208083019182526001600160a01b039490941660248301526044808301959095529381529192615cc592916000908190615c73606486614b2b565b60018060a01b03169260405194615c8986614b10565b8786527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656488870152519082855af1615cbf615ade565b91615d4d565b805190828215928315615d35575b50505015615cde5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b615d4593508201810191016156bc565b388281615cd3565b91929015615daf5750815115615d61575090565b3b15615d6a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015615b6e5750805190602001fd5b6001600160a01b0390811694939290918515615e1d575060005b8151811015615e155780615e0b84615df7615e1094866156a8565b5116615e0383886156a8565b519089615c2c565b61567c565b615ddc565b505050509050565b92945090609b5416916040516020615e4d8183019463c176e63960e01b8652604060248501526064840190614982565b82810360231901604484015287518082529082019782019160005b828110615e915750505050916000939183615c148695614bf5989903601f198101835282614b2b565b83518a529881019892810192600101615e68565b919060018060a01b0360a0541690813b156105dd57604051630aed65f560e11b81526001600160a01b039485166004820152908416602482015291909216604482015260648101929092526000908290608490829084905af1801561578857615f0b5750565b614bf590614ae256fe35775639ffa1ccf8884b76bf027c512202ff431a9e3a1ba9ccd3c50c795759a6b827bfa0833ec95ae4f99f3f3f227cdb14c204ea3ebc414f5f479aabf742b928a2646970667358221220c7575b130bcf816a83e802c3fc144d074c1984de949da4f88cc04e9f523db19864736f6c63430008120033","sourceMap":"1110:23712:69:-:0;;;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;-1:-1:-1;;;4731:43:69;;1110:23712;;4731:43;;1110:23712;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;4731:43;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;:::i;:::-;17541:8;;;;;:::i;:::-;2386:22:71;;1110:23712:69;;2488:1:71;2466:23;;1110:23712:69;;2544:41:71;;;1110:23712:69;;;2674:13:71;2689:23;;;;;;1110:23712:69;2777:17:71;;;1110:23712:69;;;;;;17701:28;1110:23712;;17857:32;1110:23712;;;-1:-1:-1;;;17857:57:69;;1110:23712;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;17857:57;;;;;;;;;;;2669:94:71;1110:23712:69;;;17839:75;1110:23712;;18066:10;;1110:23712;;18040:25;1110:23712;;6012:23:51;1110:23712:69;;;;;6012:23:51;:::i;:::-;;18066:10:69;1110:23712;;18146:16;1110:23712;;;;;;;;;;;;;;;;;;;;;;;18066:10;1110:23712;;18146:16;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;18300:210;;1110:23712;;;;;;18300:210;;1110:23712;;;;;;;;:::i;:::-;18300:210;1110:23712;18300:210;;1110:23712;;;;;;:::i;:::-;;18300:210;;1110:23712;;;;;18300:210;;1110:23712;18066:10;1110:23712;;18254:19;1110:23712;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18300:210;;1110:23712;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;:::i;:::-;;;;;;;;;;;;2488:1:71;1110:23712:69;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;-1:-1:-1;;;;1110:23712:69;18300:210;1110:23712;2488:1:71;1110:23712:69;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;18066:10;;18522:97;;1110:23712;;18522:97;1110:23712;;;;;;;;;;;;;;;;;2488:1:71;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17857:57;;;1110:23712;17857:57;;1110:23712;17857:57;;;;;;1110:23712;17857:57;;;:::i;:::-;;;1110:23712;;;;;17857:57;;;1110:23712;;;;17857:57;;;-1:-1:-1;17857:57:69;;;1110:23712;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;2714:3:71;1110:23712:69;2488:1:71;1110:23712:69;;;;;;;;;;;;;2714:3:71;2727:29;;;;:::i;:::-;2714:3;;:::i;:::-;2674:13;;;1110:23712:69;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;1303:62:20;;:::i;:::-;-1:-1:-1;;;;;1110:23712:69;;2402:22:20;1110:23712:69;;2496:8:20;;;:::i;:::-;1110:23712:69;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;:::i;:::-;;;;23980:16;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1925:37;1110:23712;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;;;;:::i;:::-;23380:55;;1110:23712;;:::i;:::-;;;;23380:55;;;;;;1110:23712;;;;;;23380:55;;1110:23712;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;23380:55;;19645:41;;23380:55;;;;;;:::i;:::-;1110:23712;23370:66;;1110:23712;;23449:17;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;:::i;:::-;;;;1682:68;1110:23712;;;;;;;;;;;;;;;;;1682:68;1110:23712;1682:68;;1110:23712;1682:68;;;;1110:23712;1682:68;1110:23712;1682:68;;1110:23712;1682:68;1110:23712;1682:68;;1110:23712;;1682:68;;;;;1110:23712;1682:68;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;3301:14:21;3347:34;;;;;;1110:23712:69;3346:108:21;;;;1110:23712:69;;;;-1:-1:-1;;1110:23712:69;;;;;;;3562:65:21;;1110:23712:69;-1:-1:-1;;;;;;1110:23712:69;;3065:34;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3169:28;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3261:36;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3369:36;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3477:23;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3559:30;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3655:30;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3751:33;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3853:35;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;3959:36;1110:23712;;;;-1:-1:-1;;;4107:302:69;;-1:-1:-1;;;;;1110:23712:69;;;;4107:302;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:14;:302;;;;;;;;;;;1110:23712;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;4092:317;1110:23712;;;4092:317;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4451:32;1110:23712;4508:6;1110:23712;;4545:10;4520:35;1110:23712;5366:69:21;1110:23712:69;;;;;;5366:69:21;;;:::i;:::-;;:::i;:::-;1195:12:20;929:10:24;1195:12:20;:::i;:::-;1110:23712:69;;;5366:69:21;1110:23712:69;;;;;5366:69:21;;;:::i;:::-;1110:23712:69;2065:22:22;1110:23712:69;3647:99:21;;1110:23712:69;;;3647:99:21;1110:23712:69;;;;;3721:14:21;1110:23712:69;;;;;;3721:14:21;1110:23712:69;;4107:302;;;1110:23712;4107:302;;1110:23712;4107:302;;;;;;1110:23712;4107:302;;;:::i;:::-;;;1110:23712;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;4107:302;;;1110:23712;;;;;;;;;;;;;;;;;;;;4107:302;;;-1:-1:-1;4107:302:69;;;1110:23712;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;3562:65:21;-1:-1:-1;;1110:23712:69;;;;;3562:65:21;;;1110:23712:69;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;3346:108:21;3426:4;;1713:19:23;:23;3387:66:21;;3346:108;3387:66;1110:23712:69;;;;;3436:17:21;3346:108;;3347:34;1110:23712:69;;;;;3365:16:21;3347:34;;1110:23712:69;;;;;;;-1:-1:-1;;1110:23712:69;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;:::i;:::-;;;;2195:86;1110:23712;;;;;;;;;;;;;;;;;;;2195:86;;1110:23712;2195:86;;;1110:23712;2195:86;;;;1110:23712;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;;;:::i;:::-;2471:103:22;;;:::i;:::-;11053:32:69;1110:23712;;;-1:-1:-1;;;11053:65:69;;1110:23712;;;11053:65;;1110:23712;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;11053:65;;;;;;;;;;1110:23712;11043:75;1110:23712;;;;11043:75;:::i;:::-;11264:14;;;;:::i;:::-;1110:23712;;;;;;;;;11342:13;1110:23712;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;11426:33;1110:23712;;;;-1:-1:-1;;;;;1110:23712:69;11585:10;11559:36;1110:23712;;;;;;11684:15;:39;1110:23712;;;;;;11822:24;11818:144;;1110:23712;-1:-1:-1;1110:23712:69;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;12028:43;1110:23712;;;;;;;;12170:29;1110:23712;;;;12241:11;1110:23712;;;;;;;;;;;;;;12320:57;;;;;;;;;;;;;1110:23712;;;;12309:68;1110:23712;;;;;;;;;;;12462:11;1110:23712;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12615:240;;1110:23712;12946:14;;;;;:::i;:::-;1110:23712;;;;13091:24;13087:393;;1110:23712;-1:-1:-1;12619:28:69;;;13531:69;;1110:23712;13527:337;;1110:23712;12619:28;;;13910:204;;1110:23712;-1:-1:-1;;11053:32:69;1110:23712;;;-1:-1:-1;;;14303:62:69;;;1110:23712;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;14303:62;;;;;;;;;;;1110:23712;;;;;;;;;:::i;:::-;11585:10;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;;;14179:193;;;1110:23712;;;;;;14179:193;;;1110:23712;;;;;;;;;14179:193;;1110:23712;;;;;;;;12462:11;1110:23712;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1110:23712:69;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11053:32;1110:23712;;;14564:62;;;1110:23712;;;;;;;14564:62;;;;;;1110:23712;14564:62;;;;;1110:23712;;;;;;;;;;;;;;;;;;;12619:28;;1110:23712;;;;;;;;;;;;;;;11585:10;14402:252;1110:23712;11585:10;1110:23712;;;;;;;14402:252;;1110:23712;2065:22:22;1110:23712:69;;;14564:62;;;;1110:23712;14564:62;1110:23712;14564:62;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1110:23712;;;;;;;;;14303:62;;;;1110:23712;14303:62;1110:23712;14303:62;;;;;;;:::i;:::-;;;;;1110:23712;;;;;;;;;13910:204;1110:23712;;;;;;;;;;;;;14085:14;;1110:23712;;-1:-1:-1;;;;;1110:23712:69;14085:14;:::i;:::-;13910:204;;;;13527:337;1110:23712;;-1:-1:-1;;;13676:42:69;;1110:23712;;;;13676:42;;1110:23712;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;13676:42;;;;;;;;;;;13527:337;-1:-1:-1;1110:23712:69;-1:-1:-1;;;;;1110:23712:69;;;;;13676:68;;;13527:337;13672:186;13756:93;1110:23712;;;13833:4;;13756:93;;;:::i;:::-;13672:186;13527:337;;13676:42;;;;1110:23712;13676:42;;1110:23712;13676:42;;;;;;1110:23712;13676:42;;;:::i;:::-;;;1110:23712;;;;;;;:::i;:::-;13676:42;;;;1110:23712;;;;13676:42;;;-1:-1:-1;13676:42:69;;;1110:23712;;;;;;;;;13531:69;1110:23712;-1:-1:-1;;;;;;;;;;;1110:23712:69;;;;13563:37;13531:69;;13087:393;13144:66;11684:15;13145:46;11684:15;1110:23712;;;;;13145:46;;:::i;:::-;13144:66;:::i;:::-;13234:22;1110:23712;13223:33;;;;13219:255;;13087:393;;;;13219:255;13287:48;:59;1110:23712;;;;;13287:48;:::i;:59::-;-1:-1:-1;;;;;1110:23712:69;;;;11342:13;1110:23712;;;;;;;;;;;;;;;;;;13390:56;1110:23712;13219:255;;;;12615:240;1110:23712;12683:48;12765:34;1110:23712;12703:28;1110:23712;12683:48;;:::i;:::-;1110:23712;;;;;12765:34;:::i;:::-;1110:23712;;12754:45;1110:23712;;12615:240;;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;12320:57;;;1110:23712;12320:57;;1110:23712;12320:57;;;;;;1110:23712;12320:57;;;:::i;:::-;;;1110:23712;;;;;12320:57;;;;;;-1:-1:-1;12320:57:69;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;11818:144;1110:23712;;;;11882:46;;;:::i;:::-;11684:15;11864:64;1110:23712;;;11818:144;;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11053:65;;1110:23712;11053:65;;1110:23712;11053:65;;;;;;1110:23712;11053:65;;;:::i;:::-;;;1110:23712;;;;11043:75;1110:23712;;11053:65;;;;;-1:-1:-1;11053:65:69;;1110:23712;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;1303:62:20;;:::i;:::-;1110:23712:69;;5467:36;1110:23712;;;;;;;;;;;;;;;;;;;18871:10;;1110:23712;;18845:25;1110:23712;;6523:28:51;1110:23712:69;;;;4351:12:51;4255:127;-1:-1:-1;1110:23712:69;4351:12:51;1110:23712:69;;;-1:-1:-1;1110:23712:69;;4351:24:51;;4255:127;;6523:28;1110:23712:69;;;18871:10;1110:23712;;18845:25;1110:23712;;6306:26:51;1110:23712:69;;;;6306:26:51;:::i;:::-;;18871:10:69;1110:23712;;19114:19;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;18871:10;19181:44;;;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;:::i;:::-;6438:71;;;:::i;:::-;1110:23712;;;;;;;;;6586:13;1110:23712;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;6757:24:69;;1110:23712;;;6757:24;;1110:23712;;;;;-1:-1:-1;;;;;1110:23712:69;;6757:24;;;;;;;;;;;1110:23712;-1:-1:-1;;;;;;1110:23712:69;6793:4;6757:41;;:83;;1110:23712;6753:358;;;1110:23712;-1:-1:-1;;;;;1110:23712:69;6926:10;6900:36;1110:23712;;6753:358;1110:23712;;;;-1:-1:-1;;;1758:70:71;;7219:10:69;1110:23712;1758:70:71;;1110:23712:69;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;1758:70:71;1110:23712:69;-1:-1:-1;;;;;1110:23712:69;;1758:70:71;;;;;;;;;;;6753:358:69;1110:23712;;;;2386:22:71;;1110:23712:69;;;2466:23:71;;1110:23712:69;;2544:41:71;;;1110:23712:69;;;2674:13:71;2689:23;;;;;;1110:23712:69;2777:17:71;;;1110:23712:69;;-1:-1:-1;;;;;;;;;;;1110:23712:69;;24689:30;:67;;;;;2669:94:71;1110:23712:69;;;;;;;7475:36;1110:23712;;;;7564:20;1110:23712;;;;;;;;;;;7690:11;1110:23712;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7868:291;;;;1110:23712;;7920:19;1110:23712;;7868:291;8256:32;1110:23712;;;-1:-1:-1;;;8256:57:69;;1110:23712;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;8256:57;;;;;;;;;;;7868:291;1110:23712;;;8237:76;1110:23712;;;;;;8574:47;;;;;;1110:23712;;;;;;:::i;:::-;7219:10;1110:23712;;8540:12;1110:23712;8466:385;;1110:23712;;8466:385;;1110:23712;;;;8466:385;;1110:23712;-1:-1:-1;;;;;1110:23712:69;;;8466:385;;1110:23712;;;;8466:385;;1110:23712;;;;8466:385;;1110:23712;;;;:::i;:::-;;8466:385;;1110:23712;;;;:::i;:::-;;8466:385;;1110:23712;-1:-1:-1;;;;;1110:23712:69;;;;;6586:13;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1110:23712:69;;;;;;8466:385;;;1110:23712;-1:-1:-1;1110:23712:69;;;8466:385;;;1110:23712;;;;;;8466:385;;1110:23712;;;;;;8466:385;;1110:23712;;;;;;;;;;;;;;;;;;;;8466:385;;1110:23712;;;;;;8466:385;;1110:23712;;;;;;8466:385;;1110:23712;;;;;8466:385;1110:23712;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;8466:385;;;;1110:23712;8466:385;1110:23712;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1110:23712:69;;8922:33;:78;;;1110:23712;8918:195;;1110:23712;;;7219:10;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9124:162;1110:23712;;;;;;;;;;9124:162;;1110:23712;;8918:195;9010:96;1110:23712;;6793:4;7219:10;9010:96;;:::i;:::-;8918:195;;8922:78;-1:-1:-1;1110:23712:69;;-1:-1:-1;;;8959:24:69;;1110:23712;;;8959:24;;1110:23712;;;;;-1:-1:-1;;;;;1110:23712:69;;8959:24;;;;;;;;;;;8922:78;-1:-1:-1;;;;;;1110:23712:69;6793:4;8959:41;;8922:78;;8959:24;;;1110:23712;8959:24;;1110:23712;8959:24;;;;;;1110:23712;8959:24;;;:::i;:::-;;;1110:23712;;;;;;;:::i;:::-;8959:24;;;;;;-1:-1:-1;8959:24:69;;;1110:23712;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;8574:47;1110:23712;;8574:47;;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;8256:57;;;1110:23712;8256:57;;1110:23712;8256:57;;;;;;1110:23712;8256:57;;;:::i;:::-;;;1110:23712;;;;;8256:57;;;;;;-1:-1:-1;8256:57:69;;;1110:23712;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;7868:291;-1:-1:-1;;;;;;;;;;;1110:23712:69;;8012:33;7868:291;8008:151;8076:15;1110:23712;;8063:28;7868:291;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;24689:67;1110:23712;-1:-1:-1;;;;;;;;;;;1110:23712:69;;24723:33;24689:67;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;2714:3:71;1110:23712:69;;;;;;;;;;;;;;;2714:3:71;2727:29;;;;:::i;2714:3::-;2674:13;;;1110:23712:69;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;1758:70:71;;;;1110:23712:69;1758:70:71;1110:23712:69;1758:70:71;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1110:23712:69;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;6753:358;-1:-1:-1;1110:23712:69;;-1:-1:-1;;;1230:24:71;;1110:23712:69;;;1230:24:71;;1110:23712:69;;;;;-1:-1:-1;;;;;1110:23712:69;;1230:24:71;;;;;;;;;;;6753:358:69;-1:-1:-1;;;;;;1110:23712:69;1258:10:71;1110:23712:69;6753:358;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;1230:24:71;;;1110:23712:69;1230:24:71;;1110:23712:69;1230:24:71;;;;;;1110:23712:69;1230:24:71;;;:::i;:::-;;;1110:23712:69;;;;;;;:::i;:::-;1230:24:71;;;1110:23712:69;;;;1230:24:71;;;-1:-1:-1;1230:24:71;;6757:83:69;1110:23712;;;;;6825:15;-1:-1:-1;6757:83:69;;:24;;;1110:23712;6757:24;;1110:23712;6757:24;;;;;;1110:23712;6757:24;;;:::i;:::-;;;1110:23712;;;;;;;:::i;:::-;6757:24;;;1110:23712;;;;6757:24;;;-1:-1:-1;6757:24:69;;1110:23712;;;;;;;;;;;;;1513:6:20;1110:23712:69;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;-1:-1:-1;;;;;1110:23712:69;;;;;;9545:13;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;9629:33;1110:23712;;;9773:25;;:67;;;;;1110:23712;;;;;;;;;10176:10;10150:36;1110:23712;;;;;9545:13;1110:23712;;;;;;;;;;10271:47;1110:23712;;;10271:47;:::i;:::-;1110:23712;;-1:-1:-1;;;10364:24:69;;;1110:23712;10364:24;;1110:23712;;;;10364:24;1110:23712;10364:24;1110:23712;10364:24;;;;;;;;;;;;1110:23712;-1:-1:-1;1110:23712:69;;10400:4;10364:41;10360:118;;1110:23712;;;10525:24;;;;1110:23712;10525:24;;1110:23712;10525:24;;;;;;;;;;;;;;;;1110:23712;10176:10;;;1110:23712;;10525:38;1110:23712;;-1:-1:-1;1110:23712:69;;;;;;;10634:64;;1110:23712;10634:64;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;10525:24;;;;;;;;;;;;;;;;:::i;:::-;;;1110:23712;;;;;;;:::i;:::-;10525:24;;;;;;;;10360:118;10415:56;;;;;1110:23712;;-1:-1:-1;;;10415:56:69;;10400:4;1110:23712;10415:56;;1110:23712;10176:10;1110:23712;;;;;;;;;;;;;;;;;10415:56;;;;;;;;;10360:118;;;;;10415:56;;;;:::i;:::-;1110:23712;;10415:56;;;;;1110:23712;;;;;;;;;10364:24;;;;;;;;;;;;;;;;:::i;:::-;;;1110:23712;;;;;;;:::i;:::-;10364:24;;;;;;;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;9773:67;9802:15;;;:38;9773:67;;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24289:19;1110:23712;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19645:41;;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:20;;:::i;:::-;2758:6;1110:23712:69;;-1:-1:-1;;;;;;1110:23712:69;;;;;;;-1:-1:-1;;;;;1110:23712:69;2806:40:20;1110:23712:69;;2806:40:20;1110:23712:69;;;;;;;;;;;;;;;;1843:43;1110:23712;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;23019:37;1110:23712;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;1110:23712:69;22972:33;;;1110:23712;;;;;;;;;;;;;;22972:33;;1110:23712;;;;22972:33;1110:23712;22972:33;1110:23712;22962:44;;1110:23712;;;;;;;:::i;:::-;23019:37;:::i;:::-;1110:23712;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;;;;;;;;;;14897:13;1110:23712;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14967:11;1110:23712;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15049:33;1110:23712;;15185:46;1110:23712;;;;;;;;15185:46;;:::i;:::-;15166:15;:65;1110:23712;;;;;;;;;;;14897:13;1110:23712;;;;;;;;;;;15322:47;1110:23712;;;15322:47;:::i;:::-;-1:-1:-1;;;;;1110:23712:69;;;;;14967:11;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15431:31;1110:23712;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;15514:81;;;;1110:23712;;-1:-1:-1;;;15514:81:69;;15560:4;1110:23712;15514:81;;1110:23712;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;15514:81;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;15514:81;;;;;;;;15427:587;-1:-1:-1;;1110:23712:69;;;;;;;;;;;;;15795:23;1110:23712;;;15828:19;1110:23712;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;15795:23;;15828:19;;1110:23712;7124:41:71;1110:23712:69;;;7769:33:71;;;1110:23712:69;;;;;;;7857:27:71;1110:23712:69;;;;;;;;;;;7857:60:71;;;1110:23712:69;7857:60:71;;1110:23712:69;7857:60:71;;;;;;;;;;;15427:587:69;1110:23712;;;;;;;:::i;:::-;;;;;;;;;;15628:12;1110:23712;-1:-1:-1;;;;;1110:23712:69;;7993:52:71;;;:::i;:::-;1110:23712:69;8076:23:71;1110:23712:69;;;-1:-1:-1;;;8076:67:71;;1110:23712:69;8076:67:71;;1110:23712:69;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;8076:67:71;;;;;;;;;;;15427:587:69;-1:-1:-1;;;;;;1110:23712:69;8051:93:71;;;:::i;:::-;1110:23712:69;-1:-1:-1;;;;;8167:14:71;;;:::i;:::-;1110:23712:69;;8167:83:71;;;8150:100;;;:::i;:::-;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;:::i;:::-;;;;;;;;;;8316:23:71;1110:23712:69;;;-1:-1:-1;;;8316:62:71;;1110:23712:69;8316:62:71;;1110:23712:69;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;8316:62:71;;;;;;;;;;;8167:83;8304:74;1110:23712:69;8304:74:71;1110:23712:69;8304:74:71;;;;:::i;:::-;1110:23712:69;;;;;;;;;;8396:52:71;;;1110:23712:69;8396:52:71;;1110:23712:69;8396:52:71;;;;;;;;;;;8167:83;8384:64;;;;;;8526:6;8384:64;;:::i;:::-;1110:23712:69;8526:6:71;;:::i;:::-;7857:27;1110:23712:69;;;-1:-1:-1;;;8545:73:71;;-1:-1:-1;;;;;1110:23712:69;;;;8545:73:71;;1110:23712:69;;;;;;;;;;;;;;;;;8545:73:71;;;;;;;;;;;;8167:83;8544:74;;8540:1090;;8167:83;-1:-1:-1;;9744:21:71;1110:23712:69;;;-1:-1:-1;;;9744:92:71;;-1:-1:-1;;;;;1110:23712:69;;;;9744:92:71;;1110:23712:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;;9744:92:71;;;;;;;;;;;;;8167:83;9881:30;;9922:13;;9917:92;9957:3;1110:23712:69;;9937:18:71;;;;;9970:32;9957:3;9992:10;;;;;:::i;:::-;1110:23712:69;9970:32:71;;:::i;:::-;9957:3;;:::i;:::-;9922:13;;;9937:18;;;10033:36;9937:18;10175:7;9937:18;;;;;;;;;10033:36;:::i;:::-;10175:7;;;:::i;:::-;1110:23712:69;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;19645:41;;1110:23712;;:::i;:::-;;;;;;;10303:13:71;10343:3;1110:23712:69;;10318:23:71;;;;;10393:15;1110:23712:69;10375:33:71;1110:23712:69;10393:15:71;10343:3;10393:15;;;:::i;:::-;1110:23712:69;;10375:33:71;;:::i;:::-;1110:23712:69;10356:59:71;;;;:::i;:::-;1110:23712:69;10343:3:71;:::i;:::-;10303:13;;10318:23;;;;;;10500:12;10318:23;;;;;10500:12;:::i;:::-;1110:23712:69;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;16043:178;;1110:23712;;16043:178;1110:23712;;9744:92:71;;;;;;;;;;;;;;;:::i;:::-;1110:23712:69;9744:92:71;;;;1110:23712:69;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;9744:92:71;;;;1110:23712:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;9744:92:71;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;9744:92:71;;;1110:23712:69;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;9744:92:71;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9744:92:71;;;;;;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;8540:1090:71;1110:23712:69;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;8775:14:71;;;:::i;:::-;1110:23712:69;;8756:33:71;;;:::i;:::-;1110:23712:69;8802:29:71;1110:23712:69;;;-1:-1:-1;;;8802:62:71;;1110:23712:69;8802:62:71;;1110:23712:69;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;8802:62:71;;;;;;;;;;;8540:1090;-1:-1:-1;8798:826:71;;;-1:-1:-1;8802:29:71;1110:23712:69;;;-1:-1:-1;;;8905:60:71;;1110:23712:69;8905:60:71;;1110:23712:69;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;8905:60:71;;;;;;;;;1110:23712:69;8905:60:71;;;;;8798:826;1110:23712:69;;9014:28:71;;;;;:::i;:::-;9046:3;1110:23712:69;;8994:56:71;;;:::i;:::-;9079:28;;;;;:::i;:::-;9046:3;1110:23712:69;;9061:53:71;;;:::i;:::-;1110:23712:69;9167:14:71;;;:::i;:::-;1110:23712:69;9198:11:71;;;;;:::i;:::-;8540:1090;;;;;8905:60;;;;1110:23712:69;8905:60:71;1110:23712:69;8905:60:71;;;;;;;:::i;:::-;;;;8798:826;1110:23712:69;;-1:-1:-1;;;9264:106:71;;-1:-1:-1;;;;;1110:23712:69;;;9264:106:71;;1110:23712:69;;;-1:-1:-1;1110:23712:69;;-1:-1:-1;1110:23712:69;;;;;;;;9264:106:71;;;;;;;;;1110:23712:69;9264:106:71;;;;;8798:826;1110:23712:69;;9419:28:71;;;;;:::i;:::-;9451:3;1110:23712:69;;9399:56:71;;;;:::i;:::-;9484:28;;;;;:::i;:::-;9451:3;1110:23712:69;;9466:53:71;;;:::i;:::-;1110:23712:69;9572:14:71;;;:::i;:::-;1110:23712:69;9603:11:71;;;;;:::i;:::-;8798:826;;9264:106;;;;1110:23712:69;9264:106:71;1110:23712:69;9264:106:71;;;;;;;:::i;:::-;;;;8802:62;;;;1110:23712:69;8802:62:71;1110:23712:69;8802:62:71;;;;;;;:::i;:::-;;;;8545:73;;;;1110:23712:69;8545:73:71;1110:23712:69;8545:73:71;;;;;;;:::i;:::-;;;;8396:52;;;;;1110:23712:69;8396:52:71;;1110:23712:69;8396:52:71;;;;;;1110:23712:69;8396:52:71;;;:::i;:::-;;;1110:23712:69;;;;;;;;8396:52:71;1110:23712:69;8526:6:71;8396:52;;;;;-1:-1:-1;8396:52:71;;8316:62;;;;1110:23712:69;8316:62:71;;1110:23712:69;8316:62:71;;;;;;1110:23712:69;8316:62:71;;;:::i;:::-;;;1110:23712:69;;;;;;;;;;8316:62:71;;;;;-1:-1:-1;8316:62:71;;;1110:23712:69;;;;;;;;;8167:83:71;-1:-1:-1;;;;;;8236:14:71;;;:::i;:::-;1110:23712:69;;8167:83:71;;8076:67;;;1110:23712:69;8076:67:71;;1110:23712:69;8076:67:71;;;;;;1110:23712:69;8076:67:71;;;:::i;:::-;;;1110:23712:69;;;;;;;:::i;:::-;8076:67:71;;;;;;-1:-1:-1;8076:67:71;;7857:60;;;;;1110:23712:69;7857:60:71;;1110:23712:69;7857:60:71;;;;;;1110:23712:69;7857:60:71;;;:::i;:::-;;;1110:23712:69;;;;;;;7857:60:71;;;;;;;-1:-1:-1;7857:60:71;;1110:23712:69;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;15514:81;;;;:::i;:::-;1110:23712;;15514:81;;;;15427:587;1110:23712;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;15921:86;;;;1110:23712;;-1:-1:-1;;;15921:86:69;;15967:4;1110:23712;15921:86;;1110:23712;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;15921:86;;;;;;;;15427:587;;;;15921:86;;;;;;;:::i;:::-;;;;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;-1:-1:-1;;1110:23712:69;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1110:23712:69;;;;;19701:43;1110:23712;;;;;;:::i;:::-;2471:103:22;;:::i;:::-;1110:23712:69;;;;;;-1:-1:-1;;;;;;1110:23712:69;;19645:41;;1110:23712;;;;;;;;;;;19645:41;1110:23712;;;;19645:41;1110:23712;19645:41;1110:23712;19635:52;;1110:23712;;;;;;;:::i;19701:43::-;1110:23712;;;;;;;;;;;;19869:25;1110:23712;;6523:28:51;1110:23712:69;;;;;4351:12:51;4255:127;-1:-1:-1;1110:23712:69;4351:12:51;1110:23712:69;;;-1:-1:-1;1110:23712:69;;4351:24:51;;4255:127;;6523:28;1110:23712:69;;;;;;;;;;;;20075:19;1110:23712;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1110:23712:69;;;;20214:62;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;20214:62;;1110:23712;;;;20214:62;1110:23712;20214:62;1110:23712;20204:73;;1110:23712;;;;;;;;;;20306:16;1110:23712;;;;;;;;;;;;;;;;;;;20364:17;1110:23712;;;;;;;20364:47;1110:23712;;;-1:-1:-1;;;;;1110:23712:69;;;;20562:13;1110:23712;;;;;;;;;;;;;;;;;20562:50;;1110:23712;;;;;20740:13;1110:23712;;20830:32;1110:23712;;;-1:-1:-1;;;20830:57:69;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;20830:57;;;;;;;;;;;1110:23712;;;;20817:70;1110:23712;;;;;;;;20971:34;1110:23712;;;;-1:-1:-1;;;21167:23:69;;1110:23712;;;;21167:23;;1110:23712;;;;;;-1:-1:-1;;;;;1110:23712:69;;21167:23;;;;;;;;;;;1110:23712;-1:-1:-1;;;;;;1110:23712:69;;;;;21167:34;1110:23712;;;;;;-1:-1:-1;;;1758:70:71;;-1:-1:-1;;;;;1110:23712:69;;;;1758:70:71;;1110:23712:69;;;;;;;;;;;;;;1758:70:71;1110:23712:69;-1:-1:-1;;;;;1110:23712:69;;1758:70:71;;;;;;;;;;;1110:23712:69;;;;;;;;;;;;;;;;;21447:67;;1110:23712;;;21447:67;;1110:23712;21447:67;;;;;;;;;;;1110:23712;;21435:79;21520:83;1110:23712;;;21435:79;:::i;:::-;1110:23712;;-1:-1:-1;;;;;1110:23712:69;21520:83;:::i;:::-;1110:23712;;20364:17;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;22082:21;1110:23712;;;;22124:18;1110:23712;;;;;;;:::i;:::-;;;;;;;;;;21852:12;1110:23712;21781:368;;1110:23712;21886:15;1110:23712;21781:368;;1110:23712;;21781:368;;1110:23712;;21781:368;;1110:23712;;21781:368;;1110:23712;-1:-1:-1;;;;;;;;;;;1110:23712:69;21781:368;;1110:23712;;21781:368;;1110:23712;21781:368;;;1110:23712;;;;;;;;;;20562:13;1110:23712;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;21781:368;;1110:23712;;;;;;21781:368;;1110:23712;;;;;;21781:368;;1110:23712;;;;;;;;;;;;;;21781:368;;1110:23712;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;21781:368;;1110:23712;;;;;;21781:368;;1110:23712;20562:50;1110:23712;;;;21781:368;;1110:23712;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;21781:368;;;;;;1110:23712;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;-1:-1:-1;;1110:23712:69;;20830:32;1110:23712;;;-1:-1:-1;;;22342:62:69;;-1:-1:-1;;;;;1110:23712:69;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;22342:62;;;;;;1110:23712;22342:62;;;;;1110:23712;;;;;;;;:::i;:::-;22237:10;1110:23712;;;22217:194;;1110:23712;;;;22217:194;;1110:23712;;;;;;;22217:194;;1110:23712;;;;;;;;;;;;;22178:11;1110:23712;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;22470:91;1110:23712;;22546:4;22470:91;;;:::i;:::-;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;22237:10;1110:23712;22573:99;1110:23712;;;;;;;;;;22573:99;;1110:23712;2065:22:22;1110:23712:69;;;22342:62;;;;1110:23712;22342:62;1110:23712;22342:62;;;;;;;:::i;:::-;;;;1110:23712;;;;;-1:-1:-1;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;21447:67;;;1110:23712;21447:67;;1110:23712;21447:67;;;;;;1110:23712;21447:67;;;:::i;:::-;;;1110:23712;;;;;21435:79;21447:67;;;;;-1:-1:-1;21447:67:69;;1758:70:71;;;;1110:23712:69;1758:70:71;1110:23712:69;1758:70:71;;;;;;;:::i;:::-;;;;1110:23712:69;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;21167:23;;;1110:23712;21167:23;;1110:23712;21167:23;;;;;;1110:23712;21167:23;;;:::i;:::-;;;1110:23712;;;;;;;:::i;:::-;21167:23;;;;;;-1:-1:-1;21167:23:69;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;20830:57;;;1110:23712;20830:57;;1110:23712;20830:57;;;;;;1110:23712;20830:57;;;:::i;:::-;;;1110:23712;;;;;20830:57;;;;;;-1:-1:-1;20830:57:69;;1110:23712;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;:::i;:::-;;;;23702:25;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;;;;;;;;;1303:62:20;;:::i;:::-;5198:60:69;1110:23712;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;:::i;:::-;;;;1754:62;1110:23712;;;;;;;;;;;;;;;;1754:62;1110:23712;1754:62;;1110:23712;;1754:62;1110:23712;1754:62;;;1110:23712;1754:62;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;1303:62:20;;:::i;:::-;1110:23712:69;;5734:48;1110:23712;;;;;;;;;;;;;;;;;1890:31;1110:23712;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;-1:-1:-1;;;;;1110:23712:69;;;;:::i;:::-;;;;;;16602:13;1110:23712;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;16866:23;;1110:23712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;:::o;1599:130:20:-;1513:6;1110:23712:69;-1:-1:-1;;;;;1110:23712:69;929:10:24;1662:23:20;1110:23712:69;;1599:130:20:o;1110:23712:69:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:20;2758:6;1110:23712:69;;-1:-1:-1;;;;;1110:23712:69;;;-1:-1:-1;;;;;;1110:23712:69;;;;;;;;;;2806:40:20;-1:-1:-1;;2806:40:20;2666:187::o;1110:23712:69:-;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;:::o;:::-;-1:-1:-1;;;;;1110:23712:69;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;:::o;:::-;;19645:41;;;1110:23712;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;-1:-1:-1;1110:23712:69;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;-1:-1:-1;1110:23712:69;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;1110:23712:69;;-1:-1:-1;1110:23712:69;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;1110:23712:69;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;2580:287:22:-;1830:1;2712:7;1110:23712:69;2712:19:22;1830:1;;;2712:7;1110:23712:69;2580:287:22:o;1830:1::-;1110:23712:69;;-1:-1:-1;;;1830:1:22;;;;;;;;;;;1110:23712:69;1830:1:22;1110:23712:69;;;1830:1:22;;;;1110:23712:69;;;;;;;;-1:-1:-1;1110:23712:69;;-1:-1:-1;1110:23712:69;;;-1:-1:-1;1110:23712:69;:::o;:::-;;;;;;;;;;;;2214:404:51;-1:-1:-1;1110:23712:69;;;4351:12:51;;;1110:23712:69;;;;;;2298:21:51;;1110:23712:69;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;2493:12:51;1110:23712:69;;;-1:-1:-1;1110:23712:69;;;2547:11:51;:::o;2293:319::-;2589:12;;-1:-1:-1;2589:12:51;:::o;2786:1388::-;;2989:12;;;-1:-1:-1;;1110:23712:69;;;;;;;;;;;3023:15:51;;;;3019:1149;3023:15;;;-1:-1:-1;;1110:23712:69;;;;;;;;;;;;;;;;;;;;3505:26:51;;;3501:398;;3019:1149;1110:23712:69;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2989:12:51;4103:11;:::o;1110:23712:69:-;-1:-1:-1;;;1110:23712:69;;;;;;;;3501:398:51;1110:23712:69;3571:22:51;3693:26;3571:22;;;:::i;:::-;1110:23712:69;;;;;;3693:26:51;;;;;:::i;1110:23712:69:-;;;;;;;;;;;;3501:398:51;;;;;1110:23712:69;-1:-1:-1;;;1110:23712:69;;;;;;;;3019:1149:51;4145:12;;;;;:::o;1110:23712:69:-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;1156:154:46;;;;2078:13;-1:-1:-1;2073:116:46;2111:3;1110:23712:69;;2093:16:46;;;;;2169:8;;;;:::i;:::-;1110:23712:69;;-1:-1:-1;9064:5:46;;;;;;9264:119;-1:-1:-1;9264:119:46;;;2111:3;9264:119;-1:-1:-1;9264:119:46;9064:51;2111:3;;:::i;:::-;2078:13;;;9064:51;9264:119;;2111:3;9264:119;;;;;;9064:51;;2093:16;;;;;1270:33;1156:154;:::o;1110:23712:69:-;-1:-1:-1;;1110:23712:69;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;621:274:71:-;-1:-1:-1;;;;;1110:23712:69;;;756:30:71;;;:97;;;;621:274;1110:23712:69;;;;;621:274:71:o;1110:23712:69:-;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;756:97:71;790:63;1110:23712:69;;;790:29:71;1110:23712:69;;;;;;;;;;;;;790:63:71;;;;;1110:23712:69;790:63:71;;;;;;;784:1;790:63;;;756:97;;;;;;790:63;;;;;;;;;;;;;;:::i;:::-;;;;;1110:23712:69;;;784:1:71;1110:23712:69;;;;;3200:418:71;-1:-1:-1;;;;;1110:23712:69;;;;3358:23:71;;3354:50;;3499:28;1110:23712:69;;;-1:-1:-1;;;3463:66:71;;3479:10;3463:66;;;1110:23712:69;;;-1:-1:-1;;;;;1110:23712:69;;;;;;3463:66:71;;1110:23712:69;;;;;;;3463:66:71;;;;;;;;;3379:1;3463:66;;;3200:418;3463:77;;1110:23712:69;;3200:418:71:o;1110:23712:69:-;;;-1:-1:-1;;;1110:23712:69;;3463:66:71;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;3463:66:71;;;;;;;;;;;;;;;;:::i;:::-;;;1110:23712:69;;;;;;3463:66:71;;;;;;-1:-1:-1;3463:66:71;;3354:50;3391:7;;;:::o;4114:695::-;-1:-1:-1;;;;;1110:23712:69;4291:1:71;;1110:23712:69;;;;4263:30:71;;4259:117;;4390:9;1110:23712:69;;;;;;;;;;4525:30:71;;;;4549:4;4525:30;;;1110:23712:69;4525:30:71;;;;1110:23712:69;4525:30:71;;;;;;;;;;;;;4114:695;1110:23712:69;4562:28:71;1110:23712:69;;4562:95:71;;;;;;1110:23712:69;;-1:-1:-1;;;4562:95:71;;-1:-1:-1;;;;;1110:23712:69;;;;4525:30:71;4562:95;;1110:23712:69;4622:10:71;1110:23712:69;;;;4549:4:71;1110:23712:69;;;;;;;;;;;;;;;;;;;;;4562:95:71;;;;;;;;;;;;4114:695;1110:23712:69;;;;4687:30:71;;;;;;4549:4;4525:30;4687;;1110:23712:69;4687:30:71;;;;;;;;;;4114:695;4732:28;;;;:::i;:::-;:39;1110:23712:69;;4114:695:71;;:::o;1110:23712:69:-;;;;;;;;;;;4525:30:71;1110:23712:69;;;;;;;;;;;;;;4687:30:71;;;;;;;;;;;;;;;:::i;:::-;;;1110:23712:69;;;;4732:28:71;1110:23712:69;;4687:30:71;;;;;;;;1110:23712:69;;;;;;;;;;4562:95:71;;;;;;;:::i;:::-;;;;;;1110:23712:69;;;;;;;;;4525:30:71;;;;;;;;;;;;;;;;;:::i;:::-;;;1110:23712:69;;;;;4525:30:71;;;;;;;;;;1110:23712:69;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;4259:117:71;4311:9;;;;;;:20;1110:23712:69;;4363:7:71:o;1110:23712:69:-;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;;;;;19645:41;1110:23712;;-1:-1:-1;;1110:23712:69;;;;;:::i;:::-;;;;-1:-1:-1;1110:23712:69;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;1110:23712:69;;;;;;;;;;;;;;;;;;;19645:41;;;1110:23712;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;:::i;:::-;;;;5236:695:71;;;;5422:12;;5418:39;;5529:3;5500:25;5488:45;5500:25;;;:::i;:::-;1110:23712:69;5488:45:71;;:::i;:::-;-1:-1:-1;;;;;1110:23712:69;;;;;;5544:30:71;;5540:289;;5911:14;;;;:::i;5540:289::-;-1:-1:-1;5628:16:71;1110:23712:69;;;-1:-1:-1;;;5683:78:71;;;;;;-1:-1:-1;;;;;1110:23712:69;;;5683:78:71;;;1110:23712:69;;;;;;;5778:30:71;;5433:1;;;;1110:23712:69;;;;;5683:78:71;;1110:23712:69;;;;5683:78:71;1110:23712:69;5683:78:71;5620:149;;;;;;:::i;:::-;5778:30;;:::i;5418:39::-;5444:7;;;;:::o;941:175:37:-;1110:23712:69;;-1:-1:-1;;;1050:58:37;;;;;;;-1:-1:-1;;;;;1110:23712:69;;;;1050:58:37;;;1110:23712:69;;;;;;;;;1050:58:37;;;;;5535:69:42;;1110:23712:69;-1:-1:-1;;;;1050:58:37;1110:23712:69;;1050:58:37;:::i;:::-;1110:23712:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;5487:31:42;;;;;;;;:::i;:::-;5535:69;;:::i;:::-;1110:23712:69;;5705:22:37;;;;:56;;;;;941:175;1110:23712:69;;;;;;941:175:37;:::o;1110:23712:69:-;;;;;;;;;;;;;;;;1050:58:37;1110:23712:69;;;;;;;;-1:-1:-1;;;1110:23712:69;;;;;5705:56:37;5731:30;;-1:-1:-1;5731:30:37;;;;;;;:::i;:::-;5705:56;;;;;7671:628:42;;;;7875:418;;;1110:23712:69;;;7906:22:42;7902:286;;8201:17;;:::o;7902:286::-;1713:19:23;:23;1110:23712:69;;8201:17:42;:::o;1110:23712:69:-;;;-1:-1:-1;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;7875:418:42;1110:23712:69;;;;-1:-1:-1;8980:21:42;:17;;9152:142;;;;;;;10927:667:71;-1:-1:-1;;;;;1110:23712:69;;;;10927:667:71;;1110:23712:69;;11146:30:71;;11142:286;;11484:13;11174:1;11523:3;1110:23712:69;;11499:22:71;;;;;11555:14;11536:47;11555:14;;11523:3;11555:14;;;:::i;:::-;1110:23712:69;;11571:11:71;;;;:::i;:::-;1110:23712:69;11536:47:71;;;:::i;:::-;11523:3;:::i;:::-;11484:13;;11499:22;;;;;;;10927:667::o;11142:286::-;1110:23712:69;;;;11230:16:71;1110:23712:69;;;;;11283:77:71;1110:23712:69;11283:77:71;;;;;;;;;1110:23712:69;11283:77:71;;;1110:23712:69;;;;;;:::i;:::-;;;;-1:-1:-1;;1110:23712:69;;;;;;;;;;;;;;;;;11174:1:71;1110:23712:69;;;;;;11283:77:71;;;;;11174:1;11283:77;;;;;;11377:30;11283:77;;;19645:41:69;;11283:77:71;;;;;;:::i;1110:23712:69:-;;;;;;;;;;;;;;;;;11922:259:71;;;1110:23712:69;;;;;;;;12095:81:71;;;;;;1110:23712:69;;-1:-1:-1;;;12095:81:71;;-1:-1:-1;;;;;1110:23712:69;;;12095:81:71;;;1110:23712:69;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1110:23712:69;;;;;;-1:-1:-1;;12095:81:71;;;;;;;;11922:259;:::o;12095:81::-;;;;:::i","linkReferences":{"src/v2/utils/MarketConfigV2.sol":{"MarketConfigV2":[{"start":3048,"length":20}]}}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","bid(address,uint256,address,uint256)":"b5678588","bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])":"5060eadf","cancelAuction(address,uint256)":"859b97fe","cancelAuctionMerkleRoot(bytes32)":"ac964f8e","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","creatorRootToConfig(address,bytes32)":"bb120e66","getAuctionDetails(address,uint256)":"0cd87c68","getCreatorAuctionMerkleRootNonce(address,bytes32)":"e29ac890","getMerkleAuctionConfig(address,bytes32)":"76ffb5a7","getTokenAuctionNonce(address,bytes32,address,uint256)":"d97f7657","getUserAuctionMerkleRoots(address)":"4ebade5f","initialize(address,address,address,address,address,address,address,address,address,address)":"c306b378","isTokenInRoot(bytes32,address,uint256,bytes32[])":"5e51b2d4","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","owner()":"8da5cb5b","registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])":"f8aa56ee","renounceOwnership()":"715018a6","setAuctionLengthExtension(uint256)":"10f79789","setMaxAuctionLength(uint256)":"affdafd8","setMinimumBidIncreasePercentage(uint8)":"48626b90","settleAuction(address,uint256)":"5138b08c","tokenAuctions(address,uint256)":"c47c35c1","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_firstBid\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_marketplaceFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"AuctionMerkleBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"AuctionMerkleRootCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startingAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"AuctionMerkleRootRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_marketplaceFee\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marketplaceFeeAtTime\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"bidAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"bidWithAuctionMerkleProof\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"cancelAuctionMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"creatorRootToConfig\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"getCreatorAuctionMerkleRootNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"}],\"name\":\"getMerkleAuctionConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"struct ISuperRareAuctionHouseV2.MerkleAuctionConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"tokenContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getTokenAuctionNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserAuctionMerkleRoots\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc20ApprovalManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc721ApprovalManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"isTokenInRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"registerAuctionMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_auctionLengthExtension\",\"type\":\"uint256\"}],\"name\":\"setAuctionLengthExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxAuctionLength\",\"type\":\"uint256\"}],\"name\":\"setMaxAuctionLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_minimumBidIncreasePercentage\",\"type\":\"uint8\"}],\"name\":\"setMinimumBidIncreasePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"SuperRare Labs\",\"details\":\"This contract consolidates standard auction functionality from the SuperRare Bazaar with the existing Merkle auction features, ensuring full adoption of MarketUtilsV2.\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])\":{\"params\":{\"bidAmount\":\"The amount of the bid\",\"creator\":\"The creator of the auction\",\"merkleRoot\":\"The root hash of the Merkle tree\",\"originContract\":\"The contract address of the token\",\"proof\":\"The Merkle proof verifying token inclusion\",\"tokenId\":\"The ID of the token being bid on\"}},\"cancelAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelAuctionMerkleRoot(bytes32)\":{\"params\":{\"root\":\"The Merkle root to cancel\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startTime\":\"The time the auction should start.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"getCreatorAuctionMerkleRootNonce(address,bytes32)\":{\"params\":{\"root\":\"The Merkle root\",\"user\":\"The address of the user\"},\"returns\":{\"_0\":\"The current nonce value\"}},\"getMerkleAuctionConfig(address,bytes32)\":{\"params\":{\"creator\":\"The address of the creator\",\"root\":\"The Merkle root\"},\"returns\":{\"_0\":\"The MerkleAuctionConfig struct containing the auction configuration\"}},\"getTokenAuctionNonce(address,bytes32,address,uint256)\":{\"params\":{\"creator\":\"The creator of the auction\",\"root\":\"The Merkle root\",\"tokenContract\":\"The token contract address\",\"tokenId\":\"The token ID\"},\"returns\":{\"_0\":\"The current nonce for this token\"}},\"getUserAuctionMerkleRoots(address)\":{\"params\":{\"user\":\"The address of the user\"},\"returns\":{\"_0\":\"An array of Merkle roots\"}},\"initialize(address,address,address,address,address,address,address,address,address,address)\":{\"details\":\"Initializer function\"},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"params\":{\"origin\":\"The contract address of the token\",\"proof\":\"The Merkle proof for verification\",\"root\":\"The Merkle root to check against\",\"tokenId\":\"The ID of the token\"},\"returns\":{\"_0\":\"True if the token is included in the root, false otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])\":{\"params\":{\"currency\":\"The currency address for the auction\",\"duration\":\"The length of the auction in seconds\",\"merkleRoot\":\"The root hash of the Merkle tree containing token IDs\",\"splitAddresses\":\"The addresses to split the proceeds with\",\"splitRatios\":\"The ratios for each split address\",\"startingAmount\":\"The minimum bid amount\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setAuctionLengthExtension(uint256)\":{\"params\":{\"_auctionLengthExtension\":\"The new auction length extension in seconds\"}},\"setMaxAuctionLength(uint256)\":{\"params\":{\"_maxAuctionLength\":\"The new maximum auction length in seconds\"}},\"setMinimumBidIncreasePercentage(uint8)\":{\"params\":{\"_minimumBidIncreasePercentage\":\"The new minimum bid increase percentage\"}},\"settleAuction(address,uint256)\":{\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"SuperRareAuctionHouseV2\",\"version\":1},\"userdoc\":{\"events\":{\"AuctionBid(address,address,uint256,address,uint256,bool,uint256,address)\":{\"notice\":\"Emitted when a bid is placed\"},\"AuctionMerkleBid(address,uint256,address,address,bytes32,uint256,uint256)\":{\"notice\":\"Emitted when a bid with Merkle proof is placed\"},\"AuctionMerkleRootCancelled(address,bytes32)\":{\"notice\":\"Emitted when a Merkle auction root is cancelled\"},\"AuctionMerkleRootRegistered(address,bytes32,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a Merkle auction root is registered\"},\"AuctionSettled(address,uint256,address,address,uint256,uint256)\":{\"notice\":\"Emitted when an auction is settled\"},\"CancelAuction(address,uint256,address)\":{\"notice\":\"Emitted when an auction is cancelled\"},\"NewAuction(address,uint256,address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a new auction is created\"}},\"kind\":\"user\",\"methods\":{\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])\":{\"notice\":\"Places a bid using a Merkle proof to verify token inclusion\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"cancelAuctionMerkleRoot(bytes32)\":{\"notice\":\"Cancels a previously registered Merkle root\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"getAuctionDetails(address,uint256)\":{\"notice\":\"Grabs the current auction details for a token.\"},\"getCreatorAuctionMerkleRootNonce(address,bytes32)\":{\"notice\":\"Gets the current nonce for a user's Merkle root\"},\"getMerkleAuctionConfig(address,bytes32)\":{\"notice\":\"Gets the Merkle auction configuration for a given creator and root\"},\"getTokenAuctionNonce(address,bytes32,address,uint256)\":{\"notice\":\"Gets the nonce for a specific token under a Merkle root\"},\"getUserAuctionMerkleRoots(address)\":{\"notice\":\"Gets all Merkle roots registered by a user\"},\"isTokenInRoot(bytes32,address,uint256,bytes32[])\":{\"notice\":\"Verifies if a token is included in a Merkle root\"},\"registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Registers a new Merkle root for auction configuration\"},\"setAuctionLengthExtension(uint256)\":{\"notice\":\"Sets the auction length extension\"},\"setMaxAuctionLength(uint256)\":{\"notice\":\"Sets the maximum auction length\"},\"setMinimumBidIncreasePercentage(uint8)\":{\"notice\":\"Sets the minimum bid increase percentage\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The logic for all functions related to the SuperRareAuctionHouseV2.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v2/auctionhouse/SuperRareAuctionHouseV2.sol\":\"SuperRareAuctionHouseV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0xcc76dbe53154a5bbd12fdd1613a73f73f3dc7c63d813be36f7ee606f52d6a7b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345232794f2cfafccfb4371e44910af9fd86f972ecace1bb6843532536590929\",\"dweb:/ipfs/QmSnapDBk6P2JG6LJHwituQq7wMM8DawKj32APiPj5Bzpn\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72\",\"dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":{\"keccak256\":\"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f\",\"dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY\"]},\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":{\"keccak256\":\"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3\",\"dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd\"]},\"src/v2/auctionhouse/ISuperRareAuctionHouseV2.sol\":{\"keccak256\":\"0xe3b08a1606ceb69903591867eb5bd26e945167c1dde948caf551e4c7b1fc5d39\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309469545ccfa63701ad4e6844101ca13037fd9c3f8bcddf3d79aae5ea147f02\",\"dweb:/ipfs/QmZRfr9wEj8hrBUbPbo8PsBYTzpLFmQFicm8WxeKYmruko\"]},\"src/v2/auctionhouse/SuperRareAuctionHouseV2.sol\":{\"keccak256\":\"0x0dadc223ffa3c3b70bce40c4b2eb5aec31f5faffe472932a833e3338e325ed1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7569e5380c14cd36381f046c0adad28397e32e1e298cd3b47689d350af5a1863\",\"dweb:/ipfs/QmdFbz1NxjE4XSsdJadT3gsUKtt343ymuXU7jVLbapdqZA\"]},\"src/v2/utils/MarketConfigV2.sol\":{\"keccak256\":\"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6\",\"dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj\"]},\"src/v2/utils/MarketUtilsV2.sol\":{\"keccak256\":\"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042\",\"dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_firstBid","type":"bool","indexed":false},{"internalType":"uint256","name":"_marketplaceFee","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"bidder","type":"address","indexed":true},{"internalType":"address","name":"creator","type":"address","indexed":false},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"AuctionMerkleBid","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true}],"type":"event","name":"AuctionMerkleRootCancelled","anonymous":false},{"inputs":[{"internalType":"address","name":"creator","type":"address","indexed":true},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"address","name":"currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"startingAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"duration","type":"uint256","indexed":false},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false}],"type":"event","name":"AuctionMerkleRootRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"address","name":"_bidder","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_marketplaceFee","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":false}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":false},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_startingAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"marketplaceFeeAtTime","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"originContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"bidAmount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"payable","type":"function","name":"bidWithAuctionMerkleProof"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuctionMerkleRoot"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"creatorRootToConfig","outputs":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"startingAmount","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getCreatorAuctionMerkleRootNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"creator","type":"address"},{"internalType":"bytes32","name":"root","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getMerkleAuctionConfig","outputs":[{"internalType":"struct ISuperRareAuctionHouseV2.MerkleAuctionConfig","name":"","type":"tuple","components":[{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"startingAmount","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"address payable[]","name":"splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"},{"internalType":"uint256","name":"nonce","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"creator","type":"address"},{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTokenAuctionNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserAuctionMerkleRoots","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_stakingSettings","type":"address"},{"internalType":"address","name":"_networkBeneficiary","type":"address"},{"internalType":"address","name":"_erc20ApprovalManager","type":"address"},{"internalType":"address","name":"_erc721ApprovalManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"address","name":"origin","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"isTokenInRoot","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"startingAmount","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"address payable[]","name":"splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"registerAuctionMerkleRoot"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_auctionLengthExtension","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setAuctionLengthExtension"},{"inputs":[{"internalType":"uint256","name":"_maxAuctionLength","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxAuctionLength"},{"inputs":[{"internalType":"uint8","name":"_minimumBidIncreasePercentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMinimumBidIncreasePercentage"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"bid(address,uint256,address,uint256)":{"params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])":{"params":{"bidAmount":"The amount of the bid","creator":"The creator of the auction","merkleRoot":"The root hash of the Merkle tree","originContract":"The contract address of the token","proof":"The Merkle proof verifying token inclusion","tokenId":"The ID of the token being bid on"}},"cancelAuction(address,uint256)":{"params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"cancelAuctionMerkleRoot(bytes32)":{"params":{"root":"The Merkle root to cancel"}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startTime":"The time the auction should start.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"getCreatorAuctionMerkleRootNonce(address,bytes32)":{"params":{"root":"The Merkle root","user":"The address of the user"},"returns":{"_0":"The current nonce value"}},"getMerkleAuctionConfig(address,bytes32)":{"params":{"creator":"The address of the creator","root":"The Merkle root"},"returns":{"_0":"The MerkleAuctionConfig struct containing the auction configuration"}},"getTokenAuctionNonce(address,bytes32,address,uint256)":{"params":{"creator":"The creator of the auction","root":"The Merkle root","tokenContract":"The token contract address","tokenId":"The token ID"},"returns":{"_0":"The current nonce for this token"}},"getUserAuctionMerkleRoots(address)":{"params":{"user":"The address of the user"},"returns":{"_0":"An array of Merkle roots"}},"initialize(address,address,address,address,address,address,address,address,address,address)":{"details":"Initializer function"},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"params":{"origin":"The contract address of the token","proof":"The Merkle proof for verification","root":"The Merkle root to check against","tokenId":"The ID of the token"},"returns":{"_0":"True if the token is included in the root, false otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])":{"params":{"currency":"The currency address for the auction","duration":"The length of the auction in seconds","merkleRoot":"The root hash of the Merkle tree containing token IDs","splitAddresses":"The addresses to split the proceeds with","splitRatios":"The ratios for each split address","startingAmount":"The minimum bid amount"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setAuctionLengthExtension(uint256)":{"params":{"_auctionLengthExtension":"The new auction length extension in seconds"}},"setMaxAuctionLength(uint256)":{"params":{"_maxAuctionLength":"The new maximum auction length in seconds"}},"setMinimumBidIncreasePercentage(uint8)":{"params":{"_minimumBidIncreasePercentage":"The new minimum bid increase percentage"}},"settleAuction(address,uint256)":{"params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"bidWithAuctionMerkleProof(address,uint256,address,bytes32,uint256,bytes32[])":{"notice":"Places a bid using a Merkle proof to verify token inclusion"},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"cancelAuctionMerkleRoot(bytes32)":{"notice":"Cancels a previously registered Merkle root"},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"getAuctionDetails(address,uint256)":{"notice":"Grabs the current auction details for a token."},"getCreatorAuctionMerkleRootNonce(address,bytes32)":{"notice":"Gets the current nonce for a user's Merkle root"},"getMerkleAuctionConfig(address,bytes32)":{"notice":"Gets the Merkle auction configuration for a given creator and root"},"getTokenAuctionNonce(address,bytes32,address,uint256)":{"notice":"Gets the nonce for a specific token under a Merkle root"},"getUserAuctionMerkleRoots(address)":{"notice":"Gets all Merkle roots registered by a user"},"isTokenInRoot(bytes32,address,uint256,bytes32[])":{"notice":"Verifies if a token is included in a Merkle root"},"registerAuctionMerkleRoot(bytes32,address,uint256,uint256,address[],uint8[])":{"notice":"Registers a new Merkle root for auction configuration"},"setAuctionLengthExtension(uint256)":{"notice":"Sets the auction length extension"},"setMaxAuctionLength(uint256)":{"notice":"Sets the maximum auction length"},"setMinimumBidIncreasePercentage(uint8)":{"notice":"Sets the minimum bid increase percentage"},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v2/auctionhouse/SuperRareAuctionHouseV2.sol":"SuperRareAuctionHouseV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol":{"keccak256":"0xcc76dbe53154a5bbd12fdd1613a73f73f3dc7c63d813be36f7ee606f52d6a7b3","urls":["bzz-raw://345232794f2cfafccfb4371e44910af9fd86f972ecace1bb6843532536590929","dweb:/ipfs/QmSnapDBk6P2JG6LJHwituQq7wMM8DawKj32APiPj5Bzpn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0xacbaaa9be521944f83d2852379e1f40b28ada61a256493474f6cdc9b59620598","urls":["bzz-raw://15aa625baf68ba948a074361f38f7cf0e6198ba67d1d808c43865409296f1e72","dweb:/ipfs/Qmbcae8x18H5Uzp2DsQcfZH3PMxokhhVCcwks22CDqVsPQ"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/v2/approver/ERC20/IERC20ApprovalManager.sol":{"keccak256":"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e","urls":["bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f","dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY"],"license":"MIT"},"src/v2/approver/ERC721/IERC721ApprovalManager.sol":{"keccak256":"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4","urls":["bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3","dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd"],"license":"MIT"},"src/v2/auctionhouse/ISuperRareAuctionHouseV2.sol":{"keccak256":"0xe3b08a1606ceb69903591867eb5bd26e945167c1dde948caf551e4c7b1fc5d39","urls":["bzz-raw://309469545ccfa63701ad4e6844101ca13037fd9c3f8bcddf3d79aae5ea147f02","dweb:/ipfs/QmZRfr9wEj8hrBUbPbo8PsBYTzpLFmQFicm8WxeKYmruko"],"license":"MIT"},"src/v2/auctionhouse/SuperRareAuctionHouseV2.sol":{"keccak256":"0x0dadc223ffa3c3b70bce40c4b2eb5aec31f5faffe472932a833e3338e325ed1f","urls":["bzz-raw://7569e5380c14cd36381f046c0adad28397e32e1e298cd3b47689d350af5a1863","dweb:/ipfs/QmdFbz1NxjE4XSsdJadT3gsUKtt343ymuXU7jVLbapdqZA"],"license":"MIT"},"src/v2/utils/MarketConfigV2.sol":{"keccak256":"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a","urls":["bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6","dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj"],"license":"MIT"},"src/v2/utils/MarketUtilsV2.sol":{"keccak256":"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421","urls":["bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042","dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18"],"license":"MIT"}},"version":1},"id":69} \ No newline at end of file diff --git a/abis/SuperRareBazaar.json b/abis/SuperRareBazaar.json index 7acf5e9..6a4ed9d 100644 --- a/abis/SuperRareBazaar.json +++ b/abis/SuperRareBazaar.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"acceptOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"buy","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"convertOfferToAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_royaltyRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_superRareMarketplace","type":"address","internalType":"address"},{"name":"_superRareAuctionHouse","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_networkBeneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_convertible","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"removeSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"setApprovedTokenRegistry","inputs":[{"name":"_approvedTokenRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAuctionLengthExtension","inputs":[{"name":"_auctionLengthExtension","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceSettings","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxAuctionLength","inputs":[{"name":"_maxAuctionLength","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinimumBidIncreasePercentage","inputs":[{"name":"_minimumBidIncreasePercentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkBeneficiary","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOfferCancelationDelay","inputs":[{"name":"_offerCancelationDelay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPayments","inputs":[{"name":"_payments","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyEngine","inputs":[{"name":"_royaltyEngine","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyRegistry","inputs":[{"name":"_royaltyRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_listPrice","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorRegistry","inputs":[{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingRegistry","inputs":[{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSuperRareAuctionHouse","inputs":[{"name":"_superRareAuctionHouse","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSuperRareMarketplace","inputs":[{"name":"_superRareMarketplace","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234610016576122fa908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b60009260e08435811c9182629d9aa9146118a4575081630141c5901461187a57848263060d9eeb1461179f575081630a5c4ed51461177f5781630bcba09d146117555781630cd87c68146116105781630e519ef9146115f05781630f2b25321461154d57816310f797891461152b578163155a56b11461150f578163176ab440146114c85781631a2ac30f1461146757816321ede03214611420578163299a0e1e146113b35781632a2a326c1461136c5781632c419053146112f35781632c740844146112ac5781633492e5a814611265578163369679a4146111785781633bc3d9be1461114e57816348626b901461110f5781634c94c90c146110e55781635138b08c1461108457848263534665e914610fa7575081636240cd1c14610f7d5781636b534ed014610f535781636fe9f44c14610f2d578163715018a614610ed05781637a54479214610eae5781637f35823014610e6757816384a608e214610e20578163859b97fe14610dbf5781638da5cb5b14610d95578482639041a0ec14610ca6575081639c883af214610c5f578163a11b071214610c35578163a6d23e1014610c0b578163af231a5814610bc4578163b23afc2614610b9457848263b3ffb76014610b35578263b567858814610abc57508163ba50b63214610a92578163c306b378146107d8578163c47c35c1146107525784908263c8f94f4e146106445750508063c90b871414610618578063daa26499146105f9578063dce96bf5146105ce578063e4e87e3b14610584578063e92f94d1146104ef578063f2fde38b1461045e5763f7cfaad01461026b57600080fd5b3461045a57610279366119cb565b84516331a9108f60e11b81528085018390526001600160a01b0393841695602095909490929186816024818b5afa908115610450579082918a91610412575b501633036103c3579361037788979693948895610385947fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b988a895260a48852858920848a528852858920911688528652838720878155876001820155876002820155600381018054898255806103aa575b50500180548782558061038b575b505082519061034682611b48565b86825283519361035585611b48565b878552805197889781895288015286015260a0606086015260a0850190611957565b908382036080850152611994565b0390a380f35b6103a3918852601f878920910160051c810190611cd0565b3880610338565b6103bc918a52888a2090810190611cd0565b388061032a565b845162461bcd60e51b81528084018790526024808201527f72656d6f766553616c6550726963653a3a4d75737420626520746f6b656e4f776044820152633732b91760e11b6064820152608490fd5b809250888092503d8311610449575b61042b8183611b7a565b8101031261044557518181168103610445578190386102b8565b8880fd5b503d610421565b86513d8b823e3d90fd5b8280fd5b503461045a57602036600319011261045a576104786118c9565b91610481611a47565b6001600160a01b0383161561049d578361049a84611a9f565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5082903461058057610500366119cb565b92909460018060a01b0380609a5416948251978260208a019663e92f94d160e01b88521660248a015260448901521660648701526064865260a086019186831067ffffffffffffffff84111761056d575052835161049a9284928392915af4610567611b9c565b90611bdc565b634e487b7160e01b865260419052602485fd5b5080fd5b83346105cb5760203660031901126105cb5761059e6118c9565b6105a6611a47565b6001600160a01b03168015610580576001600160601b0360a01b609d541617609d5580f35b80fd5b83346105cb5760203660031901126105cb5760ff6105ea6119ff565b6105f2611a47565b1660a15580f35b50503461058057816003193601126105805760209060a2549051908152f35b505034610580578160031936011261058057516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b909391503461074d578060031936011261074d576106606118c9565b906106696118e4565b610671611910565b9160a4359567ffffffffffffffff96878111610445576106949036908301611926565b9160c4359889116107495789986106ad91369101611926565b929093600160a01b60019003809781609a54169a519889988160208b019c8d63647ca7a760e11b90521660248b015260243560448b015216606489015260643560848901521660a487015260c486015261010485019061070c92611c43565b906023198483030160e485015261072292611c8c565b03601f19810182526107349082611b7a565b51915af4610740611b9c565b61049a91611bdc565b8980fd5b505050fd5b828585346105805780600319360112610580576001600160a01b03918190836107796118c9565b16815260a660205281812060243582526020522090828254169360018301549360028401549060038501549285015416926006600586015495015495815197885260208801528601526060850152608084015260a083015260c0820152f35b50503461045a5761014036600319011261045a576107f46118c9565b6107fc6118fa565b6108046118e4565b6001600160a01b03919060643583811690819003610a8e57610824611910565b9160a435908582168092036107495760c43592868416809403610a8a5760e43594878616809603610a865761010435978089168099036109ed576101243599818b16809b036109f1578d5460ff8160081c16159c8d809e610a79575b8015610a62575b15610a075750908e83928e600160ff1983161783556109f5575b5050169788156109f15781169384156109f15781169182156109f15783156109f157169283156109ed5784156109ed5785156109ed5786156109ed5789156109ed576001600160601b0360a01b9788609754161760975587609854161760985586609954161760995585609a541617609a5584609b541617609b5583609c541617609c5582609d541617609d5581609e541617609e55609f541617609f55600560a11b906affffffffffffffffffffff60a81b60a05416171760a05562093a8060a15561038460a25561012c60a35561098960ff845460081c1661098481611ae8565b611ae8565b61099233611a9f565b8254906109a860ff8360081c1661098481611ae8565b60016065556109b5578280f35b61ff001916825551600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b8c80fd5b8d80fd5b61ffff19166101011790558e386108a1565b6084915060208f519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156108875750600160ff831614610887565b50600160ff831610610880565b8b80fd5b8a80fd5b8780fd5b5050503461058057816003193601126105805760975490516001600160a01b039091168152602090f35b61049a818087610b29610b1b610ad136611a0f565b609b5496516316acf0b160e31b602082019081526001600160a01b0395861660248301526044820194909452918416606483015260848201529190941693929091829060a4820190565b03601f198101835282611b7a565b51915af4610567611b9c565b61049a818087610b29610b1b610b4a36611a0f565b609a54965163059ffdbb60e51b602082019081526001600160a01b0395861660248301526044820194909452918416606483015260848201529190941693929091829060a4820190565b50505034610580578160031936011261058057517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b84346105cb5760203660031901126105cb57610bde6118c9565b610be6611a47565b6001600160a01b03168015610580576001600160601b0360a01b609e541617609e5580f35b50505034610580578160031936011261058057609e5490516001600160a01b039091168152602090f35b5050503461058057816003193601126105805760985490516001600160a01b039091168152602090f35b84346105cb5760203660031901126105cb57610c796118c9565b610c81611a47565b6001600160a01b03168015610580576001600160601b0360a01b609a541617609a5580f35b80848634610d9157610120918260031936011261074d57610cc56118fa565b610ccd611910565b9060e4359467ffffffffffffffff95868111610a8e57610cf09036908601611926565b9190610104928335988911610749578998610d0e9036908901611926565b939094600160a01b60019003809881609b54169b51998a9960208b019c8d632410683b60e21b90523560248c01521660448a015260443560648a015260643560848a01521660a488015260a43560c488015260c43560e4880152860152610144850190610d7a92611c43565b906023198483030161012485015261072292611c8c565b5050fd5b5050503461058057816003193601126105805760335490516001600160a01b039091168152602090f35b505050346105805781816003193601126105cb578061049a92610de06118c9565b609b5491516342cdcbff60e11b602082019081526001600160a01b039283166024808401919091523560448301529190921691610b298160648101610b1b565b84346105cb5760203660031901126105cb57610e3a6118c9565b610e42611a47565b6001600160a01b03168015610580576001600160601b0360a01b609854161760985580f35b84346105cb5760203660031901126105cb57610e816118c9565b610e89611a47565b6001600160a01b03168015610580576001600160601b0360a01b609c541617609c5580f35b84833461058057602036600319011261058057610ec9611a47565b3560a35580f35b84346105cb57806003193601126105cb57610ee9611a47565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050503461058057816003193601126105805760209060ff60a05460a01c169051908152f35b5050503461058057816003193601126105805760a05490516001600160a01b039091168152602090f35b50505034610580578160031936011261058057609d5490516001600160a01b039091168152602090f35b838186346105805760c036600319011261058057610fc36118c9565b90610fcc6118e4565b916084359467ffffffffffffffff9586811161108057610fef9036908301611926565b91909460a43597881161107c57610b1b879661106a611017610b299561049a9c369101611926565b91909260018060a01b039788609a54169a519889978160208a019c8d63534665e960e01b90521660248a015260243560448a0152166064880152606435608488015260c060a488015260e4870191611c43565b8481036023190160c486015291611c8c565b8680fd5b8580fd5b505050346105805781816003193601126105cb578061049a926110a56118c9565b609b54915163144e2c2360e21b602082019081526001600160a01b039283166024808401919091523560448301529190921691610b298160648101610b1b565b5050503461058057816003193601126105805760995490516001600160a01b039091168152602090f35b84346105cb5760203660031901126105cb576111296119ff565b611131611a47565b60a0805460ff60a01b191691811b60ff60a01b1691909117905580f35b50505034610580578160031936011261058057609b5490516001600160a01b039091168152602090f35b505091346105cb57611189366119cb565b6001600160a01b03928316845260a460209081528585209285529182528484209083168452905282822083519193919260a084019067ffffffffffffffff8211858310176112525750916103779161124e949382528581541684528560018201541695602085019687528061121d6002840154998588019a8b5261120f60038601611ce7565b946060890195865201611d41565b958660808201525116965116965190519180519788978852602088015286015260a0606086015260a0850190611957565b0390f35b634e487b7160e01b815260418752602490fd5b84346105cb5760203660031901126105cb5761127f6118c9565b611287611a47565b6001600160a01b03168015610580576001600160601b0360a01b60a054161760a05580f35b84346105cb5760203660031901126105cb576112c66118c9565b6112ce611a47565b6001600160a01b03168015610580576001600160601b0360a01b609f541617609f5580f35b50505034610580579060ff8260a09361130b366119cb565b90600180899894981b03809716835260a56020528383209083526020528583832091168252602052209283541692600181015491600360028301549201549281519586526020860152840152818116606084015260081c1615156080820152f35b84346105cb5760203660031901126105cb576113866118c9565b61138e611a47565b6001600160a01b03168015610580576001600160601b0360a01b609b541617609b5580f35b505050346105805780600319360112610580576080916001600160a01b0391908190836113de6118c9565b16815260a760205281812060243582526020522082815416926001820154169160ff600360028401549301541692815194855260208501528301526060820152f35b84346105cb5760203660031901126105cb5761143a6118c9565b611442611a47565b6001600160a01b03168015610580576001600160601b0360a01b609954161760995580f35b5050503461058057908160609261147d366119cb565b9060018060a09794971b03809616835260a460205283832090835260205284838320911682526020522090600283835416936001840154169201549181519384526020840152820152f35b84346105cb5760203660031901126105cb576114e26118c9565b6114ea611a47565b6001600160a01b03168015610580576001600160601b0360a01b609754161760975580f35b5050503461058057816003193601126105805751908152602090f35b84833461058057602036600319011261058057611546611a47565b3560a25580f35b9050839160a060031936011261045a576115656118c9565b9061156e6118e4565b94608435938415158095036110805760018060a01b039485609a5416958351988160208b0197630795929960e11b89521660248b015260243560448b0152166064890152606435608489015260a488015260a4875286019186831067ffffffffffffffff84111761056d575052835161049a9284928392915af4610567611b9c565b5050503461058057816003193601126105805760209060a1549051908152f35b848484923461045a578160031936011261045a576001600160a01b0391826116366118c9565b16845260a6602052808420602435855260205280842093815192610120918285019085821067ffffffffffffffff8311176117425750908291845285875416855260018701549660208601978852600281015498858701998a528760038301549160608901928352830154166080880190815260058301549060a0890191825260068401549260c08a01938452600785016116d090611ce7565b94868b019586526008016116e390611d41565b9a806101009b8d8d82015251169c519d5191519251169251935194519880519d8e809e8152602001528c015260608b015260808a015260a089015260c0880152860152840161173191611957565b908382039084015261124e91611994565b634e487b7160e01b815260418952602490fd5b50505034610580578160031936011261058057609c5490516001600160a01b039091168152602090f35b5050503461058057816003193601126105805760209060a3549051908152f35b929150923461045a578360031936011261045a576117bb6118c9565b6117c36118e4565b9467ffffffffffffffff9360a43585811161107c576117e59036908301611926565b97909560c435908111610a8e5761049a98889761186861180e610b2996610b1b95369101611926565b92909360018060a01b039889609b54169b51998a988160208b019d8e63060d9eeb60e01b90521660248b015260243560448b0152166064890152606435608489015260843560a489015260c4880152610104870191611c43565b8481036023190160e486015291611c8c565b50505034610580578160031936011261058057609a5490516001600160a01b039091168152602090f35b859034610580578160031936011261058057609f546001600160a01b03168152602090f35b600435906001600160a01b03821682036118df57565b600080fd5b604435906001600160a01b03821682036118df57565b602435906001600160a01b03821682036118df57565b608435906001600160a01b03821682036118df57565b9181601f840112156118df5782359167ffffffffffffffff83116118df576020808501948460051b0101116118df57565b90815180825260208080930193019160005b828110611977575050505090565b83516001600160a01b031685529381019392810192600101611969565b90815180825260208080930193019160005b8281106119b4575050505090565b835160ff16855293810193928101926001016119a6565b60609060031901126118df576001600160a01b0360043581811681036118df57916024359160443590811681036118df5790565b6004359060ff821682036118df57565b60809060031901126118df576001600160a01b0360043581811681036118df57916024359160443590811681036118df579060643590565b6033546001600160a01b03163303611a5b57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15611aef57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6020810190811067ffffffffffffffff821117611b6457604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611b6457604052565b3d15611bd7573d9067ffffffffffffffff8211611b645760405191611bcb601f8201601f191660200184611b7a565b82523d6000602084013e565b606090565b15611be45750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611c2a575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350611c07565b9190808252602080920192916000805b838210611c6257505050505090565b9091929394853560018060a01b03811680910361045a578152830194830193929160010190611c53565b9190808252602080920192916000805b838210611cab57505050505090565b9091929394853560ff811680910361045a578152830194830193929160010190611c9c565b818110611cdb575050565b60008155600101611cd0565b9060405191828154918282526020928383019160005283600020936000905b828210611d1e57505050611d1c92500383611b7a565b565b85546001600160a01b031684526001958601958895509381019390910190611d06565b90604051918281549182825260209081830190600052816000206000905b85601f83011061212d5794611d1c9554918482821061211a575b828210612104575b8282106120ee575b8282106120d8575b8282106120c3575b8282106120ad575b828210612097575b828210612081575b82821061206b575b828210612055575b82821061203f575b828210612029575b828210612013575b828210611ffd575b828210611fe7575b828210611fd1575b828210611fbb575b828210611fa5575b828210611f8f575b828210611f79575b828210611f63575b828210611f4d575b828210611f37575b828210611f21575b828210611f0b575b828210611ef5575b828210611edf575b828210611ec9575b828210611eb3575b828210611e9d575b828210611e87575b5010611e7a575b5090500383611b7a565b60f81c8152018038611e70565b6001919460ff8560f01c16815201930184611e69565b6001919460ff8560e81c16815201930184611e61565b6001919460ff8560e01c16815201930184611e59565b6001919460ff8560d81c16815201930184611e51565b6001919460ff8560d01c16815201930184611e49565b6001919460ff8560c81c16815201930184611e41565b6001919460ff8560c01c16815201930184611e39565b6001919460ff8560b81c16815201930184611e31565b6001919460ff8560b01c16815201930184611e29565b6001919460ff8560a81c16815201930184611e21565b6001919460ff8560a01c16815201930184611e19565b6001919460ff8560981c16815201930184611e11565b6001919460ff8560901c16815201930184611e09565b6001919460ff8560881c16815201930184611e01565b6001919460ff8560801c16815201930184611df9565b6001919460ff8560781c16815201930184611df1565b6001919460ff8560701c16815201930184611de9565b6001919460ff8560681c16815201930184611de1565b6001919460ff8560601c16815201930184611dd9565b6001919460ff8560581c16815201930184611dd1565b6001919460ff8560501c16815201930184611dc9565b6001919460ff8560481c16815201930184611dc1565b6001919460ff8560401c16815201930184611db9565b6001919460ff8560381c16815201930184611db1565b6001919460ff8560301c16815201930184611da9565b6001919460ff8560281c16815201930184611da1565b6001919460ff85831c16815201930184611d99565b6001919460ff8560181c16815201930184611d91565b6001919460ff8560101c16815201930184611d89565b6001919460ff8560081c16815201930184611d81565b6001919460ff8516815201930184611d79565b9350916001610400829693865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018693919492611d5f56fea2646970667358221220b0f5ac9c1c42c301054ca1bd3412cd4b6f46eddebf3b2cc9f3ad93c55b09648864736f6c63430008120033","sourceMap":"1245:17632:151:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b60009260e08435811c9182629d9aa9146118a4575081630141c5901461187a57848263060d9eeb1461179f575081630a5c4ed51461177f5781630bcba09d146117555781630cd87c68146116105781630e519ef9146115f05781630f2b25321461154d57816310f797891461152b578163155a56b11461150f578163176ab440146114c85781631a2ac30f1461146757816321ede03214611420578163299a0e1e146113b35781632a2a326c1461136c5781632c419053146112f35781632c740844146112ac5781633492e5a814611265578163369679a4146111785781633bc3d9be1461114e57816348626b901461110f5781634c94c90c146110e55781635138b08c1461108457848263534665e914610fa7575081636240cd1c14610f7d5781636b534ed014610f535781636fe9f44c14610f2d578163715018a614610ed05781637a54479214610eae5781637f35823014610e6757816384a608e214610e20578163859b97fe14610dbf5781638da5cb5b14610d95578482639041a0ec14610ca6575081639c883af214610c5f578163a11b071214610c35578163a6d23e1014610c0b578163af231a5814610bc4578163b23afc2614610b9457848263b3ffb76014610b35578263b567858814610abc57508163ba50b63214610a92578163c306b378146107d8578163c47c35c1146107525784908263c8f94f4e146106445750508063c90b871414610618578063daa26499146105f9578063dce96bf5146105ce578063e4e87e3b14610584578063e92f94d1146104ef578063f2fde38b1461045e5763f7cfaad01461026b57600080fd5b3461045a57610279366119cb565b84516331a9108f60e11b81528085018390526001600160a01b0393841695602095909490929186816024818b5afa908115610450579082918a91610412575b501633036103c3579361037788979693948895610385947fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b988a895260a48852858920848a528852858920911688528652838720878155876001820155876002820155600381018054898255806103aa575b50500180548782558061038b575b505082519061034682611b48565b86825283519361035585611b48565b878552805197889781895288015286015260a0606086015260a0850190611957565b908382036080850152611994565b0390a380f35b6103a3918852601f878920910160051c810190611cd0565b3880610338565b6103bc918a52888a2090810190611cd0565b388061032a565b845162461bcd60e51b81528084018790526024808201527f72656d6f766553616c6550726963653a3a4d75737420626520746f6b656e4f776044820152633732b91760e11b6064820152608490fd5b809250888092503d8311610449575b61042b8183611b7a565b8101031261044557518181168103610445578190386102b8565b8880fd5b503d610421565b86513d8b823e3d90fd5b8280fd5b503461045a57602036600319011261045a576104786118c9565b91610481611a47565b6001600160a01b0383161561049d578361049a84611a9f565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5082903461058057610500366119cb565b92909460018060a01b0380609a5416948251978260208a019663e92f94d160e01b88521660248a015260448901521660648701526064865260a086019186831067ffffffffffffffff84111761056d575052835161049a9284928392915af4610567611b9c565b90611bdc565b634e487b7160e01b865260419052602485fd5b5080fd5b83346105cb5760203660031901126105cb5761059e6118c9565b6105a6611a47565b6001600160a01b03168015610580576001600160601b0360a01b609d541617609d5580f35b80fd5b83346105cb5760203660031901126105cb5760ff6105ea6119ff565b6105f2611a47565b1660a15580f35b50503461058057816003193601126105805760209060a2549051908152f35b505034610580578160031936011261058057516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b909391503461074d578060031936011261074d576106606118c9565b906106696118e4565b610671611910565b9160a4359567ffffffffffffffff96878111610445576106949036908301611926565b9160c4359889116107495789986106ad91369101611926565b929093600160a01b60019003809781609a54169a519889988160208b019c8d63647ca7a760e11b90521660248b015260243560448b015216606489015260643560848901521660a487015260c486015261010485019061070c92611c43565b906023198483030160e485015261072292611c8c565b03601f19810182526107349082611b7a565b51915af4610740611b9c565b61049a91611bdc565b8980fd5b505050fd5b828585346105805780600319360112610580576001600160a01b03918190836107796118c9565b16815260a660205281812060243582526020522090828254169360018301549360028401549060038501549285015416926006600586015495015495815197885260208801528601526060850152608084015260a083015260c0820152f35b50503461045a5761014036600319011261045a576107f46118c9565b6107fc6118fa565b6108046118e4565b6001600160a01b03919060643583811690819003610a8e57610824611910565b9160a435908582168092036107495760c43592868416809403610a8a5760e43594878616809603610a865761010435978089168099036109ed576101243599818b16809b036109f1578d5460ff8160081c16159c8d809e610a79575b8015610a62575b15610a075750908e83928e600160ff1983161783556109f5575b5050169788156109f15781169384156109f15781169182156109f15783156109f157169283156109ed5784156109ed5785156109ed5786156109ed5789156109ed576001600160601b0360a01b9788609754161760975587609854161760985586609954161760995585609a541617609a5584609b541617609b5583609c541617609c5582609d541617609d5581609e541617609e55609f541617609f55600560a11b906affffffffffffffffffffff60a81b60a05416171760a05562093a8060a15561038460a25561012c60a35561098960ff845460081c1661098481611ae8565b611ae8565b61099233611a9f565b8254906109a860ff8360081c1661098481611ae8565b60016065556109b5578280f35b61ff001916825551600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b8c80fd5b8d80fd5b61ffff19166101011790558e386108a1565b6084915060208f519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156108875750600160ff831614610887565b50600160ff831610610880565b8b80fd5b8a80fd5b8780fd5b5050503461058057816003193601126105805760975490516001600160a01b039091168152602090f35b61049a818087610b29610b1b610ad136611a0f565b609b5496516316acf0b160e31b602082019081526001600160a01b0395861660248301526044820194909452918416606483015260848201529190941693929091829060a4820190565b03601f198101835282611b7a565b51915af4610567611b9c565b61049a818087610b29610b1b610b4a36611a0f565b609a54965163059ffdbb60e51b602082019081526001600160a01b0395861660248301526044820194909452918416606483015260848201529190941693929091829060a4820190565b50505034610580578160031936011261058057517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b84346105cb5760203660031901126105cb57610bde6118c9565b610be6611a47565b6001600160a01b03168015610580576001600160601b0360a01b609e541617609e5580f35b50505034610580578160031936011261058057609e5490516001600160a01b039091168152602090f35b5050503461058057816003193601126105805760985490516001600160a01b039091168152602090f35b84346105cb5760203660031901126105cb57610c796118c9565b610c81611a47565b6001600160a01b03168015610580576001600160601b0360a01b609a541617609a5580f35b80848634610d9157610120918260031936011261074d57610cc56118fa565b610ccd611910565b9060e4359467ffffffffffffffff95868111610a8e57610cf09036908601611926565b9190610104928335988911610749578998610d0e9036908901611926565b939094600160a01b60019003809881609b54169b51998a9960208b019c8d632410683b60e21b90523560248c01521660448a015260443560648a015260643560848a01521660a488015260a43560c488015260c43560e4880152860152610144850190610d7a92611c43565b906023198483030161012485015261072292611c8c565b5050fd5b5050503461058057816003193601126105805760335490516001600160a01b039091168152602090f35b505050346105805781816003193601126105cb578061049a92610de06118c9565b609b5491516342cdcbff60e11b602082019081526001600160a01b039283166024808401919091523560448301529190921691610b298160648101610b1b565b84346105cb5760203660031901126105cb57610e3a6118c9565b610e42611a47565b6001600160a01b03168015610580576001600160601b0360a01b609854161760985580f35b84346105cb5760203660031901126105cb57610e816118c9565b610e89611a47565b6001600160a01b03168015610580576001600160601b0360a01b609c541617609c5580f35b84833461058057602036600319011261058057610ec9611a47565b3560a35580f35b84346105cb57806003193601126105cb57610ee9611a47565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050503461058057816003193601126105805760209060ff60a05460a01c169051908152f35b5050503461058057816003193601126105805760a05490516001600160a01b039091168152602090f35b50505034610580578160031936011261058057609d5490516001600160a01b039091168152602090f35b838186346105805760c036600319011261058057610fc36118c9565b90610fcc6118e4565b916084359467ffffffffffffffff9586811161108057610fef9036908301611926565b91909460a43597881161107c57610b1b879661106a611017610b299561049a9c369101611926565b91909260018060a01b039788609a54169a519889978160208a019c8d63534665e960e01b90521660248a015260243560448a0152166064880152606435608488015260c060a488015260e4870191611c43565b8481036023190160c486015291611c8c565b8680fd5b8580fd5b505050346105805781816003193601126105cb578061049a926110a56118c9565b609b54915163144e2c2360e21b602082019081526001600160a01b039283166024808401919091523560448301529190921691610b298160648101610b1b565b5050503461058057816003193601126105805760995490516001600160a01b039091168152602090f35b84346105cb5760203660031901126105cb576111296119ff565b611131611a47565b60a0805460ff60a01b191691811b60ff60a01b1691909117905580f35b50505034610580578160031936011261058057609b5490516001600160a01b039091168152602090f35b505091346105cb57611189366119cb565b6001600160a01b03928316845260a460209081528585209285529182528484209083168452905282822083519193919260a084019067ffffffffffffffff8211858310176112525750916103779161124e949382528581541684528560018201541695602085019687528061121d6002840154998588019a8b5261120f60038601611ce7565b946060890195865201611d41565b958660808201525116965116965190519180519788978852602088015286015260a0606086015260a0850190611957565b0390f35b634e487b7160e01b815260418752602490fd5b84346105cb5760203660031901126105cb5761127f6118c9565b611287611a47565b6001600160a01b03168015610580576001600160601b0360a01b60a054161760a05580f35b84346105cb5760203660031901126105cb576112c66118c9565b6112ce611a47565b6001600160a01b03168015610580576001600160601b0360a01b609f541617609f5580f35b50505034610580579060ff8260a09361130b366119cb565b90600180899894981b03809716835260a56020528383209083526020528583832091168252602052209283541692600181015491600360028301549201549281519586526020860152840152818116606084015260081c1615156080820152f35b84346105cb5760203660031901126105cb576113866118c9565b61138e611a47565b6001600160a01b03168015610580576001600160601b0360a01b609b541617609b5580f35b505050346105805780600319360112610580576080916001600160a01b0391908190836113de6118c9565b16815260a760205281812060243582526020522082815416926001820154169160ff600360028401549301541692815194855260208501528301526060820152f35b84346105cb5760203660031901126105cb5761143a6118c9565b611442611a47565b6001600160a01b03168015610580576001600160601b0360a01b609954161760995580f35b5050503461058057908160609261147d366119cb565b9060018060a09794971b03809616835260a460205283832090835260205284838320911682526020522090600283835416936001840154169201549181519384526020840152820152f35b84346105cb5760203660031901126105cb576114e26118c9565b6114ea611a47565b6001600160a01b03168015610580576001600160601b0360a01b609754161760975580f35b5050503461058057816003193601126105805751908152602090f35b84833461058057602036600319011261058057611546611a47565b3560a25580f35b9050839160a060031936011261045a576115656118c9565b9061156e6118e4565b94608435938415158095036110805760018060a01b039485609a5416958351988160208b0197630795929960e11b89521660248b015260243560448b0152166064890152606435608489015260a488015260a4875286019186831067ffffffffffffffff84111761056d575052835161049a9284928392915af4610567611b9c565b5050503461058057816003193601126105805760209060a1549051908152f35b848484923461045a578160031936011261045a576001600160a01b0391826116366118c9565b16845260a6602052808420602435855260205280842093815192610120918285019085821067ffffffffffffffff8311176117425750908291845285875416855260018701549660208601978852600281015498858701998a528760038301549160608901928352830154166080880190815260058301549060a0890191825260068401549260c08a01938452600785016116d090611ce7565b94868b019586526008016116e390611d41565b9a806101009b8d8d82015251169c519d5191519251169251935194519880519d8e809e8152602001528c015260608b015260808a015260a089015260c0880152860152840161173191611957565b908382039084015261124e91611994565b634e487b7160e01b815260418952602490fd5b50505034610580578160031936011261058057609c5490516001600160a01b039091168152602090f35b5050503461058057816003193601126105805760209060a3549051908152f35b929150923461045a578360031936011261045a576117bb6118c9565b6117c36118e4565b9467ffffffffffffffff9360a43585811161107c576117e59036908301611926565b97909560c435908111610a8e5761049a98889761186861180e610b2996610b1b95369101611926565b92909360018060a01b039889609b54169b51998a988160208b019d8e63060d9eeb60e01b90521660248b015260243560448b0152166064890152606435608489015260843560a489015260c4880152610104870191611c43565b8481036023190160e486015291611c8c565b50505034610580578160031936011261058057609a5490516001600160a01b039091168152602090f35b859034610580578160031936011261058057609f546001600160a01b03168152602090f35b600435906001600160a01b03821682036118df57565b600080fd5b604435906001600160a01b03821682036118df57565b602435906001600160a01b03821682036118df57565b608435906001600160a01b03821682036118df57565b9181601f840112156118df5782359167ffffffffffffffff83116118df576020808501948460051b0101116118df57565b90815180825260208080930193019160005b828110611977575050505090565b83516001600160a01b031685529381019392810192600101611969565b90815180825260208080930193019160005b8281106119b4575050505090565b835160ff16855293810193928101926001016119a6565b60609060031901126118df576001600160a01b0360043581811681036118df57916024359160443590811681036118df5790565b6004359060ff821682036118df57565b60809060031901126118df576001600160a01b0360043581811681036118df57916024359160443590811681036118df579060643590565b6033546001600160a01b03163303611a5b57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15611aef57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6020810190811067ffffffffffffffff821117611b6457604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611b6457604052565b3d15611bd7573d9067ffffffffffffffff8211611b645760405191611bcb601f8201601f191660200184611b7a565b82523d6000602084013e565b606090565b15611be45750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611c2a575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350611c07565b9190808252602080920192916000805b838210611c6257505050505090565b9091929394853560018060a01b03811680910361045a578152830194830193929160010190611c53565b9190808252602080920192916000805b838210611cab57505050505090565b9091929394853560ff811680910361045a578152830194830193929160010190611c9c565b818110611cdb575050565b60008155600101611cd0565b9060405191828154918282526020928383019160005283600020936000905b828210611d1e57505050611d1c92500383611b7a565b565b85546001600160a01b031684526001958601958895509381019390910190611d06565b90604051918281549182825260209081830190600052816000206000905b85601f83011061212d5794611d1c9554918482821061211a575b828210612104575b8282106120ee575b8282106120d8575b8282106120c3575b8282106120ad575b828210612097575b828210612081575b82821061206b575b828210612055575b82821061203f575b828210612029575b828210612013575b828210611ffd575b828210611fe7575b828210611fd1575b828210611fbb575b828210611fa5575b828210611f8f575b828210611f79575b828210611f63575b828210611f4d575b828210611f37575b828210611f21575b828210611f0b575b828210611ef5575b828210611edf575b828210611ec9575b828210611eb3575b828210611e9d575b828210611e87575b5010611e7a575b5090500383611b7a565b60f81c8152018038611e70565b6001919460ff8560f01c16815201930184611e69565b6001919460ff8560e81c16815201930184611e61565b6001919460ff8560e01c16815201930184611e59565b6001919460ff8560d81c16815201930184611e51565b6001919460ff8560d01c16815201930184611e49565b6001919460ff8560c81c16815201930184611e41565b6001919460ff8560c01c16815201930184611e39565b6001919460ff8560b81c16815201930184611e31565b6001919460ff8560b01c16815201930184611e29565b6001919460ff8560a81c16815201930184611e21565b6001919460ff8560a01c16815201930184611e19565b6001919460ff8560981c16815201930184611e11565b6001919460ff8560901c16815201930184611e09565b6001919460ff8560881c16815201930184611e01565b6001919460ff8560801c16815201930184611df9565b6001919460ff8560781c16815201930184611df1565b6001919460ff8560701c16815201930184611de9565b6001919460ff8560681c16815201930184611de1565b6001919460ff8560601c16815201930184611dd9565b6001919460ff8560581c16815201930184611dd1565b6001919460ff8560501c16815201930184611dc9565b6001919460ff8560481c16815201930184611dc1565b6001919460ff8560401c16815201930184611db9565b6001919460ff8560381c16815201930184611db1565b6001919460ff8560301c16815201930184611da9565b6001919460ff8560281c16815201930184611da1565b6001919460ff85831c16815201930184611d99565b6001919460ff8560181c16815201930184611d91565b6001919460ff8560101c16815201930184611d89565b6001919460ff8560081c16815201930184611d81565b6001919460ff8516815201930184611d79565b9350916001610400829693865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff816060828260181c16818601528282608082828c1c1681890152828260a092828260281c16848c0152828260c0988d8a848460301c169101528d60e0848460381c169101528d610100848460401c169101528d610120848460481c169101528d610140848460501c169101528d610160848460581c169101521c166101808c0152828260681c166101a08c0152828260701c166101c08c0152828260781c166101e08c01521c16610200890152828260881c16610220890152828260901c16610240890152828260981c166102608901521c16610280860152828260a81c166102a0860152828260b01c166102c0860152828260b81c166102e08601521c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e082015201940192018693919492611d5f56fea2646970667358221220b0f5ac9c1c42c301054ca1bd3412cd4b6f46eddebf3b2cc9f3ad93c55b09648864736f6c63430008120033","sourceMap":"1245:17632:151:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;10978:24:151;;;;;1245:17632;;;-1:-1:-1;;;;;1245:17632:151;;;;10978:24;;1245:17632;;;;;10978:24;1245:17632;;;;10978:24;;;;;;;;;;;;;;1245:17632;;;11017:10;:24;1245:17632;;;;;;;;;;;;;11159:108;1245:17632;;;;11096:15;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;11159:108;;;1245:17632;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1245:17632:151;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:151;;;;;;;10978:24;;;;;;;;;;;;;;;;;;:::i;:::-;;;1245:17632;;;;;;;;;;;;10978:24;;;;;1245:17632;;;;10978:24;;;;;;1245:17632;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;;2402:22:39;1245:17632:151;;2496:8:39;;;;:::i;:::-;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:151;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8423:20;1245:17632;;;;;8464:94;;;;;1245:17632;;;;8464:94;;1245:17632;8464:94;;;1245:17632;;;;;;;;;;;8464:94;;1245:17632;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;8423:141;;8571:30;;1245:17632;;;;8423:141;;;;;:::i;:::-;8571:30;;:::i;1245:17632::-;-1:-1:-1;;;1245:17632:151;;;;;8464:94;1245:17632;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;4557:36;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;4600:70;1245:17632;;;4600:70;1245:17632;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;1245:17632:151;5422:36;1245:17632;;;;;;;;;;;;;;;;;;;6547:37:153;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9932:20;1245:17632;;;;9973:219;;;;1245:17632;9973:219;;1245:17632;;;;;9973:219;;1245:17632;;9973:219;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9973:219;15297:234;;9973:219;;;;;;;;:::i;:::-;9932:266;;;;;;:::i;:::-;10205:30;;;:::i;1245:17632::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;:::i;:::-;;;;7097:68:153;1245:17632:151;;;;;;;;;;;;;;;;;7097:68:153;1245:17632:151;7097:68:153;;1245:17632:151;7097:68:153;;;;1245:17632:151;7097:68:153;1245:17632:151;7097:68:153;;1245:17632:151;7097:68:153;;;1245:17632:151;;7097:68:153;;;;;1245:17632:151;7097:68:153;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3301:14:45;3347:34;;;;;;1245:17632:151;3346:108:45;;;;1245:17632:151;;;;;;;;;;;;;;;;;;3562:65:45;;1245:17632:151;;;;1913:34;;;1245:17632;;;;1962:30;;;1245:17632;;;;2007:28;;;1245:17632;;2050:35;;1245:17632;;;2100:36;;;1245:17632;;2151:36;;1245:17632;;2202:36;;1245:17632;;2253:23;;1245:17632;;2291:33;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;;;2332:64;1245:17632;;;2332:64;1245:17632;;2402:56;1245:17632;;;2402:56;1245:17632;;2464:48;1245:17632;;;2464:48;1245:17632;;2518:44;1245:17632;;;2518:44;1245:17632;;2568:46;1245:17632;;;2568:46;1245:17632;;2620:70;1245:17632;;;2620:70;1245:17632;;2696:70;1245:17632;;;2696:70;1245:17632;;2772:31;1245:17632;;;2772:31;1245:17632;2809:34;1245:17632;;;2809:34;1245:17632;;;;;;;;;;;;;;;2954:6;1245:17632;;2991:10;2966:35;1245:17632;3031:9;3007:33;1245:17632;5366:69:45;1245:17632:151;;;;;;5366:69:45;;;:::i;:::-;;:::i;:::-;1195:12:39;929:10:65;1195:12:39;:::i;:::-;1245:17632:151;;;5366:69:45;1245:17632:151;;;;;5366:69:45;;;:::i;:::-;1245:17632:151;2065:22:48;1245:17632:151;3647:99:45;;1245:17632:151;;;3647:99:45;-1:-1:-1;;1245:17632:151;;;;;;;3721:14:45;;1245:17632:151;;3721:14:45;3647:99;;1245:17632:151;;;;;;;;;;;3562:65:45;-1:-1:-1;;1245:17632:151;;;;;3562:65:45;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:151;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;1245:17632:151;;;;;3436:17:45;3346:108;;3347:34;1245:17632:151;;;;;3365:16:45;3347:34;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;5377:47:153;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;16870:30;1245:17632;;;16762:95;;1245:17632;;;:::i;:::-;16720:21;1245:17632;;;-1:-1:-1;;;16762:95:151;;;;;;-1:-1:-1;;;;;1245:17632:151;;;16762:95;;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;16762:95;1245:17632;;;;;;;;;16762:95;;15297:234;;16762:95;;;;;;:::i;:::-;16720:143;;;;;;:::i;1245:17632::-;7978:30;1245:17632;;;7870:95;;1245:17632;;;:::i;:::-;7829:20;1245:17632;;;-1:-1:-1;;;7870:95:151;;;;;;-1:-1:-1;;;;;1245:17632:151;;;7870:95;;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;7870:95;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:151;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;4752:23;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;4782:31;1245:17632;;;4782:31;1245:17632;;;;;;;;;;;;;;;;;;6119:25:153;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;5484:43:153;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;3945:35;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;3987:44;1245:17632;;;3987:44;1245:17632;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13870:21;1245:17632;;;;13912:279;;;1245:17632;13912:279;;1245:17632;;;;;13912:279;;1245:17632;;13912:279;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1513:6:39;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;16121:30;1245:17632;;;:::i;:::-;15988:21;1245:17632;;;-1:-1:-1;;;1245:17632:151;16030:78;;;;;-1:-1:-1;;;;;1245:17632:151;;;;16030:78;;;1245:17632;;;;;;;;;;;;;;16030:78;1245:17632;;;;16030:78;1245:17632;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;3571:30;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;3608:56;1245:17632;;;3608:56;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;4336:36;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;4379:70;1245:17632;;;4379:70;1245:17632;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;1303:62:39;;:::i;:::-;1245:17632:151;5708:46;1245:17632;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;1245:17632:151;;-1:-1:-1;;;;;;1245:17632:151;;;;;;;-1:-1:-1;;;;;1245:17632:151;2806:40:39;1245:17632:151;;2806:40:39;1245:17632:151;;;;;;;;;;;;;;;;;;;;6372:41:153;1245:17632:151;6372:41:153;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;6025:51:153;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12187:198;1245:17632;12398:30;1245:17632;;;;;:::i;:::-;;;;;;;;;;;12146:20;1245:17632;;;;12187:198;;;;1245:17632;12187:198;;1245:17632;;;;;12187:198;;1245:17632;;12187:198;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1245:17632:151;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;17398:30;1245:17632;;;:::i;:::-;17265:21;1245:17632;;;-1:-1:-1;;;1245:17632:151;17307:78;;;;;-1:-1:-1;;;;;1245:17632:151;;;;17307:78;;;1245:17632;;;;;;;;;;;;;;17307:78;1245:17632;;;;17307:78;1245:17632;;;;;;;;;;;;;;;;5586:37:153;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;5274:60:151;1245:17632;;-1:-1:-1;;;;1245:17632:151;;;;-1:-1:-1;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;5789:36:153;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;;;;;18727:15;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;18835:18;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;1245:17632:151;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;5082:33;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;4909:30;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;4946:34;1245:17632;;;4946:34;1245:17632;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6940:91:153;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;6940:91:153;1245:17632:151;6940:91:153;;1245:17632:151;6940:91:153;;;;;1245:17632:151;6940:91:153;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;4139:36;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;4182:46;1245:17632;;;4182:46;1245:17632;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;:::i;:::-;;;;7227:62:153;1245:17632:151;;;;;;;;;;;;;;;;7227:62:153;1245:17632:151;7227:62:153;;1245:17632:151;;7227:62:153;1245:17632:151;;7227:62:153;;;1245:17632:151;7227:62:153;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;3756:28;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;3791:48;1245:17632;;;3791:48;1245:17632;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6745:92:153;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;6745:92:153;1245:17632:151;;;;6745:92:153;1245:17632:151;6745:92:153;;1245:17632:151;;6745:92:153;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;1245:17632:151;3370:34;;1245:17632;;-1:-1:-1;;;;;1245:17632:151;;3411:64;1245:17632;;;3411:64;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:151;;;;1303:62:39;;:::i;:::-;1245:17632:151;5560:48;1245:17632;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;6829:20;1245:17632;;;;;6870:111;;1245:17632;6870:111;;1245:17632;;;;6870:111;;1245:17632;;6870:111;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;6870:111;;1245:17632;;;;;;;;;;;;-1:-1:-1;1245:17632:151;6829:158;;6994:30;;1245:17632;;;;6829:158;;;;;:::i;1245:17632::-;;;;;;;;;;;;;;;;;6474:31:153;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:151;;;;:::i;:::-;;;;18117:13;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;18381:23;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;5892:51:153;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;6619:36:153;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;15544:30;1245:17632;;;;;15297:234;1245:17632;;;;;;;:::i;:::-;;;;;;;;;;;15255:21;1245:17632;;;;15297:234;;;;1245:17632;15297:234;;1245:17632;;;;;15297:234;;1245:17632;;15297:234;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1245:17632:151;;;;;;;:::i;:::-;;;;;;;;;;;;;;;5688:35:153;1245:17632:151;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;6195:30:153;1245:17632:151;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1599:130:39:-;1513:6;1245:17632:151;-1:-1:-1;;;;;1245:17632:151;929:10:65;1662:23:39;1245:17632:151;;1599:130:39:o;1245:17632:151:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:39;2758:6;1245:17632:151;;-1:-1:-1;;;;;1245:17632:151;;;-1:-1:-1;;;;;;1245:17632:151;;;;;;;;;;2806:40:39;-1:-1:-1;;2806:40:39;2666:187::o;1245:17632:151:-;;;;:::o;:::-;;;-1:-1:-1;;;1245:17632:151;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:151;;;;;;;;10978:24;1245:17632;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;15297:234;;;1245:17632;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;15297:234;1245:17632;;-1:-1:-1;;1245:17632:151;;;;;:::i;:::-;;;;-1:-1:-1;1245:17632:151;;;;:::o;:::-;;;:::o;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;;;;;15297:234;;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;-1:-1:-1;1245:17632:151;;-1:-1:-1;1245:17632:151;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;;;;;1245:17632:151;;;;;;;;;;-1:-1:-1;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:151;;-1:-1:-1;1245:17632:151;-1:-1:-1;1245:17632:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","acceptOffer(address,uint256,address,uint256,address[],uint8[])":"534665e9","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","bid(address,uint256,address,uint256)":"b5678588","buy(address,uint256,address,uint256)":"b3ffb760","cancelAuction(address,uint256)":"859b97fe","cancelOffer(address,uint256,address)":"e92f94d1","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":"060d9eeb","getAuctionDetails(address,uint256)":"0cd87c68","getSalePrice(address,uint256,address)":"369679a4","initialize(address,address,address,address,address,address,address,address,address,address)":"c306b378","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offer(address,uint256,address,uint256,bool)":"0f2b2532","offerCancelationDelay()":"0a5c4ed5","owner()":"8da5cb5b","payments()":"a6d23e10","removeSalePrice(address,uint256,address)":"f7cfaad0","renounceOwnership()":"715018a6","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","setApprovedTokenRegistry(address)":"e4e87e3b","setAuctionLengthExtension(uint256)":"10f79789","setMarketplaceSettings(address)":"176ab440","setMaxAuctionLength(uint8)":"dce96bf5","setMinimumBidIncreasePercentage(uint8)":"48626b90","setNetworkBeneficiary(address)":"3492e5a8","setOfferCancelationDelay(uint256)":"7a544792","setPayments(address)":"af231a58","setRoyaltyEngine(address)":"21ede032","setRoyaltyRegistry(address)":"84a608e2","setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":"c8f94f4e","setSpaceOperatorRegistry(address)":"7f358230","setStakingRegistry(address)":"2c740844","setSuperRareAuctionHouse(address)":"2a2a326c","setSuperRareMarketplace(address)":"9c883af2","settleAuction(address,uint256)":"5138b08c","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"}],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"convertOfferToAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"getSalePrice\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_superRareMarketplace\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_superRareAuctionHouse\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"removeSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"}],\"name\":\"setApprovedTokenRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_auctionLengthExtension\",\"type\":\"uint256\"}],\"name\":\"setAuctionLengthExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_maxAuctionLength\",\"type\":\"uint8\"}],\"name\":\"setMaxAuctionLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_minimumBidIncreasePercentage\",\"type\":\"uint8\"}],\"name\":\"setMinimumBidIncreasePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"}],\"name\":\"setNetworkBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offerCancelationDelay\",\"type\":\"uint256\"}],\"name\":\"setOfferCancelationDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"}],\"name\":\"setPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"}],\"name\":\"setRoyaltyEngine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_royaltyRegistry\",\"type\":\"address\"}],\"name\":\"setRoyaltyRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"setSpaceOperatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"setStakingRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_superRareAuctionHouse\",\"type\":\"address\"}],\"name\":\"setSuperRareAuctionHouse\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_superRareMarketplace\",\"type\":\"address\"}],\"name\":\"setSuperRareMarketplace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"details\":\"All storage is inherrited and append only (no modifications) to make upgrade compliant.\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"details\":\"Zero address for _currency means that the offer being accepted is in ether.\",\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"bid(address,uint256,address,uint256)\":{\"details\":\"Only the configured currency can be used (Zero address for eth)\",\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"buy(address,uint256,address,uint256)\":{\"details\":\"Covers use of any currency (0 address is eth).Need to verify that the buyer (if not using eth) has the marketplace approved for _currencyContract.Need to verify that the seller has the marketplace approved for _originContract.\",\"params\":{\"_amount\":\"Amount the piece if being bought for (including marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelAuction(address,uint256)\":{\"details\":\"Requires the person sending the message to be the auction creator or token owner.\",\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelOffer(address,uint256,address)\":{\"params\":{\"_currencyAddress\":\"Currency address of the offer.\",\"_originContract\":\"Contract address of token.\",\"_tokenId\":\"TokenId that has an offer.\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"details\":\"If auction type is coldie (reserve) then _startingAmount cant be 0._currencyAddress equal to the zero address denotes eth.All time related params are unix epoch timestamps.\",\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"details\":\"Covers use of any currency (0 address is eth).Only covers converting an offer to a coldie auction.Cant convert offer if an auction currently exists.\",\"params\":{\"_amount\":\"Amount being converted into an auction.\",\"_currencyAddress\":\"Address of the currency being converted.\",\"_lengthOfAuction\":\"Number of seconds the auction will last.\",\"_originContract\":\"Contract address of the asset.\",\"_splitAddresses\":\"Addresses that the sellers take in will be split amongst.\",\"_splitRatios\":\"Ratios that the take in will be split by.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"offer(address,uint256,address,uint256,bool)\":{\"details\":\"Notice we need to verify that the msg sender has approved us to move funds on their behalf.Covers use of any currency (0 address is eth)._amount is the amount of the offer excluding the marketplace fee.There can be multiple offers of different currencies, but only 1 per currency.\",\"params\":{\"_amount\":\"Amount being offered.\",\"_convertible\":\"If the offer can be converted into an auction\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Contract address of the asset being listed.\",\"_tokenId\":\"Token Id of the asset.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"removeSalePrice(address,uint256,address)\":{\"details\":\"Sale prices could still exist for different currencies.Sale prices could still exist for different targets.Zero address for _currency means that its listed in ether._target of zero address is the general sale price.\",\"params\":{\"_originContract\":\"The origin contract of the asset.\",\"_target\":\"The address of the person\",\"_tokenId\":\"The tokenId of the asset within the _originContract.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"details\":\"Covers use of any currency (0 address is eth).Sale price for everyone is denoted as the 0 address.Only 1 currency can be used for the sale price directed at a speicific target._listPrice of 0 signifies removing the list price for the provided currency.This function can be used for counter offers as well.\",\"params\":{\"_currencyAddress\":\"Contract address of the currency asset is being listed for.\",\"_listPrice\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_originContract\":\"Contract address of the asset being listed.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_target\":\"Address of the person this sale price is target to.\",\"_tokenId\":\"Token Id of the asset.\"}},\"settleAuction(address,uint256)\":{\"details\":\"Anyone is able to settle an auction since non-input params are used.\",\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"SuperRareBazaar\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept an offer placed on _originContract : _tokenId.\"},\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"buy(address,uint256,address,uint256)\":{\"notice\":\"Purchases the token for the current sale price.\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"cancelOffer(address,uint256,address)\":{\"notice\":\"Cancels an existing offer the sender has placed on a piece.\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Converts an offer into a coldie auction.\"},\"offer(address,uint256,address,uint256,bool)\":{\"notice\":\"Place an offer for a given asset\"},\"removeSalePrice(address,uint256,address)\":{\"notice\":\"Removes the current sale price of an asset for _target for the given currency.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"notice\":\"Sets a sale price for the given asset(s) directed at the _target address.\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The unified contract for the bazaar logic (Marketplace and Auction House).\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/bazaar/SuperRareBazaar.sol\":\"SuperRareBazaar\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/bazaar/ISuperRareBazaar.sol\":{\"keccak256\":\"0xb75cb39f8c63e813a2891b41ae6c835903c975b2646b689936c51bc6d3a74546\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://616f9aa0a4ae90da19f46b62041eadeef64b13a9e1870ac9791cb94f85c62805\",\"dweb:/ipfs/QmeqhUs6pzfsTUoarSArUMrtmHvvMYnTD4XiFLAj6KwaWk\"]},\"src/bazaar/SuperRareBazaar.sol\":{\"keccak256\":\"0x18a2c74610adf65f8a7556133a73ee5fbb22a321439c066f0062bb2b47700898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4b22a2e8ffb544c2cc822e0f1cf09dd162487f435a1395b6816b8ced48f7c4ff\",\"dweb:/ipfs/QmNjEFq94276Ca96xmucb2pWPahLJwqcUgG3KUZZrRPtpA\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptOffer"},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buy"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelOffer"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"convertOfferToAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"view","type":"function","name":"getSalePrice","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_royaltyRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_superRareMarketplace","type":"address"},{"internalType":"address","name":"_superRareAuctionHouse","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_networkBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_convertible","type":"bool"}],"stateMutability":"payable","type":"function","name":"offer"},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSalePrice"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_approvedTokenRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setApprovedTokenRegistry"},{"inputs":[{"internalType":"uint256","name":"_auctionLengthExtension","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setAuctionLengthExtension"},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceSettings"},{"inputs":[{"internalType":"uint8","name":"_maxAuctionLength","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMaxAuctionLength"},{"inputs":[{"internalType":"uint8","name":"_minimumBidIncreasePercentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMinimumBidIncreasePercentage"},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkBeneficiary"},{"inputs":[{"internalType":"uint256","name":"_offerCancelationDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setOfferCancelationDelay"},{"inputs":[{"internalType":"address","name":"_payments","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPayments"},{"inputs":[{"internalType":"address","name":"_royaltyEngine","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyEngine"},{"inputs":[{"internalType":"address","name":"_royaltyRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyRegistry"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_listPrice","type":"uint256"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setSalePrice"},{"inputs":[{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorRegistry"},{"inputs":[{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingRegistry"},{"inputs":[{"internalType":"address","name":"_superRareAuctionHouse","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSuperRareAuctionHouse"},{"inputs":[{"internalType":"address","name":"_superRareMarketplace","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSuperRareMarketplace"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"details":"Zero address for _currency means that the offer being accepted is in ether.","params":{"_amount":"Amount the offer was for/and is being accepted.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"bid(address,uint256,address,uint256)":{"details":"Only the configured currency can be used (Zero address for eth)","params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"buy(address,uint256,address,uint256)":{"details":"Covers use of any currency (0 address is eth).Need to verify that the buyer (if not using eth) has the marketplace approved for _currencyContract.Need to verify that the seller has the marketplace approved for _originContract.","params":{"_amount":"Amount the piece if being bought for (including marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelAuction(address,uint256)":{"details":"Requires the person sending the message to be the auction creator or token owner.","params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"cancelOffer(address,uint256,address)":{"params":{"_currencyAddress":"Currency address of the offer.","_originContract":"Contract address of token.","_tokenId":"TokenId that has an offer."}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"details":"If auction type is coldie (reserve) then _startingAmount cant be 0._currencyAddress equal to the zero address denotes eth.All time related params are unix epoch timestamps.","params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"details":"Covers use of any currency (0 address is eth).Only covers converting an offer to a coldie auction.Cant convert offer if an auction currently exists.","params":{"_amount":"Amount being converted into an auction.","_currencyAddress":"Address of the currency being converted.","_lengthOfAuction":"Number of seconds the auction will last.","_originContract":"Contract address of the asset.","_splitAddresses":"Addresses that the sellers take in will be split amongst.","_splitRatios":"Ratios that the take in will be split by.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"offer(address,uint256,address,uint256,bool)":{"details":"Notice we need to verify that the msg sender has approved us to move funds on their behalf.Covers use of any currency (0 address is eth)._amount is the amount of the offer excluding the marketplace fee.There can be multiple offers of different currencies, but only 1 per currency.","params":{"_amount":"Amount being offered.","_convertible":"If the offer can be converted into an auction","_currencyAddress":"Address of the token being offered.","_originContract":"Contract address of the asset being listed.","_tokenId":"Token Id of the asset."}},"owner()":{"details":"Returns the address of the current owner."},"removeSalePrice(address,uint256,address)":{"details":"Sale prices could still exist for different currencies.Sale prices could still exist for different targets.Zero address for _currency means that its listed in ether._target of zero address is the general sale price.","params":{"_originContract":"The origin contract of the asset.","_target":"The address of the person","_tokenId":"The tokenId of the asset within the _originContract."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"details":"Covers use of any currency (0 address is eth).Sale price for everyone is denoted as the 0 address.Only 1 currency can be used for the sale price directed at a speicific target._listPrice of 0 signifies removing the list price for the provided currency.This function can be used for counter offers as well.","params":{"_currencyAddress":"Contract address of the currency asset is being listed for.","_listPrice":"Amount of the currency the asset is being listed for (including all decimal points).","_originContract":"Contract address of the asset being listed.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_target":"Address of the person this sale price is target to.","_tokenId":"Token Id of the asset."}},"settleAuction(address,uint256)":{"details":"Anyone is able to settle an auction since non-input params are used.","params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept an offer placed on _originContract : _tokenId."},"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"buy(address,uint256,address,uint256)":{"notice":"Purchases the token for the current sale price."},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"cancelOffer(address,uint256,address)":{"notice":"Cancels an existing offer the sender has placed on a piece."},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Converts an offer into a coldie auction."},"offer(address,uint256,address,uint256,bool)":{"notice":"Place an offer for a given asset"},"removeSalePrice(address,uint256,address)":{"notice":"Removes the current sale price of an asset for _target for the given currency."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"notice":"Sets a sale price for the given asset(s) directed at the _target address."},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/bazaar/SuperRareBazaar.sol":"SuperRareBazaar"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/bazaar/ISuperRareBazaar.sol":{"keccak256":"0xb75cb39f8c63e813a2891b41ae6c835903c975b2646b689936c51bc6d3a74546","urls":["bzz-raw://616f9aa0a4ae90da19f46b62041eadeef64b13a9e1870ac9791cb94f85c62805","dweb:/ipfs/QmeqhUs6pzfsTUoarSArUMrtmHvvMYnTD4XiFLAj6KwaWk"],"license":"MIT"},"src/bazaar/SuperRareBazaar.sol":{"keccak256":"0x18a2c74610adf65f8a7556133a73ee5fbb22a321439c066f0062bb2b47700898","urls":["bzz-raw://4b22a2e8ffb544c2cc822e0f1cf09dd162487f435a1395b6816b8ced48f7c4ff","dweb:/ipfs/QmNjEFq94276Ca96xmucb2pWPahLJwqcUgG3KUZZrRPtpA"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"}},"version":1},"id":151} \ No newline at end of file +{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"acceptOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bid","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"buy","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureAuction","inputs":[{"name":"_auctionType","type":"bytes32","internalType":"bytes32"},{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_startingAmount","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_startTime","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"convertOfferToAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuctionDetails","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"getSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address[]","internalType":"address payable[]"},{"name":"","type":"uint8[]","internalType":"uint8[]"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"},{"name":"_royaltyRegistry","type":"address","internalType":"address"},{"name":"_royaltyEngine","type":"address","internalType":"address"},{"name":"_superRareMarketplace","type":"address","internalType":"address"},{"name":"_superRareAuctionHouse","type":"address","internalType":"address"},{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"},{"name":"_approvedTokenRegistry","type":"address","internalType":"address"},{"name":"_payments","type":"address","internalType":"address"},{"name":"_stakingRegistry","type":"address","internalType":"address"},{"name":"_networkBeneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_convertible","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"removeSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"setApprovedTokenRegistry","inputs":[{"name":"_approvedTokenRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAuctionLengthExtension","inputs":[{"name":"_auctionLengthExtension","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarketplaceSettings","inputs":[{"name":"_marketplaceSettings","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxAuctionLength","inputs":[{"name":"_maxAuctionLength","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinimumBidIncreasePercentage","inputs":[{"name":"_minimumBidIncreasePercentage","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNetworkBeneficiary","inputs":[{"name":"_networkBeneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOfferCancelationDelay","inputs":[{"name":"_offerCancelationDelay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPayments","inputs":[{"name":"_payments","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyEngine","inputs":[{"name":"_royaltyEngine","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRoyaltyRegistry","inputs":[{"name":"_royaltyRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_listPrice","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceOperatorRegistry","inputs":[{"name":"_spaceOperatorRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingRegistry","inputs":[{"name":"_stakingRegistry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSuperRareAuctionHouse","inputs":[{"name":"_superRareAuctionHouse","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSuperRareMarketplace","inputs":[{"name":"_superRareMarketplace","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleAuction","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234601557612307908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081629d9aa9146118ee575080630141c590146118c6578063060d9eeb146117ed5780630a5c4ed5146117d05780630bcba09d146117a85780630cd87c681461165b5780630e519ef91461163e5780630f2b2532146115af57806310f797891461158e578063155a56b114611574578063176ab4401461152d5780631a2ac30f146114c857806321ede03214611481578063299a0e1e146114085780632a2a326c146113c15780632c4190531461133f5780632c740844146112f85780633492e5a8146112b1578063369679a4146111aa5780633bc3d9be1461118257806348626b90146111455780634c94c90c1461111d5780635138b08c146110be578063534665e914610fdd5780636240cd1c14610fb55780636b534ed014610f8d5780636fe9f44c14610f6a578063715018a614610f0f5780637a54479214610eee5780637f35823014610ea757806384a608e214610e60578063859b97fe14610e015780638da5cb5b14610dd95780639041a0ec14610cd95780639c883af214610c92578063a11b071214610c6a578063a6d23e1014610c42578063af231a5814610bfb578063b23afc2614610bcc578063b3ffb76014610b6d578063b567858814610b0e578063ba50b63214610ae6578063c306b378146107bb578063c47c35c114610726578063c8f94f4e14610624578063c90b8714146105f8578063daa26499146105db578063dce96bf5146105b2578063e4e87e3b1461056b578063e92f94d1146104fc578063f2fde38b1461046d5763f7cfaad014610257575f80fd5b346104565761026536611a0b565b6040516331a9108f60e11b81526004810183905290926001600160a01b03169190602081602481865afa908115610462575f9161041c575b506001600160a01b031633036103cb575f7fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b91819484835260a460205260408320828452602052604083209060018060a01b03168352602052600460408320838155836001820155836002820155600381018054858255806103b1575b505001805483825580610391575b505061038c60209161037e6040516103408582611b16565b85815285368137604051926103558685611b16565b86845286368137604051968796818852870152604086015260a0606086015260a0850190611999565b9083820360808501526119d5565b0390a3005b6103aa918452601f60208520910160051c8101906121bb565b5f80610328565b6103c491865260208620908101906121bb565b5f8061031a565b60405162461bcd60e51b8152602060048201526024808201527f72656d6f766553616c6550726963653a3a4d75737420626520746f6b656e4f776044820152633732b91760e11b6064820152608490fd5b90506020813d60201161045a575b8161043760209383611b16565b8101031261045657516001600160a01b0381168103610456575f61029d565b5f80fd5b3d915061042a565b6040513d5f823e3d90fd5b3461045657602036600319011261045657610486611911565b61048e6121d1565b6001600160a01b038116156104a8576104a690612229565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34610456576104a65f8061050f36611a0b565b609a5460405163e92f94d160e01b602082019081526001600160a01b0395861660248301526044820194909452918416606480840191909152825290921691610559608482611b16565b51915af4610565611b37565b90611b75565b3461045657602036600319011261045657610584611911565b61058c6121d1565b6001600160a01b03168015610456576001600160601b0360a01b609d541617609d555f80f35b346104565760203660031901126104565760ff6105cd611a45565b6105d56121d1565b1660a155005b34610456575f36600319011261045657602060a254604051908152f35b34610456575f366003190112610456576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b346104565760e03660031901126104565761063d611911565b610645611927565b61064d611953565b60a4356001600160401b0381116104565761066c903690600401611969565b909360c435926001600160401b038411610456576105595f956107186104a69861070661069e8a993690600401611969565b609a5460405163647ca7a760e11b602082019081526001600160a01b039b8c16602480840191909152356044830152978b16606480830191909152356084820152988a1660a48a015260e060c48a015290981698949787959193909291610104870191611a93565b8481036023190160e486015291611ad7565b03601f198101835282611b16565b34610456576040366003190112610456576001600160a01b03610747611911565b165f5260a660205260405f206024355f5260205260e060405f2060018060a01b03815416906001810154906002810154600382015460018060a01b03600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b3461045657610140366003190112610456576107d5611911565b6107dd61193d565b6107e5611927565b906064356001600160a01b0381169081900361045657610803611953565b9160a4356001600160a01b038116908190036104565760c4356001600160a01b03811692908390036104565760e4356001600160a01b038116949085900361045657610104356001600160a01b038116969087900361045657610124356001600160a01b0381169890899003610456575f549960ff8b60081c16159a8b809c610ad9575b8015610ac2575b15610a665760ff1981166001175f558b610a55575b506001600160a01b0316938415610456576001600160a01b0316908115610456576001600160a01b0316918215610456578315610456576001600160a01b0316938415610456578515610456578615610456578715610456578915610456576001600160601b0360a01b60975416176097556001600160601b0360a01b60985416176098556001600160601b0360a01b60995416176099556001600160601b0360a01b609a541617609a556001600160601b0360a01b609b541617609b556001600160601b0360a01b609c541617609c556001600160601b0360a01b609d541617609d556001600160601b0360a01b609e541617609e556001600160601b0360a01b609f541617609f55600560a11b906affffffffffffffffffffff60a81b60a05416171760a05562093a8060a15561038460a25561012c60a3556109f760ff5f5460081c166109f281612271565b612271565b610a0033612229565b5f5490610a1660ff8360081c166109f281612271565b6001606555610a2157005b61ff0019165f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101175f558b6108a3565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561088e5750600160ff82161461088e565b50600160ff821610610887565b34610456575f366003190112610456576097546040516001600160a01b039091168152602090f35b6104a65f80610559610b1f36611a55565b609b546040516316acf0b160e31b602082019081526001600160a01b039687166024830152604482019590955292851660648401526084830191909152909216929091908160a48101610718565b6104a65f80610559610b7e36611a55565b609a5460405163059ffdbb60e51b602082019081526001600160a01b039687166024830152604482019590955292851660648401526084830191909152909216929091908160a48101610718565b34610456575f366003190112610456576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b3461045657602036600319011261045657610c14611911565b610c1c6121d1565b6001600160a01b03168015610456576001600160601b0360a01b609e541617609e555f80f35b34610456575f36600319011261045657609e546040516001600160a01b039091168152602090f35b34610456575f366003190112610456576098546040516001600160a01b039091168152602090f35b3461045657602036600319011261045657610cab611911565b610cb36121d1565b6001600160a01b03168015610456576001600160601b0360a01b609a541617609a555f80f35b346104565761012036600319011261045657610cf361193d565b610cfb611953565b9060e4356001600160401b03811161045657610d1b903690600401611969565b929061010435926001600160401b038411610456576104a6946105595f9594610718610d4c88973690600401611969565b610dc660018060a01b03609b541698604051978896602088019a632410683b60e21b8c5260043560248a015260018060a01b031660448901526044356064890152606435608489015260018060a01b031660a488015260a43560c488015260c43560e4880152610120610104880152610144870191611a93565b8481036023190161012486015291611ad7565b34610456575f366003190112610456576033546040516001600160a01b039091168152602090f35b34610456576040366003190112610456576104a65f80610e1f611911565b609b546040516342cdcbff60e11b602082019081526001600160a01b0393841660248084019190915235604483015291909216916105598160648101610718565b3461045657602036600319011261045657610e79611911565b610e816121d1565b6001600160a01b03168015610456576001600160601b0360a01b60985416176098555f80f35b3461045657602036600319011261045657610ec0611911565b610ec86121d1565b6001600160a01b03168015610456576001600160601b0360a01b609c541617609c555f80f35b3461045657602036600319011261045657610f076121d1565b60043560a355005b34610456575f36600319011261045657610f276121d1565b603380546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610456575f36600319011261045657602060ff60a05460a01c16604051908152f35b34610456575f3660031901126104565760a0546040516001600160a01b039091168152602090f35b34610456575f36600319011261045657609d546040516001600160a01b039091168152602090f35b346104565760c036600319011261045657610ff6611911565b610ffe611927565b906084356001600160401b0381116104565761101e903690600401611969565b929060a435926001600160401b038411610456576104a6946105595f959461071861104e88973690600401611969565b609a5460405163534665e960e01b602082019081526001600160a01b03998a1660248084019190915235604483015295891660648083019190915235608482015260c060a482015297169793969586946110ac9160e4870191611a93565b8481036023190160c486015291611ad7565b34610456576040366003190112610456576104a65f806110dc611911565b609b5460405163144e2c2360e21b602082019081526001600160a01b0393841660248084019190915235604483015291909216916105598160648101610718565b34610456575f366003190112610456576099546040516001600160a01b039091168152602090f35b346104565760203660031901126104565761115e611a45565b6111666121d1565b60a0805460ff60a01b191691811b60ff60a01b16919091179055005b34610456575f36600319011261045657609b546040516001600160a01b039091168152602090f35b34610456576111b836611a0b565b9160018060a01b03165f5260a460205260405f20905f5260205260405f209060018060a01b03165f5260205260405f2060405160a081018181106001600160401b0382111761129d57604090815282546001600160a01b039081168352600184015416602083019081526002840154918301918252909290916112999161037e90611258600461124a60038401611bbc565b926060860193845201611c0f565b608084018190529251945195519051604080516001600160a01b0397881681529790961660208801529486015260a060608601819052859490850190611999565b0390f35b634e487b7160e01b5f52604160045260245ffd5b34610456576020366003190112610456576112ca611911565b6112d26121d1565b6001600160a01b03168015610456576001600160601b0360a01b60a054161760a0555f80f35b3461045657602036600319011261045657611311611911565b6113196121d1565b6001600160a01b03168015610456576001600160601b0360a01b609f541617609f555f80f35b346104565761134d36611a0b565b9160018060a01b03165f5260a560205260405f20905f5260205260405f209060018060a01b03165f5260205260a060405f2060ff600180841b0382541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b34610456576020366003190112610456576113da611911565b6113e26121d1565b6001600160a01b03168015610456576001600160601b0360a01b609b541617609b555f80f35b34610456576040366003190112610456576001600160a01b03611429611911565b165f5260a760205260405f206024355f52602052608060405f2060018060a01b038154169060018060a01b036001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b346104565760203660031901126104565761149a611911565b6114a26121d1565b6001600160a01b03168015610456576001600160601b0360a01b60995416176099555f80f35b34610456576114d636611a0b565b6001600160a01b039283165f90815260a46020908152604080832094835293815283822092851682529182528290208054600182015460029092015484519186168252919094169184019190915290820152606090f35b3461045657602036600319011261045657611546611911565b61154e6121d1565b6001600160a01b03168015610456576001600160601b0360a01b60975416176097555f80f35b34610456575f3660031901126104565760206040515f8152f35b34610456576020366003190112610456576115a76121d1565b60043560a255005b60a0366003190112610456576115c3611911565b6115cb611927565b906084359182151580930361045657609a54604051630795929960e11b602082019081526001600160a01b0394851660248084019190915235604483015292841660648083019190915235608482015260a4808201959095529384526104a6935f9384939216919061055960c482611b16565b34610456575f36600319011261045657602060a154604051908152f35b34610456576040366003190112610456576001600160a01b0361167c611911565b165f5260a660205260405f206024355f5260205260405f2060405161012081018181106001600160401b0382111761129d5760405260018060a01b03825416815261129960018301549160208101928352611799600285015494604083019586526003810154906060840191825260018060a01b0360048201541660808501908152600582015460a0860190815260068301549160c08701928352611736600861172860078701611bbc565b9560e08a0196875201611c0f565b968761010082015260018060a01b039051169851995194519060018060a01b03905116915192519351946040519a8b9a8b5260208b015260408a01526060890152608088015260a087015260c086015261012060e0860152610120850190611999565b908382036101008501526119d5565b34610456575f36600319011261045657609c546040516001600160a01b039091168152602090f35b34610456575f36600319011261045657602060a354604051908152f35b346104565760e036600319011261045657611806611911565b61180e611927565b9060a4356001600160401b0381116104565761182e903690600401611969565b929060c435926001600160401b038411610456576104a6946105595f959461071861185e88973690600401611969565b61070660018060a01b03609b541698604051978896602088019a63060d9eeb60e01b8c5260018060a01b03166024890152602435604489015260018060a01b03166064880152606435608488015260843560a488015260e060c4880152610104870191611a93565b34610456575f36600319011261045657609a546040516001600160a01b039091168152602090f35b34610456575f36600319011261045657609f546001600160a01b03168152602090f35b600435906001600160a01b038216820361045657565b604435906001600160a01b038216820361045657565b602435906001600160a01b038216820361045657565b608435906001600160a01b038216820361045657565b9181601f84011215610456578235916001600160401b038311610456576020808501948460051b01011161045657565b90602080835192838152019201905f5b8181106119b65750505090565b82516001600160a01b03168452602093840193909201916001016119a9565b90602080835192838152019201905f5b8181106119f25750505090565b825160ff168452602093840193909201916001016119e5565b6060906003190112610456576004356001600160a01b03811681036104565790602435906044356001600160a01b03811681036104565790565b6004359060ff8216820361045657565b6080906003190112610456576004356001600160a01b03811681036104565790602435906044356001600160a01b0381168103610456579060643590565b916020908281520191905f905b808210611aad5750505090565b90919283359060018060a01b03821680920361045657602081600193829352019401920190611aa0565b916020908281520191905f905b808210611af15750505090565b90919283359060ff821680920361045657602081600193829352019401920190611ae4565b90601f801991011681019081106001600160401b0382111761129d57604052565b3d15611b70573d906001600160401b03821161129d5760405191611b65601f8201601f191660200184611b16565b82523d5f602084013e565b606090565b15611b7d5750565b604460209160405192839162461bcd60e51b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b90604051918281549182825260208201905f5260205f20925f5b818110611bed575050611beb92500383611b16565b565b84546001600160a01b0316835260019485019487945060209093019201611bd6565b90604051918281549182825260208201905f5260205f20925f905b80601f83011061201357611beb945491818110611fff575b818110611fe8575b818110611fd1575b818110611fba575b818110611fa4575b818110611f8d575b818110611f76575b818110611f5f575b818110611f48575b818110611f31575b818110611f1a575b818110611f03575b818110611eec575b818110611ed5575b818110611ebe575b818110611ea7575b818110611e90575b818110611e79575b818110611e62575b818110611e4b575b818110611e34575b818110611e1d575b818110611e06575b818110611def575b818110611dd8575b818110611dc1575b818110611daa575b818110611d93575b818110611d7c575b818110611d65575b818110611d4e575b10611d40575b500383611b16565b60f81c81526020015f611d38565b92602060019160ff8560f01c168152019301611d32565b92602060019160ff8560e81c168152019301611d2a565b92602060019160ff8560e01c168152019301611d22565b92602060019160ff8560d81c168152019301611d1a565b92602060019160ff8560d01c168152019301611d12565b92602060019160ff8560c81c168152019301611d0a565b92602060019160ff8560c01c168152019301611d02565b92602060019160ff8560b81c168152019301611cfa565b92602060019160ff8560b01c168152019301611cf2565b92602060019160ff8560a81c168152019301611cea565b92602060019160ff8560a01c168152019301611ce2565b92602060019160ff8560981c168152019301611cda565b92602060019160ff8560901c168152019301611cd2565b92602060019160ff8560881c168152019301611cca565b92602060019160ff8560801c168152019301611cc2565b92602060019160ff8560781c168152019301611cba565b92602060019160ff8560701c168152019301611cb2565b92602060019160ff8560681c168152019301611caa565b92602060019160ff8560601c168152019301611ca2565b92602060019160ff8560581c168152019301611c9a565b92602060019160ff8560501c168152019301611c92565b92602060019160ff8560481c168152019301611c8a565b92602060019160ff8560401c168152019301611c82565b92602060019160ff8560381c168152019301611c7a565b92602060019160ff8560301c168152019301611c72565b92602060019160ff8560281c168152019301611c6a565b92602060019160ff85831c168152019301611c62565b92602060019160ff8560181c168152019301611c5a565b92602060019160ff8560101c168152019301611c52565b92602060019160ff8560081c168152019301611c4a565b92602060019160ff85168152019301611c42565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920185929391611c2a565b8181106121c6575050565b5f81556001016121bb565b6033546001600160a01b031633036121e557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b1561227857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfea2646970667358221220bfe0dd338acb4a0c9aceb2013c38237fbb692859441cec083e21b66d04dd95f264736f6c634300081c0033","sourceMap":"1245:17632:60:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c9081629d9aa9146118ee575080630141c590146118c6578063060d9eeb146117ed5780630a5c4ed5146117d05780630bcba09d146117a85780630cd87c681461165b5780630e519ef91461163e5780630f2b2532146115af57806310f797891461158e578063155a56b114611574578063176ab4401461152d5780631a2ac30f146114c857806321ede03214611481578063299a0e1e146114085780632a2a326c146113c15780632c4190531461133f5780632c740844146112f85780633492e5a8146112b1578063369679a4146111aa5780633bc3d9be1461118257806348626b90146111455780634c94c90c1461111d5780635138b08c146110be578063534665e914610fdd5780636240cd1c14610fb55780636b534ed014610f8d5780636fe9f44c14610f6a578063715018a614610f0f5780637a54479214610eee5780637f35823014610ea757806384a608e214610e60578063859b97fe14610e015780638da5cb5b14610dd95780639041a0ec14610cd95780639c883af214610c92578063a11b071214610c6a578063a6d23e1014610c42578063af231a5814610bfb578063b23afc2614610bcc578063b3ffb76014610b6d578063b567858814610b0e578063ba50b63214610ae6578063c306b378146107bb578063c47c35c114610726578063c8f94f4e14610624578063c90b8714146105f8578063daa26499146105db578063dce96bf5146105b2578063e4e87e3b1461056b578063e92f94d1146104fc578063f2fde38b1461046d5763f7cfaad014610257575f80fd5b346104565761026536611a0b565b6040516331a9108f60e11b81526004810183905290926001600160a01b03169190602081602481865afa908115610462575f9161041c575b506001600160a01b031633036103cb575f7fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b91819484835260a460205260408320828452602052604083209060018060a01b03168352602052600460408320838155836001820155836002820155600381018054858255806103b1575b505001805483825580610391575b505061038c60209161037e6040516103408582611b16565b85815285368137604051926103558685611b16565b86845286368137604051968796818852870152604086015260a0606086015260a0850190611999565b9083820360808501526119d5565b0390a3005b6103aa918452601f60208520910160051c8101906121bb565b5f80610328565b6103c491865260208620908101906121bb565b5f8061031a565b60405162461bcd60e51b8152602060048201526024808201527f72656d6f766553616c6550726963653a3a4d75737420626520746f6b656e4f776044820152633732b91760e11b6064820152608490fd5b90506020813d60201161045a575b8161043760209383611b16565b8101031261045657516001600160a01b0381168103610456575f61029d565b5f80fd5b3d915061042a565b6040513d5f823e3d90fd5b3461045657602036600319011261045657610486611911565b61048e6121d1565b6001600160a01b038116156104a8576104a690612229565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b34610456576104a65f8061050f36611a0b565b609a5460405163e92f94d160e01b602082019081526001600160a01b0395861660248301526044820194909452918416606480840191909152825290921691610559608482611b16565b51915af4610565611b37565b90611b75565b3461045657602036600319011261045657610584611911565b61058c6121d1565b6001600160a01b03168015610456576001600160601b0360a01b609d541617609d555f80f35b346104565760203660031901126104565760ff6105cd611a45565b6105d56121d1565b1660a155005b34610456575f36600319011261045657602060a254604051908152f35b34610456575f366003190112610456576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b346104565760e03660031901126104565761063d611911565b610645611927565b61064d611953565b60a4356001600160401b0381116104565761066c903690600401611969565b909360c435926001600160401b038411610456576105595f956107186104a69861070661069e8a993690600401611969565b609a5460405163647ca7a760e11b602082019081526001600160a01b039b8c16602480840191909152356044830152978b16606480830191909152356084820152988a1660a48a015260e060c48a015290981698949787959193909291610104870191611a93565b8481036023190160e486015291611ad7565b03601f198101835282611b16565b34610456576040366003190112610456576001600160a01b03610747611911565b165f5260a660205260405f206024355f5260205260e060405f2060018060a01b03815416906001810154906002810154600382015460018060a01b03600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b3461045657610140366003190112610456576107d5611911565b6107dd61193d565b6107e5611927565b906064356001600160a01b0381169081900361045657610803611953565b9160a4356001600160a01b038116908190036104565760c4356001600160a01b03811692908390036104565760e4356001600160a01b038116949085900361045657610104356001600160a01b038116969087900361045657610124356001600160a01b0381169890899003610456575f549960ff8b60081c16159a8b809c610ad9575b8015610ac2575b15610a665760ff1981166001175f558b610a55575b506001600160a01b0316938415610456576001600160a01b0316908115610456576001600160a01b0316918215610456578315610456576001600160a01b0316938415610456578515610456578615610456578715610456578915610456576001600160601b0360a01b60975416176097556001600160601b0360a01b60985416176098556001600160601b0360a01b60995416176099556001600160601b0360a01b609a541617609a556001600160601b0360a01b609b541617609b556001600160601b0360a01b609c541617609c556001600160601b0360a01b609d541617609d556001600160601b0360a01b609e541617609e556001600160601b0360a01b609f541617609f55600560a11b906affffffffffffffffffffff60a81b60a05416171760a05562093a8060a15561038460a25561012c60a3556109f760ff5f5460081c166109f281612271565b612271565b610a0033612229565b5f5490610a1660ff8360081c166109f281612271565b6001606555610a2157005b61ff0019165f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101175f558b6108a3565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561088e5750600160ff82161461088e565b50600160ff821610610887565b34610456575f366003190112610456576097546040516001600160a01b039091168152602090f35b6104a65f80610559610b1f36611a55565b609b546040516316acf0b160e31b602082019081526001600160a01b039687166024830152604482019590955292851660648401526084830191909152909216929091908160a48101610718565b6104a65f80610559610b7e36611a55565b609a5460405163059ffdbb60e51b602082019081526001600160a01b039687166024830152604482019590955292851660648401526084830191909152909216929091908160a48101610718565b34610456575f366003190112610456576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b3461045657602036600319011261045657610c14611911565b610c1c6121d1565b6001600160a01b03168015610456576001600160601b0360a01b609e541617609e555f80f35b34610456575f36600319011261045657609e546040516001600160a01b039091168152602090f35b34610456575f366003190112610456576098546040516001600160a01b039091168152602090f35b3461045657602036600319011261045657610cab611911565b610cb36121d1565b6001600160a01b03168015610456576001600160601b0360a01b609a541617609a555f80f35b346104565761012036600319011261045657610cf361193d565b610cfb611953565b9060e4356001600160401b03811161045657610d1b903690600401611969565b929061010435926001600160401b038411610456576104a6946105595f9594610718610d4c88973690600401611969565b610dc660018060a01b03609b541698604051978896602088019a632410683b60e21b8c5260043560248a015260018060a01b031660448901526044356064890152606435608489015260018060a01b031660a488015260a43560c488015260c43560e4880152610120610104880152610144870191611a93565b8481036023190161012486015291611ad7565b34610456575f366003190112610456576033546040516001600160a01b039091168152602090f35b34610456576040366003190112610456576104a65f80610e1f611911565b609b546040516342cdcbff60e11b602082019081526001600160a01b0393841660248084019190915235604483015291909216916105598160648101610718565b3461045657602036600319011261045657610e79611911565b610e816121d1565b6001600160a01b03168015610456576001600160601b0360a01b60985416176098555f80f35b3461045657602036600319011261045657610ec0611911565b610ec86121d1565b6001600160a01b03168015610456576001600160601b0360a01b609c541617609c555f80f35b3461045657602036600319011261045657610f076121d1565b60043560a355005b34610456575f36600319011261045657610f276121d1565b603380546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610456575f36600319011261045657602060ff60a05460a01c16604051908152f35b34610456575f3660031901126104565760a0546040516001600160a01b039091168152602090f35b34610456575f36600319011261045657609d546040516001600160a01b039091168152602090f35b346104565760c036600319011261045657610ff6611911565b610ffe611927565b906084356001600160401b0381116104565761101e903690600401611969565b929060a435926001600160401b038411610456576104a6946105595f959461071861104e88973690600401611969565b609a5460405163534665e960e01b602082019081526001600160a01b03998a1660248084019190915235604483015295891660648083019190915235608482015260c060a482015297169793969586946110ac9160e4870191611a93565b8481036023190160c486015291611ad7565b34610456576040366003190112610456576104a65f806110dc611911565b609b5460405163144e2c2360e21b602082019081526001600160a01b0393841660248084019190915235604483015291909216916105598160648101610718565b34610456575f366003190112610456576099546040516001600160a01b039091168152602090f35b346104565760203660031901126104565761115e611a45565b6111666121d1565b60a0805460ff60a01b191691811b60ff60a01b16919091179055005b34610456575f36600319011261045657609b546040516001600160a01b039091168152602090f35b34610456576111b836611a0b565b9160018060a01b03165f5260a460205260405f20905f5260205260405f209060018060a01b03165f5260205260405f2060405160a081018181106001600160401b0382111761129d57604090815282546001600160a01b039081168352600184015416602083019081526002840154918301918252909290916112999161037e90611258600461124a60038401611bbc565b926060860193845201611c0f565b608084018190529251945195519051604080516001600160a01b0397881681529790961660208801529486015260a060608601819052859490850190611999565b0390f35b634e487b7160e01b5f52604160045260245ffd5b34610456576020366003190112610456576112ca611911565b6112d26121d1565b6001600160a01b03168015610456576001600160601b0360a01b60a054161760a0555f80f35b3461045657602036600319011261045657611311611911565b6113196121d1565b6001600160a01b03168015610456576001600160601b0360a01b609f541617609f555f80f35b346104565761134d36611a0b565b9160018060a01b03165f5260a560205260405f20905f5260205260405f209060018060a01b03165f5260205260a060405f2060ff600180841b0382541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b34610456576020366003190112610456576113da611911565b6113e26121d1565b6001600160a01b03168015610456576001600160601b0360a01b609b541617609b555f80f35b34610456576040366003190112610456576001600160a01b03611429611911565b165f5260a760205260405f206024355f52602052608060405f2060018060a01b038154169060018060a01b036001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b346104565760203660031901126104565761149a611911565b6114a26121d1565b6001600160a01b03168015610456576001600160601b0360a01b60995416176099555f80f35b34610456576114d636611a0b565b6001600160a01b039283165f90815260a46020908152604080832094835293815283822092851682529182528290208054600182015460029092015484519186168252919094169184019190915290820152606090f35b3461045657602036600319011261045657611546611911565b61154e6121d1565b6001600160a01b03168015610456576001600160601b0360a01b60975416176097555f80f35b34610456575f3660031901126104565760206040515f8152f35b34610456576020366003190112610456576115a76121d1565b60043560a255005b60a0366003190112610456576115c3611911565b6115cb611927565b906084359182151580930361045657609a54604051630795929960e11b602082019081526001600160a01b0394851660248084019190915235604483015292841660648083019190915235608482015260a4808201959095529384526104a6935f9384939216919061055960c482611b16565b34610456575f36600319011261045657602060a154604051908152f35b34610456576040366003190112610456576001600160a01b0361167c611911565b165f5260a660205260405f206024355f5260205260405f2060405161012081018181106001600160401b0382111761129d5760405260018060a01b03825416815261129960018301549160208101928352611799600285015494604083019586526003810154906060840191825260018060a01b0360048201541660808501908152600582015460a0860190815260068301549160c08701928352611736600861172860078701611bbc565b9560e08a0196875201611c0f565b968761010082015260018060a01b039051169851995194519060018060a01b03905116915192519351946040519a8b9a8b5260208b015260408a01526060890152608088015260a087015260c086015261012060e0860152610120850190611999565b908382036101008501526119d5565b34610456575f36600319011261045657609c546040516001600160a01b039091168152602090f35b34610456575f36600319011261045657602060a354604051908152f35b346104565760e036600319011261045657611806611911565b61180e611927565b9060a4356001600160401b0381116104565761182e903690600401611969565b929060c435926001600160401b038411610456576104a6946105595f959461071861185e88973690600401611969565b61070660018060a01b03609b541698604051978896602088019a63060d9eeb60e01b8c5260018060a01b03166024890152602435604489015260018060a01b03166064880152606435608488015260843560a488015260e060c4880152610104870191611a93565b34610456575f36600319011261045657609a546040516001600160a01b039091168152602090f35b34610456575f36600319011261045657609f546001600160a01b03168152602090f35b600435906001600160a01b038216820361045657565b604435906001600160a01b038216820361045657565b602435906001600160a01b038216820361045657565b608435906001600160a01b038216820361045657565b9181601f84011215610456578235916001600160401b038311610456576020808501948460051b01011161045657565b90602080835192838152019201905f5b8181106119b65750505090565b82516001600160a01b03168452602093840193909201916001016119a9565b90602080835192838152019201905f5b8181106119f25750505090565b825160ff168452602093840193909201916001016119e5565b6060906003190112610456576004356001600160a01b03811681036104565790602435906044356001600160a01b03811681036104565790565b6004359060ff8216820361045657565b6080906003190112610456576004356001600160a01b03811681036104565790602435906044356001600160a01b0381168103610456579060643590565b916020908281520191905f905b808210611aad5750505090565b90919283359060018060a01b03821680920361045657602081600193829352019401920190611aa0565b916020908281520191905f905b808210611af15750505090565b90919283359060ff821680920361045657602081600193829352019401920190611ae4565b90601f801991011681019081106001600160401b0382111761129d57604052565b3d15611b70573d906001600160401b03821161129d5760405191611b65601f8201601f191660200184611b16565b82523d5f602084013e565b606090565b15611b7d5750565b604460209160405192839162461bcd60e51b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b90604051918281549182825260208201905f5260205f20925f5b818110611bed575050611beb92500383611b16565b565b84546001600160a01b0316835260019485019487945060209093019201611bd6565b90604051918281549182825260208201905f5260205f20925f905b80601f83011061201357611beb945491818110611fff575b818110611fe8575b818110611fd1575b818110611fba575b818110611fa4575b818110611f8d575b818110611f76575b818110611f5f575b818110611f48575b818110611f31575b818110611f1a575b818110611f03575b818110611eec575b818110611ed5575b818110611ebe575b818110611ea7575b818110611e90575b818110611e79575b818110611e62575b818110611e4b575b818110611e34575b818110611e1d575b818110611e06575b818110611def575b818110611dd8575b818110611dc1575b818110611daa575b818110611d93575b818110611d7c575b818110611d65575b818110611d4e575b10611d40575b500383611b16565b60f81c81526020015f611d38565b92602060019160ff8560f01c168152019301611d32565b92602060019160ff8560e81c168152019301611d2a565b92602060019160ff8560e01c168152019301611d22565b92602060019160ff8560d81c168152019301611d1a565b92602060019160ff8560d01c168152019301611d12565b92602060019160ff8560c81c168152019301611d0a565b92602060019160ff8560c01c168152019301611d02565b92602060019160ff8560b81c168152019301611cfa565b92602060019160ff8560b01c168152019301611cf2565b92602060019160ff8560a81c168152019301611cea565b92602060019160ff8560a01c168152019301611ce2565b92602060019160ff8560981c168152019301611cda565b92602060019160ff8560901c168152019301611cd2565b92602060019160ff8560881c168152019301611cca565b92602060019160ff8560801c168152019301611cc2565b92602060019160ff8560781c168152019301611cba565b92602060019160ff8560701c168152019301611cb2565b92602060019160ff8560681c168152019301611caa565b92602060019160ff8560601c168152019301611ca2565b92602060019160ff8560581c168152019301611c9a565b92602060019160ff8560501c168152019301611c92565b92602060019160ff8560481c168152019301611c8a565b92602060019160ff8560401c168152019301611c82565b92602060019160ff8560381c168152019301611c7a565b92602060019160ff8560301c168152019301611c72565b92602060019160ff8560281c168152019301611c6a565b92602060019160ff85831c168152019301611c62565b92602060019160ff8560181c168152019301611c5a565b92602060019160ff8560101c168152019301611c52565b92602060019160ff8560081c168152019301611c4a565b92602060019160ff85168152019301611c42565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920185929391611c2a565b8181106121c6575050565b5f81556001016121bb565b6033546001600160a01b031633036121e557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b1561227857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfea2646970667358221220bfe0dd338acb4a0c9aceb2013c38237fbb692859441cec083e21b66d04dd95f264736f6c634300081c0033","sourceMap":"1245:17632:60:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;10978:24:60;;1245:17632;10978:24;;1245:17632;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;10978:24;1245:17632;;10978:24;;;;;;;1245:17632;10978:24;;;1245:17632;-1:-1:-1;;;;;;1245:17632:60;11017:10;:24;1245:17632;;;11159:108;1245:17632;;;;;;11096:15;1245:17632;;;;;;;;;;;;;11096:51;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;11159:108;;;1245:17632;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1245:17632:60;;;;;;;10978:24;1245:17632;;;;;;;;;-1:-1:-1;;;1245:17632:60;;;;;;;10978:24;;;1245:17632;10978:24;;1245:17632;10978:24;;;;;;1245:17632;10978:24;;;:::i;:::-;;;1245:17632;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;10978:24;;;1245:17632;;;;10978:24;;;-1:-1:-1;10978:24:60;;;1245:17632;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;;2402:22:19;1245:17632:60;;2496:8:19;;;:::i;:::-;1245:17632:60;;;;-1:-1:-1;;;1245:17632:60;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:60;;;;;;;;;;;8571:30;1245:17632;;;;;:::i;:::-;8423:20;1245:17632;;;-1:-1:-1;;;8464:94:60;;;;;;-1:-1:-1;;;;;1245:17632:60;;;8464:94;;;1245:17632;;;;;;;;;;;;;;;;;;;8464:94;;1245:17632;;;;8464:94;;1245:17632;8464:94;:::i;:::-;8423:141;;;;;;:::i;:::-;8571:30;;:::i;1245:17632::-;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;4557:36;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;4600:70;1245:17632;;;4600:70;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;1245:17632:60;5422:36;1245:17632;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;6547:37:62;1245:17632:60;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;-1:-1:-1;;;1245:17632:60;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;9973:219;1245:17632;;;10205:30;1245:17632;;;;;;;;;;:::i;:::-;9932:20;1245:17632;;;-1:-1:-1;;;1245:17632:60;9973:219;;;;;-1:-1:-1;;;;;1245:17632:60;;;;9973:219;;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9973:219;;1245:17632;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1245:17632:60;;;;;;;:::i;:::-;9973:219;15297:234;;9973:219;;;;;;:::i;1245:17632::-;;;;;;-1:-1:-1;;1245:17632:60;;;;-1:-1:-1;;;;;1245:17632:60;;:::i;:::-;;;;7097:68:62;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;7097:68:62;1245:17632:60;7097:68:62;;1245:17632:60;7097:68:62;;;;1245:17632:60;7097:68:62;;;1245:17632:60;;;;;;;7097:68:62;;1245:17632:60;;7097:68:62;;;;;1245:17632:60;7097:68:62;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;;;;3301:14:25;;;;3347:34;;;1245:17632:60;3346:108:25;;;;1245:17632:60;;;;-1:-1:-1;;1245:17632:60;;3551:1:25;1245:17632:60;;;;3562:65:25;;1245:17632:60;-1:-1:-1;;;;;;1245:17632:60;;1913:34;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;1962:30;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;2007:28;;1245:17632;;2050:35;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;2100:36;;1245:17632;;2151:36;;1245:17632;;2202:36;;1245:17632;;2253:23;;1245:17632;;2291:33;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;2332:64;1245:17632;;;2332:64;1245:17632;-1:-1:-1;;;;;1245:17632:60;;2402:56;1245:17632;;;2402:56;1245:17632;-1:-1:-1;;;;;1245:17632:60;;2464:48;1245:17632;;;2464:48;1245:17632;-1:-1:-1;;;;;1245:17632:60;;2518:44;1245:17632;;;2518:44;1245:17632;-1:-1:-1;;;;;1245:17632:60;;2568:46;1245:17632;;;2568:46;1245:17632;-1:-1:-1;;;;;1245:17632:60;;2620:70;1245:17632;;;2620:70;1245:17632;-1:-1:-1;;;;;1245:17632:60;;2696:70;1245:17632;;;2696:70;1245:17632;-1:-1:-1;;;;;1245:17632:60;;2772:31;1245:17632;;;2772:31;1245:17632;-1:-1:-1;;;;;1245:17632:60;;2809:34;1245:17632;;;2809:34;1245:17632;;;;;;;;;;;;;;;2954:6;2935:25;1245:17632;2991:10;2966:35;1245:17632;3031:9;3007:33;1245:17632;5366:69:25;1245:17632:60;;;;;;5366:69:25;;;:::i;:::-;;:::i;:::-;1195:12:19;929:10:30;1195:12:19;:::i;:::-;1245:17632:60;;;5366:69:25;1245:17632:60;;;;;5366:69:25;;;:::i;:::-;3551:1;2065:22:27;1245:17632:60;3647:99:25;;1245:17632:60;3647:99:25;1245:17632:60;;;;;3721:14:25;1245:17632:60;;;3551:1:25;1245:17632:60;;3721:14:25;1245:17632:60;3562:65:25;-1:-1:-1;;1245:17632:60;;;;;3562:65:25;;;1245:17632:60;;;-1:-1:-1;;;1245:17632:60;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:60;;;;;;;3346:108:25;3426:4;;1713:19:29;:23;3387:66:25;;3346:108;3387:66;1245:17632:60;3452:1:25;1245:17632:60;;;3436:17:25;3346:108;;3347:34;1245:17632:60;3380:1:25;1245:17632:60;;;3365:16:25;3347:34;;1245:17632:60;;;;;;-1:-1:-1;;1245:17632:60;;;;5377:47:62;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;16870:30;1245:17632;;16762:95;1245:17632;;;:::i;:::-;16720:21;1245:17632;;;-1:-1:-1;;;16762:95:60;;;;;;-1:-1:-1;;;;;1245:17632:60;;;16762:95;;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;16762:95;;1245:17632;;;;;16762:95;1245:17632;;7978:30;1245:17632;;7870:95;1245:17632;;;:::i;:::-;7829:20;1245:17632;;;-1:-1:-1;;;7870:95:60;;;;;;-1:-1:-1;;;;;1245:17632:60;;;7870:95;;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;7870:95;;1245:17632;;;;;7870:95;1245:17632;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;-1:-1:-1;;;1245:17632:60;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;4752:23;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;4782:31;1245:17632;;;4782:31;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;6119:25:62;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;5484:43:62;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;3945:35;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;3987:44;1245:17632;;;3987:44;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;14204:30;1245:17632;13912:279;1245:17632;;;;;;;;;;;;:::i;:::-;;;;;;;13870:21;1245:17632;;;;;13912:279;;;1245:17632;13912:279;;1245:17632;;;;13912:279;;1245:17632;;;13912:279;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1245:17632:60;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1245:17632:60;;;;1513:6:19;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;16121:30;1245:17632;;;;:::i;:::-;15988:21;1245:17632;;;-1:-1:-1;;;1245:17632:60;16030:78;;;;;-1:-1:-1;;;;;1245:17632:60;;;;16030:78;;;1245:17632;;;;;;;;;;;;;;16030:78;1245:17632;;;;16030:78;1245:17632;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;3571:30;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;3608:56;1245:17632;;;3608:56;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;4336:36;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;4379:70;1245:17632;;;4379:70;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;1303:62:19;;:::i;:::-;1245:17632:60;;5708:46;1245:17632;;;;;;;;-1:-1:-1;;1245:17632:60;;;;1303:62:19;;:::i;:::-;2758:6;1245:17632:60;;-1:-1:-1;;;;;;1245:17632:60;;;;;;;-1:-1:-1;;;;;1245:17632:60;2806:40:19;1245:17632:60;;2806:40:19;1245:17632:60;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;6372:41:62;1245:17632:60;6372:41:62;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;6025:51:62;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;12398:30;1245:17632;12187:198;1245:17632;;;;;;;;;;;;:::i;:::-;12146:20;1245:17632;;;-1:-1:-1;;;1245:17632:60;12187:198;;;;;-1:-1:-1;;;;;1245:17632:60;;;;12187:198;;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12187:198;;1245:17632;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1245:17632:60;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1245:17632:60;;;;17398:30;1245:17632;;;;:::i;:::-;17265:21;1245:17632;;;-1:-1:-1;;;1245:17632:60;17307:78;;;;;-1:-1:-1;;;;;1245:17632:60;;;;17307:78;;;1245:17632;;;;;;;;;;;;;;17307:78;1245:17632;;;;17307:78;1245:17632;;;;;;;-1:-1:-1;;1245:17632:60;;;;5586:37:62;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;5274:60:60;1245:17632;;-1:-1:-1;;;;1245:17632:60;;;;-1:-1:-1;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;5789:36:62;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;18727:15;1245:17632;;;;;;;;;;;;;18727:51;1245:17632;;;;;;-1:-1:-1;1245:17632:60;;;;-1:-1:-1;1245:17632:60;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18835:18;;1245:17632;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;5082:33;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;5122:40;1245:17632;;;5122:40;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;4909:30;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;4946:34;1245:17632;;;4946:34;1245:17632;;;;;;;;;;;:::i;:::-;;;;;;;;;;6940:91:62;1245:17632:60;;;;;;;;;;;;;6940:91:62;1245:17632:60;;;;;;-1:-1:-1;1245:17632:60;;;;;-1:-1:-1;1245:17632:60;;;;;;;;;;6940:91:62;;;;1245:17632:60;6940:91:62;;;;;1245:17632:60;6940:91:62;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;4139:36;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;4182:46;1245:17632;;;4182:46;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;-1:-1:-1;;;;;1245:17632:60;;:::i;:::-;;;;7227:62:62;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7227:62:62;;1245:17632:60;;7227:62:62;1245:17632:60;7227:62:62;;;;1245:17632:60;7227:62:62;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;3756:28;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;3791:48;1245:17632;;;3791:48;1245:17632;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;;;;;;;6745:92:62;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6745:92:62;;1245:17632:60;6745:92:62;;;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;1245:17632:60;3370:34;;1245:17632;;-1:-1:-1;;;;;1245:17632:60;;3411:64;1245:17632;;;3411:64;1245:17632;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;1303:62:19;;:::i;:::-;1245:17632:60;;5560:48;1245:17632;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;6829:20;1245:17632;;;-1:-1:-1;;;1245:17632:60;6870:111;;;;;-1:-1:-1;;;;;1245:17632:60;;;;6870:111;;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6870:111;;;6994:30;;1245:17632;;;;;;;6870:111;;;1245:17632;6870:111;:::i;1245:17632::-;;;;;;-1:-1:-1;;1245:17632:60;;;;;6474:31:62;1245:17632:60;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;-1:-1:-1;;;;;1245:17632:60;;:::i;:::-;;;;18117:13;1245:17632;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18381:23;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1245:17632:60;;;;5892:51:62;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;6619:36:62;1245:17632:60;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;15544:30;1245:17632;15297:234;1245:17632;;;;;;;;;;;;:::i;:::-;;;;;;;15255:21;1245:17632;;;;;15297:234;;;1245:17632;15297:234;;1245:17632;;;;15297:234;;1245:17632;;;;;;;15297:234;;1245:17632;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1245:17632:60;;;;5688:35:62;1245:17632:60;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;-1:-1:-1;;1245:17632:60;;;;6195:30:62;1245:17632:60;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;1245:17632:60;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:60;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;1245:17632:60;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:60;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15297:234;;1245:17632;;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;15297:234;1245:17632;;-1:-1:-1;;1245:17632:60;;;;;:::i;:::-;;;;-1:-1:-1;1245:17632:60;;;;:::o;:::-;;;:::o;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:60;;;;;;;;-1:-1:-1;;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:60;;-1:-1:-1;1245:17632:60;;-1:-1:-1;1245:17632:60;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;;;;;1245:17632:60;;;;;;;;;;-1:-1:-1;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:17632:60;;-1:-1:-1;1245:17632:60;;-1:-1:-1;1245:17632:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;1599:130:19;1513:6;1245:17632:60;-1:-1:-1;;;;;1245:17632:60;929:10:30;1662:23:19;1245:17632:60;;1599:130:19:o;1245:17632:60:-;;;;;;;;;;;;;;;;;;;;;;;;;2666:187:19;2758:6;1245:17632:60;;-1:-1:-1;;;;;1245:17632:60;;;-1:-1:-1;;;;;;1245:17632:60;;;;;;;;;;2806:40:19;-1:-1:-1;;2806:40:19;2666:187::o;1245:17632:60:-;;;;:::o;:::-;;;-1:-1:-1;;;1245:17632:60;;;;;;;;;;;;;;;;;-1:-1:-1;;;1245:17632:60;;;;;;","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","acceptOffer(address,uint256,address,uint256,address[],uint8[])":"534665e9","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","bid(address,uint256,address,uint256)":"b5678588","buy(address,uint256,address,uint256)":"b3ffb760","cancelAuction(address,uint256)":"859b97fe","cancelOffer(address,uint256,address)":"e92f94d1","configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":"9041a0ec","convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":"060d9eeb","getAuctionDetails(address,uint256)":"0cd87c68","getSalePrice(address,uint256,address)":"369679a4","initialize(address,address,address,address,address,address,address,address,address,address)":"c306b378","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offer(address,uint256,address,uint256,bool)":"0f2b2532","offerCancelationDelay()":"0a5c4ed5","owner()":"8da5cb5b","payments()":"a6d23e10","removeSalePrice(address,uint256,address)":"f7cfaad0","renounceOwnership()":"715018a6","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","setApprovedTokenRegistry(address)":"e4e87e3b","setAuctionLengthExtension(uint256)":"10f79789","setMarketplaceSettings(address)":"176ab440","setMaxAuctionLength(uint8)":"dce96bf5","setMinimumBidIncreasePercentage(uint8)":"48626b90","setNetworkBeneficiary(address)":"3492e5a8","setOfferCancelationDelay(uint256)":"7a544792","setPayments(address)":"af231a58","setRoyaltyEngine(address)":"21ede032","setRoyaltyRegistry(address)":"84a608e2","setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":"c8f94f4e","setSpaceOperatorRegistry(address)":"7f358230","setStakingRegistry(address)":"2c740844","setSuperRareAuctionHouse(address)":"2a2a326c","setSuperRareMarketplace(address)":"9c883af2","settleAuction(address,uint256)":"5138b08c","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"bid\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"cancelAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"}],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_auctionType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"configureAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"convertOfferToAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getAuctionDetails\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"getSalePrice\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_superRareMarketplace\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_superRareAuctionHouse\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"removeSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approvedTokenRegistry\",\"type\":\"address\"}],\"name\":\"setApprovedTokenRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_auctionLengthExtension\",\"type\":\"uint256\"}],\"name\":\"setAuctionLengthExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_marketplaceSettings\",\"type\":\"address\"}],\"name\":\"setMarketplaceSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_maxAuctionLength\",\"type\":\"uint8\"}],\"name\":\"setMaxAuctionLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_minimumBidIncreasePercentage\",\"type\":\"uint8\"}],\"name\":\"setMinimumBidIncreasePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_networkBeneficiary\",\"type\":\"address\"}],\"name\":\"setNetworkBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_offerCancelationDelay\",\"type\":\"uint256\"}],\"name\":\"setOfferCancelationDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_payments\",\"type\":\"address\"}],\"name\":\"setPayments\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_royaltyEngine\",\"type\":\"address\"}],\"name\":\"setRoyaltyEngine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_royaltyRegistry\",\"type\":\"address\"}],\"name\":\"setRoyaltyRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spaceOperatorRegistry\",\"type\":\"address\"}],\"name\":\"setSpaceOperatorRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingRegistry\",\"type\":\"address\"}],\"name\":\"setStakingRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_superRareAuctionHouse\",\"type\":\"address\"}],\"name\":\"setSuperRareAuctionHouse\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_superRareMarketplace\",\"type\":\"address\"}],\"name\":\"setSuperRareMarketplace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"details\":\"All storage is inherrited and append only (no modifications) to make upgrade compliant.\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"details\":\"Zero address for _currency means that the offer being accepted is in ether.\",\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"bid(address,uint256,address,uint256)\":{\"details\":\"Only the configured currency can be used (Zero address for eth)\",\"params\":{\"_amount\":\"Amount of the currency being used for the bid.\",\"_currencyAddress\":\"Address of currency being used to bid.\",\"_originContract\":\"Contract address of asset being bid on.\",\"_tokenId\":\"Token Id of the asset.\"}},\"buy(address,uint256,address,uint256)\":{\"details\":\"Covers use of any currency (0 address is eth).Need to verify that the buyer (if not using eth) has the marketplace approved for _currencyContract.Need to verify that the seller has the marketplace approved for _originContract.\",\"params\":{\"_amount\":\"Amount the piece if being bought for (including marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelAuction(address,uint256)\":{\"details\":\"Requires the person sending the message to be the auction creator or token owner.\",\"params\":{\"_originContract\":\"Contract address of the asset pending auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"cancelOffer(address,uint256,address)\":{\"params\":{\"_currencyAddress\":\"Currency address of the offer.\",\"_originContract\":\"Contract address of token.\",\"_tokenId\":\"TokenId that has an offer.\"}},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"details\":\"If auction type is coldie (reserve) then _startingAmount cant be 0._currencyAddress equal to the zero address denotes eth.All time related params are unix epoch timestamps.\",\"params\":{\"_auctionType\":\"The type of auction being configured.\",\"_currencyAddress\":\"The currency the auction is being conducted in.\",\"_lengthOfAuction\":\"The amount of time in seconds that the auction is configured for.\",\"_originContract\":\"Contract address of the asset being put up for auction.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_startingAmount\":\"The reserve price or min bid of an auction.\",\"_tokenId\":\"Token Id of the asset.\"}},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"details\":\"Covers use of any currency (0 address is eth).Only covers converting an offer to a coldie auction.Cant convert offer if an auction currently exists.\",\"params\":{\"_amount\":\"Amount being converted into an auction.\",\"_currencyAddress\":\"Address of the currency being converted.\",\"_lengthOfAuction\":\"Number of seconds the auction will last.\",\"_originContract\":\"Contract address of the asset.\",\"_splitAddresses\":\"Addresses that the sellers take in will be split amongst.\",\"_splitRatios\":\"Ratios that the take in will be split by.\",\"_tokenId\":\"Token Id of the asset.\"}},\"getAuctionDetails(address,uint256)\":{\"returns\":{\"_0\":\"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array.\"}},\"offer(address,uint256,address,uint256,bool)\":{\"details\":\"Notice we need to verify that the msg sender has approved us to move funds on their behalf.Covers use of any currency (0 address is eth)._amount is the amount of the offer excluding the marketplace fee.There can be multiple offers of different currencies, but only 1 per currency.\",\"params\":{\"_amount\":\"Amount being offered.\",\"_convertible\":\"If the offer can be converted into an auction\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Contract address of the asset being listed.\",\"_tokenId\":\"Token Id of the asset.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"removeSalePrice(address,uint256,address)\":{\"details\":\"Sale prices could still exist for different currencies.Sale prices could still exist for different targets.Zero address for _currency means that its listed in ether._target of zero address is the general sale price.\",\"params\":{\"_originContract\":\"The origin contract of the asset.\",\"_target\":\"The address of the person\",\"_tokenId\":\"The tokenId of the asset within the _originContract.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"details\":\"Covers use of any currency (0 address is eth).Sale price for everyone is denoted as the 0 address.Only 1 currency can be used for the sale price directed at a speicific target._listPrice of 0 signifies removing the list price for the provided currency.This function can be used for counter offers as well.\",\"params\":{\"_currencyAddress\":\"Contract address of the currency asset is being listed for.\",\"_listPrice\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_originContract\":\"Contract address of the asset being listed.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_target\":\"Address of the person this sale price is target to.\",\"_tokenId\":\"Token Id of the asset.\"}},\"settleAuction(address,uint256)\":{\"details\":\"Anyone is able to settle an auction since non-input params are used.\",\"params\":{\"_originContract\":\"Contract address of asset.\",\"_tokenId\":\"Token Id of the asset.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"SuperRareBazaar\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept an offer placed on _originContract : _tokenId.\"},\"bid(address,uint256,address,uint256)\":{\"notice\":\"Places a bid on a valid auction.\"},\"buy(address,uint256,address,uint256)\":{\"notice\":\"Purchases the token for the current sale price.\"},\"cancelAuction(address,uint256)\":{\"notice\":\"Cancels a configured Auction that has not started.\"},\"cancelOffer(address,uint256,address)\":{\"notice\":\"Cancels an existing offer the sender has placed on a piece.\"},\"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Configures an Auction for a given asset.\"},\"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])\":{\"notice\":\"Converts an offer into a coldie auction.\"},\"offer(address,uint256,address,uint256,bool)\":{\"notice\":\"Place an offer for a given asset\"},\"removeSalePrice(address,uint256,address)\":{\"notice\":\"Removes the current sale price of an asset for _target for the given currency.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"notice\":\"Sets a sale price for the given asset(s) directed at the _target address.\"},\"settleAuction(address,uint256)\":{\"notice\":\"Settles an auction that has ended.\"}},\"notice\":\"The unified contract for the bazaar logic (Marketplace and Auction House).\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/bazaar/SuperRareBazaar.sol\":\"SuperRareBazaar\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/bazaar/ISuperRareBazaar.sol\":{\"keccak256\":\"0xb75cb39f8c63e813a2891b41ae6c835903c975b2646b689936c51bc6d3a74546\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://616f9aa0a4ae90da19f46b62041eadeef64b13a9e1870ac9791cb94f85c62805\",\"dweb:/ipfs/QmeqhUs6pzfsTUoarSArUMrtmHvvMYnTD4XiFLAj6KwaWk\"]},\"src/bazaar/SuperRareBazaar.sol\":{\"keccak256\":\"0x18a2c74610adf65f8a7556133a73ee5fbb22a321439c066f0062bb2b47700898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4b22a2e8ffb544c2cc822e0f1cf09dd162487f435a1395b6816b8ced48f7c4ff\",\"dweb:/ipfs/QmNjEFq94276Ca96xmucb2pWPahLJwqcUgG3KUZZrRPtpA\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptOffer"},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"bid"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buy"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"cancelAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelOffer"},{"inputs":[{"internalType":"bytes32","name":"_auctionType","type":"bytes32"},{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_startingAmount","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"configureAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"convertOfferToAuction"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAuctionDetails","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"view","type":"function","name":"getSalePrice","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address payable[]","name":"","type":"address[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"}]},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"},{"internalType":"address","name":"_royaltyRegistry","type":"address"},{"internalType":"address","name":"_royaltyEngine","type":"address"},{"internalType":"address","name":"_superRareMarketplace","type":"address"},{"internalType":"address","name":"_superRareAuctionHouse","type":"address"},{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"},{"internalType":"address","name":"_approvedTokenRegistry","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"address","name":"_stakingRegistry","type":"address"},{"internalType":"address","name":"_networkBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_convertible","type":"bool"}],"stateMutability":"payable","type":"function","name":"offer"},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSalePrice"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_approvedTokenRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setApprovedTokenRegistry"},{"inputs":[{"internalType":"uint256","name":"_auctionLengthExtension","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setAuctionLengthExtension"},{"inputs":[{"internalType":"address","name":"_marketplaceSettings","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMarketplaceSettings"},{"inputs":[{"internalType":"uint8","name":"_maxAuctionLength","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMaxAuctionLength"},{"inputs":[{"internalType":"uint8","name":"_minimumBidIncreasePercentage","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setMinimumBidIncreasePercentage"},{"inputs":[{"internalType":"address","name":"_networkBeneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setNetworkBeneficiary"},{"inputs":[{"internalType":"uint256","name":"_offerCancelationDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setOfferCancelationDelay"},{"inputs":[{"internalType":"address","name":"_payments","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPayments"},{"inputs":[{"internalType":"address","name":"_royaltyEngine","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyEngine"},{"inputs":[{"internalType":"address","name":"_royaltyRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRoyaltyRegistry"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_listPrice","type":"uint256"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setSalePrice"},{"inputs":[{"internalType":"address","name":"_spaceOperatorRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceOperatorRegistry"},{"inputs":[{"internalType":"address","name":"_stakingRegistry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingRegistry"},{"inputs":[{"internalType":"address","name":"_superRareAuctionHouse","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSuperRareAuctionHouse"},{"inputs":[{"internalType":"address","name":"_superRareMarketplace","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSuperRareMarketplace"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"settleAuction"},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"details":"Zero address for _currency means that the offer being accepted is in ether.","params":{"_amount":"Amount the offer was for/and is being accepted.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"bid(address,uint256,address,uint256)":{"details":"Only the configured currency can be used (Zero address for eth)","params":{"_amount":"Amount of the currency being used for the bid.","_currencyAddress":"Address of currency being used to bid.","_originContract":"Contract address of asset being bid on.","_tokenId":"Token Id of the asset."}},"buy(address,uint256,address,uint256)":{"details":"Covers use of any currency (0 address is eth).Need to verify that the buyer (if not using eth) has the marketplace approved for _currencyContract.Need to verify that the seller has the marketplace approved for _originContract.","params":{"_amount":"Amount the piece if being bought for (including marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelAuction(address,uint256)":{"details":"Requires the person sending the message to be the auction creator or token owner.","params":{"_originContract":"Contract address of the asset pending auction.","_tokenId":"Token Id of the asset."}},"cancelOffer(address,uint256,address)":{"params":{"_currencyAddress":"Currency address of the offer.","_originContract":"Contract address of token.","_tokenId":"TokenId that has an offer."}},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"details":"If auction type is coldie (reserve) then _startingAmount cant be 0._currencyAddress equal to the zero address denotes eth.All time related params are unix epoch timestamps.","params":{"_auctionType":"The type of auction being configured.","_currencyAddress":"The currency the auction is being conducted in.","_lengthOfAuction":"The amount of time in seconds that the auction is configured for.","_originContract":"Contract address of the asset being put up for auction.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_startingAmount":"The reserve price or min bid of an auction.","_tokenId":"Token Id of the asset."}},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"details":"Covers use of any currency (0 address is eth).Only covers converting an offer to a coldie auction.Cant convert offer if an auction currently exists.","params":{"_amount":"Amount being converted into an auction.","_currencyAddress":"Address of the currency being converted.","_lengthOfAuction":"Number of seconds the auction will last.","_originContract":"Contract address of the asset.","_splitAddresses":"Addresses that the sellers take in will be split amongst.","_splitRatios":"Ratios that the take in will be split by.","_tokenId":"Token Id of the asset."}},"getAuctionDetails(address,uint256)":{"returns":{"_0":"Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array."}},"offer(address,uint256,address,uint256,bool)":{"details":"Notice we need to verify that the msg sender has approved us to move funds on their behalf.Covers use of any currency (0 address is eth)._amount is the amount of the offer excluding the marketplace fee.There can be multiple offers of different currencies, but only 1 per currency.","params":{"_amount":"Amount being offered.","_convertible":"If the offer can be converted into an auction","_currencyAddress":"Address of the token being offered.","_originContract":"Contract address of the asset being listed.","_tokenId":"Token Id of the asset."}},"owner()":{"details":"Returns the address of the current owner."},"removeSalePrice(address,uint256,address)":{"details":"Sale prices could still exist for different currencies.Sale prices could still exist for different targets.Zero address for _currency means that its listed in ether._target of zero address is the general sale price.","params":{"_originContract":"The origin contract of the asset.","_target":"The address of the person","_tokenId":"The tokenId of the asset within the _originContract."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"details":"Covers use of any currency (0 address is eth).Sale price for everyone is denoted as the 0 address.Only 1 currency can be used for the sale price directed at a speicific target._listPrice of 0 signifies removing the list price for the provided currency.This function can be used for counter offers as well.","params":{"_currencyAddress":"Contract address of the currency asset is being listed for.","_listPrice":"Amount of the currency the asset is being listed for (including all decimal points).","_originContract":"Contract address of the asset being listed.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_target":"Address of the person this sale price is target to.","_tokenId":"Token Id of the asset."}},"settleAuction(address,uint256)":{"details":"Anyone is able to settle an auction since non-input params are used.","params":{"_originContract":"Contract address of asset.","_tokenId":"Token Id of the asset."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept an offer placed on _originContract : _tokenId."},"bid(address,uint256,address,uint256)":{"notice":"Places a bid on a valid auction."},"buy(address,uint256,address,uint256)":{"notice":"Purchases the token for the current sale price."},"cancelAuction(address,uint256)":{"notice":"Cancels a configured Auction that has not started."},"cancelOffer(address,uint256,address)":{"notice":"Cancels an existing offer the sender has placed on a piece."},"configureAuction(bytes32,address,uint256,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Configures an Auction for a given asset."},"convertOfferToAuction(address,uint256,address,uint256,uint256,address[],uint8[])":{"notice":"Converts an offer into a coldie auction."},"offer(address,uint256,address,uint256,bool)":{"notice":"Place an offer for a given asset"},"removeSalePrice(address,uint256,address)":{"notice":"Removes the current sale price of an asset for _target for the given currency."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"notice":"Sets a sale price for the given asset(s) directed at the _target address."},"settleAuction(address,uint256)":{"notice":"Settles an auction that has ended."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/bazaar/SuperRareBazaar.sol":"SuperRareBazaar"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/bazaar/ISuperRareBazaar.sol":{"keccak256":"0xb75cb39f8c63e813a2891b41ae6c835903c975b2646b689936c51bc6d3a74546","urls":["bzz-raw://616f9aa0a4ae90da19f46b62041eadeef64b13a9e1870ac9791cb94f85c62805","dweb:/ipfs/QmeqhUs6pzfsTUoarSArUMrtmHvvMYnTD4XiFLAj6KwaWk"],"license":"MIT"},"src/bazaar/SuperRareBazaar.sol":{"keccak256":"0x18a2c74610adf65f8a7556133a73ee5fbb22a321439c066f0062bb2b47700898","urls":["bzz-raw://4b22a2e8ffb544c2cc822e0f1cf09dd162487f435a1395b6816b8ced48f7c4ff","dweb:/ipfs/QmNjEFq94276Ca96xmucb2pWPahLJwqcUgG3KUZZrRPtpA"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"}},"version":1},"id":60} \ No newline at end of file diff --git a/abis/SuperRareBazaarBase.json b/abis/SuperRareBazaarBase.json index a475708..46b1b22 100644 --- a/abis/SuperRareBazaarBase.json +++ b/abis/SuperRareBazaarBase.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offerCancelationDelay()":"0a5c4ed5","payments()":"a6d23e10","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SuperRareBazaarBase\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Base contract containing the internal functions for the SuperRareBazaar.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/bazaar/SuperRareBazaarBase.sol\":\"SuperRareBazaarBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/bazaar/SuperRareBazaarBase.sol\":{\"keccak256\":\"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d\",\"dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/bazaar/SuperRareBazaarBase.sol":"SuperRareBazaarBase"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/bazaar/SuperRareBazaarBase.sol":{"keccak256":"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826","urls":["bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d","dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"}},"version":1},"id":152} \ No newline at end of file +{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offerCancelationDelay()":"0a5c4ed5","payments()":"a6d23e10","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SuperRareBazaarBase\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Base contract containing the internal functions for the SuperRareBazaar.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/bazaar/SuperRareBazaarBase.sol\":\"SuperRareBazaarBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/bazaar/SuperRareBazaarBase.sol\":{\"keccak256\":\"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d\",\"dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/bazaar/SuperRareBazaarBase.sol":"SuperRareBazaarBase"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/bazaar/SuperRareBazaarBase.sol":{"keccak256":"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826","urls":["bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d","dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"}},"version":1},"id":61} \ No newline at end of file diff --git a/abis/SuperRareBazaarStorage.json b/abis/SuperRareBazaarStorage.json index 3614a3c..57a5b82 100644 --- a/abis/SuperRareBazaarStorage.json +++ b/abis/SuperRareBazaarStorage.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234610016576105d5908161001c8239f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c9081629d9aa91461052b575080630141c590146105035780630a5c4ed5146104e55780630bcba09d146104bd5780630e519ef91461049f578063155a56b1146104855780631a2ac30f14610426578063299a0e1e146103bb5780632c419053146103445780633bc3d9be1461031c5780634c94c90c146102f45780636240cd1c146102cc5780636b534ed0146102a45780636fe9f44c14610280578063a11b071214610258578063a6d23e1014610230578063b23afc2614610202578063ba50b632146101db578063c47c35c114610154578063c90b8714146101295763daa264991461010857600080fd5b34610125578160031936011261012557602090600b549051908152f35b5080fd5b5034610125578160031936011261012557516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b503461012557806003193601126101255760e0916001600160a01b039082908261017c610550565b168152600f60205281812060243582526020522081815416926001820154926002830154600384015491600485015416926006600586015495015495815197885260208801528601526060850152608084015260a083015260c0820152f35b5034610125578160031936011261012557905490516001600160a01b039091168152602090f35b5034610125578160031936011261012557517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b503461012557816003193601126101255760075490516001600160a01b039091168152602090f35b503461012557816003193601126101255760015490516001600160a01b039091168152602090f35b503461012557816003193601126101255760209060ff60095460a01c169051908152f35b503461012557816003193601126101255760095490516001600160a01b039091168152602090f35b503461012557816003193601126101255760065490516001600160a01b039091168152602090f35b503461012557816003193601126101255760025490516001600160a01b039091168152602090f35b503461012557816003193601126101255760045490516001600160a01b039091168152602090f35b5034610125579060ff8260a09361035a3661056b565b90600180899894981b038097168352600e6020528383209083526020528583832091168252602052209283541692600181015491600360028301549201549281519586526020860152840152818116606084015260081c1615156080820152f35b50346101255780600319360112610125576080916001600160a01b0391908190836103e4610550565b168152601060205281812060243582526020522082815416926001820154169160ff600360028401549301541692815194855260208501528301526060820152f35b503461012557908160609261043a3661056b565b9060018060a09794971b038096168352600d60205283832090835260205284838320911682526020522090600283835416936001840154169201549181519384526020840152820152f35b503461012557816003193601126101255751908152602090f35b5034610125578160031936011261012557602090600a549051908152f35b503461012557816003193601126101255760055490516001600160a01b039091168152602090f35b5034610125578160031936011261012557602090600c549051908152f35b503461012557816003193601126101255760035490516001600160a01b039091168152602090f35b8390346101255781600319360112610125576008546001600160a01b03168152602090f35b600435906001600160a01b038216820361056657565b600080fd5b6060906003190112610566576001600160a01b0360043581811681036105665791602435916044359081168103610566579056fea2646970667358221220f3dc74df39bf2eb2b74186e022ca81a100531f80536394658eef5de91502a78164736f6c63430008120033","sourceMap":"722:6643:153:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040818152600436101561001457600080fd5b600091823560e01c9081629d9aa91461052b575080630141c590146105035780630a5c4ed5146104e55780630bcba09d146104bd5780630e519ef91461049f578063155a56b1146104855780631a2ac30f14610426578063299a0e1e146103bb5780632c419053146103445780633bc3d9be1461031c5780634c94c90c146102f45780636240cd1c146102cc5780636b534ed0146102a45780636fe9f44c14610280578063a11b071214610258578063a6d23e1014610230578063b23afc2614610202578063ba50b632146101db578063c47c35c114610154578063c90b8714146101295763daa264991461010857600080fd5b34610125578160031936011261012557602090600b549051908152f35b5080fd5b5034610125578160031936011261012557516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b503461012557806003193601126101255760e0916001600160a01b039082908261017c610550565b168152600f60205281812060243582526020522081815416926001820154926002830154600384015491600485015416926006600586015495015495815197885260208801528601526060850152608084015260a083015260c0820152f35b5034610125578160031936011261012557905490516001600160a01b039091168152602090f35b5034610125578160031936011261012557517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b503461012557816003193601126101255760075490516001600160a01b039091168152602090f35b503461012557816003193601126101255760015490516001600160a01b039091168152602090f35b503461012557816003193601126101255760209060ff60095460a01c169051908152f35b503461012557816003193601126101255760095490516001600160a01b039091168152602090f35b503461012557816003193601126101255760065490516001600160a01b039091168152602090f35b503461012557816003193601126101255760025490516001600160a01b039091168152602090f35b503461012557816003193601126101255760045490516001600160a01b039091168152602090f35b5034610125579060ff8260a09361035a3661056b565b90600180899894981b038097168352600e6020528383209083526020528583832091168252602052209283541692600181015491600360028301549201549281519586526020860152840152818116606084015260081c1615156080820152f35b50346101255780600319360112610125576080916001600160a01b0391908190836103e4610550565b168152601060205281812060243582526020522082815416926001820154169160ff600360028401549301541692815194855260208501528301526060820152f35b503461012557908160609261043a3661056b565b9060018060a09794971b038096168352600d60205283832090835260205284838320911682526020522090600283835416936001840154169201549181519384526020840152820152f35b503461012557816003193601126101255751908152602090f35b5034610125578160031936011261012557602090600a549051908152f35b503461012557816003193601126101255760055490516001600160a01b039091168152602090f35b5034610125578160031936011261012557602090600c549051908152f35b503461012557816003193601126101255760035490516001600160a01b039091168152602090f35b8390346101255781600319360112610125576008546001600160a01b03168152602090f35b600435906001600160a01b038216820361056657565b600080fd5b6060906003190112610566576001600160a01b0360043581811681036105665791602435916044359081168103610566579056fea2646970667358221220f3dc74df39bf2eb2b74186e022ca81a100531f80536394658eef5de91502a78164736f6c63430008120033","sourceMap":"722:6643:153:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6547:37;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;722:6643:153;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;722:6643:153;;;;;;:::i;:::-;;;;7097:68;722:6643;;;;;;;;;;;;;;;;7097:68;722:6643;7097:68;;722:6643;7097:68;;;;722:6643;;7097:68;;722:6643;7097:68;722:6643;7097:68;;722:6643;;7097:68;;;;;722:6643;7097:68;;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;722:6643:153;;;;;;;;;;;;;;;;;;6119:25;722:6643;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;;;;6372:41;722:6643;;;;;;;;;;;;;;;;;;;;;;;6270:33;722:6643;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;6025:51;722:6643;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;5586:37;722:6643;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6940:91;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;6940:91;722:6643;6940:91;;722:6643;6940:91;;;;;722:6643;6940:91;;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;722:6643:153;;;;;;;:::i;:::-;;;;7227:62;722:6643;;;;;;;;;;;;;;;;7227:62;722:6643;7227:62;;722:6643;;7227:62;722:6643;;7227:62;;;722:6643;7227:62;;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6745:92;722:6643;;;;;;;;;;;;;;;;;;;;;;6745:92;722:6643;;;;6745:92;722:6643;6745:92;;722:6643;;6745:92;;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6474:31;722:6643;;;;;;;;;;;;;;;;;;;;5892:51;722:6643;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;;;6619:36;722:6643;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;;6195:30;722:6643;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;-1:-1:-1;;;;;722:6643:153;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;722:6643:153;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offerCancelationDelay()":"0a5c4ed5","payments()":"a6d23e10","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"details\":\"STORAGE CAN ONLY BE APPENDED NOT INSERTED OR MODIFIED\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SuperRareBazaar Storage Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/bazaar/SuperRareBazaarStorage.sol\":\"SuperRareBazaarStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/bazaar/SuperRareBazaarStorage.sol":"SuperRareBazaarStorage"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"}},"version":1},"id":153} \ No newline at end of file +{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608080604052346015576105fa908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081629d9aa914610551575080630141c590146105295780630a5c4ed51461050c5780630bcba09d146104e45780630e519ef9146104c7578063155a56b1146104ad5780631a2ac30f14610448578063299a0e1e146103cf5780632c4190531461034d5780633bc3d9be146103255780634c94c90c146102fd5780636240cd1c146102d55780636b534ed0146102ad5780636fe9f44c1461028a578063a11b071214610262578063a6d23e101461023a578063b23afc261461020b578063ba50b632146101e4578063c47c35c11461014f578063c90b8714146101235763daa2649914610102575f80fd5b3461011f575f36600319011261011f576020600b54604051908152f35b5f80fd5b3461011f575f36600319011261011f576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b3461011f57604036600319011261011f576001600160a01b03610170610574565b165f52600f60205260405f206024355f5260205260e060405f2060018060a01b03815416906001810154906002810154600382015460018060a01b03600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b3461011f575f36600319011261011f575f546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b3461011f575f36600319011261011f576007546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576001546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f57602060ff60095460a01c16604051908152f35b3461011f575f36600319011261011f576009546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576006546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576002546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576004546040516001600160a01b039091168152602090f35b3461011f5761035b3661058a565b9160018060a01b03165f52600e60205260405f20905f5260205260405f209060018060a01b03165f5260205260a060405f2060ff600180841b0382541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b3461011f57604036600319011261011f576001600160a01b036103f0610574565b165f52601060205260405f206024355f52602052608060405f2060018060a01b038154169060018060a01b036001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b3461011f576104563661058a565b6001600160a01b039283165f908152600d6020908152604080832094835293815283822092851682529182528290208054600182015460029092015484519186168252919094169184019190915290820152606090f35b3461011f575f36600319011261011f5760206040515f8152f35b3461011f575f36600319011261011f576020600a54604051908152f35b3461011f575f36600319011261011f576005546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576020600c54604051908152f35b3461011f575f36600319011261011f576003546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576008546001600160a01b03168152602090f35b600435906001600160a01b038216820361011f57565b606090600319011261011f576004356001600160a01b038116810361011f5790602435906044356001600160a01b038116810361011f579056fea264697066735822122055f6fc766b1625dd3769553e0889804ab8bff556540bb9c08facc7174f871e1c64736f6c634300081c0033","sourceMap":"722:6643:62:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c9081629d9aa914610551575080630141c590146105295780630a5c4ed51461050c5780630bcba09d146104e45780630e519ef9146104c7578063155a56b1146104ad5780631a2ac30f14610448578063299a0e1e146103cf5780632c4190531461034d5780633bc3d9be146103255780634c94c90c146102fd5780636240cd1c146102d55780636b534ed0146102ad5780636fe9f44c1461028a578063a11b071214610262578063a6d23e101461023a578063b23afc261461020b578063ba50b632146101e4578063c47c35c11461014f578063c90b8714146101235763daa2649914610102575f80fd5b3461011f575f36600319011261011f576020600b54604051908152f35b5f80fd5b3461011f575f36600319011261011f576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b3461011f57604036600319011261011f576001600160a01b03610170610574565b165f52600f60205260405f206024355f5260205260e060405f2060018060a01b03815416906001810154906002810154600382015460018060a01b03600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b3461011f575f36600319011261011f575f546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b3461011f575f36600319011261011f576007546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576001546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f57602060ff60095460a01c16604051908152f35b3461011f575f36600319011261011f576009546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576006546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576002546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576004546040516001600160a01b039091168152602090f35b3461011f5761035b3661058a565b9160018060a01b03165f52600e60205260405f20905f5260205260405f209060018060a01b03165f5260205260a060405f2060ff600180841b0382541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b3461011f57604036600319011261011f576001600160a01b036103f0610574565b165f52601060205260405f206024355f52602052608060405f2060018060a01b038154169060018060a01b036001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b3461011f576104563661058a565b6001600160a01b039283165f908152600d6020908152604080832094835293815283822092851682529182528290208054600182015460029092015484519186168252919094169184019190915290820152606090f35b3461011f575f36600319011261011f5760206040515f8152f35b3461011f575f36600319011261011f576020600a54604051908152f35b3461011f575f36600319011261011f576005546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576020600c54604051908152f35b3461011f575f36600319011261011f576003546040516001600160a01b039091168152602090f35b3461011f575f36600319011261011f576008546001600160a01b03168152602090f35b600435906001600160a01b038216820361011f57565b606090600319011261011f576004356001600160a01b038116810361011f5790602435906044356001600160a01b038116810361011f579056fea264697066735822122055f6fc766b1625dd3769553e0889804ab8bff556540bb9c08facc7174f871e1c64736f6c634300081c0033","sourceMap":"722:6643:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;6547:37;722:6643;;;;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;;-1:-1:-1;;;722:6643:62;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;-1:-1:-1;;;;;722:6643:62;;:::i;:::-;;;;7097:68;722:6643;;;;;;;;;;;;;;;;;;;;;;;7097:68;722:6643;7097:68;;722:6643;7097:68;;;;722:6643;7097:68;;;722:6643;;;;;;;7097:68;;722:6643;;7097:68;;;;;722:6643;7097:68;;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;;-1:-1:-1;;;722:6643:62;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;6119:25;722:6643;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;;6372:41;722:6643;;;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;6270:33;722:6643;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;6025:51;722:6643;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;5586:37;722:6643;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6940:91;722:6643;;;;;;;;;;;;;6940:91;722:6643;;;;;;-1:-1:-1;722:6643:62;;;;;-1:-1:-1;722:6643:62;;;;;;;;;;6940:91;;;;722:6643;6940:91;;;;;722:6643;6940:91;;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;-1:-1:-1;;;;;722:6643:62;;:::i;:::-;;;;7227:62;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7227:62;;722:6643;;7227:62;722:6643;7227:62;;;;722:6643;7227:62;;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;722:6643:62;;;;;;;6745:92;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6745:92;;722:6643;6745:92;;;;722:6643;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;6474:31;722:6643;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;5892:51;722:6643;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;;6619:36;722:6643;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;5688:35;722:6643;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;;;-1:-1:-1;;722:6643:62;;;;6195:30;722:6643;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;-1:-1:-1;;;;;722:6643:62;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;722:6643:62;;;;;;;;;;;;-1:-1:-1;;;;;722:6643:62;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offerCancelationDelay()":"0a5c4ed5","payments()":"a6d23e10","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"details\":\"STORAGE CAN ONLY BE APPENDED NOT INSERTED OR MODIFIED\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SuperRareBazaar Storage Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/bazaar/SuperRareBazaarStorage.sol\":\"SuperRareBazaarStorage\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/bazaar/SuperRareBazaarStorage.sol":"SuperRareBazaarStorage"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"}},"version":1},"id":62} \ No newline at end of file diff --git a/abis/SuperRareMarketplace.json b/abis/SuperRareMarketplace.json index 2e5e4b5..83d4346 100644 --- a/abis/SuperRareMarketplace.json +++ b/abis/SuperRareMarketplace.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"acceptOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"buy","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_convertible","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"removeSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"setSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_listPrice","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461001657613a2c908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081629d9aa914612411575080630141c590146123e85780630a5c4ed5146123ca5780630bcba09d146123a15780630e519ef9146123835780630f2b253214611f6e578063155a56b114611f525780631a2ac30f14611ef1578063299a0e1e14611e825780632c41905314611e085780633bc3d9be14611ddf5780634c94c90c14611db6578063534665e9146119dc5780636240cd1c146119b35780636b534ed01461198a5780636fe9f44c14611966578063715018a6146119085780638da5cb5b146118df578063a11b0712146118b6578063a6d23e101461188d578063b23afc261461185d578063b3ffb76014610c9e578063ba50b63214610c75578063c47c35c114610be7578063c8f94f4e1461066a578063c90b87141461063d578063daa264991461061f578063e92f94d1146103e3578063f2fde38b146103185763f7cfaad01461016a57600080fd5b346103155761017836612476565b6040516331a9108f60e11b815260048101839052602094936001600160a01b039081169392918681602481885afa90811561030a5790829187916102dd575b5016330361028c5783855260a4865260408520838652865260408520911660005284526101e76040600020612d7c565b604051936101f485612560565b83855261022c6040519561020787612560565b858752604051938685528684860152604085015260a0606085015260a08401906136c5565b8281036080840152818087519283815201960191855b828110610275578680877fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b888c0389a380f35b835160ff1688529681019692810192600101610242565b60405162461bcd60e51b8152600481018790526024808201527f72656d6f766553616c6550726963653a3a4d75737420626520746f6b656e4f776044820152633732b91760e11b6064820152608490fd5b6102fd9150883d8a11610303575b6102f581836125b1565b810190612608565b386101b7565b503d6102eb565b6040513d88823e3d90fd5b80fd5b503461031557602036600319011261031557610332612436565b61033a6124da565b6001600160a01b0390811690811561038f57603354826bffffffffffffffffffffffff60a01b821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610315576103f236612476565b91906103fc612640565b60018060a01b038092169081855260209260a584526040862082875284526040862094818116958660005285526040600020916040519061043c82612532565b8084541682526001840154908783019482865260036002820154916040860192835201549260ff6060860194818116865260081c1615156080860152156105c75781845116330361056a5761049290514261285d565b60a354101561052557906104ec939291878b5260a5895260408b20878c52895260408b208a60005289526104dc604060002060036000918281558260018201558260028201550155565b60ff865192511692511692612c8b565b51926040519384528301527fb9a071fe7d38dc86fbc448d440311b6bd67e5e09de8b1b62c72f5fe34410045360403393a4600160655580f35b60405162461bcd60e51b815260048101899052601a60248201527f4f6666657220706c6163656420746f6f20726563656e746c792e0000000000006044820152606490fd5b60405162461bcd60e51b8152600481018a9052602f60248201527f63616e63656c4f666665723a3a53656e646572206d757374206861766520706c60448201526e30b1b2b2103a34329037b33332b91760891b6064820152608490fd5b60405162461bcd60e51b8152600481018a9052602a60248201527f63616e63656c4f666665723a3a4e6f206f6666657220666f722063757272656e60448201526931bc9032bc34b9ba399760b11b6064820152608490fd5b5034610315578060031936011261031557602060a254604051908152f35b50346103155780600319360112610315576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b50346103155760e036600319011261031557610684612436565b9061068d61244c565b916084356001600160a01b0381169003610ada5760a4356001600160401b038111610be3576106c09036906004016124aa565b60c4356001600160401b038111610bdf576106df9036906004016124aa565b6106ea8792976126ae565b6106f660243586613952565b61070260243586612de6565b8215610b8a5760058311610b3957808303610adf576000805b828210610aae576064915003610a59576040519661073888612532565b3388526001600160a01b0383166020890152606435604089015261075d3685876137e5565b606089015261076d368383613849565b60808901526001600160a01b03868116885260a460209081526040808a206024358b528252808a20608435841660009081529083528190208b5181549085166001600160a01b0319918216178255928c01516001820180549190951693169290921790925590890151600282015560608901518051919991906001600160401b038211610a4557600160401b82116109e157602060038c01918254848455808510610a28575b5001908a5260208a208a5b838110610a0b575050505060800151978851906001600160401b0382116109f757600160401b82116109e157600460209101998a54838c55808410610995575b50019888526020882090885b8160051c811061094f5750601f1981168103806108d8575b50506040516001600160a01b0394851697909416957fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b9585946108d294909350916024356064356084358861389f565b0390a380f35b99899a8a5b81811061091e5750505060051c019790975594958695906108d27fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b38610882565b90919b60206109456001928f60ff86915116919060ff809160031b9316831b921b19161790565b9d019291016108dd565b898a5b6020811061096757508382015560010161086a565b9b90602061098c6001928f60ff865116919060ff809160031b9316831b921b19161790565b92019c01610952565b6109c1908c60005283600020601f80870160051c820192818816806109c7575b500160051c0190612d65565b3861085e565b60001990818601918254918a0360031b1c169055386109b5565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b89526041600452602489fd5b82516001600160a01b03168183015560209092019160010161081e565b610a3f908460005285846000209182019101612d65565b38610813565b634e487b7160e01b8a52604160045260248afd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8901359060ff8216809203610ada57610ad491610ace916125fb565b91612f58565b9061071b565b600080fd5b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b8480fd5b8280fd5b50346103155760403660031901126103155760e0906001600160a01b039060409082610c11612436565b16815260a6602052818120602435825260205220908082541691600181015491600282015490600383015490600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346103155780600319360112610315576097546040516001600160a01b039091168152602090f35b50608036600319011261031557610cb3612436565b610cbb61244c565b90610cc4612640565b610ccd826126ae565b610cd960243582612de6565b6097546040516361fe24a960e11b8152606435600482015290602090829060249082906001600160a01b03165afa801561185257849061181e575b610d2191506064356125fb565b6001600160a01b038216845260a46020908152604080862060243587528252808620336000908152928190529120600201541561180e57336000526020526040600020905b60405191610d7383612532565b60018060a01b03815416835260018060a01b036001820154166020840152600281015460408401526003810160405190816020825491828152019189526020892090895b8181106117ef5750505090610dd1816004949303826125b1565b606085015260405191018054808352908752602080882091839182019089905b80601f83011061166657610f07945491818110611652575b81811061163b575b818110611624575b81811061160d575b8181106115f7575b8181106115e0575b8181106115c9575b8181106115b2575b81811061159b575b818110611584575b81811061156d575b818110611556575b81811061153f575b818110611528575b818110611511575b8181106114fa575b8181106114e3575b8181106114cc575b8181106114b5575b81811061149e575b818110611487575b818110611470575b818110611459575b818110611442575b81811061142b575b818110611414575b8181106113fd575b8181106113e6575b8181106113cf575b8181106113b8575b8181106113a1575b10611393575b5003826125b1565b608083015260208201516001600160a01b039081169085160361134e57604082015115611309576040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa90811561030a5786916112ea575b5082516001600160a01b03908116908216036112a55760408301516064350361126057610ffa869260018060a01b038616845260a46020526040842060243585526020526040842033600052602052610fc06040600020612d7c565b60018060a01b038616845260a46020526040842060243585526020526040842060008052602052610ff46040600020612d7c565b8661286a565b60018060a01b038416825260a56020526040822060243583526020526040822060018060a01b038616600052602052604060002060405161103a81612532565b60018060a01b0382541680825260036001840154936020840194855260028101546040850152015491608060ff6060830194818116865260081c1615159101523314611201575b50506001600160a01b0384163b156111e957604051632142170760e11b81526001600160a01b03909116600482015233602480830191909152356044820152818180606481010381836001600160a01b0389165af180156111de576111ed575b505080516060820151608083015161110c929091906001600160a01b03166064358760243588612f67565b60975484906001600160a01b0316803b156111e957604051635a3c652d60e01b81526001600160a01b03851660048201526024803590820152600160448201529082908290606490829084905af180156111de576111c6575b505051604080516001600160a01b03948516815260643560208201526024359181019190915290831692339216907f6f9e7bc841408072f4a49e469f90e1a634b85251803662bc8e5c220b287824729080606081015b0390a4600160655580f35b6111cf9061254d565b6111da578338611165565b8380fd5b6040513d84823e3d90fd5b5080fd5b6111f69061254d565b6111da5783386110e1565b6001600160a01b03868116855260a56020908152604080872060243588528252808720928a166000908152929091528120818155600181018290556002810182905560030155611259915160ff339251169088612c8b565b3880611081565b60405162461bcd60e51b815260206004820152601860248201527f6275793a3a496e73756666696369656e7420616d6f756e7400000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527f6275793a3a507269636520736574746572206e6f74206f776e657200000000006044820152606490fd5b611303915060203d602011610303576102f581836125b1565b38610f64565b60405162461bcd60e51b815260206004820152601f60248201527f6275793a3a546f6b656e20686173206e6f20627579206e6f77207072696365006044820152606490fd5b60405162461bcd60e51b815260206004820152601f60248201527f6275793a3a43757272656e63792061646472657373206e6f7420657175616c006044820152606490fd5b60f81c815260200138610eff565b92602060019160ff8560f01c168152019301610ef9565b92602060019160ff8560e81c168152019301610ef1565b92602060019160ff8560e01c168152019301610ee9565b92602060019160ff8560d81c168152019301610ee1565b92602060019160ff8560d01c168152019301610ed9565b92602060019160ff8560c81c168152019301610ed1565b92602060019160ff8560c01c168152019301610ec9565b92602060019160ff8560b81c168152019301610ec1565b92602060019160ff8560b01c168152019301610eb9565b92602060019160ff8560a81c168152019301610eb1565b92602060019160ff8560a01c168152019301610ea9565b92602060019160ff8560981c168152019301610ea1565b92602060019160ff8560901c168152019301610e99565b92602060019160ff8560881c168152019301610e91565b92602060019160ff8560801c168152019301610e89565b92602060019160ff8560781c168152019301610e81565b92602060019160ff8560701c168152019301610e79565b92602060019160ff8560681c168152019301610e71565b92602060019160ff8560601c168152019301610e69565b92602060019160ff8560581c168152019301610e61565b92602060019160ff8560501c168152019301610e59565b92602060019160ff8560481c168152019301610e51565b92602060019160ff8560401c168152019301610e49565b92602060019160ff8560381c168152019301610e41565b92602060019160ff8560301c168152019301610e39565b92602060019160ff8560281c168152019301610e31565b92602060019160ff85831c168152019301610e29565b92602060019160ff8560181c168152019301610e21565b92602060019160ff8560101c168152019301610e19565b92602060019160ff8560081c168152019301610e11565b92602060019160ff85168152019301610e09565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260a0828260281c1681870152828260c092828260301c16848a0152828260381c1660e08a0152828260401c166101008a0152828260481c166101208a0152828260501c166101408a0152828260581c166101608a0152828260601c166101808a0152828260681c166101a08a0152828260701c166101c08a0152828260781c166101e08a0152828260801c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e0820152019401920184929391610df1565b82546001600160a01b0316845260209093019260019283019201610db7565b5060008052604060002090610d66565b506020813d60201161184a575b81611838602093836125b1565b81010312610ada57610d219051610d14565b3d915061182b565b6040513d86823e3d90fd5b50346103155780600319360112610315576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b5034610315578060031936011261031557609e546040516001600160a01b039091168152602090f35b50346103155780600319360112610315576098546040516001600160a01b039091168152602090f35b50346103155780600319360112610315576033546040516001600160a01b039091168152602090f35b50346103155780600319360112610315576119216124da565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610315578060031936011261031557602060ff60a05460a01c16604051908152f35b503461031557806003193601126103155760a0546040516001600160a01b039091168152602090f35b5034610315578060031936011261031557609d546040516001600160a01b039091168152602090f35b50346103155760c0366003190112610315576119f6612436565b6119fe61244c565b6001600160401b0390608435828111610bdf57611a1f9036906004016124aa565b909260a435908111611db257611a399036906004016124aa565b919093611a44612640565b611a5060243587613952565b611a5c60243587612de6565b8115610b8a576005808311610b3957838303610adf578788915b858310611d8157506064915003610a59576001600160a01b03868116885260a560209081526040808a206024358b528252808a209287168a52919052808820905190611ac182612532565b60018060a01b03815416825260ff6003600183015492836020860152600281015460408601520154818116606085015260081c161515608083015215611d3c57606435602082015103611cdf5760018060a01b038716885260a460205260408820602435895260205260408820888052602052611b4060408920612d7c565b6001600160a01b03878116808a5260a560209081526040808c206024358d528252808c208985168d529091528a20600080825560018201819055600282018190556003909101558251909116903b15611cdb57604051632142170760e11b8152336004820152602480820192909252903560448201528881606481836001600160a01b038d165af18015611cd057611cbd575b50611bfc611be23685856137e5565b611bed36878a613849565b9033606435896024358d612f67565b60975488906001600160a01b0316803b156111e957604051635a3c652d60e01b81526001600160a01b038a1660048201526024803590820152600160448201529082908290606490829084905af180156111de57611ca5575b50505160405133976001600160a01b03928316979216957f97c3d2068ce177bc33d84acecc45eededcf298c4a9d4340ae03d4afbb3993f7b95919485946111bb949260243590606435908861389f565b611cae9061254d565b611cb9578738611c55565b8780fd5b611cc99098919861254d565b9638611bd3565b6040513d8b823e3d90fd5b8880fd5b60405162461bcd60e51b815260206004820152602f60248201527f6163636570744f666665723a3a4f6666657220616d6f756e74206f722063757260448201526e1c995b98de481b9bdd08195c5d585b608a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601c60248201527f6163636570744f666665723a3a4e6f206f6666657220657869737473000000006044820152606490fd5b9082821b8801359060ff8216809203611dae57611da791611da1916125fb565b92612f58565b9190611a76565b8a80fd5b8580fd5b50346103155780600319360112610315576099546040516001600160a01b039091168152602090f35b5034610315578060031936011261031557609b546040516001600160a01b039091168152602090f35b50346103155760a09060ff6040611e1e36612476565b90600180889794971b03809616835260a56020528383209083526020528483832091168252602052209182541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b5034610315576040366003190112610315576080906001600160a01b039060409082611eac612436565b16815260a760205281812060243582526020522081815416916001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b5034610315576060906040611f0536612476565b9060018060a09694961b03809516835260a4602052838320908352602052838383209116825260205220600282825416926001830154169101549060405192835260208301526040820152f35b5034610315578060031936011261031557602090604051908152f35b5060a036600319011261031557611f83612436565b611f8b61244c565b608435908115158092036111da57611fa1612640565b611faa816126ae565b60643591821561233e5760018060a01b0380941691828652602060a581526040872091602435928389528252604088209680821697888a5283526040892060405191611ff583612532565b80825416835260018201546003868501938285526002810154604087015201549261204c60ff92836060880196818116885260081c161515608088015260646120458560a05460a01c16836125d2565b04906125fb565b8b106122db578c8360975416888d6024604051809481936361fe24a960e11b835260048301525afa91821561229c57916122a8575b5061208f61209f918d6125fb565b612099818961277e565b8761286a565b6040516331a9108f60e11b8152600481018990528d9088816024818f5afa91821561229c579161227f575b508316331461222e579082918d8860049897969560975416604051998a8092638347592160e01b82525afa97881561222157838f8f8f908f949c8f918f6121b19f986003968d92899b83966121ed575b5060409394959684519861212d8a612532565b338a52828a01978852858a0198428a5260608b019e8f9116905260808a019c8d52845260a58252848420908452815283832091835252209351166bffffffffffffffffffffffff60a01b8454161783555160018301555160028201550192511661ff0083549251151560081b169161ffff1916171790555192511692511692612c8b565b60405194855284015260408301527facbe96367816f728b84abf006ca777225b704072592132845e9a3dbd7b02369160603393a4600160655580f35b60409495965061221290823d841161221a575b61220a81836125b1565b810190612627565b95949361211a565b503d612200565b50604051903d90823e3d90fd5b60405162461bcd60e51b815260048101889052602360248201527f6f666665723a3a4f666665722063616e6e6f7420636f6d652066726f6d206f776044820152623732b960e91b6064820152608490fd5b6122969150883d8a11610303576102f581836125b1565b386120ca565b604051903d90823e3d90fd5b90508781813d83116122d4575b6122bf81836125b1565b810103126122d0575161208f612081565b8d80fd5b503d6122b5565b60405162461bcd60e51b815260048101889052603560248201527f6f666665723a3a4d7573742062652067726561746572207468616e2070726576604482015274206f66666572202b206d696e20696e63726561736560581b6064820152608490fd5b60405162461bcd60e51b815260206004820152601960248201527f6f666665723a3a416d6f756e742063616e6e6f742062652030000000000000006044820152606490fd5b5034610315578060031936011261031557602060a154604051908152f35b5034610315578060031936011261031557609c546040516001600160a01b039091168152602090f35b5034610315578060031936011261031557602060a354604051908152f35b5034610315578060031936011261031557609a546040516001600160a01b039091168152602090f35b9050346111e957816003193601126111e957609f546001600160a01b03168152602090f35b600435906001600160a01b0382168203610ada57565b604435906001600160a01b0382168203610ada57565b35906001600160a01b0382168203610ada57565b6060906003190112610ada576001600160a01b036004358181168103610ada5791602435916044359081168103610ada5790565b9181601f84011215610ada578235916001600160401b038311610ada576020808501948460051b010111610ada57565b6033546001600160a01b031633036124ee57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60a081019081106001600160401b038211176109e157604052565b6001600160401b0381116109e157604052565b602081019081106001600160401b038211176109e157604052565b604081019081106001600160401b038211176109e157604052565b606081019081106001600160401b038211176109e157604052565b90601f801991011681019081106001600160401b038211176109e157604052565b818102929181159184041417156125e557565b634e487b7160e01b600052601160045260246000fd5b919082018092116125e557565b90816020910312610ada57516001600160a01b0381168103610ada5790565b90816020910312610ada575160ff81168103610ada5790565b600260655414612651576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90816020910312610ada57518015158103610ada5790565b6001600160a01b039081168015918215612709575b5050156126cc57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250609d541691602460405180948193632d5ad3d560e01b835260048301525afa90811561277257600091612744575b5038806126c3565b612765915060203d811161276b575b61275d81836125b1565b810190612696565b3861273c565b503d612753565b6040513d6000823e3d90fd5b6001600160a01b0316801561285957604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa90811561277257600091612828575b50106127ca57565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211612851575b81612841602093836125b1565b81010312610315575051386127c2565b3d9150612834565b5050565b919082039182116125e557565b6001600160a01b0316908115612a3b57346129e55760409081516370a0823160e01b938482523060048301526020948583602481855afa9283156129da579086916000946129a8575b5085516323b872dd60e01b83820152336024820152306044820152606481018690526128f6906128f081608481015b03601f1981018352826125b1565b84612a80565b602486518094819382523060048301525afa90811561299d5760009161296e575b50906129229161285d565b0361292b575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311612996575b61298481836125b1565b81010312610315575051612922612917565b503d61297a565b84513d6000823e3d90fd5b9182819592953d83116129d3575b6129c081836125b1565b81010312610315575085905192386128b3565b503d6129b6565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b90503403612a4557565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b604051612ade916001600160a01b0316612a998261257b565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1612ad8612b66565b91612ba5565b805190828215928315612b4e575b50505015612af75750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b612b5e9350820181019101612696565b388281612aec565b3d15612ba0573d906001600160401b0382116109e15760405191612b94601f8201601f1916602001846125b1565b82523d6000602084013e565b606090565b91929015612c075750815115612bb9575090565b3b15612bc25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612c1a5750805190602001fd5b60405162461bcd60e51b8152908190612c369060048301612c3a565b0390fd5b6020808252825181830181905290939260005b828110612c6f57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501612c4d565b15612c1a5750565b9291908015612d1e576064612045612ca393836125d2565b6001600160a01b039290919083168015612cc357612cc19350612d24565b565b50609e5460405163410085df60e01b602082019081526001600160a01b03909316602482015260448101849052612cc1946000948594939091169291612d0c81606481016128e2565b51925af1612d18612b66565b90612c83565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612cc191612d606064836125b1565b612a80565b818110612d70575050565b60008155600101612d65565b600460009182815582600182015582600282015560038101805484825580612dcc575b5050019081549080835581612db357505050565b602081612cc194601f935220910160051c810190612d65565b612ddf9185526020852090810190612d65565b3880612d9f565b60018060a01b0316604051916331a9108f60e11b835260048301526020918281602481855afa801561277257612e54928492600092612edb575b5060405163e985e9c560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03915afa90811561277257600091612ebe575b5015612e705750565b6084906040519062461bcd60e51b82526004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152fd5b612ed59150823d841161276b5761275d81836125b1565b38612e67565b612ef3919250833d8511610303576102f581836125b1565b9038612e20565b6001600160401b0381116109e15760051b60200190565b805115612f1e5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015612f1e5760400190565b8051821015612f1e5760209160051b010190565b60001981146125e55760010190565b90969293919594968751865103613664576097546040516361fe24a960e11b81526004810187905286946001600160a01b039092169290602081602481875afa90811561277257600091613632575b5060405193612fc485612596565b60028552604036602087013760a0546001600160a01b031680612fe687612f11565b52609f5460405163e286ef3360e01b81526001600160a01b038781166004830152909160209183916024918391165afa90811561277257600091613613575b506001600160a01b031661303887612f34565b526001600160a01b0361304a87612f34565b51166135fa575b61305a86612f34565b6001600160a01b0390911690526040519061307482612596565b6002825260403660208401376040516303fdde1160e21b8152600481018b9052602081602481855afa908115612772576000916135c8575b506130b683612f11565b5260208a60246040518094819363470d6ed960e11b835260048301525afa92831561277257869160009461358d575b506130fa936130f384612f34565b528c613702565b609754604051631446f21360e21b81526001600160a01b03868116600483015260248201849052909160209183916044918391165afa9081156127725760009161356e575b5061339c5750604051926131528461257b565b60018452602036818601376040519261316a8461257b565b60018452602036818601376001600160a01b039061318790612f11565b511661319284612f11565b52609c54604051635dc22eff60e01b81526001600160a01b038481166004830152909160209183916024918391165afa9081156127725760009161337d575b501561331d5750609c54604051632260494f60e01b81526001600160a01b0392831660048201529160209183916024918391165afa9081156127725761325b9461323a60ff606494613240946000916132fe575b50169184613233848c6125d2565b049061285d565b976125d2565b0461324a83612f11565b5261325482612f11565b5187613702565b84519061326782612efa565b9161327560405193846125b1565b808352613284601f1991612efa565b01366020840137600095865b81518810156132ee576132e26132e891866120458b806132cf8c6132c760649687926132bf60ff978892612f44565b5116906125d2565b04918b612f44565b526132da8d8c612f44565b5116896125d2565b97612f58565b96613290565b92945092509450612cc193613702565b613317915060203d60201161221a5761220a81836125b1565b38613225565b60975460405163b28a7bad60e01b81526001600160a01b039283166004820152925060209183916024918391165afa908115612772576133789461323a60ff606494613240946000916132fe5750169184613233848c6125d2565b61325b565b613396915060203d60201161276b5761275d81836125b1565b386131d1565b609954604051637a99dc0160e11b81526001600160a01b03958616600482015260248101929092526044820188905295999698909790959094506000938893506064925083918591165af1958615612772576000948597613447575b50600094855b885187101561342b5761341f61342591613418898c612f44565b51906125fb565b96612f58565b956133fe565b9497919396613378939650856134409161285d565b9487613702565b949096503d948582823e61345b86826125b1565b60408187810103126111e95780516001600160401b038111610be357810191868201601f840112156103155782519261349384612efa565b936134a160405195866125b1565b808552602085019189850160208360051b830101116111da5760208101925b60208360051b830101841061354e575050505060208201516001600160401b0381116111e9578201878301601f820112156111e95780519161350183612efa565b9861350f6040519a8b6125b1565b838a526020808b019460051b840101940184116103155750602001905b82821061353e575050509395386133f8565b815181526020918201910161352c565b83516001600160a01b0381168103611db2578152602093840193016134c0565b613587915060203d60201161276b5761275d81836125b1565b3861313f565b915091926020823d6020116135c0575b816135aa602093836125b1565b81010312610315575051919085906130fa6130e5565b3d915061359d565b906020823d6020116135f2575b816135e2602093836125b1565b81010312610315575051386130ac565b3d91506135d5565b506001600160a01b0361360c86612f34565b5116613051565b61362c915060203d602011610303576102f581836125b1565b38613025565b906020823d60201161365c575b8161364c602093836125b1565b8101031261031557505138612fb6565b3d915061363f565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b90815180825260208080930193019160005b8281106136e5575050505090565b83516001600160a01b0316855293810193928101926001016136d7565b9293929091906001600160a01b039081168061379d5750609e54169160405160206137458183019463c176e63960e01b86526040602485015260648401906136c5565b82810360231901604484015287518082529082019782019160005b8281106137895750505050916000939183612d0c8695612cc1989903601f1981018352826125b1565b83518a529881019892810192600101613760565b9492509060005b81518110156137dd57806137d3846137bf6137d89486612f44565b51166137cb8388612f44565b519089612d24565b612f58565b6137a4565b505050509050565b92916137f082612efa565b916137fe60405193846125b1565b829481845260208094019160051b8101928311610ada57905b8282106138245750505050565b83809161383084612462565b815201910190613817565b359060ff82168203610ada57565b929161385482612efa565b9161386260405193846125b1565b829481845260208094019160051b8101928311610ada57905b8282106138885750505050565b8380916138948461383b565b81520191019061387b565b929480919296979560a085019060018060a01b03809516865260209889870152604086015260a060608601525260c08301939060005b81811061392457505050508082036080909101528181528201929160005b828110613901575050505090565b90919293828060019260ff6139158961383b565b168152019501939291016138f3565b909193929897969485806001928c61393b89612462565b1681520195019101989293949697989190916138d5565b604051916331a9108f60e11b8352600483015260208260248160018060a01b038095165afa918215612772576000926139d6575b503391160361399157565b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b6139ef91925060203d8111610303576102f581836125b1565b903861398656fea2646970667358221220c63a82b0c3cf8aef2b5f8e62bc62fc6934a3f10cbca7d47dcd8e66a4e8acbbab64736f6c63430008120033","sourceMap":"768:10499:166:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b600090813560e01c9081629d9aa914612411575080630141c590146123e85780630a5c4ed5146123ca5780630bcba09d146123a15780630e519ef9146123835780630f2b253214611f6e578063155a56b114611f525780631a2ac30f14611ef1578063299a0e1e14611e825780632c41905314611e085780633bc3d9be14611ddf5780634c94c90c14611db6578063534665e9146119dc5780636240cd1c146119b35780636b534ed01461198a5780636fe9f44c14611966578063715018a6146119085780638da5cb5b146118df578063a11b0712146118b6578063a6d23e101461188d578063b23afc261461185d578063b3ffb76014610c9e578063ba50b63214610c75578063c47c35c114610be7578063c8f94f4e1461066a578063c90b87141461063d578063daa264991461061f578063e92f94d1146103e3578063f2fde38b146103185763f7cfaad01461016a57600080fd5b346103155761017836612476565b6040516331a9108f60e11b815260048101839052602094936001600160a01b039081169392918681602481885afa90811561030a5790829187916102dd575b5016330361028c5783855260a4865260408520838652865260408520911660005284526101e76040600020612d7c565b604051936101f485612560565b83855261022c6040519561020787612560565b858752604051938685528684860152604085015260a0606085015260a08401906136c5565b8281036080840152818087519283815201960191855b828110610275578680877fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b888c0389a380f35b835160ff1688529681019692810192600101610242565b60405162461bcd60e51b8152600481018790526024808201527f72656d6f766553616c6550726963653a3a4d75737420626520746f6b656e4f776044820152633732b91760e11b6064820152608490fd5b6102fd9150883d8a11610303575b6102f581836125b1565b810190612608565b386101b7565b503d6102eb565b6040513d88823e3d90fd5b80fd5b503461031557602036600319011261031557610332612436565b61033a6124da565b6001600160a01b0390811690811561038f57603354826bffffffffffffffffffffffff60a01b821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610315576103f236612476565b91906103fc612640565b60018060a01b038092169081855260209260a584526040862082875284526040862094818116958660005285526040600020916040519061043c82612532565b8084541682526001840154908783019482865260036002820154916040860192835201549260ff6060860194818116865260081c1615156080860152156105c75781845116330361056a5761049290514261285d565b60a354101561052557906104ec939291878b5260a5895260408b20878c52895260408b208a60005289526104dc604060002060036000918281558260018201558260028201550155565b60ff865192511692511692612c8b565b51926040519384528301527fb9a071fe7d38dc86fbc448d440311b6bd67e5e09de8b1b62c72f5fe34410045360403393a4600160655580f35b60405162461bcd60e51b815260048101899052601a60248201527f4f6666657220706c6163656420746f6f20726563656e746c792e0000000000006044820152606490fd5b60405162461bcd60e51b8152600481018a9052602f60248201527f63616e63656c4f666665723a3a53656e646572206d757374206861766520706c60448201526e30b1b2b2103a34329037b33332b91760891b6064820152608490fd5b60405162461bcd60e51b8152600481018a9052602a60248201527f63616e63656c4f666665723a3a4e6f206f6666657220666f722063757272656e60448201526931bc9032bc34b9ba399760b11b6064820152608490fd5b5034610315578060031936011261031557602060a254604051908152f35b50346103155780600319360112610315576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b50346103155760e036600319011261031557610684612436565b9061068d61244c565b916084356001600160a01b0381169003610ada5760a4356001600160401b038111610be3576106c09036906004016124aa565b60c4356001600160401b038111610bdf576106df9036906004016124aa565b6106ea8792976126ae565b6106f660243586613952565b61070260243586612de6565b8215610b8a5760058311610b3957808303610adf576000805b828210610aae576064915003610a59576040519661073888612532565b3388526001600160a01b0383166020890152606435604089015261075d3685876137e5565b606089015261076d368383613849565b60808901526001600160a01b03868116885260a460209081526040808a206024358b528252808a20608435841660009081529083528190208b5181549085166001600160a01b0319918216178255928c01516001820180549190951693169290921790925590890151600282015560608901518051919991906001600160401b038211610a4557600160401b82116109e157602060038c01918254848455808510610a28575b5001908a5260208a208a5b838110610a0b575050505060800151978851906001600160401b0382116109f757600160401b82116109e157600460209101998a54838c55808410610995575b50019888526020882090885b8160051c811061094f5750601f1981168103806108d8575b50506040516001600160a01b0394851697909416957fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b9585946108d294909350916024356064356084358861389f565b0390a380f35b99899a8a5b81811061091e5750505060051c019790975594958695906108d27fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b38610882565b90919b60206109456001928f60ff86915116919060ff809160031b9316831b921b19161790565b9d019291016108dd565b898a5b6020811061096757508382015560010161086a565b9b90602061098c6001928f60ff865116919060ff809160031b9316831b921b19161790565b92019c01610952565b6109c1908c60005283600020601f80870160051c820192818816806109c7575b500160051c0190612d65565b3861085e565b60001990818601918254918a0360031b1c169055386109b5565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b89526041600452602489fd5b82516001600160a01b03168183015560209092019160010161081e565b610a3f908460005285846000209182019101612d65565b38610813565b634e487b7160e01b8a52604160045260248afd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b8160051b8901359060ff8216809203610ada57610ad491610ace916125fb565b91612f58565b9061071b565b600080fd5b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b8480fd5b8280fd5b50346103155760403660031901126103155760e0906001600160a01b039060409082610c11612436565b16815260a6602052818120602435825260205220908082541691600181015491600282015490600383015490600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346103155780600319360112610315576097546040516001600160a01b039091168152602090f35b50608036600319011261031557610cb3612436565b610cbb61244c565b90610cc4612640565b610ccd826126ae565b610cd960243582612de6565b6097546040516361fe24a960e11b8152606435600482015290602090829060249082906001600160a01b03165afa801561185257849061181e575b610d2191506064356125fb565b6001600160a01b038216845260a46020908152604080862060243587528252808620336000908152928190529120600201541561180e57336000526020526040600020905b60405191610d7383612532565b60018060a01b03815416835260018060a01b036001820154166020840152600281015460408401526003810160405190816020825491828152019189526020892090895b8181106117ef5750505090610dd1816004949303826125b1565b606085015260405191018054808352908752602080882091839182019089905b80601f83011061166657610f07945491818110611652575b81811061163b575b818110611624575b81811061160d575b8181106115f7575b8181106115e0575b8181106115c9575b8181106115b2575b81811061159b575b818110611584575b81811061156d575b818110611556575b81811061153f575b818110611528575b818110611511575b8181106114fa575b8181106114e3575b8181106114cc575b8181106114b5575b81811061149e575b818110611487575b818110611470575b818110611459575b818110611442575b81811061142b575b818110611414575b8181106113fd575b8181106113e6575b8181106113cf575b8181106113b8575b8181106113a1575b10611393575b5003826125b1565b608083015260208201516001600160a01b039081169085160361134e57604082015115611309576040516331a9108f60e11b81526024803560048301526020908290816001600160a01b0388165afa90811561030a5786916112ea575b5082516001600160a01b03908116908216036112a55760408301516064350361126057610ffa869260018060a01b038616845260a46020526040842060243585526020526040842033600052602052610fc06040600020612d7c565b60018060a01b038616845260a46020526040842060243585526020526040842060008052602052610ff46040600020612d7c565b8661286a565b60018060a01b038416825260a56020526040822060243583526020526040822060018060a01b038616600052602052604060002060405161103a81612532565b60018060a01b0382541680825260036001840154936020840194855260028101546040850152015491608060ff6060830194818116865260081c1615159101523314611201575b50506001600160a01b0384163b156111e957604051632142170760e11b81526001600160a01b03909116600482015233602480830191909152356044820152818180606481010381836001600160a01b0389165af180156111de576111ed575b505080516060820151608083015161110c929091906001600160a01b03166064358760243588612f67565b60975484906001600160a01b0316803b156111e957604051635a3c652d60e01b81526001600160a01b03851660048201526024803590820152600160448201529082908290606490829084905af180156111de576111c6575b505051604080516001600160a01b03948516815260643560208201526024359181019190915290831692339216907f6f9e7bc841408072f4a49e469f90e1a634b85251803662bc8e5c220b287824729080606081015b0390a4600160655580f35b6111cf9061254d565b6111da578338611165565b8380fd5b6040513d84823e3d90fd5b5080fd5b6111f69061254d565b6111da5783386110e1565b6001600160a01b03868116855260a56020908152604080872060243588528252808720928a166000908152929091528120818155600181018290556002810182905560030155611259915160ff339251169088612c8b565b3880611081565b60405162461bcd60e51b815260206004820152601860248201527f6275793a3a496e73756666696369656e7420616d6f756e7400000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527f6275793a3a507269636520736574746572206e6f74206f776e657200000000006044820152606490fd5b611303915060203d602011610303576102f581836125b1565b38610f64565b60405162461bcd60e51b815260206004820152601f60248201527f6275793a3a546f6b656e20686173206e6f20627579206e6f77207072696365006044820152606490fd5b60405162461bcd60e51b815260206004820152601f60248201527f6275793a3a43757272656e63792061646472657373206e6f7420657175616c006044820152606490fd5b60f81c815260200138610eff565b92602060019160ff8560f01c168152019301610ef9565b92602060019160ff8560e81c168152019301610ef1565b92602060019160ff8560e01c168152019301610ee9565b92602060019160ff8560d81c168152019301610ee1565b92602060019160ff8560d01c168152019301610ed9565b92602060019160ff8560c81c168152019301610ed1565b92602060019160ff8560c01c168152019301610ec9565b92602060019160ff8560b81c168152019301610ec1565b92602060019160ff8560b01c168152019301610eb9565b92602060019160ff8560a81c168152019301610eb1565b92602060019160ff8560a01c168152019301610ea9565b92602060019160ff8560981c168152019301610ea1565b92602060019160ff8560901c168152019301610e99565b92602060019160ff8560881c168152019301610e91565b92602060019160ff8560801c168152019301610e89565b92602060019160ff8560781c168152019301610e81565b92602060019160ff8560701c168152019301610e79565b92602060019160ff8560681c168152019301610e71565b92602060019160ff8560601c168152019301610e69565b92602060019160ff8560581c168152019301610e61565b92602060019160ff8560501c168152019301610e59565b92602060019160ff8560481c168152019301610e51565b92602060019160ff8560401c168152019301610e49565b92602060019160ff8560381c168152019301610e41565b92602060019160ff8560301c168152019301610e39565b92602060019160ff8560281c168152019301610e31565b92602060019160ff85831c168152019301610e29565b92602060019160ff8560181c168152019301610e21565b92602060019160ff8560101c168152019301610e19565b92602060019160ff8560081c168152019301610e11565b92602060019160ff85168152019301610e09565b916020919350610400600191865460ff8082168352808260081c1686840152808260101c166040840152808260181c1660608401528082871c166080840152808260a0828260281c1681870152828260c092828260301c16848a0152828260381c1660e08a0152828260401c166101008a0152828260481c166101208a0152828260501c166101408a0152828260581c166101608a0152828260601c166101808a0152828260681c166101a08a0152828260701c166101c08a0152828260781c166101e08a0152828260801c166102008a0152828260881c166102208a0152828260901c166102408a0152828260981c166102608a01521c16610280870152828260a81c166102a0870152828260b01c166102c0870152828260b81c166102e08701521c16610300840152808260c81c16610320840152808260d01c16610340840152808260d81c16610360840152808260e01c16610380840152808260e81c166103a08401528160f01c166103c083015260f81c6103e0820152019401920184929391610df1565b82546001600160a01b0316845260209093019260019283019201610db7565b5060008052604060002090610d66565b506020813d60201161184a575b81611838602093836125b1565b81010312610ada57610d219051610d14565b3d915061182b565b6040513d86823e3d90fd5b50346103155780600319360112610315576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b5034610315578060031936011261031557609e546040516001600160a01b039091168152602090f35b50346103155780600319360112610315576098546040516001600160a01b039091168152602090f35b50346103155780600319360112610315576033546040516001600160a01b039091168152602090f35b50346103155780600319360112610315576119216124da565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610315578060031936011261031557602060ff60a05460a01c16604051908152f35b503461031557806003193601126103155760a0546040516001600160a01b039091168152602090f35b5034610315578060031936011261031557609d546040516001600160a01b039091168152602090f35b50346103155760c0366003190112610315576119f6612436565b6119fe61244c565b6001600160401b0390608435828111610bdf57611a1f9036906004016124aa565b909260a435908111611db257611a399036906004016124aa565b919093611a44612640565b611a5060243587613952565b611a5c60243587612de6565b8115610b8a576005808311610b3957838303610adf578788915b858310611d8157506064915003610a59576001600160a01b03868116885260a560209081526040808a206024358b528252808a209287168a52919052808820905190611ac182612532565b60018060a01b03815416825260ff6003600183015492836020860152600281015460408601520154818116606085015260081c161515608083015215611d3c57606435602082015103611cdf5760018060a01b038716885260a460205260408820602435895260205260408820888052602052611b4060408920612d7c565b6001600160a01b03878116808a5260a560209081526040808c206024358d528252808c208985168d529091528a20600080825560018201819055600282018190556003909101558251909116903b15611cdb57604051632142170760e11b8152336004820152602480820192909252903560448201528881606481836001600160a01b038d165af18015611cd057611cbd575b50611bfc611be23685856137e5565b611bed36878a613849565b9033606435896024358d612f67565b60975488906001600160a01b0316803b156111e957604051635a3c652d60e01b81526001600160a01b038a1660048201526024803590820152600160448201529082908290606490829084905af180156111de57611ca5575b50505160405133976001600160a01b03928316979216957f97c3d2068ce177bc33d84acecc45eededcf298c4a9d4340ae03d4afbb3993f7b95919485946111bb949260243590606435908861389f565b611cae9061254d565b611cb9578738611c55565b8780fd5b611cc99098919861254d565b9638611bd3565b6040513d8b823e3d90fd5b8880fd5b60405162461bcd60e51b815260206004820152602f60248201527f6163636570744f666665723a3a4f6666657220616d6f756e74206f722063757260448201526e1c995b98de481b9bdd08195c5d585b608a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601c60248201527f6163636570744f666665723a3a4e6f206f6666657220657869737473000000006044820152606490fd5b9082821b8801359060ff8216809203611dae57611da791611da1916125fb565b92612f58565b9190611a76565b8a80fd5b8580fd5b50346103155780600319360112610315576099546040516001600160a01b039091168152602090f35b5034610315578060031936011261031557609b546040516001600160a01b039091168152602090f35b50346103155760a09060ff6040611e1e36612476565b90600180889794971b03809616835260a56020528383209083526020528483832091168252602052209182541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b5034610315576040366003190112610315576080906001600160a01b039060409082611eac612436565b16815260a760205281812060243582526020522081815416916001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b5034610315576060906040611f0536612476565b9060018060a09694961b03809516835260a4602052838320908352602052838383209116825260205220600282825416926001830154169101549060405192835260208301526040820152f35b5034610315578060031936011261031557602090604051908152f35b5060a036600319011261031557611f83612436565b611f8b61244c565b608435908115158092036111da57611fa1612640565b611faa816126ae565b60643591821561233e5760018060a01b0380941691828652602060a581526040872091602435928389528252604088209680821697888a5283526040892060405191611ff583612532565b80825416835260018201546003868501938285526002810154604087015201549261204c60ff92836060880196818116885260081c161515608088015260646120458560a05460a01c16836125d2565b04906125fb565b8b106122db578c8360975416888d6024604051809481936361fe24a960e11b835260048301525afa91821561229c57916122a8575b5061208f61209f918d6125fb565b612099818961277e565b8761286a565b6040516331a9108f60e11b8152600481018990528d9088816024818f5afa91821561229c579161227f575b508316331461222e579082918d8860049897969560975416604051998a8092638347592160e01b82525afa97881561222157838f8f8f908f949c8f918f6121b19f986003968d92899b83966121ed575b5060409394959684519861212d8a612532565b338a52828a01978852858a0198428a5260608b019e8f9116905260808a019c8d52845260a58252848420908452815283832091835252209351166bffffffffffffffffffffffff60a01b8454161783555160018301555160028201550192511661ff0083549251151560081b169161ffff1916171790555192511692511692612c8b565b60405194855284015260408301527facbe96367816f728b84abf006ca777225b704072592132845e9a3dbd7b02369160603393a4600160655580f35b60409495965061221290823d841161221a575b61220a81836125b1565b810190612627565b95949361211a565b503d612200565b50604051903d90823e3d90fd5b60405162461bcd60e51b815260048101889052602360248201527f6f666665723a3a4f666665722063616e6e6f7420636f6d652066726f6d206f776044820152623732b960e91b6064820152608490fd5b6122969150883d8a11610303576102f581836125b1565b386120ca565b604051903d90823e3d90fd5b90508781813d83116122d4575b6122bf81836125b1565b810103126122d0575161208f612081565b8d80fd5b503d6122b5565b60405162461bcd60e51b815260048101889052603560248201527f6f666665723a3a4d7573742062652067726561746572207468616e2070726576604482015274206f66666572202b206d696e20696e63726561736560581b6064820152608490fd5b60405162461bcd60e51b815260206004820152601960248201527f6f666665723a3a416d6f756e742063616e6e6f742062652030000000000000006044820152606490fd5b5034610315578060031936011261031557602060a154604051908152f35b5034610315578060031936011261031557609c546040516001600160a01b039091168152602090f35b5034610315578060031936011261031557602060a354604051908152f35b5034610315578060031936011261031557609a546040516001600160a01b039091168152602090f35b9050346111e957816003193601126111e957609f546001600160a01b03168152602090f35b600435906001600160a01b0382168203610ada57565b604435906001600160a01b0382168203610ada57565b35906001600160a01b0382168203610ada57565b6060906003190112610ada576001600160a01b036004358181168103610ada5791602435916044359081168103610ada5790565b9181601f84011215610ada578235916001600160401b038311610ada576020808501948460051b010111610ada57565b6033546001600160a01b031633036124ee57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60a081019081106001600160401b038211176109e157604052565b6001600160401b0381116109e157604052565b602081019081106001600160401b038211176109e157604052565b604081019081106001600160401b038211176109e157604052565b606081019081106001600160401b038211176109e157604052565b90601f801991011681019081106001600160401b038211176109e157604052565b818102929181159184041417156125e557565b634e487b7160e01b600052601160045260246000fd5b919082018092116125e557565b90816020910312610ada57516001600160a01b0381168103610ada5790565b90816020910312610ada575160ff81168103610ada5790565b600260655414612651576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90816020910312610ada57518015158103610ada5790565b6001600160a01b039081168015918215612709575b5050156126cc57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b6020919250609d541691602460405180948193632d5ad3d560e01b835260048301525afa90811561277257600091612744575b5038806126c3565b612765915060203d811161276b575b61275d81836125b1565b810190612696565b3861273c565b503d612753565b6040513d6000823e3d90fd5b6001600160a01b0316801561285957604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa90811561277257600091612828575b50106127ca57565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b906020823d8211612851575b81612841602093836125b1565b81010312610315575051386127c2565b3d9150612834565b5050565b919082039182116125e557565b6001600160a01b0316908115612a3b57346129e55760409081516370a0823160e01b938482523060048301526020948583602481855afa9283156129da579086916000946129a8575b5085516323b872dd60e01b83820152336024820152306044820152606481018690526128f6906128f081608481015b03601f1981018352826125b1565b84612a80565b602486518094819382523060048301525afa90811561299d5760009161296e575b50906129229161285d565b0361292b575050565b60649250519062461bcd60e51b82526004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152fd5b908582813d8311612996575b61298481836125b1565b81010312610315575051612922612917565b503d61297a565b84513d6000823e3d90fd5b9182819592953d83116129d3575b6129c081836125b1565b81010312610315575085905192386128b3565b503d6129b6565b85513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b90503403612a4557565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b604051612ade916001600160a01b0316612a998261257b565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1612ad8612b66565b91612ba5565b805190828215928315612b4e575b50505015612af75750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b612b5e9350820181019101612696565b388281612aec565b3d15612ba0573d906001600160401b0382116109e15760405191612b94601f8201601f1916602001846125b1565b82523d6000602084013e565b606090565b91929015612c075750815115612bb9575090565b3b15612bc25790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612c1a5750805190602001fd5b60405162461bcd60e51b8152908190612c369060048301612c3a565b0390fd5b6020808252825181830181905290939260005b828110612c6f57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501612c4d565b15612c1a5750565b9291908015612d1e576064612045612ca393836125d2565b6001600160a01b039290919083168015612cc357612cc19350612d24565b565b50609e5460405163410085df60e01b602082019081526001600160a01b03909316602482015260448101849052612cc1946000948594939091169291612d0c81606481016128e2565b51925af1612d18612b66565b90612c83565b50505050565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152612cc191612d606064836125b1565b612a80565b818110612d70575050565b60008155600101612d65565b600460009182815582600182015582600282015560038101805484825580612dcc575b5050019081549080835581612db357505050565b602081612cc194601f935220910160051c810190612d65565b612ddf9185526020852090810190612d65565b3880612d9f565b60018060a01b0316604051916331a9108f60e11b835260048301526020918281602481855afa801561277257612e54928492600092612edb575b5060405163e985e9c560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03915afa90811561277257600091612ebe575b5015612e705750565b6084906040519062461bcd60e51b82526004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152fd5b612ed59150823d841161276b5761275d81836125b1565b38612e67565b612ef3919250833d8511610303576102f581836125b1565b9038612e20565b6001600160401b0381116109e15760051b60200190565b805115612f1e5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015612f1e5760400190565b8051821015612f1e5760209160051b010190565b60001981146125e55760010190565b90969293919594968751865103613664576097546040516361fe24a960e11b81526004810187905286946001600160a01b039092169290602081602481875afa90811561277257600091613632575b5060405193612fc485612596565b60028552604036602087013760a0546001600160a01b031680612fe687612f11565b52609f5460405163e286ef3360e01b81526001600160a01b038781166004830152909160209183916024918391165afa90811561277257600091613613575b506001600160a01b031661303887612f34565b526001600160a01b0361304a87612f34565b51166135fa575b61305a86612f34565b6001600160a01b0390911690526040519061307482612596565b6002825260403660208401376040516303fdde1160e21b8152600481018b9052602081602481855afa908115612772576000916135c8575b506130b683612f11565b5260208a60246040518094819363470d6ed960e11b835260048301525afa92831561277257869160009461358d575b506130fa936130f384612f34565b528c613702565b609754604051631446f21360e21b81526001600160a01b03868116600483015260248201849052909160209183916044918391165afa9081156127725760009161356e575b5061339c5750604051926131528461257b565b60018452602036818601376040519261316a8461257b565b60018452602036818601376001600160a01b039061318790612f11565b511661319284612f11565b52609c54604051635dc22eff60e01b81526001600160a01b038481166004830152909160209183916024918391165afa9081156127725760009161337d575b501561331d5750609c54604051632260494f60e01b81526001600160a01b0392831660048201529160209183916024918391165afa9081156127725761325b9461323a60ff606494613240946000916132fe575b50169184613233848c6125d2565b049061285d565b976125d2565b0461324a83612f11565b5261325482612f11565b5187613702565b84519061326782612efa565b9161327560405193846125b1565b808352613284601f1991612efa565b01366020840137600095865b81518810156132ee576132e26132e891866120458b806132cf8c6132c760649687926132bf60ff978892612f44565b5116906125d2565b04918b612f44565b526132da8d8c612f44565b5116896125d2565b97612f58565b96613290565b92945092509450612cc193613702565b613317915060203d60201161221a5761220a81836125b1565b38613225565b60975460405163b28a7bad60e01b81526001600160a01b039283166004820152925060209183916024918391165afa908115612772576133789461323a60ff606494613240946000916132fe5750169184613233848c6125d2565b61325b565b613396915060203d60201161276b5761275d81836125b1565b386131d1565b609954604051637a99dc0160e11b81526001600160a01b03958616600482015260248101929092526044820188905295999698909790959094506000938893506064925083918591165af1958615612772576000948597613447575b50600094855b885187101561342b5761341f61342591613418898c612f44565b51906125fb565b96612f58565b956133fe565b9497919396613378939650856134409161285d565b9487613702565b949096503d948582823e61345b86826125b1565b60408187810103126111e95780516001600160401b038111610be357810191868201601f840112156103155782519261349384612efa565b936134a160405195866125b1565b808552602085019189850160208360051b830101116111da5760208101925b60208360051b830101841061354e575050505060208201516001600160401b0381116111e9578201878301601f820112156111e95780519161350183612efa565b9861350f6040519a8b6125b1565b838a526020808b019460051b840101940184116103155750602001905b82821061353e575050509395386133f8565b815181526020918201910161352c565b83516001600160a01b0381168103611db2578152602093840193016134c0565b613587915060203d60201161276b5761275d81836125b1565b3861313f565b915091926020823d6020116135c0575b816135aa602093836125b1565b81010312610315575051919085906130fa6130e5565b3d915061359d565b906020823d6020116135f2575b816135e2602093836125b1565b81010312610315575051386130ac565b3d91506135d5565b506001600160a01b0361360c86612f34565b5116613051565b61362c915060203d602011610303576102f581836125b1565b38613025565b906020823d60201161365c575b8161364c602093836125b1565b8101031261031557505138612fb6565b3d915061363f565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b90815180825260208080930193019160005b8281106136e5575050505090565b83516001600160a01b0316855293810193928101926001016136d7565b9293929091906001600160a01b039081168061379d5750609e54169160405160206137458183019463c176e63960e01b86526040602485015260648401906136c5565b82810360231901604484015287518082529082019782019160005b8281106137895750505050916000939183612d0c8695612cc1989903601f1981018352826125b1565b83518a529881019892810192600101613760565b9492509060005b81518110156137dd57806137d3846137bf6137d89486612f44565b51166137cb8388612f44565b519089612d24565b612f58565b6137a4565b505050509050565b92916137f082612efa565b916137fe60405193846125b1565b829481845260208094019160051b8101928311610ada57905b8282106138245750505050565b83809161383084612462565b815201910190613817565b359060ff82168203610ada57565b929161385482612efa565b9161386260405193846125b1565b829481845260208094019160051b8101928311610ada57905b8282106138885750505050565b8380916138948461383b565b81520191019061387b565b929480919296979560a085019060018060a01b03809516865260209889870152604086015260a060608601525260c08301939060005b81811061392457505050508082036080909101528181528201929160005b828110613901575050505090565b90919293828060019260ff6139158961383b565b168152019501939291016138f3565b909193929897969485806001928c61393b89612462565b1681520195019101989293949697989190916138d5565b604051916331a9108f60e11b8352600483015260208260248160018060a01b038095165afa918215612772576000926139d6575b503391160361399157565b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b6139ef91925060203d8111610303576102f581836125b1565b903861398656fea2646970667358221220c63a82b0c3cf8aef2b5f8e62bc62fc6934a3f10cbca7d47dcd8e66a4e8acbbab64736f6c63430008120033","sourceMap":"768:10499:166:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;9048:24:166;;768:10499;9048:24;;768:10499;;;9048:24;;768:10499;-1:-1:-1;;;;;768:10499:166;;;;;;9048:24;768:10499;;;;9048:24;;;;;;;;;;;;;;768:10499;;;9087:10;:24;768:10499;;;;;9166:15;768:10499;;;;;;;;;;;;;;;;;;;9159:58;768:10499;;;9159:58;:::i;:::-;768:10499;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;9229:108;;;;;;;;;768:10499;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;9048:24;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;768:10499;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10499:166;;;;;;:::i;:::-;1303:62:39;;:::i;:::-;-1:-1:-1;;;;;768:10499:166;;;;2402:22:39;;768:10499:166;;2758:6:39;768:10499:166;;;;;;;;2758:6:39;768:10499:166;;2806:40:39;768:10499:166;2806:40:39;;768:10499:166;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;:::i;:::-;2471:103:48;;;;:::i;:::-;768:10499:166;;;;;;;;;;;;;;5863:18;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5941:21;768:10499;;;;;;6043:10;6024:29;768:10499;;6120:37;768:10499;;6120:15;:37;:::i;:::-;6160:21;768:10499;-1:-1:-1;768:10499:166;;;;6296:86;768:10499;;;;;;5863:18;768:10499;;;;;;;;;;;;;;;;;;6219:70;768:10499;;;;;;;;;;;;;;;;;;;;;;6219:70;768:10499;;;;;;;;;6296:86;;:::i;:::-;768:10499;;;;;;;;;;6394:86;768:10499;6043:10;6394:86;;768:10499;3053:22:48;768:10499:166;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;6547:37:153;768:10499:166;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;-1:-1:-1;;768:10499:166;;;;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;:::i;:::-;7802:16;;;;;:::i;:::-;7866:8;768:10499;;7866:8;;:::i;:::-;7938;768:10499;;7938:8;;:::i;:::-;2808:18:152;;768:10499:166;;2902:1:152;2884:19;;768:10499:166;;2958:32:152;;;768:10499:166;;;3079:13:152;3094:18;;;;;;768:10499:166;3172:17:152;;;768:10499:166;;;;;;;;:::i;:::-;8082:10;768:10499;;-1:-1:-1;;;;;768:10499:166;;;8057:127;;768:10499;;;;8057:127;;768:10499;;;;;;:::i;:::-;;8057:127;;768:10499;;;;;;:::i;:::-;;8057:127;;768:10499;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10499:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;768:10499:166;;;;;;8057:127;;;768:10499;-1:-1:-1;768:10499:166;;;;;;;;;;;;;;;;;8057:127;;;768:10499;;;;;;8057:127;;768:10499;;;;;8057:127;768:10499;-1:-1:-1;;;;;768:10499:166;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;3074:84:152;768:10499:166;;;;;;;;;;;;;;;8057:127;;;;768:10499;8057:127;768:10499;;;;;-1:-1:-1;;;;;768:10499:166;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2902:1:152;768:10499:166;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;-1:-1:-1;;768:10499:166;;-1:-1:-1;;;;;768:10499:166;;;;;;;;8196:109;;768:10499;;8196:109;;768:10499;;-1:-1:-1;768:10499:166;;;;;;;;8196:109;:::i;:::-;;;;768:10499;;;;;;;;;;;;;-1:-1:-1;;;2902:1:152;768:10499:166;;;;;;;;;;;8196:109;;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2902:1:152;768:10499:166;;;;;;;;;;;;;2902:1:152;768:10499:166;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;3114:3:152;768:10499:166;2902:1:152;768:10499:166;;;;;;;;;;;;;3114:3:152;3127:24;;;;:::i;:::-;3114:3;;:::i;:::-;3079:13;;;768:10499:166;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10499:166;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;:::i;:::-;;;;7097:68:153;768:10499:166;;;;;;;;;;;;;;;;;7097:68:153;768:10499:166;7097:68:153;;768:10499:166;7097:68:153;;;;768:10499:166;7097:68:153;768:10499:166;7097:68:153;;768:10499:166;7097:68:153;768:10499:166;7097:68:153;;768:10499:166;;7097:68:153;;;;;768:10499:166;7097:68:153;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5377:47:153;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;-1:-1:-1;768:10499:166;;-1:-1:-1;;768:10499:166;;;;;;:::i;:::-;;;:::i;:::-;2471:103:48;;;:::i;:::-;3802:16:166;;;:::i;:::-;3883:8;768:10499;;3883:8;;:::i;:::-;3934:19;768:10499;;;-1:-1:-1;;;3934:52:166;;768:10499;;;3934:52;;768:10499;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;3934:52;;;;;;;;;;768:10499;3924:62;768:10499;;;;3924:62;:::i;:::-;-1:-1:-1;;;;;768:10499:166;;;;4044:15;768:10499;;;;;;;;;;;;;;;;;4126:10;-1:-1:-1;768:10499:166;;;;;;;;;4115:29;;768:10499;4115:34;:84;;4126:10;768:10499;;;;;;;4115:84;;768:10499;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4115:29;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;4214:38;768:10499;;;;;;4307:13;768:10499;;;;-1:-1:-1;;;4431:24:166;;768:10499;;;;4431:24;;768:10499;;;;;;-1:-1:-1;;;;;768:10499:166;;4431:24;;;;;;;;;;;768:10499;-1:-1:-1;768:10499:166;;-1:-1:-1;;;;;768:10499:166;;;;;;4470:23;768:10499;;;;;;;;4540:20;768:10499;;4773:14;768:10499;;;;;;;;;;;4044:15;768:10499;;;;;;;;;;;;;;4126:10;768:10499;;;;4596:61;768:10499;;;4596:61;:::i;:::-;768:10499;;;;;;;;;4044:15;768:10499;;;;;;;;;;;;;;;;;;;4663:61;768:10499;;;4663:61;:::i;:::-;4773:14;;:::i;:::-;768:10499;;;;;;;;;4820:18;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4115:29;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4126:10;4894:29;4890:210;;768:10499;-1:-1:-1;;;;;;;768:10499:166;;5106:57;;;;768:10499;;-1:-1:-1;;;5106:57:166;;-1:-1:-1;;;;;768:10499:166;;;;5106:57;;768:10499;4126:10;768:10499;;;;;;;;;;;;;;;;;;;5106:57;768:10499;;-1:-1:-1;;;;;768:10499:166;;5106:57;;;;;;;;768:10499;-1:-1:-1;;768:10499:166;;;;;5243:18;768:10499;;;5263:14;5170:108;;5263:14;;5243:18;-1:-1:-1;;;;;768:10499:166;;;;;;5170:108;;:::i;:::-;3934:19;768:10499;;;-1:-1:-1;;;;;768:10499:166;5285:68;;;;;768:10499;;-1:-1:-1;;;5285:68:166;;-1:-1:-1;;;;;768:10499:166;;;5285:68;;768:10499;;;;;;;;;;;;;;;;;;;;;;;;5285:68;;;;;;;;768:10499;-1:-1:-1;;768:10499:166;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;4126:10;;768:10499;;5365:81;;768:10499;;;;5365:81;;;;768:10499;3053:22:48;768:10499:166;;;5285:68;;;;:::i;:::-;768:10499;;5285:68;;;;768:10499;;;;5285:68;768:10499;;;;;;;;;5285:68;768:10499;;;5106:57;;;;:::i;:::-;768:10499;;5106:57;;;;4890:210;-1:-1:-1;;;;;768:10499:166;;;;;4820:18;768:10499;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;5012:81;;768:10499;;4126:10;768:10499;;;5012:81;;;:::i;:::-;4890:210;;;;768:10499;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;4431:24;;;;768:10499;4431:24;768:10499;4431:24;;;;;;;:::i;:::-;;;;768:10499;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;4115:84;768:10499;;;;;;;4115:84;;;3934:52;;768:10499;3934:52;;768:10499;3934:52;;;;;;768:10499;3934:52;;;:::i;:::-;;;768:10499;;;;3924:62;768:10499;;3934:52;;;;;-1:-1:-1;3934:52:166;;;768:10499;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;6119:25:153;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;5484:43:153;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;1513:6:39;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;768:10499:166;;-1:-1:-1;;;;;;768:10499:166;;;;;;;-1:-1:-1;;;;;768:10499:166;2806:40:39;768:10499:166;;2806:40:39;768:10499:166;;;;;;;;;;;;;;;;;6372:41:153;768:10499:166;6372:41:153;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;6025:51:153;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;-1:-1:-1;;768:10499:166;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;2471:103:48;;;;;:::i;:::-;10234:8:166;768:10499;;10234:8;;:::i;:::-;10306;768:10499;;10306:8;;:::i;:::-;2808:18:152;;768:10499:166;;2902:1:152;2884:19;;;768:10499:166;;2958:32:152;;;768:10499:166;;3045:22:152;3079:13;3074:84;3094:18;;;;;;3172:17;768:10499:166;3172:17:152;;;768:10499:166;;-1:-1:-1;;;;;768:10499:166;;;;;10396:18;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10474:21;768:10499;;;;;;;;10543:27;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10629:61;768:10499;;;10629:61;:::i;:::-;-1:-1:-1;;;;;768:10499:166;;;;;;10396:18;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;10821:62;;;;768:10499;;-1:-1:-1;;;10821:62:166;;10845:10;768:10499;10821:62;;768:10499;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;10821:62;;;;;;;;3074:84:152;768:10499:166;10890:104;768:10499;;;;;:::i;:::-;;;;;;:::i;:::-;10845:10;;768:10499;;;;;10890:104;;:::i;:::-;11001:19;768:10499;;;-1:-1:-1;;;;;768:10499:166;11001:68;;;;;768:10499;;-1:-1:-1;;;11001:68:166;;-1:-1:-1;;;;;768:10499:166;;;11001:68;;768:10499;;;;;;;;;;;;;;;;;;;;;;;;11001:68;;;;;;;;3074:84:152;-1:-1:-1;;768:10499:166;;;10845:10;;-1:-1:-1;;;;;768:10499:166;;;;;;;11081:179;;768:10499;;;;11081:179;;768:10499;;;;;;;;11081:179;:::i;11001:68::-;;;;:::i;:::-;768:10499;;11001:68;;;;768:10499;;;;10821:62;;;;;;;:::i;:::-;;;;;;768:10499;;;;;;;;;10821:62;768:10499;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;3114:3:152;768:10499:166;;;;;;;;;;;;;;;;3114:3:152;3127:24;;;;:::i;:::-;3114:3;;:::i;:::-;3079:13;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;5586:37:153;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;5789:36:153;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6940:91:153;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;6940:91:153;768:10499:166;6940:91:153;;768:10499:166;6940:91:153;;;;;768:10499:166;6940:91:153;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10499:166;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;:::i;:::-;;;;7227:62:153;768:10499:166;;;;;;;;;;;;;;;;7227:62:153;768:10499:166;7227:62:153;;768:10499:166;;7227:62:153;768:10499:166;;7227:62:153;;;768:10499:166;7227:62:153;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;6745:92:153;768:10499:166;;;;;;;;;;;;;;;;;;;;;6745:92:153;768:10499:166;;;;6745:92:153;768:10499:166;6745:92:153;;768:10499:166;;6745:92:153;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10499:166;;-1:-1:-1;;768:10499:166;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;2471:103:48;;:::i;:::-;1853:16:166;;;:::i;:::-;768:10499;;1884:11;;;768:10499;;;;;;;;;;;;;;;1957:18;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2053:76;768:10499;;;;;;;;;;;;;;;;;;;;;;2074:47;768:10499;;;;;;2074:47;;:::i;:::-;768:10499;2053:76;;:::i;:::-;2042:87;;768:10499;;;;2240:19;768:10499;;;;;;;;;;;;;;2240:52;;768:10499;2240:52;;768:10499;2240:52;;;;;;;;;;768:10499;2230:62;;2416:14;2230:62;;;:::i;:::-;2352:14;;;;:::i;:::-;2416;;:::i;:::-;768:10499;;-1:-1:-1;;;2493:24:166;;768:10499;2493:24;;768:10499;;;;;;;;;;2493:24;;;;;;;;;;768:10499;-1:-1:-1;768:10499:166;;2521:10;2493:38;768:10499;;;;;;;;;;;;2240:19;768:10499;;;;;;;;;;;2722:49;;;;;;;;;;;;;;;;;;;;2804:86;2722:49;;768:10499;2722:49;;;;;;;;;768:10499;;;;;;;;;;;;;:::i;:::-;2521:10;768:10499;;2644:153;;;768:10499;;;2644:153;;;2699:15;;768:10499;;;2644:153;;768:10499;;;;;;;2644:153;;768:10499;;;;;1957:18;768:10499;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2804:86;;:::i;:::-;768:10499;;;;;;;;;;;;2902:91;768:10499;2521:10;2902:91;;768:10499;3053:22:48;768:10499:166;;;2722:49;768:10499;2722:49;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;768:10499;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;2493:24;;;;;;;;;;;;;;:::i;:::-;;;;;768:10499;;;;;;;;;;2240:52;;;;;;;;;;;;;;;;:::i;:::-;;;768:10499;;;;;2230:62;2240:52;;768:10499;;;;2240:52;;;;;768:10499;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6474:31:153;768:10499:166;;;;;;;;;;;;;;;;;;;;5892:51:153;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;6619:36:153;768:10499:166;;;;;;;;;;;;;;;;;;;;5688:35:153;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;6195:30:153;768:10499:166;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;768:10499:166;;;;;;:::o;:::-;;;-1:-1:-1;;;;;768:10499:166;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;;;:::o;1599:130:39:-;1513:6;768:10499:166;-1:-1:-1;;;;;768:10499:166;929:10:65;1662:23:39;768:10499:166;;1599:130:39:o;768:10499:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;:::o;:::-;-1:-1:-1;;;;;768:10499:166;;;;;;:::o;:::-;9048:24;768:10499;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;2580:287:48:-;1830:1;2712:7;768:10499:166;2712:19:48;1830:1;;;2712:7;768:10499:166;2580:287:48:o;1830:1::-;768:10499:166;;-1:-1:-1;;;1830:1:48;;;;;;;;;;;768:10499:166;1830:1:48;768:10499:166;;;1830:1:48;;;;768:10499:166;;;;;;;;;;;;;;;;;;:::o;1157:228:152:-;-1:-1:-1;;;;;768:10499:166;;;1254:30:152;;;:89;;;;1157:228;768:10499:166;;;;;1157:228:152:o;768:10499:166:-;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;1254:89:152;1288:55;768:10499:166;;;1288:21:152;768:10499:166;;;;;;;;;;;;;1288:55:152;;;;;768:10499:166;1288:55:152;;;;;;;1282:1;1288:55;;;1254:89;;;;;;1288:55;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;768:10499:166;;;1282:1:152;768:10499:166;;;;;3598:314:152;-1:-1:-1;;;;;768:10499:166;3702:23:152;;3698:50;;768:10499:166;;-1:-1:-1;;;3801:42:152;;3817:10;3801:42;;;768:10499:166;3837:4:152;768:10499:166;;;;;3801:42:152;;768:10499:166;;;;;;3801:42:152;;;;;;;3723:1;3801:42;;;3598:314;3801:53;;768:10499:166;;3598:314:152:o;768:10499:166:-;;;-1:-1:-1;;;768:10499:166;;3801:42:152;;768:10499:166;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;3801:42:152;;;;;;;;;;;;;;;;:::i;:::-;;;768:10499:166;;;;;;3801:42:152;;;;;;-1:-1:-1;3801:42:152;;3698:50;3735:7;;:::o;768:10499:166:-;;;;;;;;;;:::o;4369:604:152:-;-1:-1:-1;;;;;768:10499:166;;4464:30:152;;4460:117;;4591:9;768:10499:166;;;;;;;;;4726:30:152;;;;4750:4;4726:30;;;768:10499:166;4726:30:152;;;;768:10499:166;4726:30:152;;;;;;;;;;;;4492:1;4726:30;;;4369:604;-1:-1:-1;768:10499:166;;-1:-1:-1;;;1482:68:93;;;;4786:10:152;768:10499:166;1482:68:93;;768:10499:166;4750:4:152;768:10499:166;;;;;;;;;;1482:68:93;;;768:10499:166;;;;1482:68:93;;768:10499:166;;1482:68:93;;;;;;:::i;:::-;;;:::i;:::-;768:10499:166;;;4851:30:152;;;;;;4750:4;4726:30;4851;;768:10499:166;4851:30:152;;;;;;;4492:1;4851:30;;;4369:604;4896:28;;;;;:::i;:::-;:39;768:10499:166;;4369:604:152;;:::o;768:10499:166:-;;;;;;;;;;;4726:30:152;768:10499:166;;;;;;;;;;;;;;4851:30:152;;;;;;;;;;;;;;;:::i;:::-;;;768:10499:166;;;;-1:-1:-1;768:10499:166;4896:28:152;4851:30;;;;;;;;768:10499:166;;;4492:1:152;768:10499:166;;;;;4726:30:152;;;;;;;;;;;;;;;;;:::i;:::-;;;768:10499:166;;;;;;;;4726:30:152;;;;;;;;;;768:10499:166;;;4492:1:152;768:10499:166;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;4460:117:152;4512:9;;;:20;768:10499:166;;4564:7:152:o;768:10499:166:-;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;5173:642:93;768:10499:166;;5535:69:98;;-1:-1:-1;;;;;768:10499:166;;;;:::i;:::-;-1:-1:-1;768:10499:166;;;;;;;;;;;5487:31:98;;;;;;;;;;;:::i;:::-;5535:69;;:::i;:::-;768:10499:166;;5705:22:93;;;;:56;;;;;5173:642;768:10499:166;;;;;;5173:642:93;:::o;768:10499:166:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;5705:56:93;5731:30;;-1:-1:-1;5731:30:93;;;;;;;:::i;:::-;5705:56;;;;;768:10499:166;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;-1:-1:-1;;768:10499:166;;;;;:::i;:::-;;;;-1:-1:-1;768:10499:166;;;;:::o;:::-;;;:::o;7671:628:98:-;;;;7875:418;;;768:10499:166;;;7906:22:98;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;768:10499:166;;8201:17:98;:::o;768:10499:166:-;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;7875:418:98;768:10499:166;;;;-1:-1:-1;8980:21:98;:17;;9152:142;;;;;;;8976:379;768:10499:166;;-1:-1:-1;;;9324:20:98;;768:10499:166;;;9324:20:98;;;;;;:::i;:::-;;;;768:10499:166;;;;;;;;;;;;;;;;-1:-1:-1;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;5400:645:152:-;;;;5544:12;;5540:39;;5651:3;5622:25;5610:45;5622:25;;;:::i;5610:45::-;-1:-1:-1;;;;;768:10499:166;;;;;;5666:30:152;;5662:281;;6025:14;;;;:::i;:::-;5400:645::o;5662:281::-;-1:-1:-1;5750:8:152;768:10499:166;;;-1:-1:-1;;;5797:78:152;;;;;;-1:-1:-1;;;;;768:10499:166;;;5797:78:152;;;768:10499:166;;;;;;;5892:30:152;;5555:1;;;;768:10499:166;;;;;5797:78:152;;768:10499:166;;;;5797:78:152;768:10499:166;5797:78:152;5742:141;;;;;;:::i;:::-;5892:30;;:::i;5540:39::-;5566:7;;;;:::o;941:175:93:-;768:10499:166;;-1:-1:-1;;;1050:58:93;;;;-1:-1:-1;;;;;768:10499:166;;;;1050:58:93;;;768:10499:166;;;;;;;;;1050:58:93;;;;;;768:10499:166;;1050:58:93;:::i;:::-;;:::i;768:10499:166:-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;1592:301:152;768:10499:166;;;;;;;;;;;;1767:24:152;;;;;768:10499:166;1767:24:152;;;;768:10499:166;1767:24:152;;;;;;;;1805:45;1767:24;;;-1:-1:-1;1767:24:152;;;1592:301;-1:-1:-1;768:10499:166;;-1:-1:-1;;;1805:45:152;;-1:-1:-1;;;;;768:10499:166;;;1767:24:152;1805:45;;768:10499:166;1844:4:152;768:10499:166;;;;;;;;-1:-1:-1;768:10499:166;;;;;;;;;1805:45:152;;;;;;;;;;-1:-1:-1;1805:45:152;;;1592:301;768:10499:166;;;;1592:301:152;:::o;768:10499:166:-;;;;;;;;;;;1767:24:152;768:10499:166;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;1805:45:152;;;;;;;;;;;;;;:::i;:::-;;;;1767:24;;;;;;;;;;;;;;;:::i;:::-;;;;;768:10499:166;-1:-1:-1;;;;;768:10499:166;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;-1:-1:-1;768:10499:166;;;;;-1:-1:-1;768:10499:166;;;;8207:1:152;768:10499:166;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;768:10499:166;;;;;;;:::o;6955:3613:152:-;;;;;;;;;768:10499:166;;;;7197:41:152;768:10499:166;;8017:19:152;768:10499:166;;;-1:-1:-1;;;8017:52:152;;;;;768:10499:166;;;;;-1:-1:-1;;;;;768:10499:166;;;;;8017:52:152;768:10499:166;;;;8017:52:152;;;;;;;-1:-1:-1;8017:52:152;;;6955:3613;768:10499:166;;;;;;;:::i;:::-;8137:1:152;768:10499:166;;;;8017:52:152;768:10499:166;;;;;-1:-1:-1;;;;;768:10499:166;;8145:44:152;;;:::i;:::-;768:10499:166;8241:15:152;768:10499:166;;;-1:-1:-1;;;8220:81:152;;-1:-1:-1;;;;;768:10499:166;;;8017:52:152;8220:81;;768:10499:166;;;8017:52:152;;768:10499:166;;;;;;;8220:81:152;;;;;;;-1:-1:-1;8220:81:152;;;6955:3613;-1:-1:-1;;;;;;768:10499:166;8195:107:152;;;:::i;:::-;768:10499:166;-1:-1:-1;;;;;8325:14:152;;;:::i;:::-;768:10499:166;;8325:75:152;;;8308:92;;;:::i;:::-;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;:::i;:::-;8137:1:152;768:10499:166;;;;8017:52:152;768:10499:166;;;;;-1:-1:-1;;;8466:85:152;;8017:52;8466:85;;768:10499:166;;;8017:52:152;768:10499:166;;;8466:85:152;;;;;;;;-1:-1:-1;8466:85:152;;;8325:75;8454:97;;;;:::i;:::-;768:10499:166;8017:52:152;768:10499:166;;;;;;;;;;;8569:75:152;;8017:52;8569:75;;768:10499:166;8569:75:152;;;;;;;;;-1:-1:-1;8569:75:152;;;8325;8557:87;8714:6;8557:87;;;;:::i;:::-;768:10499:166;8714:6:152;;:::i;:::-;8017:19;768:10499:166;;;-1:-1:-1;;;8733:65:152;;-1:-1:-1;;;;;768:10499:166;;;8017:52:152;8733:65;;768:10499:166;;;;;;;;;8017:52:152;;768:10499:166;;;;;;;8733:65:152;;;;;;;-1:-1:-1;8733:65:152;;;8325:75;-1:-1:-1;8732:66:152;;768:10499:166;;;;;;;:::i;:::-;;;;8017:52:152;768:10499:166;;;;;;;;;;;:::i;:::-;;;;8017:52:152;768:10499:166;;;;;-1:-1:-1;;;;;768:10499:166;8955:14:152;;;:::i;:::-;768:10499:166;;8936:33:152;;;:::i;:::-;768:10499:166;8982:21:152;768:10499:166;;;-1:-1:-1;;;8982:54:152;;-1:-1:-1;;;;;768:10499:166;;;8017:52:152;8982:54;;768:10499:166;;;8017:52:152;;768:10499:166;;;;;;;8982:54:152;;;;;;;-1:-1:-1;8982:54:152;;;8728:1462;-1:-1:-1;8978:766:152;;;-1:-1:-1;8982:21:152;768:10499:166;;;-1:-1:-1;;;9077:52:152;;-1:-1:-1;;;;;768:10499:166;;;8017:52:152;9077;;768:10499:166;;8017:52:152;;768:10499:166;;;;;;;9077:52:152;;;;;;;9354:11;9077:52;9158:56;768:10499:166;9210:3:152;9077:52;9243:28;9077:52;-1:-1:-1;9077:52:152;;;8978:766;768:10499:166;;9178:28:152;;;;;;:::i;:::-;768:10499:166;9158:56:152;;:::i;:::-;9243:28;;:::i;:::-;768:10499:166;9225:53:152;;;:::i;:::-;768:10499:166;9323:14:152;;;:::i;:::-;768:10499:166;9354:11:152;;:::i;:::-;768:10499:166;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;8017:52:152;768:10499:166;;;-1:-1:-1;10303:13:152;;10342:3;768:10499:166;;10318:22:152;;;;;10423:55;10342:3;10412;;10438:33;10412:3;;10355:60;10412:3;10375:33;10412:3;768:10499:166;;;10393:15:152;768:10499:166;10393:15:152;;;;:::i;:::-;768:10499:166;;10375:33:152;;:::i;:::-;768:10499:166;10355:60:152;;;:::i;:::-;768:10499:166;10456:15:152;;;;:::i;:::-;768:10499:166;;10438:33:152;;:::i;10423:55::-;10342:3;;:::i;:::-;10303:13;;;10318:22;;;;;;;;10549:13;10318:22;10549:13;:::i;9077:52::-;;;;8017;9077;8017;9077;;;;;;;:::i;:::-;;;;8978:766;8017:19;768:10499:166;;;-1:-1:-1;;;9420:78:152;;-1:-1:-1;;;;;768:10499:166;;;8017:52:152;9420:78;;768:10499:166;;-1:-1:-1;8017:52:152;;768:10499:166;;;;;;;9420:78:152;;;;;;;9723:11;9420:78;9527:56;768:10499:166;9579:3:152;9420:78;9612:28;9420:78;-1:-1:-1;9420:78:152;;;768:10499:166;;9547:28:152;;;;;;:::i;9723:11::-;8978:766;;8982:54;;;;8017:52;8982:54;8017:52;8982:54;;;;;;;:::i;:::-;;;;8728:1462;9831:13;768:10499:166;;;-1:-1:-1;;;9831:92:152;;-1:-1:-1;;;;;768:10499:166;;;8017:52:152;9831:92;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;-1:-1:-1;768:10499:166;;-1:-1:-1;768:10499:166;;-1:-1:-1;;768:10499:166;9831:92:152;;;;;;;-1:-1:-1;;;9831:92:152;;;8728:1462;9932:26;-1:-1:-1;9972:13:152;;10009:3;768:10499:166;;9987:20:152;;;;;10024:30;10009:3;10042:12;;;;;:::i;:::-;768:10499:166;10024:30:152;;:::i;:::-;10009:3;;:::i;:::-;9972:13;;;9987:20;;;;;;10173:9;9987:20;;;;10071:33;9987:20;10071:33;:::i;:::-;10173:9;;;:::i;9831:92::-;;;;;;;;;;;;;;;:::i;:::-;768:10499:166;9831:92:152;;;;768:10499:166;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;9831:92:152;;;;768:10499:166;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;8017:52:152;768:10499:166;;9831:92:152;;;;8017:52;768:10499:166;;;;;;;;;8017:52:152;768:10499:166;;;;8017:52:152;768:10499:166;;;;;;;;;;;;;;8017:52:152;768:10499:166;;;-1:-1:-1;;;;;768:10499:166;;;;;;9831:92:152;;;768:10499:166;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;8017:52:152;768:10499:166;;;;;;;;;9831:92:152;;768:10499:166;;;;;8017:52:152;768:10499:166;;;;;;;;9831:92:152;;;;;;;;768:10499:166;;;;;8017:52:152;768:10499:166;;;;;;;;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;8017:52:152;768:10499:166;;;;;;;8733:65:152;;;;8017:52;8733:65;8017:52;8733:65;;;;;;;:::i;:::-;;;;8569:75;;;;;8017:52;8569:75;;8017:52;8569:75;;;;;;8017:52;8569:75;;;:::i;:::-;;;768:10499:166;;;;-1:-1:-1;768:10499:166;;;;;8714:6:152;8569:75;;;;;-1:-1:-1;8569:75:152;;8466:85;;8017:52;8466:85;;8017:52;8466:85;;;;;;8017:52;8466:85;;;:::i;:::-;;;768:10499:166;;;;;;8466:85:152;;;;;;-1:-1:-1;8466:85:152;;8325:75;-1:-1:-1;;;;;;8386:14:152;;;:::i;:::-;768:10499:166;;8325:75:152;;8220:81;;;;8017:52;8220:81;8017:52;8220:81;;;;;;;:::i;:::-;;;;8017:52;;;;;;;;;;;;;;;;:::i;:::-;;;768:10499:166;;;;;;8017:52:152;;;;;;-1:-1:-1;8017:52:152;;768:10499:166;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10499:166;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;768:10499:166;;;;;;;;;;;;;;;10572:609:152;;;;;;;-1:-1:-1;;;;;768:10499:166;;;10744:30:152;768:10499:166;;;10828:8:152;768:10499:166;;;;;10868:72:152;768:10499:166;10868:72:152;;;10891:25;;;;10868:72;;768:10499:166;10868:72:152;;;768:10499:166;;;;;;:::i;:::-;;;;-1:-1:-1;;768:10499:166;;;;;;;;;;;;;;;;;10772:1:152;768:10499:166;;;;;;10868:72:152;;;;;10772:1;10868:72;;;;;;10957:30;10868:72;;;768:10499:166;;10868:72:152;;;;;;:::i;768:10499:166:-;;;;;;;;;;;;;;;;;10740:437:152;11061:13;;;;10772:1;11100:3;768:10499:166;;11076:22:152;;;;;11134:14;11115:47;11134:14;;11100:3;11134:14;;;:::i;:::-;768:10499:166;;11150:11:152;;;;:::i;:::-;768:10499:166;11115:47:152;;;:::i;:::-;11100:3;:::i;:::-;11061:13;;11076:22;;;;;;;10572:609::o;768:10499:166:-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;768:10499:166;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2078:229:152;768:10499:166;;;;;;2229:24:152;;;;;768:10499:166;2229:24:152;768:10499:166;;;;;;;;;;;2229:24:152;;;;;;;-1:-1:-1;2229:24:152;;;2078:229;2257:10;;768:10499:166;;2229:38:152;768:10499:166;;2078:229:152:o;768:10499:166:-;;;-1:-1:-1;;;768:10499:166;;2229:24:152;;768:10499:166;;;;;;;;;;;;;;;;2229:24:152;;;;;;;;;;;;;;;:::i;:::-;;;;","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","acceptOffer(address,uint256,address,uint256,address[],uint8[])":"534665e9","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","buy(address,uint256,address,uint256)":"b3ffb760","cancelOffer(address,uint256,address)":"e92f94d1","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offer(address,uint256,address,uint256,bool)":"0f2b2532","offerCancelationDelay()":"0a5c4ed5","owner()":"8da5cb5b","payments()":"a6d23e10","removeSalePrice(address,uint256,address)":"f7cfaad0","renounceOwnership()":"715018a6","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":"c8f94f4e","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"}],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"removeSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"details\":\"Zero address for _currency means that the offer being accepted is in ether.\",\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"buy(address,uint256,address,uint256)\":{\"details\":\"Covers use of any currency (0 address is eth).Need to verify that the buyer (if not using eth) has the marketplace approved for _currencyContract.Need to verify that the seller has the marketplace approved for _originContract.\",\"params\":{\"_amount\":\"Amount the piece if being bought for (excluding marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelOffer(address,uint256,address)\":{\"params\":{\"_currencyAddress\":\"Currency address of the offer.\",\"_originContract\":\"Contract address of token.\",\"_tokenId\":\"TokenId that has an offer.\"}},\"offer(address,uint256,address,uint256,bool)\":{\"details\":\"Notice we need to verify that the msg sender has approved us to move funds on their behalf.Covers use of any currency (0 address is eth)._amount is the amount of the offer excluding the marketplace fee.There can be multiple offers of different currencies, but only 1 per currency.\",\"params\":{\"_amount\":\"Amount being offered (excluding marketplace fee).\",\"_convertible\":\"If the offer can be converted into an auction\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Contract address of the asset being listed.\",\"_tokenId\":\"Token Id of the asset.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"removeSalePrice(address,uint256,address)\":{\"details\":\"Sale prices could still exist for different currencies.Sale prices could still exist for different targets.Zero address for _currency means that its listed in ether._target of zero address is the general sale price.\",\"params\":{\"_originContract\":\"The origin contract of the asset.\",\"_target\":\"The address of the person\",\"_tokenId\":\"The tokenId of the asset within the _originContract.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"details\":\"Covers use of any currency (0 address is eth).Sale price for everyone is denoted as the 0 address.Only 1 currency can be used for the sale price directed at a speicific target._listPrice of 0 signifies removing the list price for the provided currency.This function can be used for counter offers as well.\",\"params\":{\"_currencyAddress\":\"Contract address of the currency asset is being listed for.\",\"_listPrice\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_originContract\":\"Contract address of the asset being listed.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_target\":\"Address of the person this sale price is target to.\",\"_tokenId\":\"Token Id of the asset.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"SuperRareMarketplace\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept an offer placed on _originContract : _tokenId.\"},\"buy(address,uint256,address,uint256)\":{\"notice\":\"Purchases the token for the current sale price.\"},\"cancelOffer(address,uint256,address)\":{\"notice\":\"Cancels an existing offer the sender has placed on a piece.\"},\"offer(address,uint256,address,uint256,bool)\":{\"notice\":\"Place an offer for a given asset\"},\"removeSalePrice(address,uint256,address)\":{\"notice\":\"Removes the current sale price of an asset for _target for the given currency.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"notice\":\"Sets a sale price for the given asset(s) directed at the _target address.\"}},\"notice\":\"The logic for all functions related to the SuperRareMarketplace.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/SuperRareMarketplace.sol\":\"SuperRareMarketplace\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/bazaar/SuperRareBazaarBase.sol\":{\"keccak256\":\"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d\",\"dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/marketplace/ISuperRareMarketplace.sol\":{\"keccak256\":\"0xc6c1021d1e1c6d967c7c20faf2528b667cc30fb8953f1629b9c8b56da7a6edde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbdf24cf7d91810d0287feeef80226191edb7ffd582127205075c6b92a807ca4\",\"dweb:/ipfs/QmR7PBriB7sw2EsUJWnGgrPtqiUNYMr9g4WsuEncEqcUMi\"]},\"src/marketplace/SuperRareMarketplace.sol\":{\"keccak256\":\"0x3f5c17fe5e8d36c8e6e2cb5e7a7e74f974ccdf2de34370e5a802aac4bf66fd12\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c32954bf154155b554359ddb7a4d05170c15793327688132c6db0366dc92ae34\",\"dweb:/ipfs/QmQRyHSPBMtZ5abxXxi2iXbCZs7taXz5ViL41W4UYrkNB3\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptOffer"},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buy"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelOffer"},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_convertible","type":"bool"}],"stateMutability":"payable","type":"function","name":"offer"},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSalePrice"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_listPrice","type":"uint256"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setSalePrice"},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"details":"Zero address for _currency means that the offer being accepted is in ether.","params":{"_amount":"Amount the offer was for/and is being accepted.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"buy(address,uint256,address,uint256)":{"details":"Covers use of any currency (0 address is eth).Need to verify that the buyer (if not using eth) has the marketplace approved for _currencyContract.Need to verify that the seller has the marketplace approved for _originContract.","params":{"_amount":"Amount the piece if being bought for (excluding marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelOffer(address,uint256,address)":{"params":{"_currencyAddress":"Currency address of the offer.","_originContract":"Contract address of token.","_tokenId":"TokenId that has an offer."}},"offer(address,uint256,address,uint256,bool)":{"details":"Notice we need to verify that the msg sender has approved us to move funds on their behalf.Covers use of any currency (0 address is eth)._amount is the amount of the offer excluding the marketplace fee.There can be multiple offers of different currencies, but only 1 per currency.","params":{"_amount":"Amount being offered (excluding marketplace fee).","_convertible":"If the offer can be converted into an auction","_currencyAddress":"Address of the token being offered.","_originContract":"Contract address of the asset being listed.","_tokenId":"Token Id of the asset."}},"owner()":{"details":"Returns the address of the current owner."},"removeSalePrice(address,uint256,address)":{"details":"Sale prices could still exist for different currencies.Sale prices could still exist for different targets.Zero address for _currency means that its listed in ether._target of zero address is the general sale price.","params":{"_originContract":"The origin contract of the asset.","_target":"The address of the person","_tokenId":"The tokenId of the asset within the _originContract."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"details":"Covers use of any currency (0 address is eth).Sale price for everyone is denoted as the 0 address.Only 1 currency can be used for the sale price directed at a speicific target._listPrice of 0 signifies removing the list price for the provided currency.This function can be used for counter offers as well.","params":{"_currencyAddress":"Contract address of the currency asset is being listed for.","_listPrice":"Amount of the currency the asset is being listed for (including all decimal points).","_originContract":"Contract address of the asset being listed.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_target":"Address of the person this sale price is target to.","_tokenId":"Token Id of the asset."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept an offer placed on _originContract : _tokenId."},"buy(address,uint256,address,uint256)":{"notice":"Purchases the token for the current sale price."},"cancelOffer(address,uint256,address)":{"notice":"Cancels an existing offer the sender has placed on a piece."},"offer(address,uint256,address,uint256,bool)":{"notice":"Place an offer for a given asset"},"removeSalePrice(address,uint256,address)":{"notice":"Removes the current sale price of an asset for _target for the given currency."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"notice":"Sets a sale price for the given asset(s) directed at the _target address."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/SuperRareMarketplace.sol":"SuperRareMarketplace"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/bazaar/SuperRareBazaarBase.sol":{"keccak256":"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826","urls":["bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d","dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/marketplace/ISuperRareMarketplace.sol":{"keccak256":"0xc6c1021d1e1c6d967c7c20faf2528b667cc30fb8953f1629b9c8b56da7a6edde","urls":["bzz-raw://dbdf24cf7d91810d0287feeef80226191edb7ffd582127205075c6b92a807ca4","dweb:/ipfs/QmR7PBriB7sw2EsUJWnGgrPtqiUNYMr9g4WsuEncEqcUMi"],"license":"MIT"},"src/marketplace/SuperRareMarketplace.sol":{"keccak256":"0x3f5c17fe5e8d36c8e6e2cb5e7a7e74f974ccdf2de34370e5a802aac4bf66fd12","urls":["bzz-raw://c32954bf154155b554359ddb7a4d05170c15793327688132c6db0366dc92ae34","dweb:/ipfs/QmQRyHSPBMtZ5abxXxi2iXbCZs7taXz5ViL41W4UYrkNB3"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"}},"version":1},"id":166} \ No newline at end of file +{"abi":[{"type":"function","name":"COLDIE_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NO_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SCHEDULED_AUCTION","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"acceptOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approvedTokenRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IApprovedTokenRegistry"}],"stateMutability":"view"},{"type":"function","name":"auctionBids","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"bidder","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"auctionLengthExtension","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"buy","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"cancelOffer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"marketplaceSettings","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMarketplaceSettings"}],"stateMutability":"view"},{"type":"function","name":"maxAuctionLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"minimumBidIncreasePercentage","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"networkBeneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"offer","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_convertible","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"offerCancelationDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payments","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPayments"}],"stateMutability":"view"},{"type":"function","name":"removeSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"royaltyEngine","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRoyaltyEngineV1"}],"stateMutability":"view"},{"type":"function","name":"royaltyRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRareRoyaltyRegistry"}],"stateMutability":"view"},{"type":"function","name":"setSalePrice","inputs":[{"name":"_originContract","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_currencyAddress","type":"address","internalType":"address"},{"name":"_listPrice","type":"uint256","internalType":"uint256"},{"name":"_target","type":"address","internalType":"address"},{"name":"_splitAddresses","type":"address[]","internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","internalType":"uint8[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spaceOperatorRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISpaceOperatorRegistry"}],"stateMutability":"view"},{"type":"function","name":"stakingRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareAuctionHouse","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"superRareMarketplace","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tokenAuctions","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"auctionCreator","type":"address","internalType":"address payable"},{"name":"creationBlock","type":"uint256","internalType":"uint256"},{"name":"startingTime","type":"uint256","internalType":"uint256"},{"name":"lengthOfAuction","type":"uint256","internalType":"uint256"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"minimumBid","type":"uint256","internalType":"uint256"},{"name":"auctionType","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tokenCurrentOffers","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"buyer","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"marketplaceFee","type":"uint8","internalType":"uint8"},{"name":"convertible","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenSalePrices","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"seller","type":"address","internalType":"address payable"},{"name":"currencyAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AcceptOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitAddresses","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"AuctionBid","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_startedAuction","type":"bool","indexed":false,"internalType":"bool"},{"name":"_newAuctionLength","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_previousBidder","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AuctionSettled","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":false,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CancelAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelOffer","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"NewAuction","inputs":[{"name":"_contractAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_auctionCreator","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_startingTime","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_minimumBid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_lengthOfAuction","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OfferPlaced","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_bidder","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_convertible","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetSalePrice","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"_target","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_splitRecipients","type":"address[]","indexed":false,"internalType":"address payable[]"},{"name":"_splitRatios","type":"uint8[]","indexed":false,"internalType":"uint8[]"}],"anonymous":false},{"type":"event","name":"Sold","inputs":[{"name":"_originContract","type":"address","indexed":true,"internalType":"address"},{"name":"_buyer","type":"address","indexed":true,"internalType":"address"},{"name":"_seller","type":"address","indexed":true,"internalType":"address"},{"name":"_currencyAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523460155761397a908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081629d9aa914612261575080630141c590146122395780630a5c4ed51461221c5780630bcba09d146121f45780630e519ef9146121d75780630f2b253214611d8e578063155a56b114611d745780631a2ac30f14611d0f578063299a0e1e14611c965780632c41905314611c145780633bc3d9be14611bec5780634c94c90c14611bc4578063534665e9146118605780636240cd1c146118375780636b534ed01461180e5780636fe9f44c146117ea578063715018a61461178d5780638da5cb5b14611764578063a11b07121461173b578063a6d23e1014611712578063b23afc26146116e2578063b3ffb76014610b43578063ba50b63214610b1a578063c47c35c114610a84578063c8f94f4e146106a1578063c90b871414610674578063daa2649914610656578063e92f94d1146103f5578063f2fde38b1461032c5763f7cfaad014610167575f80fd5b3461032957610175366122c4565b6040516331a9108f60e11b8152600481018390529193926001600160a01b031691602081602481865afa90811561031e5784916102ef575b506001600160a01b0316330361029e5781835260a460205260408320848452602052604083209060018060a01b03165f526020526101ed60405f20612400565b6040519260206101fd818661235d565b8385525f36813761023e60405195610215838861235d565b8587525f368137604051938685528684860152604085015260a0606085015260a08401906125e6565b8281036080840152818087519283815201960191855b828110610287578680877fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b888c0389a380f35b835160ff1688529681019692810192600101610254565b60405162461bcd60e51b8152602060048201526024808201527f72656d6f766553616c6550726963653a3a4d75737420626520746f6b656e4f776044820152633732b91760e11b6064820152608490fd5b610311915060203d602011610317575b610309818361235d565b8101906123b2565b5f6101ad565b503d6102ff565b6040513d86823e3d90fd5b80fd5b503461032957602036600319011261032957610346612284565b61034e613668565b6001600160a01b031680156103a157603380546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b503461032957610404366122c4565b9161040d612622565b60018060a01b03169182845260a5602052604084208285526020526040842060018060a01b0382165f5260205260405f2060405161044a8161232e565b60018060a01b0382541681526001820154602082019281845260036002820154916040850192835201549160ff6060850193818116855260081c1615156080850152156105fe5782516001600160a01b031633036105a1576104ad9051426125d9565b60a354101561055c576105189186885260a5602052604088208689526020526040882060018060a01b0386165f526020526104fc60405f2060035f918281558260018201558260028201550155565b8351915190516001600160a01b03169160ff9091169085612adb565b5191604051928352602083015260018060a01b0316917fb9a071fe7d38dc86fbc448d440311b6bd67e5e09de8b1b62c72f5fe34410045360403393a4600160655580f35b60405162461bcd60e51b815260206004820152601a60248201527f4f6666657220706c6163656420746f6f20726563656e746c792e0000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602f60248201527f63616e63656c4f666665723a3a53656e646572206d757374206861766520706c60448201526e30b1b2b2103a34329037b33332b91760891b6064820152608490fd5b60405162461bcd60e51b815260206004820152602a60248201527f63616e63656c4f666665723a3a4e6f206f6666657220666f722063757272656e60448201526931bc9032bc34b9ba399760b11b6064820152608490fd5b5034610329578060031936011261032957602060a254604051908152f35b50346103295780600319360112610329576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b50346103295760e0366003190112610329576106bb612284565b906106c461229a565b916084356001600160a01b0381168103610a805760a4356001600160401b038111610a7c576106f79036906004016122fe565b9460c4356001600160401b038111610a78576107179036906004016122fe565b9061072183612690565b61072d60243587612b6a565b61073960243587612c1a565b61074582828a87612d31565b604051976107528961232e565b338952602089019860018060a01b0385168a5260408101606435815261077936848961247e565b906060830191825261078c3687876124e0565b9b608084019c8d5260018060a01b038b168c5260a460205260408c206024358d5260205260408c2060018060a01b038b165f5260205260405f209360018060a01b039060018060a01b03905116166001600160601b0360a01b85541617845560018060a01b03905116600184019060018060a01b03166001600160601b0360a01b825416179055516002830155600382019051908151916001600160401b038311610a6457600160401b8311610a64576020908c835485855585818110610a49575b50505001908b5260208b208b5b838110610a2c575050505060040198518051906001600160401b038211610a1857600160401b8211610a18576020908b54838d558084106109ce575b5001998952602089208160051c918a5b8381106109875750601f198116900380610913575b50506040516001600160a01b0395861698909516967fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b96869561090d95909490935091602435906064359088612534565b0390a380f35b9a8a9b8b5b818110610956575050500198909855959687969061090d7fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b5f6108bc565b90919c602061097d8f928460ff6001955116919060ff809160031b9316831b921b19161790565b9e01929101610918565b8b8c5b6020811061099f5750838201556001016108a7565b9d9060208f6001926109c59160ff865116919060ff809160031b9316831b921b19161790565b92019e0161098a565b6109f8908d8d52838d20601f80870160051c820192818816806109fe575b500160051c01906123ea565b5f610897565b5f198501908154905f19908a0360031b1c1690555f6109ec565b634e487b7160e01b8a52604160045260248afd5b82516001600160a01b03168183015560209092019160010161085b565b848387610a5c95522091820191016123ea565b8c5f8561084e565b634e487b7160e01b8c52604160045260248cfd5b8580fd5b8380fd5b8280fd5b50346103295760403660031901126103295760e0906040906001600160a01b03610aac612284565b16815260a660205281812060243582526020522060018060a01b03815416906001810154906002810154600382015460018060a01b03600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346103295780600319360112610329576097546040516001600160a01b039091168152602090f35b50608036600319011261032957610b58612284565b60243590610b6461229a565b9060643592610b71612622565b610b7a83612690565b610b848183612c1a565b6097546040516361fe24a960e11b81526004810186905290602090829060249082906001600160a01b03165afa80156116d757869061169f575b610bc99150856123a5565b6001600160a01b03831680875260a460209081526040808920858a528252808920335f908152928190529120600201549194929392911561168d57335f908152602091909152604090208791905b60405194610c248661232e565b81546001600160a01b039081168752600183015416602080880191825260028401546040808a0191825251600386018054808352908952838920919894969294929389939084019291905b81811061166b5750505060049291610c8891038861235d565b6060890196875201928b604051809586916020825491828152019184526020842093905b80601f8301106114c357610dc29454918181106114af575b818110611498575b818110611481575b81811061146a575b818110611454575b81811061143d575b818110611426575b81811061140f575b8181106113f8575b8181106113e1575b8181106113ca575b8181106113b3575b81811061139c575b818110611385575b81811061136e575b818110611357575b818110611340575b818110611329575b818110611312575b8181106112fb575b8181106112e4575b8181106112cd575b8181106112b6575b81811061129f575b818110611288575b818110611271575b81811061125a575b818110611243575b81811061122c575b818110611215575b8181106111fe575b106111f0575b50038561235d565b60808801938452516001600160a01b03908116908a16036111ab57805115611166576040516331a9108f60e11b815260048101879052906020826024818c5afa91821561115b578c9261113a575b5087516001600160a01b03908116908316036110f557518a036110b057610e908b9289845260a4602052604084208885526020526040842060018060a01b0333165f52602052610e6260405f20612400565b89845260a460205260408420888552602052604084205f8052602052610e8a60405f20612400565b8a61283b565b87825260a5602052604082208683526020526040822060018060a01b038a165f5260205260405f20604051610ec48161232e565b60018060a01b0382541680825260036001840154936020840194855260028101546040850152015491608060ff6060830194818116865260081c1615159101523314611055575b5050873b15611038576040516323b872dd60e01b81526001600160a01b03919091166004820152336024820152604481018690528181606481838c5af1801561102d5761103c575b5050610f709288888660018060a01b038951169351945195612f22565b60975486906001600160a01b0316803b1561103857818091606460405180948193635a3c652d60e01b83528a6004840152886024840152600160448401525af1801561102d57611018575b50509051604080516001600160a01b0395861681526020810196909652850191909152909116913391907f6f9e7bc841408072f4a49e469f90e1a634b85251803662bc8e5c220b287824729080606081015b0390a4600160655580f35b816110229161235d565b610a7857855f610fbb565b6040513d84823e3d90fd5b5080fd5b816110469161235d565b61105157885f610f53565b8880fd5b6110a9918a855260a5602052604085208986526020526040852060018060a01b038d165f5260205261109b60405f2060035f918281558260018201558260028201550155565b5160ff33925116908c612adb565b5f80610f0b565b60405162461bcd60e51b815260206004820152601860248201527f6275793a3a496e73756666696369656e7420616d6f756e7400000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527f6275793a3a507269636520736574746572206e6f74206f776e657200000000006044820152606490fd5b61115491925060203d60201161031757610309818361235d565b905f610e10565b6040513d8e823e3d90fd5b60405162461bcd60e51b815260206004820152601f60248201527f6275793a3a546f6b656e20686173206e6f20627579206e6f77207072696365006044820152606490fd5b60405162461bcd60e51b815260206004820152601f60248201527f6275793a3a43757272656e63792061646472657373206e6f7420657175616c006044820152606490fd5b60f81c81526020015f610dba565b92602060019160ff8560f01c168152019301610db4565b92602060019160ff8560e81c168152019301610dac565b92602060019160ff8560e01c168152019301610da4565b92602060019160ff8560d81c168152019301610d9c565b92602060019160ff8560d01c168152019301610d94565b92602060019160ff8560c81c168152019301610d8c565b92602060019160ff8560c01c168152019301610d84565b92602060019160ff8560b81c168152019301610d7c565b92602060019160ff8560b01c168152019301610d74565b92602060019160ff8560a81c168152019301610d6c565b92602060019160ff8560a01c168152019301610d64565b92602060019160ff8560981c168152019301610d5c565b92602060019160ff8560901c168152019301610d54565b92602060019160ff8560881c168152019301610d4c565b92602060019160ff8560801c168152019301610d44565b92602060019160ff8560781c168152019301610d3c565b92602060019160ff8560701c168152019301610d34565b92602060019160ff8560681c168152019301610d2c565b92602060019160ff8560601c168152019301610d24565b92602060019160ff8560581c168152019301610d1c565b92602060019160ff8560501c168152019301610d14565b92602060019160ff8560481c168152019301610d0c565b92602060019160ff8560401c168152019301610d04565b92602060019160ff8560381c168152019301610cfc565b92602060019160ff8560301c168152019301610cf4565b92602060019160ff8560281c168152019301610cec565b92602060019160ff85831c168152019301610ce4565b92602060019160ff8560181c168152019301610cdc565b92602060019160ff8560101c168152019301610cd4565b92602060019160ff8560081c168152019301610ccc565b92602060019160ff85168152019301610cc4565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920187929391610cac565b82546001600160a01b031684528a945060209093019260019283019201610c6f565b5f805260205260405f20908791610c17565b506020813d6020116116cf575b816116b96020938361235d565b810103126116cb57610bc99051610bbe565b5f80fd5b3d91506116ac565b6040513d88823e3d90fd5b50346103295780600319360112610329576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b5034610329578060031936011261032957609e546040516001600160a01b039091168152602090f35b50346103295780600319360112610329576098546040516001600160a01b039091168152602090f35b50346103295780600319360112610329576033546040516001600160a01b039091168152602090f35b50346103295780600319360112610329576117a6613668565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610329578060031936011261032957602060ff60a05460a01c16604051908152f35b503461032957806003193601126103295760a0546040516001600160a01b039091168152602090f35b5034610329578060031936011261032957609d546040516001600160a01b039091168152602090f35b50346116cb5760c03660031901126116cb5761187a612284565b60243561188561229a565b91606435916084356001600160401b0381116116cb576118a99036906004016122fe565b91909360a4356001600160401b0381116116cb576118cb9036906004016122fe565b906118d4612622565b6118de8487612b6a565b6118e88487612c1a565b6118f48282878a612d31565b6001600160a01b038681165f81815260a5602090815260408083208984528252808320948d1683529390528290209151909790916119318361232e565b60018060a01b038154168352600181015460ff60036020860193838552600281015460408801520154818116606087015260081c161515608085015215611b7f5785905103611b2257875f5260a460205260405f20865f5260205260405f205f80526020526119a260405f20612400565b875f5260a560205260405f20865f5260205260405f2060018060a01b038b165f526020526119e460405f2060035f918281558260018201558260028201550155565b81516001600160a01b0316883b156116cb57604051906323b872dd60e01b825233600483015260248201528660448201525f81606481838d5af18015611b1757611b00575b50611a4f90611a3936898c61247e565b611a443687876124e0565b91878d8a3393612f22565b6097548a906001600160a01b0316803b156110385781809160648b6040519485938492635a3c652d60e01b845260048401528c6024840152600160448401525af1801561102d57611ae1575b50505160405133996001600160a01b03909216987f97c3d2068ce177bc33d84acecc45eededcf298c4a9d4340ae03d4afbb3993f7b979196879661100d96959488612534565b81611aef919594939561235d565b611afc579091895f611a9b565b8980fd5b611b0d919b505f9061235d565b5f99611a4f611a29565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152602f60248201527f6163636570744f666665723a3a4f6666657220616d6f756e74206f722063757260448201526e1c995b98de481b9bdd08195c5d585b608a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601c60248201527f6163636570744f666665723a3a4e6f206f6666657220657869737473000000006044820152606490fd5b346116cb575f3660031901126116cb576099546040516001600160a01b039091168152602090f35b346116cb575f3660031901126116cb57609b546040516001600160a01b039091168152602090f35b346116cb57611c22366122c4565b9160018060a01b03165f5260a560205260405f20905f5260205260405f209060018060a01b03165f5260205260a060405f2060ff600180841b0382541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b346116cb5760403660031901126116cb576001600160a01b03611cb7612284565b165f5260a760205260405f206024355f52602052608060405f2060018060a01b038154169060018060a01b036001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b346116cb57611d1d366122c4565b6001600160a01b039283165f90815260a46020908152604080832094835293815283822092851682529182528290208054600182015460029092015484519186168252919094169184019190915290820152606090f35b346116cb575f3660031901126116cb5760206040515f8152f35b60a03660031901126116cb57611da2612284565b60243590611dae61229a565b60643591608435908115158092036116cb57611dc8612622565b611dd183612690565b83156121925760018060a01b031693845f5260a560205260405f20815f5260205260405f2060018060a01b0384165f5260205260405f20604051611e148161232e565b60018060a01b038254168152600182015490611e72600360208301948486526002810154604085015201549260ff6060840194818116865260081c16151560808401526064611e6b60ff60a05460a01c168361237e565b04906123a5565b871061212f576097546040516361fe24a960e11b81526004810189905290602090829060249082906001600160a01b03165afa908115611b17575f916120fb575b50611ec1611ed191896123a5565b611ecb818961275c565b8761283b565b6040516331a9108f60e11b8152600481018590526020816024818c5afa908115611b17575f916120dc575b506001600160a01b0316331461208b57609754604051638347592160e01b815290602090829060049082906001600160a01b03165afa938415611b175761200b9487898c8c60ff965f95612051575b5091600391879360405192611f5f8461232e565b338452602084019182526040840192428452866060860199168952608085019788525f5260a56020528d60405f20905f5260205260405f209060018060a01b03165f5260205260405f209260018060a01b039060018060a01b03905116166001600160601b0360a01b8454161783555160018301555160028201550192511661ff0083549251151560081b169161ffff191617179055519251169060018060a01b039051169186612adb565b6040519384526020840152604083015260018060a01b0316917facbe96367816f728b84abf006ca777225b704072592132845e9a3dbd7b02369160603393a46001606555005b87939195509161207a60039360203d602011612084575b612072818361235d565b8101906123d1565b9591935091611f4b565b503d612068565b60405162461bcd60e51b815260206004820152602360248201527f6f666665723a3a4f666665722063616e6e6f7420636f6d652066726f6d206f776044820152623732b960e91b6064820152608490fd5b6120f5915060203d60201161031757610309818361235d565b89611efc565b90506020813d602011612127575b816121166020938361235d565b810103126116cb5751611ec1611eb3565b3d9150612109565b60405162461bcd60e51b815260206004820152603560248201527f6f666665723a3a4d7573742062652067726561746572207468616e2070726576604482015274206f66666572202b206d696e20696e63726561736560581b6064820152608490fd5b60405162461bcd60e51b815260206004820152601960248201527f6f666665723a3a416d6f756e742063616e6e6f742062652030000000000000006044820152606490fd5b346116cb575f3660031901126116cb57602060a154604051908152f35b346116cb575f3660031901126116cb57609c546040516001600160a01b039091168152602090f35b346116cb575f3660031901126116cb57602060a354604051908152f35b346116cb575f3660031901126116cb57609a546040516001600160a01b039091168152602090f35b346116cb575f3660031901126116cb57609f546001600160a01b03168152602090f35b600435906001600160a01b03821682036116cb57565b604435906001600160a01b03821682036116cb57565b35906001600160a01b03821682036116cb57565b60609060031901126116cb576004356001600160a01b03811681036116cb5790602435906044356001600160a01b03811681036116cb5790565b9181601f840112156116cb578235916001600160401b0383116116cb576020808501948460051b0101116116cb57565b60a081019081106001600160401b0382111761234957604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761234957604052565b8181029291811591840414171561239157565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161239157565b908160209103126116cb57516001600160a01b03811681036116cb5790565b908160209103126116cb575160ff811681036116cb5790565b8181106123f5575050565b5f81556001016123ea565b6004905f81555f60018201555f60028201556003810180545f82558061244d575b50500180545f825580612432575050565b61244b915f52601f60205f20910160051c8101906123ea565b565b612460915f5260205f20908101906123ea565b5f80612421565b6001600160401b0381116123495760051b60200190565b92919061248a81612467565b93612498604051958661235d565b602085838152019160051b81019283116116cb57905b8282106124ba57505050565b602080916124c7846122b0565b8152019101906124ae565b359060ff821682036116cb57565b9291906124ec81612467565b936124fa604051958661235d565b602085838152019160051b81019283116116cb57905b82821061251c57505050565b60208091612529846124d2565b815201910190612510565b92859297969760a085019260018060a01b031685526020850152604084015260a060608401525260c0810191925f5b8181106125af5750506020925060808183039101528281520191905f5b81811061258d5750505090565b90919260208060019260ff6125a1886124d2565b168152019401929101612580565b909192602080600192838060a01b036125c7896122b0565b16815201950191019392919093612563565b9190820391821161239157565b90602080835192838152019201905f5b8181106126035750505090565b82516001600160a01b03168452602093840193909201916001016125f6565b600260655414612633576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908160209103126116cb575180151581036116cb5790565b6001600160a01b031680159081156126e8575b50156126ab57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b609d54604051632d5ad3d560e01b81526004810192909252909150602090829060249082906001600160a01b03165afa908115611b17575f9161272d575b505f6126a3565b61274f915060203d602011612755575b612747818361235d565b810190612678565b5f612726565b503d61273d565b6001600160a01b0316801561283757604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa908115611b17575f91612805575b50106127a757565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b90506020813d60201161282f575b816128206020938361235d565b810103126116cb57515f61279f565b3d9150612813565b5050565b6001600160a01b03168015612a0757346129b1576040516370a0823160e01b815230600482015290602082602481845afa918215611b17575f9261297c575b506040516323b872dd60e01b6020828101919091523360248381019190915230604484015260648301869052939290916128cb906128c581608481015b03601f19810183528261235d565b826137e7565b6040516370a0823160e01b815230600482015293849182905afa8015611b17575f90612948575b6128fc92506125d9565b0361290357565b60405162461bcd60e51b815260206004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152606490fd5b506020823d602011612974575b816129626020938361235d565b810103126116cb576128fc91516128f2565b3d9150612955565b91506020823d6020116129a9575b816129976020938361235d565b810103126116cb57905190602061287a565b3d915061298a565b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b503403612a1057565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b3d15612a84573d906001600160401b0382116123495760405191612a79601f8201601f19166020018461235d565b82523d5f602084013e565b606090565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b15612abb5750565b60405162461bcd60e51b8152908190612ad79060048301612a89565b0390fd5b91908015612b64576064611e6b612af2938361237e565b906001600160a01b03168015612b0c579161244b926136c0565b50609e5460405163410085df60e01b602082019081526001600160a01b0394851660248301526044820184905261244b945f94859490911692612b5281606481016128b7565b51925af1612b5e612a4b565b90612ab3565b50505050565b6040516331a9108f60e11b81526004810192909252602090829060249082906001600160a01b03165afa908115611b17575f91612bfb575b50336001600160a01b0390911603612bb657565b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b612c14915060203d60201161031757610309818361235d565b5f612ba2565b6040516331a9108f60e11b815260048101929092526001600160a01b031690602081602481855afa8015611b1757612c8a926020925f92612d12575b5060405163e985e9c560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03915afa908115611b17575f91612cf3575b5015612ca457565b60405162461bcd60e51b815260206004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152608490fd5b612d0c915060203d60201161275557612747818361235d565b5f612c9c565b612d2a919250833d851161031757610309818361235d565b905f612c56565b508015612e885760058111612e37578203612ddd575f92835b83851015612d79578460051b8301359060ff82168092036116cb57600191612d71916123a5565b940193612d4a565b915092506064915003612d8857565b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b805115612eea5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015612eea5760400190565b8051821015612eea5760209160051b010190565b919593969294968751855103613607576097546040516361fe24a960e11b8152600481018890526001600160a01b0390911692879291602081602481885afa908115611b17575f916135d5575b5060405194612f7f60608761235d565b600286526040908136602089013760a0546001600160a01b031680612fa389612edd565b52609f5460405163e286ef3360e01b81526001600160a01b039788166004820181905297909160209183916024918391165afa908115611b17575f916135b6575b506001600160a01b0316612ff789612efe565b526001600160a01b0361300989612efe565b511661359d575b61301988612efe565b6001600160a01b0390911690526040519161303560608461235d565b600283523660208401376040516303fdde1160e21b8152600481018c9052602081602481855afa908115611b17575f9161356b575b5061307483612edd565b5260208b60246040518094819363470d6ed960e11b835260048301525afa8015611b175787915f91613534575b50926130b7936130b084612efe565b528c613701565b609754604051631446f21360e21b81526001600160a01b03878116600483015260248201849052909160209183916044918391165afa908115611b17575f91613515575b5061335e5750604090815194613111838761235d565b60018652601f198301948536602089013783519561312f858861235d565b600187523660208801376001600160a01b039061314b90612edd565b511661315686612edd565b52609c548351635dc22eff60e01b81526004810184905290602090829060249082906001600160a01b03165afa908115613354575f91613335575b50156132d45750609c548251632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa9182156132cb575061321b9493926131fa60ff606494613200945f916132ac575b501691846131f3848d61237e565b04906125d9565b9861237e565b0461320a83612edd565b5261321482612edd565b5187613701565b84519061322782612467565b91613235604051938461235d565b808352613244601f1991612467565b013660208401375f95865b815188101561329c57613294600191606461327760ff61326f8d8b612f0e565b51168a61237e565b046132828b88612f0e565b526064611e6b60ff61326f8d8b612f0e565b97019661324f565b9294509250945061244b93613701565b6132c5915060203d60201161208457612072818361235d565b5f6131e5565b513d5f823e3d90fd5b609754835163b28a7bad60e01b81526001600160a01b039283166004820152925060209183916024918391165afa9182156132cb57506133309493926131fa60ff606494613200945f916132ac57501691846131f3848d61237e565b61321b565b61334e915060203d60201161275557612747818361235d565b5f613191565b84513d5f823e3d90fd5b609954604051637a99dc0160e11b81526001600160a01b03968716600482015260248101929092526044820189905295999798909796909590945f94508893506064925083918591165af1958615611b17575f945f97613401575b505f94855b88518710156133e6576133de6001916133d7898c612f0e565b51906123a5565b9601956133be565b95506133fa866133309496999395986125d9565b9587613701565b945095503d805f863e613414818661235d565b8401936040818603126116cb5780516001600160401b0381116116cb5781019085601f830112156116cb57815161344a81612467565b92613458604051948561235d565b81845260208085019260051b820101908882116116cb57602001915b8183106134f5575050506020810151906001600160401b0382116116cb57019480601f870112156116cb5785516134aa81612467565b966134b8604051988961235d565b81885260208089019260051b8201019283116116cb57602001905b8282106134e55750505093955f6133b9565b81518152602091820191016134d3565b82516001600160a01b03811681036116cb57815260209283019201613474565b61352e915060203d60201161275557612747818361235d565b5f6130fb565b9150506020813d602011613563575b816135506020938361235d565b810103126116cb575186906130b76130a1565b3d9150613543565b90506020813d602011613595575b816135866020938361235d565b810103126116cb57515f61306a565b3d9150613579565b506001600160a01b036135af88612efe565b5116613010565b6135cf915060203d60201161031757610309818361235d565b5f612fe4565b90506020813d6020116135ff575b816135f06020938361235d565b810103126116cb57515f612f6f565b3d91506135e3565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b6033546001600160a01b0316330361367c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60405163a9059cbb60e01b60208201526001600160a01b0392909216602483015260448083019390935291815261244b916136fc60648361235d565b6137e7565b9293929091906001600160a01b0316806137a0575060018060a01b03609e541691604051613748602082019363c176e63960e01b85526040602484015260648301906125e6565b602319828203016044830152602080885192838152019701905f5b81811061378a57505050915f939183612b52869561244b989903601f19810183528261235d565b8251895260209889019890920191600101613763565b9391505f5b81518110156137e0576001906137da6001600160a01b036137c68386612f0e565b51166137d28387612f0e565b5190886136c0565b016137a5565b5050509050565b906138479160018060a01b03165f806040519361380560408661235d565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1613841612a4b565b916138cf565b80519081159182156138b5575b50501561385d57565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b6138c89250602080918301019101612678565b5f80613854565b9192901561393157508151156138e3575090565b3b156138ec5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612abb5750805190602001fdfea2646970667358221220b38514a2b9cdc6f450d896cc9fa3fda760041a04a67d35d54e8dd4659915979a64736f6c634300081c0033","sourceMap":"768:10491:70:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f905f3560e01c9081629d9aa914612261575080630141c590146122395780630a5c4ed51461221c5780630bcba09d146121f45780630e519ef9146121d75780630f2b253214611d8e578063155a56b114611d745780631a2ac30f14611d0f578063299a0e1e14611c965780632c41905314611c145780633bc3d9be14611bec5780634c94c90c14611bc4578063534665e9146118605780636240cd1c146118375780636b534ed01461180e5780636fe9f44c146117ea578063715018a61461178d5780638da5cb5b14611764578063a11b07121461173b578063a6d23e1014611712578063b23afc26146116e2578063b3ffb76014610b43578063ba50b63214610b1a578063c47c35c114610a84578063c8f94f4e146106a1578063c90b871414610674578063daa2649914610656578063e92f94d1146103f5578063f2fde38b1461032c5763f7cfaad014610167575f80fd5b3461032957610175366122c4565b6040516331a9108f60e11b8152600481018390529193926001600160a01b031691602081602481865afa90811561031e5784916102ef575b506001600160a01b0316330361029e5781835260a460205260408320848452602052604083209060018060a01b03165f526020526101ed60405f20612400565b6040519260206101fd818661235d565b8385525f36813761023e60405195610215838861235d565b8587525f368137604051938685528684860152604085015260a0606085015260a08401906125e6565b8281036080840152818087519283815201960191855b828110610287578680877fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b888c0389a380f35b835160ff1688529681019692810192600101610254565b60405162461bcd60e51b8152602060048201526024808201527f72656d6f766553616c6550726963653a3a4d75737420626520746f6b656e4f776044820152633732b91760e11b6064820152608490fd5b610311915060203d602011610317575b610309818361235d565b8101906123b2565b5f6101ad565b503d6102ff565b6040513d86823e3d90fd5b80fd5b503461032957602036600319011261032957610346612284565b61034e613668565b6001600160a01b031680156103a157603380546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b503461032957610404366122c4565b9161040d612622565b60018060a01b03169182845260a5602052604084208285526020526040842060018060a01b0382165f5260205260405f2060405161044a8161232e565b60018060a01b0382541681526001820154602082019281845260036002820154916040850192835201549160ff6060850193818116855260081c1615156080850152156105fe5782516001600160a01b031633036105a1576104ad9051426125d9565b60a354101561055c576105189186885260a5602052604088208689526020526040882060018060a01b0386165f526020526104fc60405f2060035f918281558260018201558260028201550155565b8351915190516001600160a01b03169160ff9091169085612adb565b5191604051928352602083015260018060a01b0316917fb9a071fe7d38dc86fbc448d440311b6bd67e5e09de8b1b62c72f5fe34410045360403393a4600160655580f35b60405162461bcd60e51b815260206004820152601a60248201527f4f6666657220706c6163656420746f6f20726563656e746c792e0000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602f60248201527f63616e63656c4f666665723a3a53656e646572206d757374206861766520706c60448201526e30b1b2b2103a34329037b33332b91760891b6064820152608490fd5b60405162461bcd60e51b815260206004820152602a60248201527f63616e63656c4f666665723a3a4e6f206f6666657220666f722063757272656e60448201526931bc9032bc34b9ba399760b11b6064820152608490fd5b5034610329578060031936011261032957602060a254604051908152f35b50346103295780600319360112610329576040516d21a7a62224a2afa0aaa1aa24a7a760911b8152602090f35b50346103295760e0366003190112610329576106bb612284565b906106c461229a565b916084356001600160a01b0381168103610a805760a4356001600160401b038111610a7c576106f79036906004016122fe565b9460c4356001600160401b038111610a78576107179036906004016122fe565b9061072183612690565b61072d60243587612b6a565b61073960243587612c1a565b61074582828a87612d31565b604051976107528961232e565b338952602089019860018060a01b0385168a5260408101606435815261077936848961247e565b906060830191825261078c3687876124e0565b9b608084019c8d5260018060a01b038b168c5260a460205260408c206024358d5260205260408c2060018060a01b038b165f5260205260405f209360018060a01b039060018060a01b03905116166001600160601b0360a01b85541617845560018060a01b03905116600184019060018060a01b03166001600160601b0360a01b825416179055516002830155600382019051908151916001600160401b038311610a6457600160401b8311610a64576020908c835485855585818110610a49575b50505001908b5260208b208b5b838110610a2c575050505060040198518051906001600160401b038211610a1857600160401b8211610a18576020908b54838d558084106109ce575b5001998952602089208160051c918a5b8381106109875750601f198116900380610913575b50506040516001600160a01b0395861698909516967fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b96869561090d95909490935091602435906064359088612534565b0390a380f35b9a8a9b8b5b818110610956575050500198909855959687969061090d7fb6039ff1edf80efca6bc48b89f5415ba07fecb2d321058dae9ce6369b2ff964b5f6108bc565b90919c602061097d8f928460ff6001955116919060ff809160031b9316831b921b19161790565b9e01929101610918565b8b8c5b6020811061099f5750838201556001016108a7565b9d9060208f6001926109c59160ff865116919060ff809160031b9316831b921b19161790565b92019e0161098a565b6109f8908d8d52838d20601f80870160051c820192818816806109fe575b500160051c01906123ea565b5f610897565b5f198501908154905f19908a0360031b1c1690555f6109ec565b634e487b7160e01b8a52604160045260248afd5b82516001600160a01b03168183015560209092019160010161085b565b848387610a5c95522091820191016123ea565b8c5f8561084e565b634e487b7160e01b8c52604160045260248cfd5b8580fd5b8380fd5b8280fd5b50346103295760403660031901126103295760e0906040906001600160a01b03610aac612284565b16815260a660205281812060243582526020522060018060a01b03815416906001810154906002810154600382015460018060a01b03600484015416916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346103295780600319360112610329576097546040516001600160a01b039091168152602090f35b50608036600319011261032957610b58612284565b60243590610b6461229a565b9060643592610b71612622565b610b7a83612690565b610b848183612c1a565b6097546040516361fe24a960e11b81526004810186905290602090829060249082906001600160a01b03165afa80156116d757869061169f575b610bc99150856123a5565b6001600160a01b03831680875260a460209081526040808920858a528252808920335f908152928190529120600201549194929392911561168d57335f908152602091909152604090208791905b60405194610c248661232e565b81546001600160a01b039081168752600183015416602080880191825260028401546040808a0191825251600386018054808352908952838920919894969294929389939084019291905b81811061166b5750505060049291610c8891038861235d565b6060890196875201928b604051809586916020825491828152019184526020842093905b80601f8301106114c357610dc29454918181106114af575b818110611498575b818110611481575b81811061146a575b818110611454575b81811061143d575b818110611426575b81811061140f575b8181106113f8575b8181106113e1575b8181106113ca575b8181106113b3575b81811061139c575b818110611385575b81811061136e575b818110611357575b818110611340575b818110611329575b818110611312575b8181106112fb575b8181106112e4575b8181106112cd575b8181106112b6575b81811061129f575b818110611288575b818110611271575b81811061125a575b818110611243575b81811061122c575b818110611215575b8181106111fe575b106111f0575b50038561235d565b60808801938452516001600160a01b03908116908a16036111ab57805115611166576040516331a9108f60e11b815260048101879052906020826024818c5afa91821561115b578c9261113a575b5087516001600160a01b03908116908316036110f557518a036110b057610e908b9289845260a4602052604084208885526020526040842060018060a01b0333165f52602052610e6260405f20612400565b89845260a460205260408420888552602052604084205f8052602052610e8a60405f20612400565b8a61283b565b87825260a5602052604082208683526020526040822060018060a01b038a165f5260205260405f20604051610ec48161232e565b60018060a01b0382541680825260036001840154936020840194855260028101546040850152015491608060ff6060830194818116865260081c1615159101523314611055575b5050873b15611038576040516323b872dd60e01b81526001600160a01b03919091166004820152336024820152604481018690528181606481838c5af1801561102d5761103c575b5050610f709288888660018060a01b038951169351945195612f22565b60975486906001600160a01b0316803b1561103857818091606460405180948193635a3c652d60e01b83528a6004840152886024840152600160448401525af1801561102d57611018575b50509051604080516001600160a01b0395861681526020810196909652850191909152909116913391907f6f9e7bc841408072f4a49e469f90e1a634b85251803662bc8e5c220b287824729080606081015b0390a4600160655580f35b816110229161235d565b610a7857855f610fbb565b6040513d84823e3d90fd5b5080fd5b816110469161235d565b61105157885f610f53565b8880fd5b6110a9918a855260a5602052604085208986526020526040852060018060a01b038d165f5260205261109b60405f2060035f918281558260018201558260028201550155565b5160ff33925116908c612adb565b5f80610f0b565b60405162461bcd60e51b815260206004820152601860248201527f6275793a3a496e73756666696369656e7420616d6f756e7400000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527f6275793a3a507269636520736574746572206e6f74206f776e657200000000006044820152606490fd5b61115491925060203d60201161031757610309818361235d565b905f610e10565b6040513d8e823e3d90fd5b60405162461bcd60e51b815260206004820152601f60248201527f6275793a3a546f6b656e20686173206e6f20627579206e6f77207072696365006044820152606490fd5b60405162461bcd60e51b815260206004820152601f60248201527f6275793a3a43757272656e63792061646472657373206e6f7420657175616c006044820152606490fd5b60f81c81526020015f610dba565b92602060019160ff8560f01c168152019301610db4565b92602060019160ff8560e81c168152019301610dac565b92602060019160ff8560e01c168152019301610da4565b92602060019160ff8560d81c168152019301610d9c565b92602060019160ff8560d01c168152019301610d94565b92602060019160ff8560c81c168152019301610d8c565b92602060019160ff8560c01c168152019301610d84565b92602060019160ff8560b81c168152019301610d7c565b92602060019160ff8560b01c168152019301610d74565b92602060019160ff8560a81c168152019301610d6c565b92602060019160ff8560a01c168152019301610d64565b92602060019160ff8560981c168152019301610d5c565b92602060019160ff8560901c168152019301610d54565b92602060019160ff8560881c168152019301610d4c565b92602060019160ff8560801c168152019301610d44565b92602060019160ff8560781c168152019301610d3c565b92602060019160ff8560701c168152019301610d34565b92602060019160ff8560681c168152019301610d2c565b92602060019160ff8560601c168152019301610d24565b92602060019160ff8560581c168152019301610d1c565b92602060019160ff8560501c168152019301610d14565b92602060019160ff8560481c168152019301610d0c565b92602060019160ff8560401c168152019301610d04565b92602060019160ff8560381c168152019301610cfc565b92602060019160ff8560301c168152019301610cf4565b92602060019160ff8560281c168152019301610cec565b92602060019160ff85831c168152019301610ce4565b92602060019160ff8560181c168152019301610cdc565b92602060019160ff8560101c168152019301610cd4565b92602060019160ff8560081c168152019301610ccc565b92602060019160ff85168152019301610cc4565b916020919350610400600191865460ff8116825260ff8160081c168583015260ff8160101c16604083015260ff8160181c16606083015260ff81861c16608083015260ff8160281c1660a083015260ff8160301c1660c083015260ff8160381c1660e083015260ff8160401c1661010083015260ff8160481c1661012083015260ff8160501c1661014083015260ff8160581c1661016083015260ff8160601c1661018083015260ff8160681c166101a083015260ff8160701c166101c083015260ff8160781c166101e083015260ff8160801c1661020083015260ff8160881c1661022083015260ff8160901c1661024083015260ff8160981c1661026083015260ff8160a01c1661028083015260ff8160a81c166102a083015260ff8160b01c166102c083015260ff8160b81c166102e083015260ff8160c01c1661030083015260ff8160c81c1661032083015260ff8160d01c1661034083015260ff8160d81c1661036083015260ff8160e01c1661038083015260ff8160e81c166103a083015260ff8160f01c166103c083015260f81c6103e0820152019401920187929391610cac565b82546001600160a01b031684528a945060209093019260019283019201610c6f565b5f805260205260405f20908791610c17565b506020813d6020116116cf575b816116b96020938361235d565b810103126116cb57610bc99051610bbe565b5f80fd5b3d91506116ac565b6040513d88823e3d90fd5b50346103295780600319360112610329576040517029a1a422a22aa622a22fa0aaa1aa24a7a760791b8152602090f35b5034610329578060031936011261032957609e546040516001600160a01b039091168152602090f35b50346103295780600319360112610329576098546040516001600160a01b039091168152602090f35b50346103295780600319360112610329576033546040516001600160a01b039091168152602090f35b50346103295780600319360112610329576117a6613668565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610329578060031936011261032957602060ff60a05460a01c16604051908152f35b503461032957806003193601126103295760a0546040516001600160a01b039091168152602090f35b5034610329578060031936011261032957609d546040516001600160a01b039091168152602090f35b50346116cb5760c03660031901126116cb5761187a612284565b60243561188561229a565b91606435916084356001600160401b0381116116cb576118a99036906004016122fe565b91909360a4356001600160401b0381116116cb576118cb9036906004016122fe565b906118d4612622565b6118de8487612b6a565b6118e88487612c1a565b6118f48282878a612d31565b6001600160a01b038681165f81815260a5602090815260408083208984528252808320948d1683529390528290209151909790916119318361232e565b60018060a01b038154168352600181015460ff60036020860193838552600281015460408801520154818116606087015260081c161515608085015215611b7f5785905103611b2257875f5260a460205260405f20865f5260205260405f205f80526020526119a260405f20612400565b875f5260a560205260405f20865f5260205260405f2060018060a01b038b165f526020526119e460405f2060035f918281558260018201558260028201550155565b81516001600160a01b0316883b156116cb57604051906323b872dd60e01b825233600483015260248201528660448201525f81606481838d5af18015611b1757611b00575b50611a4f90611a3936898c61247e565b611a443687876124e0565b91878d8a3393612f22565b6097548a906001600160a01b0316803b156110385781809160648b6040519485938492635a3c652d60e01b845260048401528c6024840152600160448401525af1801561102d57611ae1575b50505160405133996001600160a01b03909216987f97c3d2068ce177bc33d84acecc45eededcf298c4a9d4340ae03d4afbb3993f7b979196879661100d96959488612534565b81611aef919594939561235d565b611afc579091895f611a9b565b8980fd5b611b0d919b505f9061235d565b5f99611a4f611a29565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152602f60248201527f6163636570744f666665723a3a4f6666657220616d6f756e74206f722063757260448201526e1c995b98de481b9bdd08195c5d585b608a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601c60248201527f6163636570744f666665723a3a4e6f206f6666657220657869737473000000006044820152606490fd5b346116cb575f3660031901126116cb576099546040516001600160a01b039091168152602090f35b346116cb575f3660031901126116cb57609b546040516001600160a01b039091168152602090f35b346116cb57611c22366122c4565b9160018060a01b03165f5260a560205260405f20905f5260205260405f209060018060a01b03165f5260205260a060405f2060ff600180841b0382541691600181015490600360028201549101549160405194855260208501526040840152818116606084015260081c1615156080820152f35b346116cb5760403660031901126116cb576001600160a01b03611cb7612284565b165f5260a760205260405f206024355f52602052608060405f2060018060a01b038154169060018060a01b036001820154169060ff600360028301549201541691604051938452602084015260408301526060820152f35b346116cb57611d1d366122c4565b6001600160a01b039283165f90815260a46020908152604080832094835293815283822092851682529182528290208054600182015460029092015484519186168252919094169184019190915290820152606090f35b346116cb575f3660031901126116cb5760206040515f8152f35b60a03660031901126116cb57611da2612284565b60243590611dae61229a565b60643591608435908115158092036116cb57611dc8612622565b611dd183612690565b83156121925760018060a01b031693845f5260a560205260405f20815f5260205260405f2060018060a01b0384165f5260205260405f20604051611e148161232e565b60018060a01b038254168152600182015490611e72600360208301948486526002810154604085015201549260ff6060840194818116865260081c16151560808401526064611e6b60ff60a05460a01c168361237e565b04906123a5565b871061212f576097546040516361fe24a960e11b81526004810189905290602090829060249082906001600160a01b03165afa908115611b17575f916120fb575b50611ec1611ed191896123a5565b611ecb818961275c565b8761283b565b6040516331a9108f60e11b8152600481018590526020816024818c5afa908115611b17575f916120dc575b506001600160a01b0316331461208b57609754604051638347592160e01b815290602090829060049082906001600160a01b03165afa938415611b175761200b9487898c8c60ff965f95612051575b5091600391879360405192611f5f8461232e565b338452602084019182526040840192428452866060860199168952608085019788525f5260a56020528d60405f20905f5260205260405f209060018060a01b03165f5260205260405f209260018060a01b039060018060a01b03905116166001600160601b0360a01b8454161783555160018301555160028201550192511661ff0083549251151560081b169161ffff191617179055519251169060018060a01b039051169186612adb565b6040519384526020840152604083015260018060a01b0316917facbe96367816f728b84abf006ca777225b704072592132845e9a3dbd7b02369160603393a46001606555005b87939195509161207a60039360203d602011612084575b612072818361235d565b8101906123d1565b9591935091611f4b565b503d612068565b60405162461bcd60e51b815260206004820152602360248201527f6f666665723a3a4f666665722063616e6e6f7420636f6d652066726f6d206f776044820152623732b960e91b6064820152608490fd5b6120f5915060203d60201161031757610309818361235d565b89611efc565b90506020813d602011612127575b816121166020938361235d565b810103126116cb5751611ec1611eb3565b3d9150612109565b60405162461bcd60e51b815260206004820152603560248201527f6f666665723a3a4d7573742062652067726561746572207468616e2070726576604482015274206f66666572202b206d696e20696e63726561736560581b6064820152608490fd5b60405162461bcd60e51b815260206004820152601960248201527f6f666665723a3a416d6f756e742063616e6e6f742062652030000000000000006044820152606490fd5b346116cb575f3660031901126116cb57602060a154604051908152f35b346116cb575f3660031901126116cb57609c546040516001600160a01b039091168152602090f35b346116cb575f3660031901126116cb57602060a354604051908152f35b346116cb575f3660031901126116cb57609a546040516001600160a01b039091168152602090f35b346116cb575f3660031901126116cb57609f546001600160a01b03168152602090f35b600435906001600160a01b03821682036116cb57565b604435906001600160a01b03821682036116cb57565b35906001600160a01b03821682036116cb57565b60609060031901126116cb576004356001600160a01b03811681036116cb5790602435906044356001600160a01b03811681036116cb5790565b9181601f840112156116cb578235916001600160401b0383116116cb576020808501948460051b0101116116cb57565b60a081019081106001600160401b0382111761234957604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761234957604052565b8181029291811591840414171561239157565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161239157565b908160209103126116cb57516001600160a01b03811681036116cb5790565b908160209103126116cb575160ff811681036116cb5790565b8181106123f5575050565b5f81556001016123ea565b6004905f81555f60018201555f60028201556003810180545f82558061244d575b50500180545f825580612432575050565b61244b915f52601f60205f20910160051c8101906123ea565b565b612460915f5260205f20908101906123ea565b5f80612421565b6001600160401b0381116123495760051b60200190565b92919061248a81612467565b93612498604051958661235d565b602085838152019160051b81019283116116cb57905b8282106124ba57505050565b602080916124c7846122b0565b8152019101906124ae565b359060ff821682036116cb57565b9291906124ec81612467565b936124fa604051958661235d565b602085838152019160051b81019283116116cb57905b82821061251c57505050565b60208091612529846124d2565b815201910190612510565b92859297969760a085019260018060a01b031685526020850152604084015260a060608401525260c0810191925f5b8181106125af5750506020925060808183039101528281520191905f5b81811061258d5750505090565b90919260208060019260ff6125a1886124d2565b168152019401929101612580565b909192602080600192838060a01b036125c7896122b0565b16815201950191019392919093612563565b9190820391821161239157565b90602080835192838152019201905f5b8181106126035750505090565b82516001600160a01b03168452602093840193909201916001016125f6565b600260655414612633576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b908160209103126116cb575180151581036116cb5790565b6001600160a01b031680159081156126e8575b50156126ab57565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420617070726f7665642063757272656e637960581b6044820152606490fd5b609d54604051632d5ad3d560e01b81526004810192909252909150602090829060249082906001600160a01b03165afa908115611b17575f9161272d575b505f6126a3565b61274f915060203d602011612755575b612747818361235d565b810190612678565b5f612726565b503d61273d565b6001600160a01b0316801561283757604051636eb1769f60e11b815233600482015230602482015290602090829060449082905afa908115611b17575f91612805575b50106127a757565b60405162461bcd60e51b815260206004820152603060248201527f73656e646572206e6565647320746f20617070726f7665206d61726b6574706c60448201526f61636520666f722063757272656e637960801b6064820152608490fd5b90506020813d60201161282f575b816128206020938361235d565b810103126116cb57515f61279f565b3d9150612813565b5050565b6001600160a01b03168015612a0757346129b1576040516370a0823160e01b815230600482015290602082602481845afa918215611b17575f9261297c575b506040516323b872dd60e01b6020828101919091523360248381019190915230604484015260648301869052939290916128cb906128c581608481015b03601f19810183528261235d565b826137e7565b6040516370a0823160e01b815230600482015293849182905afa8015611b17575f90612948575b6128fc92506125d9565b0361290357565b60405162461bcd60e51b815260206004820152601c60248201527f6e6f7420656e6f75676820746f6b656e73207472616e736665726564000000006044820152606490fd5b506020823d602011612974575b816129626020938361235d565b810103126116cb576128fc91516128f2565b3d9150612955565b91506020823d6020116129a9575b816129976020938361235d565b810103126116cb57905190602061287a565b3d915061298a565b60405162461bcd60e51b815260206004820152602860248201527f6d73672e76616c75652073686f756c642062652030207768656e206e6f7420756044820152670e6d2dcce40cae8d60c31b6064820152608490fd5b503403612a1057565b60405162461bcd60e51b81526020600482015260136024820152721b9bdd08195b9bdd59da08195d1a081cd95b9d606a1b6044820152606490fd5b3d15612a84573d906001600160401b0382116123495760405191612a79601f8201601f19166020018461235d565b82523d5f602084013e565b606090565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b15612abb5750565b60405162461bcd60e51b8152908190612ad79060048301612a89565b0390fd5b91908015612b64576064611e6b612af2938361237e565b906001600160a01b03168015612b0c579161244b926136c0565b50609e5460405163410085df60e01b602082019081526001600160a01b0394851660248301526044820184905261244b945f94859490911692612b5281606481016128b7565b51925af1612b5e612a4b565b90612ab3565b50505050565b6040516331a9108f60e11b81526004810192909252602090829060249082906001600160a01b03165afa908115611b17575f91612bfb575b50336001600160a01b0390911603612bb657565b60405162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652074686520746f6b656e206f776e657200006044820152606490fd5b612c14915060203d60201161031757610309818361235d565b5f612ba2565b6040516331a9108f60e11b815260048101929092526001600160a01b031690602081602481855afa8015611b1757612c8a926020925f92612d12575b5060405163e985e9c560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03915afa908115611b17575f91612cf3575b5015612ca457565b60405162461bcd60e51b815260206004820152602160248201527f6f776e6572206d757374206861766520617070726f76656420636f6e747261636044820152601d60fa1b6064820152608490fd5b612d0c915060203d60201161275557612747818361235d565b5f612c9c565b612d2a919250833d851161031757610309818361235d565b905f612c56565b508015612e885760058111612e37578203612ddd575f92835b83851015612d79578460051b8301359060ff82168092036116cb57600191612d71916123a5565b940193612d4a565b915092506064915003612d8857565b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a546f74616c206d75737420626520657175616c604482015266020746f203130360cc1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602c60248201527f636865636b53706c6974733a3a53706c69747320616e6420726174696f73206d60448201526b1d5cdd08189948195c5d585b60a21b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f636865636b53706c6974733a3a53706c6974206578636565646564206d61782060448201526373697a6560e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f636865636b53706c6974733a3a4d7573742068617665206174206c65617374206044820152660c481cdc1b1a5d60ca1b6064820152608490fd5b805115612eea5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015612eea5760400190565b8051821015612eea5760209160051b010190565b919593969294968751855103613607576097546040516361fe24a960e11b8152600481018890526001600160a01b0390911692879291602081602481885afa908115611b17575f916135d5575b5060405194612f7f60608761235d565b600286526040908136602089013760a0546001600160a01b031680612fa389612edd565b52609f5460405163e286ef3360e01b81526001600160a01b039788166004820181905297909160209183916024918391165afa908115611b17575f916135b6575b506001600160a01b0316612ff789612efe565b526001600160a01b0361300989612efe565b511661359d575b61301988612efe565b6001600160a01b0390911690526040519161303560608461235d565b600283523660208401376040516303fdde1160e21b8152600481018c9052602081602481855afa908115611b17575f9161356b575b5061307483612edd565b5260208b60246040518094819363470d6ed960e11b835260048301525afa8015611b175787915f91613534575b50926130b7936130b084612efe565b528c613701565b609754604051631446f21360e21b81526001600160a01b03878116600483015260248201849052909160209183916044918391165afa908115611b17575f91613515575b5061335e5750604090815194613111838761235d565b60018652601f198301948536602089013783519561312f858861235d565b600187523660208801376001600160a01b039061314b90612edd565b511661315686612edd565b52609c548351635dc22eff60e01b81526004810184905290602090829060249082906001600160a01b03165afa908115613354575f91613335575b50156132d45750609c548251632260494f60e01b81526004810192909252602090829060249082906001600160a01b03165afa9182156132cb575061321b9493926131fa60ff606494613200945f916132ac575b501691846131f3848d61237e565b04906125d9565b9861237e565b0461320a83612edd565b5261321482612edd565b5187613701565b84519061322782612467565b91613235604051938461235d565b808352613244601f1991612467565b013660208401375f95865b815188101561329c57613294600191606461327760ff61326f8d8b612f0e565b51168a61237e565b046132828b88612f0e565b526064611e6b60ff61326f8d8b612f0e565b97019661324f565b9294509250945061244b93613701565b6132c5915060203d60201161208457612072818361235d565b5f6131e5565b513d5f823e3d90fd5b609754835163b28a7bad60e01b81526001600160a01b039283166004820152925060209183916024918391165afa9182156132cb57506133309493926131fa60ff606494613200945f916132ac57501691846131f3848d61237e565b61321b565b61334e915060203d60201161275557612747818361235d565b5f613191565b84513d5f823e3d90fd5b609954604051637a99dc0160e11b81526001600160a01b03968716600482015260248101929092526044820189905295999798909796909590945f94508893506064925083918591165af1958615611b17575f945f97613401575b505f94855b88518710156133e6576133de6001916133d7898c612f0e565b51906123a5565b9601956133be565b95506133fa866133309496999395986125d9565b9587613701565b945095503d805f863e613414818661235d565b8401936040818603126116cb5780516001600160401b0381116116cb5781019085601f830112156116cb57815161344a81612467565b92613458604051948561235d565b81845260208085019260051b820101908882116116cb57602001915b8183106134f5575050506020810151906001600160401b0382116116cb57019480601f870112156116cb5785516134aa81612467565b966134b8604051988961235d565b81885260208089019260051b8201019283116116cb57602001905b8282106134e55750505093955f6133b9565b81518152602091820191016134d3565b82516001600160a01b03811681036116cb57815260209283019201613474565b61352e915060203d60201161275557612747818361235d565b5f6130fb565b9150506020813d602011613563575b816135506020938361235d565b810103126116cb575186906130b76130a1565b3d9150613543565b90506020813d602011613595575b816135866020938361235d565b810103126116cb57515f61306a565b3d9150613579565b506001600160a01b036135af88612efe565b5116613010565b6135cf915060203d60201161031757610309818361235d565b5f612fe4565b90506020813d6020116135ff575b816135f06020938361235d565b810103126116cb57515f612f6f565b3d91506135e3565b60405162461bcd60e51b815260206004820152603360248201527f4e756d626572206f662073706c69742061646472657373657320616e642072616044820152723a34b7b99036bab9ba1031329032b8bab0b61760691b6064820152608490fd5b6033546001600160a01b0316330361367c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60405163a9059cbb60e01b60208201526001600160a01b0392909216602483015260448083019390935291815261244b916136fc60648361235d565b6137e7565b9293929091906001600160a01b0316806137a0575060018060a01b03609e541691604051613748602082019363c176e63960e01b85526040602484015260648301906125e6565b602319828203016044830152602080885192838152019701905f5b81811061378a57505050915f939183612b52869561244b989903601f19810183528261235d565b8251895260209889019890920191600101613763565b9391505f5b81518110156137e0576001906137da6001600160a01b036137c68386612f0e565b51166137d28387612f0e565b5190886136c0565b016137a5565b5050509050565b906138479160018060a01b03165f806040519361380560408661235d565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1613841612a4b565b916138cf565b80519081159182156138b5575b50501561385d57565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b6138c89250602080918301019101612678565b5f80613854565b9192901561393157508151156138e3575090565b3b156138ec5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612abb5750805190602001fdfea2646970667358221220b38514a2b9cdc6f450d896cc9fa3fda760041a04a67d35d54e8dd4659915979a64736f6c634300081c0033","sourceMap":"768:10491:70:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;9044:24:70;;768:10491;9044:24;;768:10491;;;;;;-1:-1:-1;;;;;768:10491:70;;;;9044:24;768:10491;;9044:24;;;;;;;;;;;768:10491;-1:-1:-1;;;;;;768:10491:70;9083:10;:24;768:10491;;;;;9162:15;768:10491;;;;;;;;;;;;;9162:51;768:10491;;;;;;-1:-1:-1;768:10491:70;;;9155:58;768:10491;-1:-1:-1;768:10491:70;9155:58;:::i;:::-;768:10491;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;9225:108;;;;;;;;;768:10491;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;9044:24;768:10491;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;9044:24;;;;768:10491;9044:24;768:10491;9044:24;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;768:10491;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;;:::i;:::-;1303:62:19;;:::i;:::-;-1:-1:-1;;;;;768:10491:70;2402:22:19;;768:10491:70;;2758:6:19;768:10491:70;;-1:-1:-1;;;;;;768:10491:70;;;;;;;-1:-1:-1;;;;;768:10491:70;2806:40:19;;;;768:10491:70;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;:::i;:::-;2471:103:27;;;:::i;:::-;768:10491:70;;;;;;;;;;5859:18;768:10491;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10491:70;;;;-1:-1:-1;768:10491:70;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5937:21;768:10491;;;;-1:-1:-1;;;;;768:10491:70;6039:10;6020:29;768:10491;;6116:37;768:10491;;6116:15;:37;:::i;:::-;6156:21;768:10491;-1:-1:-1;768:10491:70;;;6292:86;768:10491;;;;5859:18;768:10491;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10491:70;;;6215:70;768:10491;-1:-1:-1;768:10491:70;;-1:-1:-1;768:10491:70;;;;;;;;;;;;;;;;;6215:70;768:10491;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;6292:86;;:::i;:::-;768:10491;;;;;;;;;;;;;;;;;6039:10;6390:86;768:10491;6039:10;6390:86;;768:10491;3053:22:27;768:10491:70;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;6547:37:62;768:10491:70;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;;:::i;:::-;;;;:::i;:::-;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;:::i;:::-;7798:16;;;;:::i;:::-;7862:8;768:10491;;7862:8;;:::i;:::-;7934;768:10491;;7934:8;;:::i;:::-;7979:12;;;;;;:::i;:::-;768:10491;;;;;;:::i;:::-;8078:10;768:10491;;;8053:127;;768:10491;;;;;;;;;;;8053:127;;768:10491;;;;;;;;;:::i;:::-;8053:127;768:10491;8053:127;;768:10491;;;;;;;;:::i;:::-;8053:127;768:10491;8053:127;;768:10491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10491:70;;;;-1:-1:-1;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;-1:-1:-1;;768:10491:70;;-1:-1:-1;;;;;768:10491:70;;;;;;;;8192:109;;768:10491;;8192:109;;768:10491;;;;-1:-1:-1;768:10491:70;;;;;;;;8192:109;:::i;:::-;;;;768:10491;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;8192:109;;768:10491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;;;;-1:-1:-1;;;;;768:10491:70;;:::i;:::-;;;;7097:68:62;768:10491:70;;;;;;;;;;;;;;;;;;;;7097:68:62;768:10491:70;7097:68:62;;768:10491:70;7097:68:62;;;;768:10491:70;7097:68:62;;;768:10491:70;;;;;;;7097:68:62;;768:10491:70;;7097:68:62;;;;;768:10491:70;7097:68:62;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5377:47:62;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;-1:-1:-1;768:10491:70;;-1:-1:-1;;768:10491:70;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;2471:103:27;;;:::i;:::-;3802:16:70;;;:::i;:::-;3883:8;;;;:::i;:::-;3934:19;768:10491;;;-1:-1:-1;;;3934:52:70;;768:10491;3934:52;;768:10491;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;3934:52;;;;;;;;;;768:10491;3924:62;;;;;:::i;:::-;-1:-1:-1;;;;;768:10491:70;;;;;4044:15;768:10491;;;;;;;;;;;;;;;;4126:10;-1:-1:-1;768:10491:70;;;;;;;;;4115:29;;768:10491;;;;;;;4115:34;:84;;4126:10;-1:-1:-1;768:10491:70;;;;;;;;;;;4115:84;;;;768:10491;;;;;;:::i;:::-;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;4115:29;768:10491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;4214:38;768:10491;;;;4307:13;768:10491;;;;-1:-1:-1;;;4431:24:70;;768:10491;4431:24;;768:10491;;;;;;;;4431:24;;;;;;;;;;;;768:10491;-1:-1:-1;768:10491:70;;-1:-1:-1;;;;;768:10491:70;;;;;;4470:23;768:10491;;;4540:20;;768:10491;;4773:14;768:10491;;;;;4044:15;768:10491;;;;;;;;;;;;;;;;;;4126:10;768:10491;-1:-1:-1;768:10491:70;;;4596:61;768:10491;-1:-1:-1;768:10491:70;4596:61;:::i;:::-;768:10491;;;4044:15;768:10491;;;;;;;;;;;;;-1:-1:-1;768:10491:70;;;;4663:61;768:10491;-1:-1:-1;768:10491:70;4663:61;:::i;:::-;4773:14;;:::i;:::-;768:10491;;;4820:18;768:10491;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10491:70;;;;-1:-1:-1;768:10491:70;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;4115:29;768:10491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4126:10;4894:29;4890:210;;768:10491;5106:53;;;;;;;768:10491;;-1:-1:-1;;;5106:53:70;;-1:-1:-1;;;;;768:10491:70;;;;;5106:53;;768:10491;4126:10;768:10491;;;;;;;;;;;;;;;5106:53;;;;;;;;;768:10491;;;5166:108;768:10491;;;;;;;;;;;;5239:18;;5259:14;;5166:108;;:::i;:::-;3934:19;768:10491;;;-1:-1:-1;;;;;768:10491:70;5281:68;;;;;768:10491;;;;;;;;;;;;;5281:68;;;768:10491;5281:68;;768:10491;;;;;;;;;;;5281:68;;;;;;;;768:10491;-1:-1:-1;;768:10491:70;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;4126:10;;-1:-1:-1;5361:81:70;;768:10491;;;;5361:81;;;;768:10491;3053:22:27;768:10491:70;;;5281:68;;;;;:::i;:::-;768:10491;;5281:68;;;;;768:10491;;;;;;;;;5281:68;768:10491;;;5106:53;;;;;:::i;:::-;768:10491;;5106:53;;;;768:10491;;;;4890:210;5012:81;768:10491;;;;4820:18;768:10491;;;;;;;;;;;;;;;;;;;;-1:-1:-1;768:10491:70;;;4933:70;768:10491;-1:-1:-1;768:10491:70;;-1:-1:-1;768:10491:70;;;;;;;;;;;;;;;;;4933:70;768:10491;;4126:10;768:10491;;;5012:81;;;:::i;:::-;4890:210;;;;768:10491;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;4431:24;;;;;768:10491;4431:24;768:10491;4431:24;;;;;;;:::i;:::-;;;;;;768:10491;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;-1:-1:-1;768:10491:70;;;;;;;;;;;;;4115:84;-1:-1:-1;768:10491:70;;;;;-1:-1:-1;768:10491:70;4115:84;;;;;3934:52;;768:10491;3934:52;;768:10491;3934:52;;;;;;768:10491;3934:52;;;:::i;:::-;;;768:10491;;;;3924:62;768:10491;;3934:52;;768:10491;-1:-1:-1;768:10491:70;;3934:52;;;-1:-1:-1;3934:52:70;;;768:10491;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;6119:25:62;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;5484:43:62;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;1513:6:19;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;1303:62:19;;:::i;:::-;2758:6;768:10491:70;;-1:-1:-1;;;;;;768:10491:70;;;;;;;-1:-1:-1;;;;;768:10491:70;2806:40:19;768:10491:70;;2806:40:19;768:10491:70;;;;;;;;;;;;;;;;;6372:41:62;768:10491:70;6372:41:62;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;6025:51:62;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;:::i;:::-;2471:103:27;;;:::i;:::-;10230:8:70;;;;:::i;:::-;10302;;;;:::i;:::-;10347:12;;;;;;:::i;:::-;-1:-1:-1;;;;;768:10491:70;;;;;;;10392:18;768:10491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10470:21;768:10491;;;;;10539:27;768:10491;;;;;;;;;;;;;;;;;;;;;;;;10625:61;768:10491;;;10625:61;:::i;:::-;768:10491;;;10392:18;768:10491;;;;;;;;;;;;;;;;;;;;;;;;10693:70;768:10491;;;;-1:-1:-1;768:10491:70;;;;;;;;;;;;;;;;;10693:70;768:10491;;-1:-1:-1;;;;;768:10491:70;10817:58;;;;;768:10491;;;;;;10817:58;;10837:10;768:10491;10817:58;;768:10491;;;;;;;;;;;10817:58;768:10491;10817:58;;;;;;;;;;;768:10491;;10882:104;768:10491;;;;;;:::i;:::-;;;;;;:::i;:::-;10837:10;;;;;10882:104;;:::i;:::-;10993:19;768:10491;;;-1:-1:-1;;;;;768:10491:70;10993:68;;;;;768:10491;;;;;;;;;;;;;;;10993:68;;768:10491;10993:68;;768:10491;;;;;;;;;;;10993:68;;;;;;;;768:10491;-1:-1:-1;;768:10491:70;;;10837:10;;-1:-1:-1;;;;;768:10491:70;;;;11073:179;;768:10491;;;;11073:179;;;768:10491;;11073:179;:::i;10993:68::-;;;;;;;;;:::i;:::-;768:10491;;10993:68;;;;;;768:10491;;;;10817:58;;;;;768:10491;10817:58;;:::i;:::-;768:10491;;10882:104;10817:58;;;768:10491;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;5586:37:62;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;5789:36:62;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6940:91:62;768:10491:70;;;;;;;;;;;;;6940:91:62;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;6940:91:62;;;;768:10491:70;6940:91:62;;;;;768:10491:70;6940:91:62;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;-1:-1:-1;;;;;768:10491:70;;:::i;:::-;;;;7227:62:62;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7227:62:62;;768:10491:70;;7227:62:62;768:10491:70;7227:62:62;;;;768:10491:70;7227:62:62;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;768:10491:70;;;;;;;6745:92:62;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6745:92:62;;768:10491:70;6745:92:62;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;2471:103:27;;:::i;:::-;1853:16:70;;;:::i;:::-;1884:11;;768:10491;;;;;;;;;;;;1957:18;768:10491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2053:76;768:10491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:47;768:10491;;;;;;2074:47;;:::i;:::-;768:10491;2053:76;;:::i;:::-;2042:87;;768:10491;;2240:19;768:10491;;;-1:-1:-1;;;2240:52:70;;768:10491;2240:52;;768:10491;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;2240:52;;;;;;;768:10491;2240:52;;;768:10491;2230:62;;2416:14;2230:62;;;:::i;:::-;2352:14;;;;:::i;:::-;2416;;:::i;:::-;768:10491;;-1:-1:-1;;;2493:24:70;;768:10491;2493:24;;768:10491;;;;;;;2493:24;;;;;;;;768:10491;2493:24;;;768:10491;-1:-1:-1;;;;;;768:10491:70;2521:10;2493:38;768:10491;;2240:19;768:10491;;;-1:-1:-1;;;2722:49:70;;768:10491;;;;;;;;;-1:-1:-1;;;;;768:10491:70;2722:49;;;;;;;2804:86;2722:49;;;;;768:10491;2722:49;768:10491;2722:49;;;768:10491;;;;;;;;;;;;;:::i;:::-;2521:10;768:10491;;;2644:153;;768:10491;;;;2644:153;;2699:15;;768:10491;;2644:153;768:10491;2644:153;;768:10491;;;;;2644:153;;768:10491;;;;;1957:18;768:10491;;;;;;;;;;;;;;2578:63;768:10491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2804:86;;;:::i;:::-;768:10491;;;;;;;;;;;;;;;;;;;2521:10;2902:91;768:10491;2521:10;2902:91;;768:10491;3053:22:27;768:10491:70;;2722:49;;;;;;;;768:10491;2722:49;768:10491;2722:49;768:10491;2722:49;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;768:10491;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;2493:24;;;;768:10491;2493:24;768:10491;2493:24;;;;;;;:::i;:::-;;;;2240:52;;;768:10491;2240:52;;768:10491;2240:52;;;;;;768:10491;2240:52;;;:::i;:::-;;;768:10491;;;;;2230:62;2240:52;;;;;-1:-1:-1;2240:52:70;;768:10491;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;6474:31:62;768:10491:70;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;5892:51:62;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;6619:36:62;768:10491:70;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;5688:35:62;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;6195:30:62;768:10491:70;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;768:10491:70;;;;;;:::o;:::-;;;-1:-1:-1;;;;;768:10491:70;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;:::o;:::-;;;;-1:-1:-1;768:10491:70;;;;;-1:-1:-1;768:10491:70;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;768:10491:70;;-1:-1:-1;768:10491:70;;;;-1:-1:-1;768:10491:70;;;;;;;;;-1:-1:-1;768:10491:70;;;;;;;;;;;-1:-1:-1;768:10491:70;;;;;;;:::o;:::-;;;-1:-1:-1;768:10491:70;;;-1:-1:-1;768:10491:70;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;768:10491:70;;-1:-1:-1;768:10491:70;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;768:10491:70;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;2580:287:27;1830:1;2712:7;768:10491:70;2712:19:27;1830:1;;;2712:7;768:10491:70;2580:287:27:o;1830:1::-;768:10491:70;;-1:-1:-1;;;1830:1:27;;;;;;;;;;;768:10491:70;1830:1:27;768:10491:70;;;1830:1:27;;;;768:10491:70;;;;;;;;;;;;;;;;;;:::o;1157:228:61:-;-1:-1:-1;;;;;768:10491:70;1254:30:61;;;:89;;;;1157:228;768:10491:70;;;;1157:228:61:o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;1254:89:61;1288:21;768:10491:70;;;-1:-1:-1;;;1288:55:61;;;;;768:10491:70;;;;;;-1:-1:-1;768:10491:70;;;;1288:55:61;;768:10491:70;;-1:-1:-1;;;;;768:10491:70;1288:55:61;;;;;;;1282:1;1288:55;;;1254:89;;;;;1288:55;;;;768:10491:70;1288:55:61;768:10491:70;1288:55:61;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;3598:314;-1:-1:-1;;;;;768:10491:70;3702:23:61;;3698:50;;768:10491:70;;-1:-1:-1;;;3801:42:61;;3817:10;3801:42;;;768:10491:70;3837:4:61;768:10491:70;;;;;3801:42:61;;768:10491:70;;;;;;3801:42:61;;;;;;;3723:1;3801:42;;;3598:314;3801:53;;768:10491:70;;3598:314:61:o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;3801:42:61;;768:10491:70;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;3801:42:61;;;;;;;;;;;;;768:10491:70;3801:42:61;;;:::i;:::-;;;768:10491:70;;;;;3801:42:61;;;;;;-1:-1:-1;3801:42:61;;3698:50;3735:7;;:::o;4369:604::-;-1:-1:-1;;;;;768:10491:70;4464:30:61;;4460:117;;4591:9;768:10491:70;;;;-1:-1:-1;;;4726:30:61;;4750:4;4726:30;;;768:10491:70;;;;4726:30:61;768:10491:70;;4726:30:61;;;;;;;4492:1;4726:30;;;4369:604;-1:-1:-1;768:10491:70;;-1:-1:-1;;;768:10491:70;1482:68:39;;;;;;;4786:10:61;4726:30;1482:68:39;;;768:10491:70;;;;4750:4:61;768:10491:70;;;;;;;;;;4726:30:61;768:10491:70;;;1482:68:39;;;768:10491:70;;;;1482:68:39;;768:10491:70;;1482:68:39;;;;;;:::i;:::-;;;:::i;:::-;768:10491:70;;-1:-1:-1;;;4851:30:61;;4750:4;4726:30;4851;;768:10491:70;;;;;;4851:30:61;;;;;;4492:1;4851:30;;;4369:604;4896:28;;;;:::i;:::-;:39;768:10491:70;;4369:604:61:o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;;4726:30:61;768:10491:70;;;;4726:30:61;768:10491:70;;;;;;;;;;;4851:30:61;;768:10491:70;4851:30:61;;768:10491:70;4851:30:61;;;;;;768:10491:70;4851:30:61;;;:::i;:::-;;;768:10491:70;;;;4896:28:61;768:10491:70;;4851:30:61;;;;;-1:-1:-1;4851:30:61;;4726;;;768:10491:70;4726:30:61;;768:10491:70;4726:30:61;;;;;;768:10491:70;4726:30:61;;;:::i;:::-;;;768:10491:70;;;;;;;;4726:30:61;;;;;-1:-1:-1;4726:30:61;;768:10491:70;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;4460:117:61;4512:9;;:20;768:10491:70;;4564:7:61:o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;;:::i;:::-;;;;-1:-1:-1;768:10491:70;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;768:10491:70;;;;:::o;:::-;;;;;:::o;:::-;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;:::i;:::-;;;;5400:645:61;;;5544:12;;5540:39;;5651:3;5622:25;5610:45;5622:25;;;:::i;5610:45::-;768:10491:70;-1:-1:-1;;;;;768:10491:70;5666:30:61;;5662:281;;6025:14;;;;:::i;5662:281::-;-1:-1:-1;5750:8:61;768:10491:70;;;-1:-1:-1;;;5797:78:61;;;;;;-1:-1:-1;;;;;768:10491:70;;;5797:78:61;;;768:10491:70;;;;;;;5892:30:61;;5555:1;;;;768:10491:70;;;;5797:78:61;768:10491:70;;;;5797:78:61;768:10491:70;5797:78:61;5742:141;;;;;;:::i;:::-;5892:30;;:::i;5540:39::-;5566:7;;;;:::o;2078:229::-;768:10491:70;;-1:-1:-1;;;2229:24:61;;;;;768:10491:70;;;;;;;;2229:24:61;;768:10491:70;;-1:-1:-1;;;;;768:10491:70;2229:24:61;;;;;;;-1:-1:-1;2229:24:61;;;2078:229;-1:-1:-1;2257:10:61;-1:-1:-1;;;;;768:10491:70;;;2229:38:61;768:10491:70;;2078:229:61:o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;;2229:24:61;768:10491:70;;;;2229:24:61;768:10491:70;;;;;;;;;;;2229:24:61;;;;768:10491:70;2229:24:61;768:10491:70;2229:24:61;;;;;;;:::i;:::-;;;;1592:301;768:10491:70;;-1:-1:-1;;;1767:24:61;;;;;768:10491:70;;;;-1:-1:-1;;;;;768:10491:70;;;;1767:24:61;768:10491:70;;1767:24:61;;;;;;1805:45;1767:24;768:10491:70;1767:24:61;-1:-1:-1;1767:24:61;;;1592:301;-1:-1:-1;768:10491:70;;-1:-1:-1;;;1805:45:61;;-1:-1:-1;;;;;768:10491:70;;;1767:24:61;1805:45;;768:10491:70;1844:4:61;768:10491:70;;;;;;;;-1:-1:-1;768:10491:70;;;;;;;;;1805:45:61;;;;;;;;;;-1:-1:-1;1805:45:61;;;1592:301;768:10491:70;;;;1592:301:61:o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;;1767:24:61;768:10491:70;;;;1767:24:61;768:10491:70;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;1805:45:61;;;;768:10491:70;1805:45:61;768:10491:70;1805:45:61;;;;;;;:::i;:::-;;;;1767:24;;;;;;;;;;;;;;;:::i;:::-;;;;;2696:542;;2808:18;;768:10491:70;;2902:1:61;2884:19;;768:10491:70;;2958:32:61;;768:10491:70;;2825:1:61;;;3114:3;3094:18;;;;;;768:10491:70;2902:1:61;768:10491:70;;;;;;;;;;;;;;3127:24:61;;;;:::i;:::-;3114:3;768:10491:70;3079:13:61;;;3094:18;;;;;3186:3;3094:18;;3172:17;768:10491:70;;2696:542:61:o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;3186:3:61;768:10491:70;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;768:10491:70;;;;;-1:-1:-1;768:10491:70;;;;8207:1:61;768:10491:70;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;6955:3613:61:-;;;;;;;;768:10491:70;;;;7197:41:61;768:10491:70;;8017:19:61;768:10491:70;;;-1:-1:-1;;;8017:52:61;;;;;768:10491:70;;;-1:-1:-1;;;;;768:10491:70;;;;;;7879:33:61;768:10491:70;;8017:52:61;768:10491:70;;8017:52:61;;;;;;;-1:-1:-1;8017:52:61;;;6955:3613;768:10491:70;;;;;;;;:::i;:::-;8137:1:61;768:10491:70;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;8145:44:61;;;:::i;:::-;768:10491:70;8241:15:61;768:10491:70;;;-1:-1:-1;;;8220:81:61;;-1:-1:-1;;;;;768:10491:70;;;8017:52:61;8220:81;;768:10491:70;;;;;;;;;;8017:52:61;;768:10491:70;;;8220:81:61;;;;;;;-1:-1:-1;8220:81:61;;;6955:3613;-1:-1:-1;;;;;;768:10491:70;8195:107:61;;;:::i;:::-;768:10491:70;-1:-1:-1;;;;;8325:14:61;;;:::i;:::-;768:10491:70;;8325:75:61;;;8308:92;;;:::i;:::-;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;:::i;:::-;8137:1:61;768:10491:70;;;;;;;;;-1:-1:-1;;;8466:85:61;;8017:52;8466:85;;768:10491:70;;;;;8017:52:61;768:10491:70;8466:85:61;;;;;;;;-1:-1:-1;8466:85:61;;;8325:75;8454:97;;;;:::i;:::-;768:10491:70;;;8017:52:61;768:10491:70;;;;;;;;;8569:75:61;;8017:52;8569:75;;768:10491:70;8569:75:61;;;;;;;;-1:-1:-1;8569:75:61;;;8325;8557:87;;8714:6;8557:87;;;;:::i;:::-;768:10491:70;8714:6:61;;:::i;:::-;8017:19;768:10491:70;;;-1:-1:-1;;;8733:65:61;;-1:-1:-1;;;;;768:10491:70;;;8017:52:61;8733:65;;768:10491:70;;;;;;;;;;;;;;;;;;8733:65:61;;;;;;;-1:-1:-1;8733:65:61;;;8325:75;-1:-1:-1;8732:66:61;;768:10491:70;;;;;;;;;;:::i;:::-;8207:1:61;768:10491:70;;-1:-1:-1;;768:10491:70;;;;;;;;;;;;;;;;:::i;:::-;8207:1:61;768:10491:70;;;;;;;-1:-1:-1;;;;;768:10491:70;8955:14:61;;;:::i;:::-;768:10491:70;;8936:33:61;;;:::i;:::-;768:10491:70;8982:21:61;768:10491:70;;;-1:-1:-1;;;8982:54:61;;8017:52;8982:54;;768:10491:70;;;;;;;;8017:52:61;;768:10491:70;;-1:-1:-1;;;;;768:10491:70;8982:54:61;;;;;;;-1:-1:-1;8982:54:61;;;8728:1462;-1:-1:-1;8978:766:61;;;-1:-1:-1;8982:21:61;768:10491:70;;;-1:-1:-1;;;9077:52:61;;8017;9077;;768:10491:70;;;;;;;;8017:52:61;;768:10491:70;;-1:-1:-1;;;;;768:10491:70;9077:52:61;;;;;;;;9354:11;9077:52;;;9158:56;768:10491:70;9210:3:61;9077:52;9243:28;9077:52;-1:-1:-1;9077:52:61;;;8978:766;768:10491:70;;9178:28:61;;;;;;:::i;:::-;768:10491:70;9158:56:61;;:::i;:::-;9243:28;;:::i;:::-;768:10491:70;9225:53:61;;;:::i;:::-;768:10491:70;9323:14:61;;;:::i;:::-;768:10491:70;9354:11:61;;:::i;:::-;768:10491:70;;10229:33:61;768:10491:70;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;10342:3:61;768:10491:70;;10318:22:61;;;;;10423:55;8207:1;10393:15;10412:3;10375:33;768:10491:70;10393:15:61;;;;:::i;:::-;768:10491:70;;10375:33:61;;:::i;:::-;768:10491:70;10355:60:61;;;;:::i;:::-;768:10491:70;10412:3:61;10438:33;768:10491:70;10456:15:61;;;;:::i;10423:55::-;10342:3;768:10491:70;10303:13:61;;;10318:22;;;;;;;;10549:13;10318:22;10549:13;:::i;9077:52::-;;;;768:10491:70;9077:52:61;768:10491:70;9077:52:61;;;;;;;:::i;:::-;;;;;768:10491:70;;-1:-1:-1;768:10491:70;;;;;8978:766:61;8017:19;768:10491:70;;;-1:-1:-1;;;9420:78:61;;-1:-1:-1;;;;;768:10491:70;;;8017:52:61;9420:78;;768:10491:70;;-1:-1:-1;768:10491:70;;;;8017:52:61;;768:10491:70;;;9420:78:61;;;;;;;;9723:11;9420:78;;;9527:56;768:10491:70;9579:3:61;9420:78;9612:28;9420:78;-1:-1:-1;9420:78:61;;;768:10491:70;;9547:28:61;;;;;;:::i;9723:11::-;8978:766;;8982:54;;;;768:10491:70;8982:54:61;768:10491:70;8982:54:61;;;;;;;:::i;:::-;;;;;768:10491:70;;;-1:-1:-1;768:10491:70;;;;;8728:1462:61;9831:13;768:10491:70;;;-1:-1:-1;;;9831:92:61;;-1:-1:-1;;;;;768:10491:70;;;8017:52:61;9831:92;;768:10491:70;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;-1:-1:-1;768:10491:70;;-1:-1:-1;768:10491:70;;-1:-1:-1;;768:10491:70;9831:92:61;;;;;;;-1:-1:-1;;;9831:92:61;;;8728:1462;-1:-1:-1;;;;10009:3:61;768:10491:70;;9987:20:61;;;;;10024:30;8207:1;10042:12;;;;;:::i;:::-;768:10491:70;10024:30:61;;:::i;:::-;10009:3;768:10491:70;9972:13:61;;;9987:20;;;10071:33;9987:20;10173:9;9987:20;;;;;;10071:33;:::i;:::-;10173:9;;;:::i;9831:92::-;;;;;;;-1:-1:-1;9831:92:61;;;;;;:::i;:::-;;;768:10491:70;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;9831:92:61;;;;;;;;768:10491:70;;;;;;;;;;;;;;;;-1:-1:-1;;;;;768:10491:70;;;;;;;;;;;;;;;;8733:65:61;;;;768:10491:70;8733:65:61;768:10491:70;8733:65:61;;;;;;;:::i;:::-;;;;8569:75;;;;768:10491:70;8569:75:61;;768:10491:70;8569:75:61;;;;;;768:10491:70;8569:75:61;;;:::i;:::-;;;768:10491:70;;;;;;;8714:6:61;8569:75;;;;;-1:-1:-1;8569:75:61;;8466:85;;;768:10491:70;8466:85:61;;768:10491:70;8466:85:61;;;;;;768:10491:70;8466:85:61;;;:::i;:::-;;;768:10491:70;;;;;8466:85:61;;;;;;-1:-1:-1;8466:85:61;;8325:75;-1:-1:-1;;;;;;8386:14:61;;;:::i;:::-;768:10491:70;;8325:75:61;;8220:81;;;;768:10491:70;8220:81:61;768:10491:70;8220:81:61;;;;;;;:::i;:::-;;;;8017:52;;;768:10491:70;8017:52:61;;768:10491:70;8017:52:61;;;;;;768:10491:70;8017:52:61;;;:::i;:::-;;;768:10491:70;;;;;8017:52:61;;;;;;-1:-1:-1;8017:52:61;;768:10491:70;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;1599:130:19;1513:6;768:10491:70;-1:-1:-1;;;;;768:10491:70;929:10:30;1662:23:19;768:10491:70;;1599:130:19:o;768:10491:70:-;;;;;;;;;;;;;;;;;;;;;;;;;941:175:39;768:10491:70;;-1:-1:-1;;;1050:58:39;;;;-1:-1:-1;;;;;768:10491:70;;;;1050:58:39;;;768:10491:70;;;;;;;;;1050:58:39;;;;;;768:10491:70;;1050:58:39;:::i;:::-;;:::i;10572:609:61:-;;;;;;;-1:-1:-1;;;;;768:10491:70;10744:30:61;768:10491:70;;;;;;;;10828:8:61;768:10491:70;;;;;;10868:72:61;;;10891:25;;;;10868:72;;768:10491:70;10868:72:61;;;768:10491:70;;;;;;:::i;:::-;;;;;;;;;;;10868:72:61;768:10491:70;;;;;;;;;;;10772:1:61;768:10491:70;;;;;;10868:72:61;;;;10772:1;10868:72;;;;;;10957:30;10868:72;;;768:10491:70;;10868:72:61;;;;;;:::i;768:10491:70:-;;;;;10868:72:61;768:10491:70;;;;;;;;;;;;10740:437:61;11061:13;;;10772:1;11100:3;768:10491:70;;11076:22:61;;;;;768:10491:70;;11115:47:61;-1:-1:-1;;;;;11134:14:61;768:10491:70;11134:14:61;;:::i;:::-;768:10491:70;;11150:11:61;;;;:::i;:::-;768:10491:70;11115:47:61;;;:::i;:::-;768:10491:70;11061:13:61;;11076:22;;;;;;10572:609::o;5173:642:39:-;;5535:69:44;5173:642:39;768:10491:70;;;;;;-1:-1:-1;768:10491:70;;;;;;;;:::i;:::-;;;;;;;;;;5487:31:44;;;;;;;;;;:::i;:::-;5535:69;;:::i;:::-;768:10491:70;;5705:22:39;;;:56;;;;;5173:642;768:10491:70;;;;;5173:642:39:o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;-1:-1:-1;;;768:10491:70;;;;;;;5705:56:39;5731:30;;;768:10491:70;5731:30:39;;;;;;;;:::i;:::-;5705:56;;;;7671:628:44;;;;7875:418;;;768:10491:70;;;7906:22:44;7902:286;;8201:17;;:::o;7902:286::-;1702:19;:23;768:10491:70;;8201:17:44;:::o;768:10491:70:-;;;-1:-1:-1;;;768:10491:70;;;;;;;;;;;;;;;;;;;;7875:418:44;768:10491:70;;;;-1:-1:-1;8980:21:44;:17;;9152:142;;;;;;","linkReferences":{}},"methodIdentifiers":{"COLDIE_AUCTION()":"c90b8714","NO_AUCTION()":"155a56b1","SCHEDULED_AUCTION()":"b23afc26","acceptOffer(address,uint256,address,uint256,address[],uint8[])":"534665e9","approvedTokenRegistry()":"6240cd1c","auctionBids(address,uint256)":"299a0e1e","auctionLengthExtension()":"daa26499","buy(address,uint256,address,uint256)":"b3ffb760","cancelOffer(address,uint256,address)":"e92f94d1","marketplaceSettings()":"ba50b632","maxAuctionLength()":"0e519ef9","minimumBidIncreasePercentage()":"6fe9f44c","networkBeneficiary()":"6b534ed0","offer(address,uint256,address,uint256,bool)":"0f2b2532","offerCancelationDelay()":"0a5c4ed5","owner()":"8da5cb5b","payments()":"a6d23e10","removeSalePrice(address,uint256,address)":"f7cfaad0","renounceOwnership()":"715018a6","royaltyEngine()":"4c94c90c","royaltyRegistry()":"a11b0712","setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":"c8f94f4e","spaceOperatorRegistry()":"0bcba09d","stakingRegistry()":"009d9aa9","superRareAuctionHouse()":"3bc3d9be","superRareMarketplace()":"0141c590","tokenAuctions(address,uint256)":"c47c35c1","tokenCurrentOffers(address,uint256,address)":"2c419053","tokenSalePrices(address,uint256,address)":"1a2ac30f","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"AcceptOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_startedAuction\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAuctionLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_previousBidder\",\"type\":\"address\"}],\"name\":\"AuctionBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"AuctionSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"}],\"name\":\"CancelAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"CancelOffer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_auctionCreator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_minimumBid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_lengthOfAuction\",\"type\":\"uint256\"}],\"name\":\"NewAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"OfferPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address payable[]\",\"name\":\"_splitRecipients\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"SetSalePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Sold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COLDIE_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SCHEDULED_AUCTION\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"acceptOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"approvedTokenRegistry\",\"outputs\":[{\"internalType\":\"contract IApprovedTokenRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"auctionBids\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionLengthExtension\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"}],\"name\":\"cancelOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"marketplaceSettings\",\"outputs\":[{\"internalType\":\"contract IMarketplaceSettings\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAuctionLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumBidIncreasePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"networkBeneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_convertible\",\"type\":\"bool\"}],\"name\":\"offer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offerCancelationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payments\",\"outputs\":[{\"internalType\":\"contract IPayments\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"removeSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyEngine\",\"outputs\":[{\"internalType\":\"contract IRoyaltyEngineV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"royaltyRegistry\",\"outputs\":[{\"internalType\":\"contract IRareRoyaltyRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"address payable[]\",\"name\":\"_splitAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint8[]\",\"name\":\"_splitRatios\",\"type\":\"uint8[]\"}],\"name\":\"setSalePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"spaceOperatorRegistry\",\"outputs\":[{\"internalType\":\"contract ISpaceOperatorRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareAuctionHouse\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superRareMarketplace\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenAuctions\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"auctionCreator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"creationBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lengthOfAuction\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minimumBid\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"auctionType\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenCurrentOffers\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"marketplaceFee\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"convertible\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenSalePrices\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currencyAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"koloz\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"details\":\"Zero address for _currency means that the offer being accepted is in ether.\",\"params\":{\"_amount\":\"Amount the offer was for/and is being accepted.\",\"_currencyAddress\":\"Address of the currency used for the offer.\",\"_originContract\":\"Contract of the asset the offer was made on.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_tokenId\":\"TokenId of the asset.\"}},\"buy(address,uint256,address,uint256)\":{\"details\":\"Covers use of any currency (0 address is eth).Need to verify that the buyer (if not using eth) has the marketplace approved for _currencyContract.Need to verify that the seller has the marketplace approved for _originContract.\",\"params\":{\"_amount\":\"Amount the piece if being bought for (excluding marketplace fee).\",\"_currencyAddress\":\"Currency address of asset being used to buy.\",\"_originContract\":\"Contract address for asset being bought.\",\"_tokenId\":\"TokenId of asset being bought.\"}},\"cancelOffer(address,uint256,address)\":{\"params\":{\"_currencyAddress\":\"Currency address of the offer.\",\"_originContract\":\"Contract address of token.\",\"_tokenId\":\"TokenId that has an offer.\"}},\"offer(address,uint256,address,uint256,bool)\":{\"details\":\"Notice we need to verify that the msg sender has approved us to move funds on their behalf.Covers use of any currency (0 address is eth)._amount is the amount of the offer excluding the marketplace fee.There can be multiple offers of different currencies, but only 1 per currency.\",\"params\":{\"_amount\":\"Amount being offered (excluding marketplace fee).\",\"_convertible\":\"If the offer can be converted into an auction\",\"_currencyAddress\":\"Address of the token being offered.\",\"_originContract\":\"Contract address of the asset being listed.\",\"_tokenId\":\"Token Id of the asset.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"removeSalePrice(address,uint256,address)\":{\"details\":\"Sale prices could still exist for different currencies.Sale prices could still exist for different targets.Zero address for _currency means that its listed in ether._target of zero address is the general sale price.\",\"params\":{\"_originContract\":\"The origin contract of the asset.\",\"_target\":\"The address of the person\",\"_tokenId\":\"The tokenId of the asset within the _originContract.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"details\":\"Covers use of any currency (0 address is eth).Sale price for everyone is denoted as the 0 address.Only 1 currency can be used for the sale price directed at a speicific target._listPrice of 0 signifies removing the list price for the provided currency.This function can be used for counter offers as well.\",\"params\":{\"_currencyAddress\":\"Contract address of the currency asset is being listed for.\",\"_listPrice\":\"Amount of the currency the asset is being listed for (including all decimal points).\",\"_originContract\":\"Contract address of the asset being listed.\",\"_splitAddresses\":\"Addresses to split the sellers commission with.\",\"_splitRatios\":\"The ratio for the split corresponding to each of the addresses being split with.\",\"_target\":\"Address of the person this sale price is target to.\",\"_tokenId\":\"Token Id of the asset.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"SuperRareMarketplace\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptOffer(address,uint256,address,uint256,address[],uint8[])\":{\"notice\":\"Accept an offer placed on _originContract : _tokenId.\"},\"buy(address,uint256,address,uint256)\":{\"notice\":\"Purchases the token for the current sale price.\"},\"cancelOffer(address,uint256,address)\":{\"notice\":\"Cancels an existing offer the sender has placed on a piece.\"},\"offer(address,uint256,address,uint256,bool)\":{\"notice\":\"Place an offer for a given asset\"},\"removeSalePrice(address,uint256,address)\":{\"notice\":\"Removes the current sale price of an asset for _target for the given currency.\"},\"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])\":{\"notice\":\"Sets a sale price for the given asset(s) directed at the _target address.\"}},\"notice\":\"The logic for all functions related to the SuperRareMarketplace.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/marketplace/SuperRareMarketplace.sol\":\"SuperRareMarketplace\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/bazaar/SuperRareBazaarBase.sol\":{\"keccak256\":\"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d\",\"dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa\"]},\"src/bazaar/SuperRareBazaarStorage.sol\":{\"keccak256\":\"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a\",\"dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/marketplace/ISuperRareMarketplace.sol\":{\"keccak256\":\"0xc6c1021d1e1c6d967c7c20faf2528b667cc30fb8953f1629b9c8b56da7a6edde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dbdf24cf7d91810d0287feeef80226191edb7ffd582127205075c6b92a807ca4\",\"dweb:/ipfs/QmR7PBriB7sw2EsUJWnGgrPtqiUNYMr9g4WsuEncEqcUMi\"]},\"src/marketplace/SuperRareMarketplace.sol\":{\"keccak256\":\"0x4642d453e2169a4d56b7271bfaa70fdec8e5df697de01f5ee7cc3ee1aae6dfca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://006fdcdbdccae42dd3890d289f0ca9627ed5acf65f42f8bbc7b51d4f9e2518e0\",\"dweb:/ipfs/QmcazfhvMQqiwHFfG1Ki6ReFnExegeeZGXiNHtfVAZ9gA6\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ICreatorRegistry.sol\":{\"keccak256\":\"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1\",\"dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP\"]},\"src/registry/interfaces/IRareRoyaltyRegistry.sol\":{\"keccak256\":\"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3\",\"dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"AcceptOffer","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"bool","name":"_startedAuction","type":"bool","indexed":false},{"internalType":"uint256","name":"_newAuctionLength","type":"uint256","indexed":false},{"internalType":"address","name":"_previousBidder","type":"address","indexed":false}],"type":"event","name":"AuctionBid","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false}],"type":"event","name":"AuctionSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true}],"type":"event","name":"CancelAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"CancelOffer","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"_auctionCreator","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_startingTime","type":"uint256","indexed":false},{"internalType":"uint256","name":"_minimumBid","type":"uint256","indexed":false},{"internalType":"uint256","name":"_lengthOfAuction","type":"uint256","indexed":false}],"type":"event","name":"NewAuction","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_bidder","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"bool","name":"_convertible","type":"bool","indexed":false}],"type":"event","name":"OfferPlaced","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":true},{"internalType":"address","name":"_target","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false},{"internalType":"address payable[]","name":"_splitRecipients","type":"address[]","indexed":false},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]","indexed":false}],"type":"event","name":"SetSalePrice","anonymous":false},{"inputs":[{"internalType":"address","name":"_originContract","type":"address","indexed":true},{"internalType":"address","name":"_buyer","type":"address","indexed":true},{"internalType":"address","name":"_seller","type":"address","indexed":true},{"internalType":"address","name":"_currencyAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":false}],"type":"event","name":"Sold","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COLDIE_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NO_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SCHEDULED_AUCTION","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"acceptOffer"},{"inputs":[],"stateMutability":"view","type":"function","name":"approvedTokenRegistry","outputs":[{"internalType":"contract IApprovedTokenRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"auctionBids","outputs":[{"internalType":"address payable","name":"bidder","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"auctionLengthExtension","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"buy"},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cancelOffer"},{"inputs":[],"stateMutability":"view","type":"function","name":"marketplaceSettings","outputs":[{"internalType":"contract IMarketplaceSettings","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxAuctionLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumBidIncreasePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"networkBeneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_convertible","type":"bool"}],"stateMutability":"payable","type":"function","name":"offer"},{"inputs":[],"stateMutability":"view","type":"function","name":"offerCancelationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payments","outputs":[{"internalType":"contract IPayments","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSalePrice"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyEngine","outputs":[{"internalType":"contract IRoyaltyEngineV1","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"royaltyRegistry","outputs":[{"internalType":"contract IRareRoyaltyRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_originContract","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"address","name":"_currencyAddress","type":"address"},{"internalType":"uint256","name":"_listPrice","type":"uint256"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address payable[]","name":"_splitAddresses","type":"address[]"},{"internalType":"uint8[]","name":"_splitRatios","type":"uint8[]"}],"stateMutability":"nonpayable","type":"function","name":"setSalePrice"},{"inputs":[],"stateMutability":"view","type":"function","name":"spaceOperatorRegistry","outputs":[{"internalType":"contract ISpaceOperatorRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"stakingRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareAuctionHouse","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superRareMarketplace","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenAuctions","outputs":[{"internalType":"address payable","name":"auctionCreator","type":"address"},{"internalType":"uint256","name":"creationBlock","type":"uint256"},{"internalType":"uint256","name":"startingTime","type":"uint256"},{"internalType":"uint256","name":"lengthOfAuction","type":"uint256"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"minimumBid","type":"uint256"},{"internalType":"bytes32","name":"auctionType","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenCurrentOffers","outputs":[{"internalType":"address payable","name":"buyer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint8","name":"marketplaceFee","type":"uint8"},{"internalType":"bool","name":"convertible","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenSalePrices","outputs":[{"internalType":"address payable","name":"seller","type":"address"},{"internalType":"address","name":"currencyAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"details":"Zero address for _currency means that the offer being accepted is in ether.","params":{"_amount":"Amount the offer was for/and is being accepted.","_currencyAddress":"Address of the currency used for the offer.","_originContract":"Contract of the asset the offer was made on.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_tokenId":"TokenId of the asset."}},"buy(address,uint256,address,uint256)":{"details":"Covers use of any currency (0 address is eth).Need to verify that the buyer (if not using eth) has the marketplace approved for _currencyContract.Need to verify that the seller has the marketplace approved for _originContract.","params":{"_amount":"Amount the piece if being bought for (excluding marketplace fee).","_currencyAddress":"Currency address of asset being used to buy.","_originContract":"Contract address for asset being bought.","_tokenId":"TokenId of asset being bought."}},"cancelOffer(address,uint256,address)":{"params":{"_currencyAddress":"Currency address of the offer.","_originContract":"Contract address of token.","_tokenId":"TokenId that has an offer."}},"offer(address,uint256,address,uint256,bool)":{"details":"Notice we need to verify that the msg sender has approved us to move funds on their behalf.Covers use of any currency (0 address is eth)._amount is the amount of the offer excluding the marketplace fee.There can be multiple offers of different currencies, but only 1 per currency.","params":{"_amount":"Amount being offered (excluding marketplace fee).","_convertible":"If the offer can be converted into an auction","_currencyAddress":"Address of the token being offered.","_originContract":"Contract address of the asset being listed.","_tokenId":"Token Id of the asset."}},"owner()":{"details":"Returns the address of the current owner."},"removeSalePrice(address,uint256,address)":{"details":"Sale prices could still exist for different currencies.Sale prices could still exist for different targets.Zero address for _currency means that its listed in ether._target of zero address is the general sale price.","params":{"_originContract":"The origin contract of the asset.","_target":"The address of the person","_tokenId":"The tokenId of the asset within the _originContract."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"details":"Covers use of any currency (0 address is eth).Sale price for everyone is denoted as the 0 address.Only 1 currency can be used for the sale price directed at a speicific target._listPrice of 0 signifies removing the list price for the provided currency.This function can be used for counter offers as well.","params":{"_currencyAddress":"Contract address of the currency asset is being listed for.","_listPrice":"Amount of the currency the asset is being listed for (including all decimal points).","_originContract":"Contract address of the asset being listed.","_splitAddresses":"Addresses to split the sellers commission with.","_splitRatios":"The ratio for the split corresponding to each of the addresses being split with.","_target":"Address of the person this sale price is target to.","_tokenId":"Token Id of the asset."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"acceptOffer(address,uint256,address,uint256,address[],uint8[])":{"notice":"Accept an offer placed on _originContract : _tokenId."},"buy(address,uint256,address,uint256)":{"notice":"Purchases the token for the current sale price."},"cancelOffer(address,uint256,address)":{"notice":"Cancels an existing offer the sender has placed on a piece."},"offer(address,uint256,address,uint256,bool)":{"notice":"Place an offer for a given asset"},"removeSalePrice(address,uint256,address)":{"notice":"Removes the current sale price of an asset for _target for the given currency."},"setSalePrice(address,uint256,address,uint256,address,address[],uint8[])":{"notice":"Sets a sale price for the given asset(s) directed at the _target address."}},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/marketplace/SuperRareMarketplace.sol":"SuperRareMarketplace"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/bazaar/SuperRareBazaarBase.sol":{"keccak256":"0x7807f318b68688f0114217bcd528f7a2623421e500dc3164b1067d3e45f2b826","urls":["bzz-raw://ab4167a3ddbfada171bb4a286e1ab7e90f9be00ada86571999a5f1e5768eed9d","dweb:/ipfs/QmfH6EKVMNrmYwbuTqtpsTePBdbVL2WheRkpCk3N16xXPa"],"license":"MIT"},"src/bazaar/SuperRareBazaarStorage.sol":{"keccak256":"0x07b013f4ed5ca846af48f74faae20547b1f806d98093eef050d2ac6e838f3714","urls":["bzz-raw://8a0dc91b04769e552b01efd38a796df6f20694a9e478c582b37fdd103894195a","dweb:/ipfs/QmUM79e82SXrAp9oHQZRmhXS3BjtUhsKZ5rQMwUcT6FTgc"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/marketplace/ISuperRareMarketplace.sol":{"keccak256":"0xc6c1021d1e1c6d967c7c20faf2528b667cc30fb8953f1629b9c8b56da7a6edde","urls":["bzz-raw://dbdf24cf7d91810d0287feeef80226191edb7ffd582127205075c6b92a807ca4","dweb:/ipfs/QmR7PBriB7sw2EsUJWnGgrPtqiUNYMr9g4WsuEncEqcUMi"],"license":"MIT"},"src/marketplace/SuperRareMarketplace.sol":{"keccak256":"0x4642d453e2169a4d56b7271bfaa70fdec8e5df697de01f5ee7cc3ee1aae6dfca","urls":["bzz-raw://006fdcdbdccae42dd3890d289f0ca9627ed5acf65f42f8bbc7b51d4f9e2518e0","dweb:/ipfs/QmcazfhvMQqiwHFfG1Ki6ReFnExegeeZGXiNHtfVAZ9gA6"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ICreatorRegistry.sol":{"keccak256":"0xcaeba1e630efa2ce901d39632fa5760cfbfd8647bf8657a137f4cece2d714ed8","urls":["bzz-raw://161e5d0d9f9b27e97cbdb4fc10134254fe329fcd549fdb07900bb553d2a1ccc1","dweb:/ipfs/QmNtKFgVqB28YwLJg6TWgXWHEJybrXFXEWbU5gep99HEcP"],"license":"MIT"},"src/registry/interfaces/IRareRoyaltyRegistry.sol":{"keccak256":"0xd6b673182b9c6453e38fcd29bd85a788b3734f82202a77cd64d15422e98ffac9","urls":["bzz-raw://70fd1ef8d3a5d44f2e984e969528c8a0ab25eefc92a3b19cfa63b6394bc798e3","dweb:/ipfs/QmTDCPVfxqAcXDzdYfHQbm1f4nYJSBeRz91oqjfE8fxk2r"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"}},"version":1},"id":70} \ No newline at end of file diff --git a/abis/SuperRarePushSplitter.json b/abis/SuperRarePushSplitter.json index d033c35..3bee73f 100644 --- a/abis/SuperRarePushSplitter.json +++ b/abis/SuperRarePushSplitter.json @@ -1 +1 @@ -{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"initiailize","inputs":[{"name":"_splitAddrs","type":"address[]","internalType":"address[]"},{"name":"_splitRatios","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"splitAddrs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"splitRatios","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a0806040523461003157306080526110df9081610037823960805181818161069f015281816107c70152610a4d0152f35b600080fdfe6040608081526004803610156100e1575b361561001b57600080fd5b34159160005b60c9548110156100df5761003481610cac565b9054600391821b1c9081340291348304148617156100ca576000806127108194829461005f88610c5f565b9054939092049291901b1c6001600160a01b03165af161007d610f49565b50156100915761008c9061104d565b610021565b815162461bcd60e51b815260208185015260136024820152721cd95b99081b9bdd081cdd58d8d95cdcd99d5b606a1b6044820152606490fd5b601185634e487b7160e01b6000525260246000fd5b005b6000803560e01c80631f9f20c914610c1d5780633659cfe614610a265780634f1ef2861461074c57806352d1902d1461068b5780636d819363146102e7578063715018a61461028a5780637ab0d1e81461024d5780638da5cb5b146102205763f2fde38b146101505750610010565b91903461021c57602036600319011261021c5761016b610ce3565b90610174610d9f565b6001600160a01b039182169283156101ca575050609754826bffffffffffffffffffffffff60a01b821617609755167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50823461024957816003193601126102495760975490516001600160a01b039091168152602090f35b5080fd5b5091903461021c57602036600319011261021c57359160ca548310156102875750610279602092610cac565b91905490519160031b1c8152f35b80fd5b50346102875780600319360112610287576102a3610d9f565b609780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50913461021c578060031936011261021c5767ffffffffffffffff918035838111610687576103199036908301610d6e565b919060248035868111610683576103339036908501610d6e565b93909288549760ff8960081c161596878098610676575b801561065f575b1561060657600199888b60ff198316178d556105f5575b508681036105c1578a805b88821061058f57612710915003610559578181116105475768010000000000000000928382116105355760c9548260c9558083106104ff575b508b905b8282106104b75750505085116104a557841161049457505060ca548260ca5580831061045e575b5060ca865284865b83811061042b57505050506103f2578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b60208335930192817f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee101550185906103df565b61048e90837f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee19182019101611072565b386103d7565b634e487b7160e01b88526041905286fd5b50634e487b7160e01b88526041905286fd5b8035916001600160a01b03831683036104fb5760208d920192817f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28015501906103b0565b8d80fd5b61052f90837f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d289182019101611072565b386103ac565b634e487b7160e01b8c5260418552858cfd5b634e487b7160e01b8b5260418452848bfd5b885162461bcd60e51b8152602081860152601181870152706e6f7420656e6f75676820726174696f7360781b6044820152606490fd5b8160051b88013581018091116105af576105a9909161104d565b90610373565b634e487b7160e01b8d5260118652868dfd5b885162461bcd60e51b8152602081860152600f818701526e0dcdee840e6c2daca40d8cadccee8d608b1b6044820152606490fd5b61ffff1916610101178b5538610368565b885162461bcd60e51b8152602081860152602e818701527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103515750600160ff8b1614610351565b50600160ff8b161061034a565b8780fd5b8480fd5b5034610287578060031936011261028757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036106e4576020825160008051602061108a8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b50918060031936011261021c57610761610ce3565b906024359067ffffffffffffffff82116106875736602383011215610687578184013561078d81610d52565b9061079a83519283610d30565b8082528660209485840192366024828401011161021c578060248893018537840101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906107f530831415610df7565b61081260008051602061108a833981519152928284541614610e58565b61081a610d9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610857575050505050506108549150610eb9565b80f35b8693949596169085516352d1902d60e01b815287818a81865afa8a91816109f3575b506108d857865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361099e5750908692916108f285610eb9565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610996575b61092f575b50505050505080f35b61098a95660819985a5b195960ca1b837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c8695519861096d8a610cfe565b60278a528901528701525190845af4610984610f49565b91610f79565b50388080838180610926565b506001610921565b835162461bcd60e51b8152908101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610a1f575b610a0b8183610d30565b81010312610a1b57519038610879565b8a80fd5b503d610a01565b50913461021c57602080600319360112610c1957610a42610ce3565b916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a7b30831415610df7565b610a9860008051602061108a833981519152928284541614610e58565b610aa0610d9f565b8251918483019183831067ffffffffffffffff841117610c06578285528884527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610afa575050505050506108549150610eb9565b8693949596169085516352d1902d60e01b815287818a81865afa8a9181610bd7575b50610b7b57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361099e575090869291610b9585610eb9565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610bd05761092f5750505050505080f35b5082610921565b9091508881813d8311610bff575b610bef8183610d30565b81010312610a1b57519038610b1c565b503d610be5565b634e487b7160e01b895260418852602489fd5b8380fd5b5091903461021c57602036600319011261021c57359160c9548310156102875750610c49602092610c5f565b905491519160018060a01b039160031b1c168152f35b60c954811015610c965760c96000527f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d280190600090565b634e487b7160e01b600052603260045260246000fd5b60ca54811015610c965760ca6000527f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee10190600090565b600435906001600160a01b0382168203610cf957565b600080fd5b6060810190811067ffffffffffffffff821117610d1a57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610d1a57604052565b67ffffffffffffffff8111610d1a57601f01601f191660200190565b9181601f84011215610cf95782359167ffffffffffffffff8311610cf9576020808501948460051b010111610cf957565b6097546001600160a01b03163303610db357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610dfe57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15610e5f57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15610eee5760008051602061108a83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15610f74573d90610f5a82610d52565b91610f686040519384610d30565b82523d6000602084013e565b606090565b91929015610fdb5750815115610f8d575090565b3b15610f965790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610fee5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611034575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350611011565b600019811461105c5760010190565b634e487b7160e01b600052601160045260246000fd5b81811061107d575050565b6000815560010161107256fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220eccfe0d78c3eb2a00476deb081ac67a9724061373d2b22bac886105d9dfc1f6764736f6c63430008120033","sourceMap":"210:1058:219:-:0;;;;;;;1332:4:46;1324:13;;210:1058:219;;;;;;1324:13:46;210:1058:219;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004803610156100e1575b361561001b57600080fd5b34159160005b60c9548110156100df5761003481610cac565b9054600391821b1c9081340291348304148617156100ca576000806127108194829461005f88610c5f565b9054939092049291901b1c6001600160a01b03165af161007d610f49565b50156100915761008c9061104d565b610021565b815162461bcd60e51b815260208185015260136024820152721cd95b99081b9bdd081cdd58d8d95cdcd99d5b606a1b6044820152606490fd5b601185634e487b7160e01b6000525260246000fd5b005b6000803560e01c80631f9f20c914610c1d5780633659cfe614610a265780634f1ef2861461074c57806352d1902d1461068b5780636d819363146102e7578063715018a61461028a5780637ab0d1e81461024d5780638da5cb5b146102205763f2fde38b146101505750610010565b91903461021c57602036600319011261021c5761016b610ce3565b90610174610d9f565b6001600160a01b039182169283156101ca575050609754826bffffffffffffffffffffffff60a01b821617609755167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50823461024957816003193601126102495760975490516001600160a01b039091168152602090f35b5080fd5b5091903461021c57602036600319011261021c57359160ca548310156102875750610279602092610cac565b91905490519160031b1c8152f35b80fd5b50346102875780600319360112610287576102a3610d9f565b609780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50913461021c578060031936011261021c5767ffffffffffffffff918035838111610687576103199036908301610d6e565b919060248035868111610683576103339036908501610d6e565b93909288549760ff8960081c161596878098610676575b801561065f575b1561060657600199888b60ff198316178d556105f5575b508681036105c1578a805b88821061058f57612710915003610559578181116105475768010000000000000000928382116105355760c9548260c9558083106104ff575b508b905b8282106104b75750505085116104a557841161049457505060ca548260ca5580831061045e575b5060ca865284865b83811061042b57505050506103f2578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b60208335930192817f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee101550185906103df565b61048e90837f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee19182019101611072565b386103d7565b634e487b7160e01b88526041905286fd5b50634e487b7160e01b88526041905286fd5b8035916001600160a01b03831683036104fb5760208d920192817f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28015501906103b0565b8d80fd5b61052f90837f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d289182019101611072565b386103ac565b634e487b7160e01b8c5260418552858cfd5b634e487b7160e01b8b5260418452848bfd5b885162461bcd60e51b8152602081860152601181870152706e6f7420656e6f75676820726174696f7360781b6044820152606490fd5b8160051b88013581018091116105af576105a9909161104d565b90610373565b634e487b7160e01b8d5260118652868dfd5b885162461bcd60e51b8152602081860152600f818701526e0dcdee840e6c2daca40d8cadccee8d608b1b6044820152606490fd5b61ffff1916610101178b5538610368565b885162461bcd60e51b8152602081860152602e818701527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103515750600160ff8b1614610351565b50600160ff8b161061034a565b8780fd5b8480fd5b5034610287578060031936011261028757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036106e4576020825160008051602061108a8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b50918060031936011261021c57610761610ce3565b906024359067ffffffffffffffff82116106875736602383011215610687578184013561078d81610d52565b9061079a83519283610d30565b8082528660209485840192366024828401011161021c578060248893018537840101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906107f530831415610df7565b61081260008051602061108a833981519152928284541614610e58565b61081a610d9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610857575050505050506108549150610eb9565b80f35b8693949596169085516352d1902d60e01b815287818a81865afa8a91816109f3575b506108d857865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361099e5750908692916108f285610eb9565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610996575b61092f575b50505050505080f35b61098a95660819985a5b195960ca1b837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c8695519861096d8a610cfe565b60278a528901528701525190845af4610984610f49565b91610f79565b50388080838180610926565b506001610921565b835162461bcd60e51b8152908101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610a1f575b610a0b8183610d30565b81010312610a1b57519038610879565b8a80fd5b503d610a01565b50913461021c57602080600319360112610c1957610a42610ce3565b916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a7b30831415610df7565b610a9860008051602061108a833981519152928284541614610e58565b610aa0610d9f565b8251918483019183831067ffffffffffffffff841117610c06578285528884527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610afa575050505050506108549150610eb9565b8693949596169085516352d1902d60e01b815287818a81865afa8a9181610bd7575b50610b7b57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361099e575090869291610b9585610eb9565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610bd05761092f5750505050505080f35b5082610921565b9091508881813d8311610bff575b610bef8183610d30565b81010312610a1b57519038610b1c565b503d610be5565b634e487b7160e01b895260418852602489fd5b8380fd5b5091903461021c57602036600319011261021c57359160c9548310156102875750610c49602092610c5f565b905491519160018060a01b039160031b1c168152f35b60c954811015610c965760c96000527f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d280190600090565b634e487b7160e01b600052603260045260246000fd5b60ca54811015610c965760ca6000527f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee10190600090565b600435906001600160a01b0382168203610cf957565b600080fd5b6060810190811067ffffffffffffffff821117610d1a57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610d1a57604052565b67ffffffffffffffff8111610d1a57601f01601f191660200190565b9181601f84011215610cf95782359167ffffffffffffffff8311610cf9576020808501948460051b010111610cf957565b6097546001600160a01b03163303610db357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610dfe57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15610e5f57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15610eee5760008051602061108a83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15610f74573d90610f5a82610d52565b91610f686040519384610d30565b82523d6000602084013e565b606090565b91929015610fdb5750815115610f8d575090565b3b15610f965790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610fee5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611034575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350611011565b600019811461105c5760010190565b634e487b7160e01b600052601160045260246000fd5b81811061107d575050565b6000815560010161107256fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220eccfe0d78c3eb2a00476deb081ac67a9724061373d2b22bac886105d9dfc1f6764736f6c63430008120033","sourceMap":"210:1058:219:-:0;;;;;;;;;;;-1:-1:-1;210:1058:219;;;;;;;;998:9;210:1058;;1034:1;1060:3;1041:10;210:1058;1037:21;;;;;1103:14;;;:::i;:::-;210:1058;;;;;;;998:9;;;210:1058;998:9;;210:1058;;;;;;;;1034:1;1159:13;1121:5;1159:13;;;;;;;:::i;:::-;210:1058;;;;;;;;;;;-1:-1:-1;;;;;210:1058:219;1159:37;;;;:::i;:::-;;210:1058;;;1060:3;;;:::i;:::-;1022:13;;210:1058;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;1034:1;210:1058;;;1034:1;210:1058;1037:21;210:1058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1058:219;;;;;;:::i;:::-;1303:62:39;;;:::i;:::-;-1:-1:-1;;;;;210:1058:219;;;;2402:22:39;;210:1058:219;;;;2758:6:39;210:1058:219;;;;;;;;2758:6:39;210:1058:219;;2806:40:39;;;;210:1058:219;;;;;;;;971:66:43;;;;210:1058:219;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;;;;;;;;;;;1513:6:39;210:1058:219;;;-1:-1:-1;;;;;210:1058:219;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1058:219;;;;;;319:28;210:1058;319:28;;;;;;;210:1058;319:28;;:::i;:::-;210:1058;;;;;;;;;;;;319:28;;;210:1058;;;;;;;;;;;;;1303:62:39;;:::i;:::-;2758:6;210:1058:219;;-1:-1:-1;;;;;;210:1058:219;;;;;;;-1:-1:-1;;;;;210:1058:219;2806:40:39;210:1058:219;;2806:40:39;210:1058:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;971:66:43;210:1058:219;;;971:66:43;3301:14:45;3347:34;;;;;;210:1058:219;3346:108:45;;;;210:1058:219;;;;3551:1:45;210:1058:219;;;;;;;;;;3562:65:45;;210:1058:219;539:41;;;;210:1058;;610:17;;658:23;;;;;;764:5;755:14;;;210:1058;;;;;;;;;;;;;;802:24;210:1058;;802:24;210:1058;;;;;;638:99;210:1058;;;;;;;;;;;;;;;;;;;;;;836:26;210:1058;;836:26;210:1058;;;;;;;;836:26;210:1058;;;;;;;;;;3647:99:45;;;;;;210:1058:219;;;3647:99:45;210:1058:219;;-1:-1:-1;;210:1058:219;;;;;;;3721:14:45;;210:1058:219;;3721:14:45;3647:99;;210:1058:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;-1:-1:-1;;;;210:1058:219;;;;;;;;;;;-1:-1:-1;;;;;210:1058:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;683:3;210:1058;;;;;;;;;;;;;683:3;702:24;683:3;;:::i;:::-;643:13;;;210:1058;-1:-1:-1;;;210:1058:219;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;3562:65:45;-1:-1:-1;;210:1058:219;;;;;3562:65:45;;;210:1058:219;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;3346:108:45;3426:4;;1713:19:63;:23;3387:66:45;;3346:108;3387:66;971::43;3452:1:45;971:66:43;;;3436:17:45;3346:108;;3347:34;971:66:43;3380:1:45;971:66:43;;;3365:16:45;3347:34;;210:1058:219;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2333:6:46;-1:-1:-1;;;;;210:1058:219;2324:4:46;2316:23;210:1058:219;;;;;-1:-1:-1;;;;;;;;;;;210:1058:219;;;;;;;;971:66:43;;;;210:1058:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:46;210:1058:219;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;210:1058:219;;;;;1971:30:46;1963:87;:::i;:::-;1303:62:39;;:::i;:::-;971:66:43;;;;;;;3330:17;;;;;;;;;;:::i;:::-;210:1058:219;;3232:526:43;210:1058:219;;;;;;;;;971:66:43;;;3383:63;;;;;;;;;;;;;;3232:526;-1:-1:-1;3379:302:43;;210:1058:219;;-1:-1:-1;;;3610:56:43;;;;;971:66;;;;210:1058:219;971:66:43;;210:1058:219;971:66:43;210:1058:219;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;3610:56;3379:302;3496:28;;;;;;;;971:66;;3379:302;;;;;2171:17;;;:::i;:::-;2204:27;;;;210:1058:219;;2523:15:43;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;;;210:1058:219;;2519:123:43;7318:69:63;210:1058:219;-1:-1:-1;;;210:1058:219;;;;;;;;;:::i;:::-;;;;;;;;;;7276:25:63;;;;;;;:::i;:::-;7318:69;;:::i;:::-;;2519:123:43;;;;;;;;2523:28;;210:1058:219;2523:28:43;;971:66;210:1058:219;;-1:-1:-1;;;971:66:43;;;;;;;;;210:1058:219;971:66:43;;210:1058:219;971:66:43;210:1058:219;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;;3383:63;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;3383:63;;;;971:66;210:1058:219;;;3383:63:43;;;;;210:1058:219;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1898:6:46;210:1058:219;;;1873:80:46;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;210:1058:219;;;;;1971:30:46;1963:87;:::i;:::-;1303:62:39;;:::i;:::-;210:1058:219;;;;;;;;;;;;;;;;;;;;;;971:66:43;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;210:1058:219;;;;;;;;;971:66:43;;;3383:63;;;;;;;;;;;;;;3232:526;-1:-1:-1;3379:302:43;;210:1058:219;;-1:-1:-1;;;3610:56:43;;;;;971:66;;;;;;;210:1058:219;971:66:43;210:1058:219;;;971:66:43;-1:-1:-1;;;971:66:43;;;;;;3610:56;3379:302;3496:28;;;;;;;;971:66;;3379:302;;;;;2171:17;;;:::i;:::-;2204:27;;;;210:1058:219;;2523:15:43;;;:28;;;2519:123;;3232:526;;;;;;210:1058:219;;2523:28:43;;;;;3383:63;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;3383:63;;;;;;;;;210:1058:219;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1058:219;;;;;;286:27;210:1058;286:27;;;;;;;210:1058;286:27;;:::i;:::-;210:1058;;;;;;;;;;;;;;;;;;;286:27;210:1058;;;;;;286:27;-1:-1:-1;210:1058:219;;;;-1:-1:-1;210:1058:219;:::o;:::-;;;;;;;;;;;;;319:28;210:1058;;;;;;319:28;-1:-1:-1;210:1058:219;;;;-1:-1:-1;210:1058:219;:::o;:::-;;;;-1:-1:-1;;;;;210:1058:219;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;210:1058:219;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1599:130:39:-;1513:6;210:1058:219;-1:-1:-1;;;;;210:1058:219;929:10:65;1662:23:39;210:1058:219;;1599:130:39:o;210:1058:219:-;;;;971:66:43;;;210:1058:219;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;1699:281:43;1713:19:63;;:23;210:1058:219;;-1:-1:-1;;;;;;;;;;;210:1058:219;;-1:-1:-1;;;;;;210:1058:219;-1:-1:-1;;;;;210:1058:219;;;;;;;;;1699:281:43:o;210:1058:219:-;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;210:1058:219;;;;:::o;:::-;;;:::o;7682:628:63:-;;;;7886:418;;;210:1058:219;;;7917:22:63;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;210:1058:219;;8212:17:63;:::o;210:1058:219:-;;;-1:-1:-1;;;210:1058:219;;;;;;;;;;;;;;;;;;;;7886:418:63;210:1058:219;;;;-1:-1:-1;8991:21:63;:17;;9163:142;;;;;;;8987:379;210:1058:219;;971:66:43;;;;9335:20:63;;210:1058:219;;9335:20:63;;;;210:1058:219;;;;;;;;;9011:1:63;210:1058:219;;;;;;;;;;;;9011:1:63;210:1058:219;;;;;;;;;;;;;;9335:20:63;;;;210:1058:219;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1058:219;;;-1:-1:-1;;210:1058:219;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;","linkReferences":{},"immutableReferences":{"31740":[{"start":1695,"length":32},{"start":1991,"length":32},{"start":2637,"length":32}]}},"methodIdentifiers":{"initiailize(address[],uint256[])":"6d819363","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","splitAddrs(uint256)":"1f9f20c9","splitRatios(uint256)":"7ab0d1e8","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_splitRatios\",\"type\":\"uint256[]\"}],\"name\":\"initiailize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"splitAddrs\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"splitRatios\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/SuperRarePushSplitter.sol\":\"SuperRarePushSplitter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"src/utils/SuperRarePushSplitter.sol\":{\"keccak256\":\"0x054cf7a9bbda2fa90088278261484dad6e1a6a9a1f460a0ae91119f8bde02e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d77edff70ff38c09a4dfa2f805bf6e5df133c92c5e5bb6d3b93c0dc9bace5dab\",\"dweb:/ipfs/QmQgfBABsyawqpRCgXr1q8iZt6kyf3J1KgP8V7cQwLZ9Fy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint256[]","name":"_splitRatios","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"initiailize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"splitAddrs","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"splitRatios","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/SuperRarePushSplitter.sol":"SuperRarePushSplitter"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"src/utils/SuperRarePushSplitter.sol":{"keccak256":"0x054cf7a9bbda2fa90088278261484dad6e1a6a9a1f460a0ae91119f8bde02e95","urls":["bzz-raw://d77edff70ff38c09a4dfa2f805bf6e5df133c92c5e5bb6d3b93c0dc9bace5dab","dweb:/ipfs/QmQgfBABsyawqpRCgXr1q8iZt6kyf3J1KgP8V7cQwLZ9Fy"],"license":"MIT"}},"version":1},"id":219} \ No newline at end of file +{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"initiailize","inputs":[{"name":"_splitAddrs","type":"address[]","internalType":"address[]"},{"name":"_splitRatios","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"splitAddrs","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"splitRatios","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a0806040523461003157306080526110df9081610037823960805181818161069f015281816107c70152610a4d0152f35b600080fdfe6040608081526004803610156100e1575b361561001b57600080fd5b34159160005b60c9548110156100df5761003481610cac565b9054600391821b1c9081340291348304148617156100ca576000806127108194829461005f88610c5f565b9054939092049291901b1c6001600160a01b03165af161007d610f49565b50156100915761008c9061104d565b610021565b815162461bcd60e51b815260208185015260136024820152721cd95b99081b9bdd081cdd58d8d95cdcd99d5b606a1b6044820152606490fd5b601185634e487b7160e01b6000525260246000fd5b005b6000803560e01c80631f9f20c914610c1d5780633659cfe614610a265780634f1ef2861461074c57806352d1902d1461068b5780636d819363146102e7578063715018a61461028a5780637ab0d1e81461024d5780638da5cb5b146102205763f2fde38b146101505750610010565b91903461021c57602036600319011261021c5761016b610ce3565b90610174610d9f565b6001600160a01b039182169283156101ca575050609754826bffffffffffffffffffffffff60a01b821617609755167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50823461024957816003193601126102495760975490516001600160a01b039091168152602090f35b5080fd5b5091903461021c57602036600319011261021c57359160ca548310156102875750610279602092610cac565b91905490519160031b1c8152f35b80fd5b50346102875780600319360112610287576102a3610d9f565b609780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50913461021c578060031936011261021c5767ffffffffffffffff918035838111610687576103199036908301610d6e565b919060248035868111610683576103339036908501610d6e565b93909288549760ff8960081c161596878098610676575b801561065f575b1561060657600199888b60ff198316178d556105f5575b508681036105c1578a805b88821061058f57612710915003610559578181116105475768010000000000000000928382116105355760c9548260c9558083106104ff575b508b905b8282106104b75750505085116104a557841161049457505060ca548260ca5580831061045e575b5060ca865284865b83811061042b57505050506103f2578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b60208335930192817f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee101550185906103df565b61048e90837f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee19182019101611072565b386103d7565b634e487b7160e01b88526041905286fd5b50634e487b7160e01b88526041905286fd5b8035916001600160a01b03831683036104fb5760208d920192817f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28015501906103b0565b8d80fd5b61052f90837f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d289182019101611072565b386103ac565b634e487b7160e01b8c5260418552858cfd5b634e487b7160e01b8b5260418452848bfd5b885162461bcd60e51b8152602081860152601181870152706e6f7420656e6f75676820726174696f7360781b6044820152606490fd5b8160051b88013581018091116105af576105a9909161104d565b90610373565b634e487b7160e01b8d5260118652868dfd5b885162461bcd60e51b8152602081860152600f818701526e0dcdee840e6c2daca40d8cadccee8d608b1b6044820152606490fd5b61ffff1916610101178b5538610368565b885162461bcd60e51b8152602081860152602e818701527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103515750600160ff8b1614610351565b50600160ff8b161061034a565b8780fd5b8480fd5b5034610287578060031936011261028757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036106e4576020825160008051602061108a8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b50918060031936011261021c57610761610ce3565b906024359067ffffffffffffffff82116106875736602383011215610687578184013561078d81610d52565b9061079a83519283610d30565b8082528660209485840192366024828401011161021c578060248893018537840101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906107f530831415610df7565b61081260008051602061108a833981519152928284541614610e58565b61081a610d9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610857575050505050506108549150610eb9565b80f35b8693949596169085516352d1902d60e01b815287818a81865afa8a91816109f3575b506108d857865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361099e5750908692916108f285610eb9565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610996575b61092f575b50505050505080f35b61098a95660819985a5b195960ca1b837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c8695519861096d8a610cfe565b60278a528901528701525190845af4610984610f49565b91610f79565b50388080838180610926565b506001610921565b835162461bcd60e51b8152908101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610a1f575b610a0b8183610d30565b81010312610a1b57519038610879565b8a80fd5b503d610a01565b50913461021c57602080600319360112610c1957610a42610ce3565b916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a7b30831415610df7565b610a9860008051602061108a833981519152928284541614610e58565b610aa0610d9f565b8251918483019183831067ffffffffffffffff841117610c06578285528884527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610afa575050505050506108549150610eb9565b8693949596169085516352d1902d60e01b815287818a81865afa8a9181610bd7575b50610b7b57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361099e575090869291610b9585610eb9565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610bd05761092f5750505050505080f35b5082610921565b9091508881813d8311610bff575b610bef8183610d30565b81010312610a1b57519038610b1c565b503d610be5565b634e487b7160e01b895260418852602489fd5b8380fd5b5091903461021c57602036600319011261021c57359160c9548310156102875750610c49602092610c5f565b905491519160018060a01b039160031b1c168152f35b60c954811015610c965760c96000527f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d280190600090565b634e487b7160e01b600052603260045260246000fd5b60ca54811015610c965760ca6000527f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee10190600090565b600435906001600160a01b0382168203610cf957565b600080fd5b6060810190811067ffffffffffffffff821117610d1a57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610d1a57604052565b67ffffffffffffffff8111610d1a57601f01601f191660200190565b9181601f84011215610cf95782359167ffffffffffffffff8311610cf9576020808501948460051b010111610cf957565b6097546001600160a01b03163303610db357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610dfe57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15610e5f57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15610eee5760008051602061108a83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15610f74573d90610f5a82610d52565b91610f686040519384610d30565b82523d6000602084013e565b606090565b91929015610fdb5750815115610f8d575090565b3b15610f965790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610fee5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611034575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350611011565b600019811461105c5760010190565b634e487b7160e01b600052601160045260246000fd5b81811061107d575050565b6000815560010161107256fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212205cbdd579acedc21eb2a066cfb95a4dff191965d69effd52af2de38e8a44e13ca64736f6c63430008120033","sourceMap":"210:1058:240:-:0;;;;;;;1332:4:49;1324:13;;210:1058:240;;;;;;1324:13:49;210:1058:240;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6040608081526004803610156100e1575b361561001b57600080fd5b34159160005b60c9548110156100df5761003481610cac565b9054600391821b1c9081340291348304148617156100ca576000806127108194829461005f88610c5f565b9054939092049291901b1c6001600160a01b03165af161007d610f49565b50156100915761008c9061104d565b610021565b815162461bcd60e51b815260208185015260136024820152721cd95b99081b9bdd081cdd58d8d95cdcd99d5b606a1b6044820152606490fd5b601185634e487b7160e01b6000525260246000fd5b005b6000803560e01c80631f9f20c914610c1d5780633659cfe614610a265780634f1ef2861461074c57806352d1902d1461068b5780636d819363146102e7578063715018a61461028a5780637ab0d1e81461024d5780638da5cb5b146102205763f2fde38b146101505750610010565b91903461021c57602036600319011261021c5761016b610ce3565b90610174610d9f565b6001600160a01b039182169283156101ca575050609754826bffffffffffffffffffffffff60a01b821617609755167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50823461024957816003193601126102495760975490516001600160a01b039091168152602090f35b5080fd5b5091903461021c57602036600319011261021c57359160ca548310156102875750610279602092610cac565b91905490519160031b1c8152f35b80fd5b50346102875780600319360112610287576102a3610d9f565b609780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50913461021c578060031936011261021c5767ffffffffffffffff918035838111610687576103199036908301610d6e565b919060248035868111610683576103339036908501610d6e565b93909288549760ff8960081c161596878098610676575b801561065f575b1561060657600199888b60ff198316178d556105f5575b508681036105c1578a805b88821061058f57612710915003610559578181116105475768010000000000000000928382116105355760c9548260c9558083106104ff575b508b905b8282106104b75750505085116104a557841161049457505060ca548260ca5580831061045e575b5060ca865284865b83811061042b57505050506103f2578280f35b825461ff0019168355519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b60208335930192817f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee101550185906103df565b61048e90837f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee19182019101611072565b386103d7565b634e487b7160e01b88526041905286fd5b50634e487b7160e01b88526041905286fd5b8035916001600160a01b03831683036104fb5760208d920192817f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28015501906103b0565b8d80fd5b61052f90837f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d289182019101611072565b386103ac565b634e487b7160e01b8c5260418552858cfd5b634e487b7160e01b8b5260418452848bfd5b885162461bcd60e51b8152602081860152601181870152706e6f7420656e6f75676820726174696f7360781b6044820152606490fd5b8160051b88013581018091116105af576105a9909161104d565b90610373565b634e487b7160e01b8d5260118652868dfd5b885162461bcd60e51b8152602081860152600f818701526e0dcdee840e6c2daca40d8cadccee8d608b1b6044820152606490fd5b61ffff1916610101178b5538610368565b885162461bcd60e51b8152602081860152602e818701527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103515750600160ff8b1614610351565b50600160ff8b161061034a565b8780fd5b8480fd5b5034610287578060031936011261028757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036106e4576020825160008051602061108a8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b50918060031936011261021c57610761610ce3565b906024359067ffffffffffffffff82116106875736602383011215610687578184013561078d81610d52565b9061079a83519283610d30565b8082528660209485840192366024828401011161021c578060248893018537840101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906107f530831415610df7565b61081260008051602061108a833981519152928284541614610e58565b61081a610d9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610857575050505050506108549150610eb9565b80f35b8693949596169085516352d1902d60e01b815287818a81865afa8a91816109f3575b506108d857865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361099e5750908692916108f285610eb9565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610996575b61092f575b50505050505080f35b61098a95660819985a5b195960ca1b837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c8695519861096d8a610cfe565b60278a528901528701525190845af4610984610f49565b91610f79565b50388080838180610926565b506001610921565b835162461bcd60e51b8152908101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d8311610a1f575b610a0b8183610d30565b81010312610a1b57519038610879565b8a80fd5b503d610a01565b50913461021c57602080600319360112610c1957610a42610ce3565b916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690610a7b30831415610df7565b610a9860008051602061108a833981519152928284541614610e58565b610aa0610d9f565b8251918483019183831067ffffffffffffffff841117610c06578285528884527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610afa575050505050506108549150610eb9565b8693949596169085516352d1902d60e01b815287818a81865afa8a9181610bd7575b50610b7b57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361099e575090869291610b9585610eb9565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610bd05761092f5750505050505080f35b5082610921565b9091508881813d8311610bff575b610bef8183610d30565b81010312610a1b57519038610b1c565b503d610be5565b634e487b7160e01b895260418852602489fd5b8380fd5b5091903461021c57602036600319011261021c57359160c9548310156102875750610c49602092610c5f565b905491519160018060a01b039160031b1c168152f35b60c954811015610c965760c96000527f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d280190600090565b634e487b7160e01b600052603260045260246000fd5b60ca54811015610c965760ca6000527f42d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee10190600090565b600435906001600160a01b0382168203610cf957565b600080fd5b6060810190811067ffffffffffffffff821117610d1a57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610d1a57604052565b67ffffffffffffffff8111610d1a57601f01601f191660200190565b9181601f84011215610cf95782359167ffffffffffffffff8311610cf9576020808501948460051b010111610cf957565b6097546001600160a01b03163303610db357565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610dfe57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15610e5f57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15610eee5760008051602061108a83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15610f74573d90610f5a82610d52565b91610f686040519384610d30565b82523d6000602084013e565b606090565b91929015610fdb5750815115610f8d575090565b3b15610f965790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610fee5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510611034575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350611011565b600019811461105c5760010190565b634e487b7160e01b600052601160045260246000fd5b81811061107d575050565b6000815560010161107256fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212205cbdd579acedc21eb2a066cfb95a4dff191965d69effd52af2de38e8a44e13ca64736f6c63430008120033","sourceMap":"210:1058:240:-:0;;;;;;;;;;;-1:-1:-1;210:1058:240;;;;;;;;998:9;210:1058;;1034:1;1060:3;1041:10;210:1058;1037:21;;;;;1103:14;;;:::i;:::-;210:1058;;;;;;;998:9;;;210:1058;998:9;;210:1058;;;;;;;;1034:1;1159:13;1121:5;1159:13;;;;;;;:::i;:::-;210:1058;;;;;;;;;;;-1:-1:-1;;;;;210:1058:240;1159:37;;;;:::i;:::-;;210:1058;;;1060:3;;;:::i;:::-;1022:13;;210:1058;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;1034:1;210:1058;;;1034:1;210:1058;1037:21;210:1058;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1058:240;;;;;;:::i;:::-;1303:62:42;;;:::i;:::-;-1:-1:-1;;;;;210:1058:240;;;;2402:22:42;;210:1058:240;;;;2758:6:42;210:1058:240;;;;;;;;2758:6:42;210:1058:240;;2806:40:42;;;;210:1058:240;;;;;;;;971:66:46;;;;210:1058:240;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;;;;;;;;;;;1513:6:42;210:1058:240;;;-1:-1:-1;;;;;210:1058:240;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1058:240;;;;;;319:28;210:1058;319:28;;;;;;;210:1058;319:28;;:::i;:::-;210:1058;;;;;;;;;;;;319:28;;;210:1058;;;;;;;;;;;;;1303:62:42;;:::i;:::-;2758:6;210:1058:240;;-1:-1:-1;;;;;;210:1058:240;;;;;;;-1:-1:-1;;;;;210:1058:240;2806:40:42;210:1058:240;;2806:40:42;210:1058:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;971:66:46;210:1058:240;;;971:66:46;3301:14:48;3347:34;;;;;;210:1058:240;3346:108:48;;;;210:1058:240;;;;3551:1:48;210:1058:240;;;;;;;;;;3562:65:48;;210:1058:240;539:41;;;;210:1058;;610:17;;658:23;;;;;;764:5;755:14;;;210:1058;;;;;;;;;;;;;;802:24;210:1058;;802:24;210:1058;;;;;;638:99;210:1058;;;;;;;;;;;;;;;;;;;;;;836:26;210:1058;;836:26;210:1058;;;;;;;;836:26;210:1058;;;;;;;;;;3647:99:48;;;;;;210:1058:240;;;3647:99:48;210:1058:240;;-1:-1:-1;;210:1058:240;;;;;;;3721:14:48;;210:1058:240;;3721:14:48;3647:99;;210:1058:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;-1:-1:-1;;;;210:1058:240;;;;;;;;;;;-1:-1:-1;;;;;210:1058:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;683:3;210:1058;;;;;;;;;;;;;683:3;702:24;683:3;;:::i;:::-;643:13;;;210:1058;-1:-1:-1;;;210:1058:240;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;3562:65:48;-1:-1:-1;;210:1058:240;;;;;3562:65:48;;;210:1058:240;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;3346:108:48;3426:4;;1713:19:66;:23;3387:66:48;;3346:108;3387:66;971::46;3452:1:48;971:66:46;;;3436:17:48;3346:108;;3347:34;971:66:46;3380:1:48;971:66:46;;;3365:16:48;3347:34;;210:1058:240;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2333:6:49;-1:-1:-1;;;;;210:1058:240;2324:4:49;2316:23;210:1058:240;;;;;-1:-1:-1;;;;;;;;;;;210:1058:240;;;;;;;;971:66:46;;;;210:1058:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1898:6:49;210:1058:240;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;210:1058:240;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;971:66:46;;;;;;;3330:17;;;;;;;;;;:::i;:::-;210:1058:240;;3232:526:46;210:1058:240;;;;;;;;;971:66:46;;;3383:63;;;;;;;;;;;;;;3232:526;-1:-1:-1;3379:302:46;;210:1058:240;;-1:-1:-1;;;3610:56:46;;;;;971:66;;;;210:1058:240;971:66:46;;210:1058:240;971:66:46;210:1058:240;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;;;;;971:66;;3379:302;;;;;2171:17;;;:::i;:::-;2204:27;;;;210:1058:240;;2523:15:46;;;:28;;;3379:302;2519:123;;3379:302;3232:526;;;;;;210:1058:240;;2519:123:46;7318:69:66;210:1058:240;-1:-1:-1;;;210:1058:240;;;;;;;;;:::i;:::-;;;;;;;;;;7276:25:66;;;;;;;:::i;:::-;7318:69;;:::i;:::-;;2519:123:46;;;;;;;;2523:28;;210:1058:240;2523:28:46;;971:66;210:1058:240;;-1:-1:-1;;;971:66:46;;;;;;;;;210:1058:240;971:66:46;;210:1058:240;971:66:46;210:1058:240;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;;3383:63;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;3383:63;;;;971:66;210:1058:240;;;3383:63:46;;;;;210:1058:240;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1898:6:49;210:1058:240;;;1873:80:49;1889:4;1881:23;;;1873:80;:::i;:::-;1963:87;-1:-1:-1;;;;;;;;;;;210:1058:240;;;;;1971:30:49;1963:87;:::i;:::-;1303:62:42;;:::i;:::-;210:1058:240;;;;;;;;;;;;;;;;;;;;;;971:66:46;;;;;;;3330:17;;;;;;;;;;:::i;3232:526::-;210:1058:240;;;;;;;;;971:66:46;;;3383:63;;;;;;;;;;;;;;3232:526;-1:-1:-1;3379:302:46;;210:1058:240;;-1:-1:-1;;;3610:56:46;;;;;971:66;;;;;;;210:1058:240;971:66:46;210:1058:240;;;971:66:46;-1:-1:-1;;;971:66:46;;;;;;3610:56;3379:302;3496:28;;;;;;;;971:66;;3379:302;;;;;2171:17;;;:::i;:::-;2204:27;;;;210:1058:240;;2523:15:46;;;:28;;;2519:123;;3232:526;;;;;;210:1058:240;;2523:28:46;;;;;3383:63;;;;;;;;;;;;;;;;;:::i;:::-;;;971:66;;;;;3383:63;;;;;;;;;210:1058:240;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;210:1058:240;;;;;;286:27;210:1058;286:27;;;;;;;210:1058;286:27;;:::i;:::-;210:1058;;;;;;;;;;;;;;;;;;;286:27;210:1058;;;;;;286:27;-1:-1:-1;210:1058:240;;;;-1:-1:-1;210:1058:240;:::o;:::-;;;;;;;;;;;;;319:28;210:1058;;;;;;319:28;-1:-1:-1;210:1058:240;;;;-1:-1:-1;210:1058:240;:::o;:::-;;;;-1:-1:-1;;;;;210:1058:240;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;210:1058:240;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1599:130:42:-;1513:6;210:1058:240;-1:-1:-1;;;;;210:1058:240;929:10:68;1662:23:42;210:1058:240;;1599:130:42:o;210:1058:240:-;;;;971:66:46;;;210:1058:240;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;1699:281:46;1713:19:66;;:23;210:1058:240;;-1:-1:-1;;;;;;;;;;;210:1058:240;;-1:-1:-1;;;;;;210:1058:240;-1:-1:-1;;;;;210:1058:240;;;;;;;;;1699:281:46:o;210:1058:240:-;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;;;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;210:1058:240;;;;:::o;:::-;;;:::o;7682:628:66:-;;;;7886:418;;;210:1058:240;;;7917:22:66;7913:286;;8212:17;;:::o;7913:286::-;1713:19;:23;210:1058:240;;8212:17:66;:::o;210:1058:240:-;;;-1:-1:-1;;;210:1058:240;;;;;;;;;;;;;;;;;;;;7886:418:66;210:1058:240;;;;-1:-1:-1;8991:21:66;:17;;9163:142;;;;;;;8987:379;210:1058:240;;971:66:46;;;;9335:20:66;;210:1058:240;;9335:20:66;;;;210:1058:240;;;;;;;;;9011:1:66;210:1058:240;;;;;;;;;;;;9011:1:66;210:1058:240;;;;;;;;;;;;;;9335:20:66;;;;210:1058:240;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:1058:240;;;-1:-1:-1;;210:1058:240;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;","linkReferences":{},"immutableReferences":{"32368":[{"start":1695,"length":32},{"start":1991,"length":32},{"start":2637,"length":32}]}},"methodIdentifiers":{"initiailize(address[],uint256[])":"6d819363","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","splitAddrs(uint256)":"1f9f20c9","splitRatios(uint256)":"7ab0d1e8","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_splitAddrs\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_splitRatios\",\"type\":\"uint256[]\"}],\"name\":\"initiailize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"splitAddrs\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"splitRatios\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/SuperRarePushSplitter.sol\":\"SuperRarePushSplitter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"src/utils/SuperRarePushSplitter.sol\":{\"keccak256\":\"0x054cf7a9bbda2fa90088278261484dad6e1a6a9a1f460a0ae91119f8bde02e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d77edff70ff38c09a4dfa2f805bf6e5df133c92c5e5bb6d3b93c0dc9bace5dab\",\"dweb:/ipfs/QmQgfBABsyawqpRCgXr1q8iZt6kyf3J1KgP8V7cQwLZ9Fy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address[]","name":"_splitAddrs","type":"address[]"},{"internalType":"uint256[]","name":"_splitRatios","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"initiailize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"splitAddrs","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"splitRatios","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/SuperRarePushSplitter.sol":"SuperRarePushSplitter"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"src/utils/SuperRarePushSplitter.sol":{"keccak256":"0x054cf7a9bbda2fa90088278261484dad6e1a6a9a1f460a0ae91119f8bde02e95","urls":["bzz-raw://d77edff70ff38c09a4dfa2f805bf6e5df133c92c5e5bb6d3b93c0dc9bace5dab","dweb:/ipfs/QmQgfBABsyawqpRCgXr1q8iZt6kyf3J1KgP8V7cQwLZ9Fy"],"license":"MIT"}},"version":1},"id":240} \ No newline at end of file diff --git a/abis/SuperRareV2.json b/abis/SuperRareV2.json index 6a63443..2d0c957 100644 --- a/abis/SuperRareV2.json +++ b/abis/SuperRareV2.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMintingAllowance","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initWhitelist","inputs":[{"name":"_whitelistees","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWhitelisted","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintingAllowance","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenMetadata","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"whitelistEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"MintingAllowanceUpdated","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"},{"name":"_allowedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_uri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234620003735762001b87803803806200001d8162000378565b928339810190604081830312620003735780516001600160401b039290838111620003735781620000509184016200039e565b916020918282015185811162000373576200006c92016200039e565b9282518181116200035d576000928354916001958684811c9416801562000352575b838510146200033e578190601f94858111620002eb575b508390858311600114620002875787926200027b575b5050600019600383901b1c191690861b1784555b8551928311620002675784548581811c911680156200025c575b82821014620002485782811162000200575b50809183116001146200019857508293948293926200018c575b5050600019600383901b1c191690831b1782555b60078054336001600160a01b0319821681179092556040519391906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a360ff196009541617600955600b556117769081620004118239f35b01519050388062000115565b90601f198316958585528285209285905b888210620001e857505083869796959610620001ce575b505050811b01825562000129565b015160001960f88460031b161c19169055388080620001c0565b808885968294968601518155019501930190620001a9565b8585528185208380860160051c8201928487106200023e575b0160051c019086905b82811062000232575050620000fb565b86815501869062000222565b9250819262000219565b634e487b7160e01b85526022600452602485fd5b90607f1690620000e9565b634e487b7160e01b84526041600452602484fd5b015190503880620000bb565b8780528488208994509190601f198416895b87828210620002d45750508411620002ba575b505050811b018455620000cf565b015160001960f88460031b161c19169055388080620002ac565b8385015186558c9790950194938401930162000299565b9091508680528387208580850160051c82019286861062000334575b918a91869594930160051c01915b82811062000325575050620000a5565b8981558594508a910162000315565b9250819262000307565b634e487b7160e01b86526022600452602486fd5b93607f16936200008e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200035d57604052565b919080601f84011215620003735782516001600160401b0381116200035d57602090620003d4601f8201601f1916830162000378565b92818452828287010111620003735760005b818110620003fc57508260009394955001015290565b8581018301518482018401528201620003e656fe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610e075750806306fdde0314610d5f578063081812fc14610d3f578063095ea7b314610bd257806323b872dd14610ba85780632cb2f52e14610ac85780632d13f7d814610a9b5780633af32abf14610a6c57806340c1a06414610a3a57806342842e0e14610a1157806351fb012d146109ed578381636297c16c1461093b575080636352211e1461090a57806370a0823114610874578063715018a61461081757806381b97161146107df5780638da5cb5b146107b657806395d89b41146106d3578063a22cb46514610608578063b85ecf93146104d3578063b88d4fde1461046f578063c87b56dd146103ff578063d9856c2114610253578063e985e9c5146102015763f2fde38b1461013857600080fd5b346101fd5760203660031901126101fd57610151610eb3565b9061015a610fde565b6001600160a01b039182169283156101ab575050600754826001600160601b0360a01b821617600755167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461024f578060031936011261024f5760ff81602093610221610eb3565b610229610ece565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b5080fd5b5090346101fd576020806003193601126103fb57823567ffffffffffffffff81116103f7576102859036908501610fc0565b9261028f33611729565b156103aa57600b54906102a182611514565b600b553315610369575060008181526002602052604090205460069291906102d5906001600160a01b031615155b15611585565b6000818152600260205260409020546102f8906001600160a01b031615156102cf565b338652600382528386206001815401905580865260028252610358848720956001600160601b0360a01b9633888254161790558233897fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4826115d1565b855252822090339082541617905580f35b606490838086519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b915162461bcd60e51b8152918201526024808201527f6d7573742062652077686974656c697374656420746f2063726561746520746f6044820152636b656e7360e01b6064820152608490fd5b8480fd5b8380fd5b5091903461024f57602036600319011261024f5761043e61043961046b9435600052600260205260018060a01b0360406000205416151590565b611036565b81815161044a81610f19565b5280519161045783610f19565b825251918291602083526020830190610e73565b0390f35b83823461024f57608036600319011261024f5761048a610eb3565b610492610ece565b9060643567ffffffffffffffff81116103f757366023820112156103f7576104d0938160246104c693369301359101610f89565b916044359161117f565b80f35b5091903461024f57602091826003193601126106055783359267ffffffffffffffff948585116101fd57366023860112156101fd57848101359586116105f2575060059385851b84519661052984830189610f4b565b8752602483880191830101913683116103f757602401905b8282106105cf57505050610553610fde565b815b85518110156105cb5780851b860182015161058991906001600160a01b031661057d81611729565b1561058e575b50611514565b610555565b808552600884527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e8460001980898920558851908152a238610583565b8280f35b81356001600160a01b03811681036105ee578152908301908301610541565b8580fd5b634e487b7160e01b835260419052602482fd5b80fd5b5090346101fd57806003193601126101fd57610622610eb3565b90602435918215158093036103f7576001600160a01b0316923384146106915750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b50503461024f578160031936011261024f578051908260018054916106f7836110a5565b8086529282811690811561078e5750600114610732575b5050506107208261046b940383610f4b565b51918291602083526020830190610e73565b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106107765750505061072082602061046b958201019461070e565b80546020878701810191909152909501948101610759565b61046b97508693506020925061072094915060ff191682840152151560051b8201019461070e565b50503461024f578160031936011261024f5760075490516001600160a01b039091168152602090f35b50503461024f57602036600319011261024f5760209181906001600160a01b03610807610eb3565b1681526008845220549051908152f35b8334610605578060031936011261060557610830610fde565b600780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5082903461024f57602036600319011261024f576001600160a01b03610898610eb3565b169081156108b55760208480858581526003845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b509134610605576020366003190112610605575061092a60209235611082565b90516001600160a01b039091168152f35b8281853461024f57602036600319011261024f5782359261095b84611082565b6001600160a01b03906109719082163314611539565b61097a85611082565b5061098485611082565b91858552602052828420916001600160601b0360a01b92838154169055169182845260036020528084206000198154019055848452600260205283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b50503461024f578160031936011261024f5760209060ff6009541690519015158152f35b50503461024f576104d090610a2536610ee4565b91925192610a3284610f19565b85845261117f565b50346101fd5760203660031901126101fd5735825260066020908152918190205490516001600160a01b039091168152f35b50503461024f57602036600319011261024f57602090610a92610a8d610eb3565b611729565b90519015158152f35b50503461024f57602036600319011261024f57602090610ac1610abc610eb3565b6116fc565b9051908152f35b50346101fd57816003193601126101fd5780359160243567ffffffffffffffff81116103f757610afb9036908401610fc0565b91610b0584611082565b6001600160a01b0390610b1b9082163314611539565b84865260066020523390838720541603610b66575081610b60916107207f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd94866115d1565b0390a280f35b6020606492519162461bcd60e51b8352820152602060248201527f6d757374206265207468652063726561746f72206f662074686520746f6b656e6044820152fd5b8334610605576104d0610bba36610ee4565b91610bcd610bc8843361121a565b61111d565b6112e2565b50346101fd57816003193601126101fd57610beb610eb3565b6024359290916001600160a01b0391908280610c0687611082565b16941693808514610cf257803314908115610cd3575b5015610c6b57848652602052842080546001600160a01b03191683179055610c4383611082565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652600560205281862033875260205260ff828720541638610c1c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b509134610605576020366003190112610605575061092a602092356110df565b50503461024f578160031936011261024f57805190828054610d80816110a5565b8085529160019180831690811561078e5750600114610dab575050506107208261046b940383610f4b565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828610610def5750505061072082602061046b958201019461070e565b80546020878701810191909152909501948101610dd2565b925050346101fd5760203660031901126101fd573563ffffffff60e01b81168091036101fd57602092506380ac58cd60e01b8114908115610e62575b8115610e51575b5015158152f35b6301ffc9a760e01b14905038610e4a565b635b5e139f60e01b81149150610e43565b919082519283825260005b848110610e9f575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e7e565b600435906001600160a01b0382168203610ec957565b600080fd5b602435906001600160a01b0382168203610ec957565b6060906003190112610ec9576001600160a01b03906004358281168103610ec957916024359081168103610ec9579060443590565b6020810190811067ffffffffffffffff821117610f3557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f3557604052565b67ffffffffffffffff8111610f3557601f01601f191660200190565b929192610f9582610f6d565b91610fa36040519384610f4b565b829481845281830111610ec9578281602093846000960137010152565b9080601f83011215610ec957816020610fdb93359101610f89565b90565b6007546001600160a01b03163303610ff257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1561103d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316610fdb811515611036565b90600182811c921680156110d5575b60208310146110bf57565b634e487b7160e01b600052602260045260246000fd5b91607f16916110b4565b600081815260026020526040902054611102906001600160a01b03161515611036565b6000908152600460205260409020546001600160a01b031690565b1561112457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b906111a3939291611193610bc8843361121a565b61119e8383836112e2565b6113f3565b156111aa57565b60405162461bcd60e51b8152806111c3600482016111c7565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b03808061122e84611082565b16931691838314938415611261575b50831561124b575b50505090565b611257919293506110df565b1614388080611245565b909350600052600560205260406000208260005260205260ff60406000205416923861123d565b1561128f57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b9061130a916112f084611082565b6001600160a01b0393918416928492909183168414611288565b169182156113a257816113279161132086611082565b1614611288565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206001600160601b0360a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b156115095794849161144d9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190610e73565b0393165af18491816114c9575b506114b8575050503d6000146114b0573d61147481610f6d565b906114826040519283610f4b565b81528091833d92013e5b805191826114ad5760405162461bcd60e51b8152806111c3600482016111c7565b01fd5b50606061148c565b6001600160e01b0319161492509050565b9091508581813d8311611502575b6114e18183610f4b565b810103126103f757516001600160e01b0319811681036103f757903861145a565b503d6114d7565b505050915050600190565b60001981146115235760010190565b634e487b7160e01b600052601160045260246000fd5b1561154057565b60405162461bcd60e51b815260206004820152601e60248201527f6d75737420626520746865206f776e6572206f662074686520746f6b656e00006044820152606490fd5b1561158c57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9190916000908152602092600a8452604082209181519167ffffffffffffffff83116116e85761160184546110a5565b601f81116116a5575b508591601f841160011461164457839495965092611639575b50508160011b916000199060031b1c1916179055565b015190503880611623565b9190601f1984169685845280842093905b88821061168d57505083600195969710611674575b505050811b019055565b015160001960f88460031b161c1916905538808061166a565b80600185968294968601518155019501930190611655565b848352868320601f850160051c8101918886106116de575b601f0160051c01905b8181106116d3575061160a565b8381556001016116c6565b90915081906116bd565b634e487b7160e01b82526041600452602482fd5b60095460ff1615611722576001600160a01b031660009081526008602052604090205490565b5060001990565b611732906116fc565b60009015610fdb575060019056fea26469706673582212200a29f9e604a7eaf096e3aaa87c52813205a76a627451a5650d3b283ca9da83b264736f6c63430008120033","sourceMap":"364:3532:211:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;;;;;;;;-1:-1:-1;;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;364:3532:211;;;;;;;;;;;;;;2518:6:78;364:3532:211;;719:10:99;-1:-1:-1;;;;;;364:3532:211;;;;;;;;;;;719:10:99;-1:-1:-1;;;;;364:3532:211;2566:40:78;;;;364:3532:211;;235:4:216;364:3532:211;;;235:4:216;364:3532:211;1153:13;364:3532;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;-1:-1:-1;;364:3532:211;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;-1:-1:-1;364:3532:211;;-1:-1:-1;364:3532:211;;;;;;;;;-1:-1:-1;;364:3532:211;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;-1:-1:-1;364:3532:211;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610e075750806306fdde0314610d5f578063081812fc14610d3f578063095ea7b314610bd257806323b872dd14610ba85780632cb2f52e14610ac85780632d13f7d814610a9b5780633af32abf14610a6c57806340c1a06414610a3a57806342842e0e14610a1157806351fb012d146109ed578381636297c16c1461093b575080636352211e1461090a57806370a0823114610874578063715018a61461081757806381b97161146107df5780638da5cb5b146107b657806395d89b41146106d3578063a22cb46514610608578063b85ecf93146104d3578063b88d4fde1461046f578063c87b56dd146103ff578063d9856c2114610253578063e985e9c5146102015763f2fde38b1461013857600080fd5b346101fd5760203660031901126101fd57610151610eb3565b9061015a610fde565b6001600160a01b039182169283156101ab575050600754826001600160601b0360a01b821617600755167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461024f578060031936011261024f5760ff81602093610221610eb3565b610229610ece565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b5080fd5b5090346101fd576020806003193601126103fb57823567ffffffffffffffff81116103f7576102859036908501610fc0565b9261028f33611729565b156103aa57600b54906102a182611514565b600b553315610369575060008181526002602052604090205460069291906102d5906001600160a01b031615155b15611585565b6000818152600260205260409020546102f8906001600160a01b031615156102cf565b338652600382528386206001815401905580865260028252610358848720956001600160601b0360a01b9633888254161790558233897fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4826115d1565b855252822090339082541617905580f35b606490838086519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b915162461bcd60e51b8152918201526024808201527f6d7573742062652077686974656c697374656420746f2063726561746520746f6044820152636b656e7360e01b6064820152608490fd5b8480fd5b8380fd5b5091903461024f57602036600319011261024f5761043e61043961046b9435600052600260205260018060a01b0360406000205416151590565b611036565b81815161044a81610f19565b5280519161045783610f19565b825251918291602083526020830190610e73565b0390f35b83823461024f57608036600319011261024f5761048a610eb3565b610492610ece565b9060643567ffffffffffffffff81116103f757366023820112156103f7576104d0938160246104c693369301359101610f89565b916044359161117f565b80f35b5091903461024f57602091826003193601126106055783359267ffffffffffffffff948585116101fd57366023860112156101fd57848101359586116105f2575060059385851b84519661052984830189610f4b565b8752602483880191830101913683116103f757602401905b8282106105cf57505050610553610fde565b815b85518110156105cb5780851b860182015161058991906001600160a01b031661057d81611729565b1561058e575b50611514565b610555565b808552600884527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e8460001980898920558851908152a238610583565b8280f35b81356001600160a01b03811681036105ee578152908301908301610541565b8580fd5b634e487b7160e01b835260419052602482fd5b80fd5b5090346101fd57806003193601126101fd57610622610eb3565b90602435918215158093036103f7576001600160a01b0316923384146106915750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b50503461024f578160031936011261024f578051908260018054916106f7836110a5565b8086529282811690811561078e5750600114610732575b5050506107208261046b940383610f4b565b51918291602083526020830190610e73565b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106107765750505061072082602061046b958201019461070e565b80546020878701810191909152909501948101610759565b61046b97508693506020925061072094915060ff191682840152151560051b8201019461070e565b50503461024f578160031936011261024f5760075490516001600160a01b039091168152602090f35b50503461024f57602036600319011261024f5760209181906001600160a01b03610807610eb3565b1681526008845220549051908152f35b8334610605578060031936011261060557610830610fde565b600780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5082903461024f57602036600319011261024f576001600160a01b03610898610eb3565b169081156108b55760208480858581526003845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b509134610605576020366003190112610605575061092a60209235611082565b90516001600160a01b039091168152f35b8281853461024f57602036600319011261024f5782359261095b84611082565b6001600160a01b03906109719082163314611539565b61097a85611082565b5061098485611082565b91858552602052828420916001600160601b0360a01b92838154169055169182845260036020528084206000198154019055848452600260205283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b50503461024f578160031936011261024f5760209060ff6009541690519015158152f35b50503461024f576104d090610a2536610ee4565b91925192610a3284610f19565b85845261117f565b50346101fd5760203660031901126101fd5735825260066020908152918190205490516001600160a01b039091168152f35b50503461024f57602036600319011261024f57602090610a92610a8d610eb3565b611729565b90519015158152f35b50503461024f57602036600319011261024f57602090610ac1610abc610eb3565b6116fc565b9051908152f35b50346101fd57816003193601126101fd5780359160243567ffffffffffffffff81116103f757610afb9036908401610fc0565b91610b0584611082565b6001600160a01b0390610b1b9082163314611539565b84865260066020523390838720541603610b66575081610b60916107207f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd94866115d1565b0390a280f35b6020606492519162461bcd60e51b8352820152602060248201527f6d757374206265207468652063726561746f72206f662074686520746f6b656e6044820152fd5b8334610605576104d0610bba36610ee4565b91610bcd610bc8843361121a565b61111d565b6112e2565b50346101fd57816003193601126101fd57610beb610eb3565b6024359290916001600160a01b0391908280610c0687611082565b16941693808514610cf257803314908115610cd3575b5015610c6b57848652602052842080546001600160a01b03191683179055610c4383611082565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652600560205281862033875260205260ff828720541638610c1c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b509134610605576020366003190112610605575061092a602092356110df565b50503461024f578160031936011261024f57805190828054610d80816110a5565b8085529160019180831690811561078e5750600114610dab575050506107208261046b940383610f4b565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828610610def5750505061072082602061046b958201019461070e565b80546020878701810191909152909501948101610dd2565b925050346101fd5760203660031901126101fd573563ffffffff60e01b81168091036101fd57602092506380ac58cd60e01b8114908115610e62575b8115610e51575b5015158152f35b6301ffc9a760e01b14905038610e4a565b635b5e139f60e01b81149150610e43565b919082519283825260005b848110610e9f575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e7e565b600435906001600160a01b0382168203610ec957565b600080fd5b602435906001600160a01b0382168203610ec957565b6060906003190112610ec9576001600160a01b03906004358281168103610ec957916024359081168103610ec9579060443590565b6020810190811067ffffffffffffffff821117610f3557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f3557604052565b67ffffffffffffffff8111610f3557601f01601f191660200190565b929192610f9582610f6d565b91610fa36040519384610f4b565b829481845281830111610ec9578281602093846000960137010152565b9080601f83011215610ec957816020610fdb93359101610f89565b90565b6007546001600160a01b03163303610ff257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1561103d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316610fdb811515611036565b90600182811c921680156110d5575b60208310146110bf57565b634e487b7160e01b600052602260045260246000fd5b91607f16916110b4565b600081815260026020526040902054611102906001600160a01b03161515611036565b6000908152600460205260409020546001600160a01b031690565b1561112457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b906111a3939291611193610bc8843361121a565b61119e8383836112e2565b6113f3565b156111aa57565b60405162461bcd60e51b8152806111c3600482016111c7565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b03808061122e84611082565b16931691838314938415611261575b50831561124b575b50505090565b611257919293506110df565b1614388080611245565b909350600052600560205260406000208260005260205260ff60406000205416923861123d565b1561128f57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b9061130a916112f084611082565b6001600160a01b0393918416928492909183168414611288565b169182156113a257816113279161132086611082565b1614611288565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206001600160601b0360a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b156115095794849161144d9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190610e73565b0393165af18491816114c9575b506114b8575050503d6000146114b0573d61147481610f6d565b906114826040519283610f4b565b81528091833d92013e5b805191826114ad5760405162461bcd60e51b8152806111c3600482016111c7565b01fd5b50606061148c565b6001600160e01b0319161492509050565b9091508581813d8311611502575b6114e18183610f4b565b810103126103f757516001600160e01b0319811681036103f757903861145a565b503d6114d7565b505050915050600190565b60001981146115235760010190565b634e487b7160e01b600052601160045260246000fd5b1561154057565b60405162461bcd60e51b815260206004820152601e60248201527f6d75737420626520746865206f776e6572206f662074686520746f6b656e00006044820152606490fd5b1561158c57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9190916000908152602092600a8452604082209181519167ffffffffffffffff83116116e85761160184546110a5565b601f81116116a5575b508591601f841160011461164457839495965092611639575b50508160011b916000199060031b1c1916179055565b015190503880611623565b9190601f1984169685845280842093905b88821061168d57505083600195969710611674575b505050811b019055565b015160001960f88460031b161c1916905538808061166a565b80600185968294968601518155019501930190611655565b848352868320601f850160051c8101918886106116de575b601f0160051c01905b8181106116d3575061160a565b8381556001016116c6565b90915081906116bd565b634e487b7160e01b82526041600452602482fd5b60095460ff1615611722576001600160a01b031660009081526008602052604090205490565b5060001990565b611732906116fc565b60009015610fdb575060019056fea26469706673582212200a29f9e604a7eaf096e3aaa87c52813205a76a627451a5650d3b283ca9da83b264736f6c63430008120033","sourceMap":"364:3532:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;364:3532:211;;;;2162:22:78;;364:3532:211;;;;2518:6:78;364:3532:211;;-1:-1:-1;;;;;364:3532:211;;;;;2518:6:78;364:3532:211;;2566:40:78;;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;364:3532:211;;;;;4508:18:94;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2489:10;2475:25;2489:10;2475:25;:::i;:::-;364:3532;;;3606:9;364:3532;3625:11;;;;:::i;:::-;3606:9;364:3532;2489:10;9004:16:94;364:3532:211;;-1:-1:-1;;364:3532:211;;;6794:7:94;364:3532:211;;;;;;532:14:215;;9076:16:94;;9067:58;;-1:-1:-1;;;;;364:3532:211;7208:31:94;;9076:16;9075:17;9067:58;:::i;:::-;-1:-1:-1;364:3532:211;;;6794:7:94;364:3532:211;;;;;;9271:58:94;;-1:-1:-1;;;;;364:3532:211;7208:31:94;;9280:16;7120:126;9271:58;2489:10:211;364:3532;;;;;;;;9688:1:94;364:3532:211;;;;;;;;9710:7:94;364:3532:211;;3698:4;364:3532;;;;-1:-1:-1;;;;;364:3532:211;;2489:10;;364:3532;;;;;;;2489:10;;9747:33:94;;;;;3698:4:211;;:::i;:::-;364:3532;;;;;2489:10;;364:3532;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;13313:53:94;13321:16;364:3532:211;;;-1:-1:-1;364:3532:211;6794:7:94;364:3532:211;;;;;;;;-1:-1:-1;364:3532:211;;;7208:31:94;;7120:126;;13321:16;13313:53;:::i;:::-;364:3532:211;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;1063:62:78;;;;;:::i;:::-;1425:13:211;1466:3;364:3532;;1440:24;;;;;364:3532;;;;;;;;1466:3;;364:3532;-1:-1:-1;;;;;364:3532:211;1538:22;364:3532;1538:22;:::i;:::-;1537:23;1533:86;;1466:3;;;:::i;:::-;1425:13;;1533:86;364:3532;;;1934:16:216;364:3532:211;;722:49:216;364:3532:211;;;;;;;;;;;;;722:49:216;1533:86:211;;;1440:24;;364:3532;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;364:3532:211;;719:10:99;12990:17:94;;364:3532:211;;719:10:99;;364:3532:211;;13047:18:94;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;13108:41:94;364:3532:211;719:10:99;13108:41:94;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2721:7:94;364:3532:211;;;;;;:::i;:::-;;;;;;;;;2721:7:94;;;;364:3532:211;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1273:6:78;364:3532:211;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;;;-1:-1:-1;;;;;364:3532:211;;:::i;:::-;;;;146:51:216;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;2518:6;364:3532:211;;-1:-1:-1;;;;;;364:3532:211;;;;;;;-1:-1:-1;;;;;364:3532:211;2566:40:78;364:3532:211;;2566:40:78;364:3532:211;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;-1:-1:-1;;;;;364:3532:211;;:::i;:::-;;2028:19:94;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;1831:17;;;;:::i;:::-;-1:-1:-1;;;;;364:3532:211;1858:62;;364:3532;;1875:10;1866:19;1858:62;:::i;:::-;10246:23:94;;;:::i;:::-;;10441;;;:::i;:::-;364:3532:211;;;;;;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:7:94;364:3532:211;;;;;;;;;;10829:36:94;;;;364:3532:211;;;;;;;;;;;;;;;;;;;204:35:216;364:3532:211;;;;;;;;;;;;;;;;5077:39:94;364:3532:211;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5077:39:94;:::i;364:3532:211:-;;;;;;;-1:-1:-1;;364:3532:211;;;;;;;413:14:215;364:3532:211;;;;;;;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1831:17;;;;:::i;:::-;-1:-1:-1;;;;;364:3532:211;1858:62;;364:3532;;1875:10;1866:19;1858:62;:::i;:::-;364:3532;;;413:14:215;364:3532:211;;1875:10;364:3532;;;;;;2181:21;364:3532;;3216:4;;364:3532;3216:4;;3236:31;3216:4;;;:::i;364:3532::-;3236:31;;;364:3532;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4893:7:94;364:3532:211;;;:::i;:::-;719:10:99;4763:99:94;4771:41;719:10:99;;4771:41:94;:::i;:::-;4763:99;:::i;:::-;4893:7;:::i;364:3532:211:-;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;364:3532:211;;;;3564:23:94;364:3532:211;3564:23:94;:::i;:::-;364:3532:211;;;3605:11:94;;;;364:3532:211;;719:10:99;;3686:21:94;:62;;;;;364:3532:211;;;;;;;;;;;;;;-1:-1:-1;;;;;;364:3532:211;;;;;12699:23:94;364:3532:211;12699:23:94;:::i;:::-;364:3532:211;12690:46:94;;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3686:62:94;364:3532:211;;;;4508:18:94;364:3532:211;;;;;719:10:99;364:3532:211;;;;;;;;;;3686:62:94;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:211;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1707:40:94;;;:104;;;;364:3532:211;1707:156:94;;;;364:3532:211;;;;;;;1707:156:94;-1:-1:-1;;;937:40:103;;-1:-1:-1;1707:156:94;;;:104;-1:-1:-1;;;1763:48:94;;;-1:-1:-1;1707:104:94;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;364:3532:211;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;1359:130:78:-;1273:6;364:3532:211;-1:-1:-1;;;;;364:3532:211;719:10:99;1422:23:78;364:3532:211;;1359:130:78:o;364:3532:211:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;;;;2190:219:94;-1:-1:-1;364:3532:211;;;6794:7:94;364:3532:211;;;;;;-1:-1:-1;;;;;364:3532:211;2324:56:94;2332:19;;;2324:56;:::i;364:3532:211:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;3935:167:94;-1:-1:-1;364:3532:211;;;6794:7:94;364:3532:211;;;;;;13313:53:94;;-1:-1:-1;;;;;364:3532:211;7208:31:94;;13313:53;:::i;:::-;-1:-1:-1;364:3532:211;;;4071:15:94;364:3532:211;;;;;;-1:-1:-1;;;;;364:3532:211;;3935:167:94:o;364:3532:211:-;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;5189:276:94;;6484:47;5189:276;;;5311:99;5319:41;719:10:99;;5319:41:94;:::i;5311:99::-;6458:7;;;;;:::i;:::-;6484:47;:::i;:::-;364:3532:211;;;5189:276:94:o;364:3532:211:-;;;-1:-1:-1;;;364:3532:211;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;:::o;7404:261:94:-;;-1:-1:-1;;;;;364:3532:211;;7529:23:94;7404:261;7529:23;:::i;:::-;364:3532:211;;;7570:16:94;;;;:52;;;;;7404:261;7570:87;;;;;7404:261;7562:96;;;7404:261;:::o;7570:87::-;7626:20;;;;;;:::i;:::-;364:3532:211;7626:31:94;7570:87;;;;;:52;364:3532:211;;;-1:-1:-1;364:3532:211;4508:18:94;364:3532:211;;;-1:-1:-1;364:3532:211;;-1:-1:-1;364:3532:211;;;;;-1:-1:-1;364:3532:211;;;7570:52:94;;;;364:3532:211;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;11257:1203:94;;11346:81;11257:1203;11354:23;;;:::i;:::-;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;11354:31:94;;11346:81;:::i;:::-;364:3532:211;11445:16:94;;;364:3532:211;;11655:23:94;11647:81;11655:23;;;;:::i;:::-;364:3532:211;11655:31:94;11647:81;:::i;:::-;12374:27;11459:1;364:3532:211;;;11797:15:94;364:3532:211;;;;;-1:-1:-1;;;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12337:7:94;364:3532:211;;;;;;;;;;;;;12374:27:94;;11257:1203::o;364:3532:211:-;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:211;;;;;;;13925:831:94;;;364:3532:211;;13925:831:94;;;1702:19:98;;:23;:19;;364:3532:211;;;;;;;;;;;;;;14129:71:94;;;;719:10:99;14129:71:94;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;14129:71:94;;364:3532:211;;;;;;;;:::i;:::-;14129:71:94;364:3532:211;;14129:71:94;;;;;;;14090:660;-1:-1:-1;14125:573:94;;14317:381;;;364:3532:211;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14367:18:94;;;364:3532:211;;-1:-1:-1;;;14409:60:94;;364:3532:211;14409:60:94;14129:71;14409:60;;;:::i;14363:321::-;14571:95;;364:3532:211;;;;;14125:573:94;-1:-1:-1;;;;;;364:3532:211;14250:51:94;;-1:-1:-1;364:3532:211;-1:-1:-1;14243:58:94:o;14129:71::-;;;;;;;;;;;;;;;;;:::i;:::-;;;364:3532:211;;;;;-1:-1:-1;;;;;;364:3532:211;;;;;;14129:71:94;;;;;;;;;14090:660;14728:11;;;;;;14735:4;14728:11;:::o;364:3532:211:-;-1:-1:-1;;364:3532:211;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:211;;;;;;;;;;;;;;;;;;;;3781:113;;;;-1:-1:-1;364:3532:211;;;;;3860:10;364:3532;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3781:113;364:3532;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3781:113::o;364:3532::-;;;;-1:-1:-1;364:3532:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3781:113::o;364:3532::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:211;;;;;-1:-1:-1;;;364:3532:211;;;;;;;;1198:250:216;1317:16;364:3532:211;;;;;;-1:-1:-1;;;;;364:3532:211;-1:-1:-1;364:3532:211;;;1356:16:216;364:3532:211;;;;;;;1349:33:216:o;1313:129::-;-1:-1:-1;;;364:3532:211;1413:18:216:o;1454:141::-;1539:29;1454:141;1539:29;:::i;:::-;1572:1;;1539:34;:49;;;1576:4;1454:141;:::o","linkReferences":{}},"methodIdentifiers":{"addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","deleteToken(uint256)":"6297c16c","getApproved(uint256)":"081812fc","getMintingAllowance(address)":"2d13f7d8","initWhitelist(address[])":"b85ecf93","isApprovedForAll(address,address)":"e985e9c5","isWhitelisted(address)":"3af32abf","mintingAllowance(address)":"81b97161","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateTokenMetadata(uint256,string)":"2cb2f52e","whitelistEnabled()":"51fb012d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_allowedAmount\",\"type\":\"uint256\"}],\"name\":\"MintingAllowanceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getMintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_whitelistees\",\"type\":\"address[]\"}],\"name\":\"initWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"updateTokenMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"addNewToken(string)\":{\"details\":\"Adds a new unique token to the supply.\",\"params\":{\"_uri\":\"string metadata uri associated with the token.\"}},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"deleteToken(uint256)\":{\"details\":\"Deletes the token with the provided ID.\",\"params\":{\"_tokenId\":\"uint256 ID of the token.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"initWhitelist(address[])\":{\"details\":\"Whitelists a bunch of addresses.\",\"params\":{\"_whitelistees\":\"address[] of addresses to whitelist.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateTokenMetadata(uint256,string)\":{\"details\":\"Updates the token metadata if the owner is also the creator.\",\"params\":{\"_tokenId\":\"uint256 ID of the token.\",\"_uri\":\"string metadata URI.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/superrare/SuperRareV2.sol\":\"SuperRareV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf\",\"dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/token/ERC721/superrare/ISuperRare.sol\":{\"keccak256\":\"0x5fd0bd50fc36eb38aaa1a32d2ba4692ad3993369440a99ef8d1536c39b3dcada\",\"license\":\"BSD-3-Clause\",\"urls\":[\"bzz-raw://cd46c1268707cdcc7c2b6f8f551f21c76e4d4fecffa7dfb5793c8620763658cc\",\"dweb:/ipfs/QmNYD4r7hJxwjqBQ24VK6CQecMdbkaHNb2GUyqPctaidRk\"]},\"src/token/ERC721/superrare/SuperRareV2.sol\":{\"keccak256\":\"0x758a43250c3bc27859cebaaf5bcd0674b9b197baedb69596ce36976ea0b777b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce062da61317a25495c24ae194c1ddeafda9688021f8353e42f2ce8175b3a0e3\",\"dweb:/ipfs/QmVU6tiNMPZX11hrmVdh8yVgpd4quAoiRmgXFoVw5eGcWV\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/token/extensions/TokenCreator.sol\":{\"keccak256\":\"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87\",\"dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ\"]},\"src/token/extensions/Whitelist.sol\":{\"keccak256\":\"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7\",\"dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true},{"internalType":"uint256","name":"_allowedAmount","type":"uint256","indexed":false}],"type":"event","name":"MintingAllowanceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"_uri","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getMintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_whitelistees","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"initWhitelist"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"mintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenMetadata"},{"inputs":[],"stateMutability":"view","type":"function","name":"whitelistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"addNewToken(string)":{"details":"Adds a new unique token to the supply.","params":{"_uri":"string metadata uri associated with the token."}},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"deleteToken(uint256)":{"details":"Deletes the token with the provided ID.","params":{"_tokenId":"uint256 ID of the token."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"initWhitelist(address[])":{"details":"Whitelists a bunch of addresses.","params":{"_whitelistees":"address[] of addresses to whitelist."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateTokenMetadata(uint256,string)":{"details":"Updates the token metadata if the owner is also the creator.","params":{"_tokenId":"uint256 ID of the token.","_uri":"string metadata URI."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/superrare/SuperRareV2.sol":"SuperRareV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol":{"keccak256":"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4","urls":["bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf","dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/token/ERC721/superrare/ISuperRare.sol":{"keccak256":"0x5fd0bd50fc36eb38aaa1a32d2ba4692ad3993369440a99ef8d1536c39b3dcada","urls":["bzz-raw://cd46c1268707cdcc7c2b6f8f551f21c76e4d4fecffa7dfb5793c8620763658cc","dweb:/ipfs/QmNYD4r7hJxwjqBQ24VK6CQecMdbkaHNb2GUyqPctaidRk"],"license":"BSD-3-Clause"},"src/token/ERC721/superrare/SuperRareV2.sol":{"keccak256":"0x758a43250c3bc27859cebaaf5bcd0674b9b197baedb69596ce36976ea0b777b2","urls":["bzz-raw://ce062da61317a25495c24ae194c1ddeafda9688021f8353e42f2ce8175b3a0e3","dweb:/ipfs/QmVU6tiNMPZX11hrmVdh8yVgpd4quAoiRmgXFoVw5eGcWV"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/token/extensions/TokenCreator.sol":{"keccak256":"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0","urls":["bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87","dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ"],"license":"MIT"},"src/token/extensions/Whitelist.sol":{"keccak256":"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747","urls":["bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7","dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE"],"license":"MIT"}},"version":1},"id":211} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"addNewToken","inputs":[{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deleteToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMintingAllowance","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initWhitelist","inputs":[{"name":"_whitelistees","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWhitelisted","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintingAllowance","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenMetadata","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_uri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"whitelistEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"MintingAllowanceUpdated","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"},{"name":"_allowedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenURIUpdated","inputs":[{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"_uri","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234620003735762001b87803803806200001d8162000378565b928339810190604081830312620003735780516001600160401b039290838111620003735781620000509184016200039e565b916020918282015185811162000373576200006c92016200039e565b9282518181116200035d576000928354916001958684811c9416801562000352575b838510146200033e578190601f94858111620002eb575b508390858311600114620002875787926200027b575b5050600019600383901b1c191690861b1784555b8551928311620002675784548581811c911680156200025c575b82821014620002485782811162000200575b50809183116001146200019857508293948293926200018c575b5050600019600383901b1c191690831b1782555b60078054336001600160a01b0319821681179092556040519391906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a360ff196009541617600955600b556117769081620004118239f35b01519050388062000115565b90601f198316958585528285209285905b888210620001e857505083869796959610620001ce575b505050811b01825562000129565b015160001960f88460031b161c19169055388080620001c0565b808885968294968601518155019501930190620001a9565b8585528185208380860160051c8201928487106200023e575b0160051c019086905b82811062000232575050620000fb565b86815501869062000222565b9250819262000219565b634e487b7160e01b85526022600452602485fd5b90607f1690620000e9565b634e487b7160e01b84526041600452602484fd5b015190503880620000bb565b8780528488208994509190601f198416895b87828210620002d45750508411620002ba575b505050811b018455620000cf565b015160001960f88460031b161c19169055388080620002ac565b8385015186558c9790950194938401930162000299565b9091508680528387208580850160051c82019286861062000334575b918a91869594930160051c01915b82811062000325575050620000a5565b8981558594508a910162000315565b9250819262000307565b634e487b7160e01b86526022600452602486fd5b93607f16936200008e565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200035d57604052565b919080601f84011215620003735782516001600160401b0381116200035d57602090620003d4601f8201601f1916830162000378565b92818452828287010111620003735760005b818110620003fc57508260009394955001015290565b8581018301518482018401528201620003e656fe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610e075750806306fdde0314610d5f578063081812fc14610d3f578063095ea7b314610bd257806323b872dd14610ba85780632cb2f52e14610ac85780632d13f7d814610a9b5780633af32abf14610a6c57806340c1a06414610a3a57806342842e0e14610a1157806351fb012d146109ed578381636297c16c1461093b575080636352211e1461090a57806370a0823114610874578063715018a61461081757806381b97161146107df5780638da5cb5b146107b657806395d89b41146106d3578063a22cb46514610608578063b85ecf93146104d3578063b88d4fde1461046f578063c87b56dd146103ff578063d9856c2114610253578063e985e9c5146102015763f2fde38b1461013857600080fd5b346101fd5760203660031901126101fd57610151610eb3565b9061015a610fde565b6001600160a01b039182169283156101ab575050600754826001600160601b0360a01b821617600755167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461024f578060031936011261024f5760ff81602093610221610eb3565b610229610ece565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b5080fd5b5090346101fd576020806003193601126103fb57823567ffffffffffffffff81116103f7576102859036908501610fc0565b9261028f33611729565b156103aa57600b54906102a182611514565b600b553315610369575060008181526002602052604090205460069291906102d5906001600160a01b031615155b15611585565b6000818152600260205260409020546102f8906001600160a01b031615156102cf565b338652600382528386206001815401905580865260028252610358848720956001600160601b0360a01b9633888254161790558233897fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4826115d1565b855252822090339082541617905580f35b606490838086519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b915162461bcd60e51b8152918201526024808201527f6d7573742062652077686974656c697374656420746f2063726561746520746f6044820152636b656e7360e01b6064820152608490fd5b8480fd5b8380fd5b5091903461024f57602036600319011261024f5761043e61043961046b9435600052600260205260018060a01b0360406000205416151590565b611036565b81815161044a81610f19565b5280519161045783610f19565b825251918291602083526020830190610e73565b0390f35b83823461024f57608036600319011261024f5761048a610eb3565b610492610ece565b9060643567ffffffffffffffff81116103f757366023820112156103f7576104d0938160246104c693369301359101610f89565b916044359161117f565b80f35b5091903461024f57602091826003193601126106055783359267ffffffffffffffff948585116101fd57366023860112156101fd57848101359586116105f2575060059385851b84519661052984830189610f4b565b8752602483880191830101913683116103f757602401905b8282106105cf57505050610553610fde565b815b85518110156105cb5780851b860182015161058991906001600160a01b031661057d81611729565b1561058e575b50611514565b610555565b808552600884527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e8460001980898920558851908152a238610583565b8280f35b81356001600160a01b03811681036105ee578152908301908301610541565b8580fd5b634e487b7160e01b835260419052602482fd5b80fd5b5090346101fd57806003193601126101fd57610622610eb3565b90602435918215158093036103f7576001600160a01b0316923384146106915750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b50503461024f578160031936011261024f578051908260018054916106f7836110a5565b8086529282811690811561078e5750600114610732575b5050506107208261046b940383610f4b565b51918291602083526020830190610e73565b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106107765750505061072082602061046b958201019461070e565b80546020878701810191909152909501948101610759565b61046b97508693506020925061072094915060ff191682840152151560051b8201019461070e565b50503461024f578160031936011261024f5760075490516001600160a01b039091168152602090f35b50503461024f57602036600319011261024f5760209181906001600160a01b03610807610eb3565b1681526008845220549051908152f35b8334610605578060031936011261060557610830610fde565b600780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5082903461024f57602036600319011261024f576001600160a01b03610898610eb3565b169081156108b55760208480858581526003845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b509134610605576020366003190112610605575061092a60209235611082565b90516001600160a01b039091168152f35b8281853461024f57602036600319011261024f5782359261095b84611082565b6001600160a01b03906109719082163314611539565b61097a85611082565b5061098485611082565b91858552602052828420916001600160601b0360a01b92838154169055169182845260036020528084206000198154019055848452600260205283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b50503461024f578160031936011261024f5760209060ff6009541690519015158152f35b50503461024f576104d090610a2536610ee4565b91925192610a3284610f19565b85845261117f565b50346101fd5760203660031901126101fd5735825260066020908152918190205490516001600160a01b039091168152f35b50503461024f57602036600319011261024f57602090610a92610a8d610eb3565b611729565b90519015158152f35b50503461024f57602036600319011261024f57602090610ac1610abc610eb3565b6116fc565b9051908152f35b50346101fd57816003193601126101fd5780359160243567ffffffffffffffff81116103f757610afb9036908401610fc0565b91610b0584611082565b6001600160a01b0390610b1b9082163314611539565b84865260066020523390838720541603610b66575081610b60916107207f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd94866115d1565b0390a280f35b6020606492519162461bcd60e51b8352820152602060248201527f6d757374206265207468652063726561746f72206f662074686520746f6b656e6044820152fd5b8334610605576104d0610bba36610ee4565b91610bcd610bc8843361121a565b61111d565b6112e2565b50346101fd57816003193601126101fd57610beb610eb3565b6024359290916001600160a01b0391908280610c0687611082565b16941693808514610cf257803314908115610cd3575b5015610c6b57848652602052842080546001600160a01b03191683179055610c4383611082565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652600560205281862033875260205260ff828720541638610c1c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b509134610605576020366003190112610605575061092a602092356110df565b50503461024f578160031936011261024f57805190828054610d80816110a5565b8085529160019180831690811561078e5750600114610dab575050506107208261046b940383610f4b565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828610610def5750505061072082602061046b958201019461070e565b80546020878701810191909152909501948101610dd2565b925050346101fd5760203660031901126101fd573563ffffffff60e01b81168091036101fd57602092506380ac58cd60e01b8114908115610e62575b8115610e51575b5015158152f35b6301ffc9a760e01b14905038610e4a565b635b5e139f60e01b81149150610e43565b919082519283825260005b848110610e9f575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e7e565b600435906001600160a01b0382168203610ec957565b600080fd5b602435906001600160a01b0382168203610ec957565b6060906003190112610ec9576001600160a01b03906004358281168103610ec957916024359081168103610ec9579060443590565b6020810190811067ffffffffffffffff821117610f3557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f3557604052565b67ffffffffffffffff8111610f3557601f01601f191660200190565b929192610f9582610f6d565b91610fa36040519384610f4b565b829481845281830111610ec9578281602093846000960137010152565b9080601f83011215610ec957816020610fdb93359101610f89565b90565b6007546001600160a01b03163303610ff257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1561103d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316610fdb811515611036565b90600182811c921680156110d5575b60208310146110bf57565b634e487b7160e01b600052602260045260246000fd5b91607f16916110b4565b600081815260026020526040902054611102906001600160a01b03161515611036565b6000908152600460205260409020546001600160a01b031690565b1561112457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b906111a3939291611193610bc8843361121a565b61119e8383836112e2565b6113f3565b156111aa57565b60405162461bcd60e51b8152806111c3600482016111c7565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b03808061122e84611082565b16931691838314938415611261575b50831561124b575b50505090565b611257919293506110df565b1614388080611245565b909350600052600560205260406000208260005260205260ff60406000205416923861123d565b1561128f57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b9061130a916112f084611082565b6001600160a01b0393918416928492909183168414611288565b169182156113a257816113279161132086611082565b1614611288565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206001600160601b0360a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b156115095794849161144d9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190610e73565b0393165af18491816114c9575b506114b8575050503d6000146114b0573d61147481610f6d565b906114826040519283610f4b565b81528091833d92013e5b805191826114ad5760405162461bcd60e51b8152806111c3600482016111c7565b01fd5b50606061148c565b6001600160e01b0319161492509050565b9091508581813d8311611502575b6114e18183610f4b565b810103126103f757516001600160e01b0319811681036103f757903861145a565b503d6114d7565b505050915050600190565b60001981146115235760010190565b634e487b7160e01b600052601160045260246000fd5b1561154057565b60405162461bcd60e51b815260206004820152601e60248201527f6d75737420626520746865206f776e6572206f662074686520746f6b656e00006044820152606490fd5b1561158c57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9190916000908152602092600a8452604082209181519167ffffffffffffffff83116116e85761160184546110a5565b601f81116116a5575b508591601f841160011461164457839495965092611639575b50508160011b916000199060031b1c1916179055565b015190503880611623565b9190601f1984169685845280842093905b88821061168d57505083600195969710611674575b505050811b019055565b015160001960f88460031b161c1916905538808061166a565b80600185968294968601518155019501930190611655565b848352868320601f850160051c8101918886106116de575b601f0160051c01905b8181106116d3575061160a565b8381556001016116c6565b90915081906116bd565b634e487b7160e01b82526041600452602482fd5b60095460ff1615611722576001600160a01b031660009081526008602052604090205490565b5060001990565b611732906116fc565b60009015610fdb575060019056fea264697066735822122095a724648b2d73f022bc33953c0a777439c30a6a762ffe67cd685c6a4f19bf0664736f6c63430008120033","sourceMap":"364:3532:184:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;;;;;;;;-1:-1:-1;;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;364:3532:184;;;;;;;;;;;;;;2518:6:62;364:3532:184;;719:10:81;-1:-1:-1;;;;;;364:3532:184;;;;;;;;;;;719:10:81;-1:-1:-1;;;;;364:3532:184;2566:40:62;;;;364:3532:184;;235:4:189;364:3532:184;;;235:4:189;364:3532:184;1153:13;364:3532;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;-1:-1:-1;;364:3532:184;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;-1:-1:-1;364:3532:184;;-1:-1:-1;364:3532:184;;;;;;;;;-1:-1:-1;;364:3532:184;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;-1:-1:-1;364:3532:184;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610e075750806306fdde0314610d5f578063081812fc14610d3f578063095ea7b314610bd257806323b872dd14610ba85780632cb2f52e14610ac85780632d13f7d814610a9b5780633af32abf14610a6c57806340c1a06414610a3a57806342842e0e14610a1157806351fb012d146109ed578381636297c16c1461093b575080636352211e1461090a57806370a0823114610874578063715018a61461081757806381b97161146107df5780638da5cb5b146107b657806395d89b41146106d3578063a22cb46514610608578063b85ecf93146104d3578063b88d4fde1461046f578063c87b56dd146103ff578063d9856c2114610253578063e985e9c5146102015763f2fde38b1461013857600080fd5b346101fd5760203660031901126101fd57610151610eb3565b9061015a610fde565b6001600160a01b039182169283156101ab575050600754826001600160601b0360a01b821617600755167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461024f578060031936011261024f5760ff81602093610221610eb3565b610229610ece565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b5080fd5b5090346101fd576020806003193601126103fb57823567ffffffffffffffff81116103f7576102859036908501610fc0565b9261028f33611729565b156103aa57600b54906102a182611514565b600b553315610369575060008181526002602052604090205460069291906102d5906001600160a01b031615155b15611585565b6000818152600260205260409020546102f8906001600160a01b031615156102cf565b338652600382528386206001815401905580865260028252610358848720956001600160601b0360a01b9633888254161790558233897fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4826115d1565b855252822090339082541617905580f35b606490838086519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b915162461bcd60e51b8152918201526024808201527f6d7573742062652077686974656c697374656420746f2063726561746520746f6044820152636b656e7360e01b6064820152608490fd5b8480fd5b8380fd5b5091903461024f57602036600319011261024f5761043e61043961046b9435600052600260205260018060a01b0360406000205416151590565b611036565b81815161044a81610f19565b5280519161045783610f19565b825251918291602083526020830190610e73565b0390f35b83823461024f57608036600319011261024f5761048a610eb3565b610492610ece565b9060643567ffffffffffffffff81116103f757366023820112156103f7576104d0938160246104c693369301359101610f89565b916044359161117f565b80f35b5091903461024f57602091826003193601126106055783359267ffffffffffffffff948585116101fd57366023860112156101fd57848101359586116105f2575060059385851b84519661052984830189610f4b565b8752602483880191830101913683116103f757602401905b8282106105cf57505050610553610fde565b815b85518110156105cb5780851b860182015161058991906001600160a01b031661057d81611729565b1561058e575b50611514565b610555565b808552600884527fbc6a3f008d10f4c6e9c2a833342ba74f94b2beb3479cfb358034d6e1bc7e5c3e8460001980898920558851908152a238610583565b8280f35b81356001600160a01b03811681036105ee578152908301908301610541565b8580fd5b634e487b7160e01b835260419052602482fd5b80fd5b5090346101fd57806003193601126101fd57610622610eb3565b90602435918215158093036103f7576001600160a01b0316923384146106915750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b50503461024f578160031936011261024f578051908260018054916106f7836110a5565b8086529282811690811561078e5750600114610732575b5050506107208261046b940383610f4b565b51918291602083526020830190610e73565b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8286106107765750505061072082602061046b958201019461070e565b80546020878701810191909152909501948101610759565b61046b97508693506020925061072094915060ff191682840152151560051b8201019461070e565b50503461024f578160031936011261024f5760075490516001600160a01b039091168152602090f35b50503461024f57602036600319011261024f5760209181906001600160a01b03610807610eb3565b1681526008845220549051908152f35b8334610605578060031936011261060557610830610fde565b600780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5082903461024f57602036600319011261024f576001600160a01b03610898610eb3565b169081156108b55760208480858581526003845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b509134610605576020366003190112610605575061092a60209235611082565b90516001600160a01b039091168152f35b8281853461024f57602036600319011261024f5782359261095b84611082565b6001600160a01b03906109719082163314611539565b61097a85611082565b5061098485611082565b91858552602052828420916001600160601b0360a01b92838154169055169182845260036020528084206000198154019055848452600260205283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a480f35b50503461024f578160031936011261024f5760209060ff6009541690519015158152f35b50503461024f576104d090610a2536610ee4565b91925192610a3284610f19565b85845261117f565b50346101fd5760203660031901126101fd5735825260066020908152918190205490516001600160a01b039091168152f35b50503461024f57602036600319011261024f57602090610a92610a8d610eb3565b611729565b90519015158152f35b50503461024f57602036600319011261024f57602090610ac1610abc610eb3565b6116fc565b9051908152f35b50346101fd57816003193601126101fd5780359160243567ffffffffffffffff81116103f757610afb9036908401610fc0565b91610b0584611082565b6001600160a01b0390610b1b9082163314611539565b84865260066020523390838720541603610b66575081610b60916107207f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd94866115d1565b0390a280f35b6020606492519162461bcd60e51b8352820152602060248201527f6d757374206265207468652063726561746f72206f662074686520746f6b656e6044820152fd5b8334610605576104d0610bba36610ee4565b91610bcd610bc8843361121a565b61111d565b6112e2565b50346101fd57816003193601126101fd57610beb610eb3565b6024359290916001600160a01b0391908280610c0687611082565b16941693808514610cf257803314908115610cd3575b5015610c6b57848652602052842080546001600160a01b03191683179055610c4383611082565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652600560205281862033875260205260ff828720541638610c1c565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b509134610605576020366003190112610605575061092a602092356110df565b50503461024f578160031936011261024f57805190828054610d80816110a5565b8085529160019180831690811561078e5750600114610dab575050506107208261046b940383610f4b565b80809650527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828610610def5750505061072082602061046b958201019461070e565b80546020878701810191909152909501948101610dd2565b925050346101fd5760203660031901126101fd573563ffffffff60e01b81168091036101fd57602092506380ac58cd60e01b8114908115610e62575b8115610e51575b5015158152f35b6301ffc9a760e01b14905038610e4a565b635b5e139f60e01b81149150610e43565b919082519283825260005b848110610e9f575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e7e565b600435906001600160a01b0382168203610ec957565b600080fd5b602435906001600160a01b0382168203610ec957565b6060906003190112610ec9576001600160a01b03906004358281168103610ec957916024359081168103610ec9579060443590565b6020810190811067ffffffffffffffff821117610f3557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f3557604052565b67ffffffffffffffff8111610f3557601f01601f191660200190565b929192610f9582610f6d565b91610fa36040519384610f4b565b829481845281830111610ec9578281602093846000960137010152565b9080601f83011215610ec957816020610fdb93359101610f89565b90565b6007546001600160a01b03163303610ff257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b1561103d57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316610fdb811515611036565b90600182811c921680156110d5575b60208310146110bf57565b634e487b7160e01b600052602260045260246000fd5b91607f16916110b4565b600081815260026020526040902054611102906001600160a01b03161515611036565b6000908152600460205260409020546001600160a01b031690565b1561112457565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b906111a3939291611193610bc8843361121a565b61119e8383836112e2565b6113f3565b156111aa57565b60405162461bcd60e51b8152806111c3600482016111c7565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b03808061122e84611082565b16931691838314938415611261575b50831561124b575b50505090565b611257919293506110df565b1614388080611245565b909350600052600560205260406000208260005260205260ff60406000205416923861123d565b1561128f57565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b9061130a916112f084611082565b6001600160a01b0393918416928492909183168414611288565b169182156113a257816113279161132086611082565b1614611288565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206001600160601b0360a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b156115095794849161144d9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190610e73565b0393165af18491816114c9575b506114b8575050503d6000146114b0573d61147481610f6d565b906114826040519283610f4b565b81528091833d92013e5b805191826114ad5760405162461bcd60e51b8152806111c3600482016111c7565b01fd5b50606061148c565b6001600160e01b0319161492509050565b9091508581813d8311611502575b6114e18183610f4b565b810103126103f757516001600160e01b0319811681036103f757903861145a565b503d6114d7565b505050915050600190565b60001981146115235760010190565b634e487b7160e01b600052601160045260246000fd5b1561154057565b60405162461bcd60e51b815260206004820152601e60248201527f6d75737420626520746865206f776e6572206f662074686520746f6b656e00006044820152606490fd5b1561158c57565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9190916000908152602092600a8452604082209181519167ffffffffffffffff83116116e85761160184546110a5565b601f81116116a5575b508591601f841160011461164457839495965092611639575b50508160011b916000199060031b1c1916179055565b015190503880611623565b9190601f1984169685845280842093905b88821061168d57505083600195969710611674575b505050811b019055565b015160001960f88460031b161c1916905538808061166a565b80600185968294968601518155019501930190611655565b848352868320601f850160051c8101918886106116de575b601f0160051c01905b8181106116d3575061160a565b8381556001016116c6565b90915081906116bd565b634e487b7160e01b82526041600452602482fd5b60095460ff1615611722576001600160a01b031660009081526008602052604090205490565b5060001990565b611732906116fc565b60009015610fdb575060019056fea264697066735822122095a724648b2d73f022bc33953c0a777439c30a6a762ffe67cd685c6a4f19bf0664736f6c63430008120033","sourceMap":"364:3532:184:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;:::i;:::-;1063:62:62;;;:::i;:::-;-1:-1:-1;;;;;364:3532:184;;;;2162:22:62;;364:3532:184;;;;2518:6:62;364:3532:184;;-1:-1:-1;;;;;364:3532:184;;;;;2518:6:62;364:3532:184;;2566:40:62;;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;364:3532:184;;;;;4508:18:76;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2489:10;2475:25;2489:10;2475:25;:::i;:::-;364:3532;;;3606:9;364:3532;3625:11;;;;:::i;:::-;3606:9;364:3532;2489:10;9004:16:76;364:3532:184;;-1:-1:-1;;364:3532:184;;;6794:7:76;364:3532:184;;;;;;532:14:188;;9076:16:76;;9067:58;;-1:-1:-1;;;;;364:3532:184;7208:31:76;;9076:16;9075:17;9067:58;:::i;:::-;-1:-1:-1;364:3532:184;;;6794:7:76;364:3532:184;;;;;;9271:58:76;;-1:-1:-1;;;;;364:3532:184;7208:31:76;;9280:16;7120:126;9271:58;2489:10:184;364:3532;;;;;;;;9688:1:76;364:3532:184;;;;;;;;9710:7:76;364:3532:184;;3698:4;364:3532;;;;-1:-1:-1;;;;;364:3532:184;;2489:10;;364:3532;;;;;;;2489:10;;9747:33:76;;;;;3698:4:184;;:::i;:::-;364:3532;;;;;2489:10;;364:3532;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;13313:53:76;13321:16;364:3532:184;;;-1:-1:-1;364:3532:184;6794:7:76;364:3532:184;;;;;;;;-1:-1:-1;364:3532:184;;;7208:31:76;;7120:126;;13321:16;13313:53;:::i;:::-;364:3532:184;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;1063:62:62;;;;;:::i;:::-;1425:13:184;1466:3;364:3532;;1440:24;;;;;364:3532;;;;;;;;1466:3;;364:3532;-1:-1:-1;;;;;364:3532:184;1538:22;364:3532;1538:22;:::i;:::-;1537:23;1533:86;;1466:3;;;:::i;:::-;1425:13;;1533:86;364:3532;;;1934:16:189;364:3532:184;;722:49:189;364:3532:184;;;;;;;;;;;;;722:49:189;1533:86:184;;;1440:24;;364:3532;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;364:3532:184;;719:10:81;12990:17:76;;364:3532:184;;719:10:81;;364:3532:184;;13047:18:76;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;13108:41:76;364:3532:184;719:10:81;13108:41:76;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2721:7:76;364:3532:184;;;;;;:::i;:::-;;;;;;;;;2721:7:76;;;;364:3532:184;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1273:6:62;364:3532:184;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;;;-1:-1:-1;;;;;364:3532:184;;:::i;:::-;;;;146:51:189;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;1063:62:62;;:::i;:::-;2518:6;364:3532:184;;-1:-1:-1;;;;;;364:3532:184;;;;;;;-1:-1:-1;;;;;364:3532:184;2566:40:62;364:3532:184;;2566:40:62;364:3532:184;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;-1:-1:-1;;;;;364:3532:184;;:::i;:::-;;2028:19:76;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;1831:17;;;;:::i;:::-;-1:-1:-1;;;;;364:3532:184;1858:62;;364:3532;;1875:10;1866:19;1858:62;:::i;:::-;10246:23:76;;;:::i;:::-;;10441;;;:::i;:::-;364:3532:184;;;;;;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:7:76;364:3532:184;;;;;;;;;;10829:36:76;;;;364:3532:184;;;;;;;;;;;;;;;;;;;204:35:189;364:3532:184;;;;;;;;;;;;;;;;5077:39:76;364:3532:184;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;5077:39:76;:::i;364:3532:184:-;;;;;;;-1:-1:-1;;364:3532:184;;;;;;;413:14:188;364:3532:184;;;;;;;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1831:17;;;;:::i;:::-;-1:-1:-1;;;;;364:3532:184;1858:62;;364:3532;;1875:10;1866:19;1858:62;:::i;:::-;364:3532;;;413:14:188;364:3532:184;;1875:10;364:3532;;;;;;2181:21;364:3532;;3216:4;;364:3532;3216:4;;3236:31;3216:4;;;:::i;364:3532::-;3236:31;;;364:3532;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4893:7:76;364:3532:184;;;:::i;:::-;719:10:81;4763:99:76;4771:41;719:10:81;;4771:41:76;:::i;:::-;4763:99;:::i;:::-;4893:7;:::i;364:3532:184:-;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;364:3532:184;;;;3564:23:76;364:3532:184;3564:23:76;:::i;:::-;364:3532:184;;;3605:11:76;;;;364:3532:184;;719:10:81;;3686:21:76;:62;;;;;364:3532:184;;;;;;;;;;;;;;-1:-1:-1;;;;;;364:3532:184;;;;;12699:23:76;364:3532:184;12699:23:76;:::i;:::-;364:3532:184;12690:46:76;;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3686:62:76;364:3532:184;;;;4508:18:76;364:3532:184;;;;;719:10:81;364:3532:184;;;;;;;;;;3686:62:76;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;364:3532:184;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1707:40:76;;;:104;;;;364:3532:184;1707:156:76;;;;364:3532:184;;;;;;;1707:156:76;-1:-1:-1;;;937:40:85;;-1:-1:-1;1707:156:76;;;:104;-1:-1:-1;;;1763:48:76;;;-1:-1:-1;1707:104:76;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;364:3532:184;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;1359:130:62:-;1273:6;364:3532:184;-1:-1:-1;;;;;364:3532:184;719:10:81;1422:23:62;364:3532:184;;1359:130:62:o;364:3532:184:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;;;;2190:219:76;-1:-1:-1;364:3532:184;;;6794:7:76;364:3532:184;;;;;;-1:-1:-1;;;;;364:3532:184;2324:56:76;2332:19;;;2324:56;:::i;364:3532:184:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;3935:167:76;-1:-1:-1;364:3532:184;;;6794:7:76;364:3532:184;;;;;;13313:53:76;;-1:-1:-1;;;;;364:3532:184;7208:31:76;;13313:53;:::i;:::-;-1:-1:-1;364:3532:184;;;4071:15:76;364:3532:184;;;;;;-1:-1:-1;;;;;364:3532:184;;3935:167:76:o;364:3532:184:-;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;5189:276:76;;6484:47;5189:276;;;5311:99;5319:41;719:10:81;;5319:41:76;:::i;5311:99::-;6458:7;;;;;:::i;:::-;6484:47;:::i;:::-;364:3532:184;;;5189:276:76:o;364:3532:184:-;;;-1:-1:-1;;;364:3532:184;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;:::o;7404:261:76:-;;-1:-1:-1;;;;;364:3532:184;;7529:23:76;7404:261;7529:23;:::i;:::-;364:3532:184;;;7570:16:76;;;;:52;;;;;7404:261;7570:87;;;;;7404:261;7562:96;;;7404:261;:::o;7570:87::-;7626:20;;;;;;:::i;:::-;364:3532:184;7626:31:76;7570:87;;;;;:52;364:3532:184;;;-1:-1:-1;364:3532:184;4508:18:76;364:3532:184;;;-1:-1:-1;364:3532:184;;-1:-1:-1;364:3532:184;;;;;-1:-1:-1;364:3532:184;;;7570:52:76;;;;364:3532:184;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;11257:1203:76;;11346:81;11257:1203;11354:23;;;:::i;:::-;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;11354:31:76;;11346:81;:::i;:::-;364:3532:184;11445:16:76;;;364:3532:184;;11655:23:76;11647:81;11655:23;;;;:::i;:::-;364:3532:184;11655:31:76;11647:81;:::i;:::-;12374:27;11459:1;364:3532:184;;;11797:15:76;364:3532:184;;;;;-1:-1:-1;;;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12337:7:76;364:3532:184;;;;;;;;;;;;;12374:27:76;;11257:1203::o;364:3532:184:-;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;-1:-1:-1;;;364:3532:184;;;;;;;13925:831:76;;;364:3532:184;;13925:831:76;;;1702:19:80;;:23;:19;;364:3532:184;;;;;;;;;;;;;;14129:71:76;;;;719:10:81;14129:71:76;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;14129:71:76;;364:3532:184;;;;;;;;:::i;:::-;14129:71:76;364:3532:184;;14129:71:76;;;;;;;14090:660;-1:-1:-1;14125:573:76;;14317:381;;;364:3532:184;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;14367:18:76;;;364:3532:184;;-1:-1:-1;;;14409:60:76;;364:3532:184;14409:60:76;14129:71;14409:60;;;:::i;14363:321::-;14571:95;;364:3532:184;;;;;14125:573:76;-1:-1:-1;;;;;;364:3532:184;14250:51:76;;-1:-1:-1;364:3532:184;-1:-1:-1;14243:58:76:o;14129:71::-;;;;;;;;;;;;;;;;;:::i;:::-;;;364:3532:184;;;;;-1:-1:-1;;;;;;364:3532:184;;;;;;14129:71:76;;;;;;;;;14090:660;14728:11;;;;;;14735:4;14728:11;:::o;364:3532:184:-;-1:-1:-1;;364:3532:184;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;364:3532:184;;;;;;;;;;;;;;;;;;;;3781:113;;;;-1:-1:-1;364:3532:184;;;;;3860:10;364:3532;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3781:113;364:3532;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3781:113::o;364:3532::-;;;;-1:-1:-1;364:3532:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3781:113::o;364:3532::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;364:3532:184;;;;;-1:-1:-1;;;364:3532:184;;;;;;;;1198:250:189;1317:16;364:3532:184;;;;;;-1:-1:-1;;;;;364:3532:184;-1:-1:-1;364:3532:184;;;1356:16:189;364:3532:184;;;;;;;1349:33:189:o;1313:129::-;-1:-1:-1;;;364:3532:184;1413:18:189:o;1454:141::-;1539:29;1454:141;1539:29;:::i;:::-;1572:1;;1539:34;:49;;;1576:4;1454:141;:::o","linkReferences":{}},"methodIdentifiers":{"addNewToken(string)":"d9856c21","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","deleteToken(uint256)":"6297c16c","getApproved(uint256)":"081812fc","getMintingAllowance(address)":"2d13f7d8","initWhitelist(address[])":"b85ecf93","isApprovedForAll(address,address)":"e985e9c5","isWhitelisted(address)":"3af32abf","mintingAllowance(address)":"81b97161","name()":"06fdde03","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenCreator(uint256)":"40c1a064","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","updateTokenMetadata(uint256,string)":"2cb2f52e","whitelistEnabled()":"51fb012d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_allowedAmount\",\"type\":\"uint256\"}],\"name\":\"MintingAllowanceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"TokenURIUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addNewToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"deleteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getMintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_whitelistees\",\"type\":\"address[]\"}],\"name\":\"initWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"updateTokenMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"addNewToken(string)\":{\"details\":\"Adds a new unique token to the supply.\",\"params\":{\"_uri\":\"string metadata uri associated with the token.\"}},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"deleteToken(uint256)\":{\"details\":\"Deletes the token with the provided ID.\",\"params\":{\"_tokenId\":\"uint256 ID of the token.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"initWhitelist(address[])\":{\"details\":\"Whitelists a bunch of addresses.\",\"params\":{\"_whitelistees\":\"address[] of addresses to whitelist.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateTokenMetadata(uint256,string)\":{\"details\":\"Updates the token metadata if the owner is also the creator.\",\"params\":{\"_tokenId\":\"uint256 ID of the token.\",\"_uri\":\"string metadata URI.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/ERC721/superrare/SuperRareV2.sol\":\"SuperRareV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf\",\"dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/token/ERC721/superrare/ISuperRare.sol\":{\"keccak256\":\"0x5fd0bd50fc36eb38aaa1a32d2ba4692ad3993369440a99ef8d1536c39b3dcada\",\"license\":\"BSD-3-Clause\",\"urls\":[\"bzz-raw://cd46c1268707cdcc7c2b6f8f551f21c76e4d4fecffa7dfb5793c8620763658cc\",\"dweb:/ipfs/QmNYD4r7hJxwjqBQ24VK6CQecMdbkaHNb2GUyqPctaidRk\"]},\"src/token/ERC721/superrare/SuperRareV2.sol\":{\"keccak256\":\"0x758a43250c3bc27859cebaaf5bcd0674b9b197baedb69596ce36976ea0b777b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce062da61317a25495c24ae194c1ddeafda9688021f8353e42f2ce8175b3a0e3\",\"dweb:/ipfs/QmVU6tiNMPZX11hrmVdh8yVgpd4quAoiRmgXFoVw5eGcWV\"]},\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/token/extensions/TokenCreator.sol\":{\"keccak256\":\"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87\",\"dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ\"]},\"src/token/extensions/Whitelist.sol\":{\"keccak256\":\"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7\",\"dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true},{"internalType":"uint256","name":"_allowedAmount","type":"uint256","indexed":false}],"type":"event","name":"MintingAllowanceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true},{"internalType":"string","name":"_uri","type":"string","indexed":false}],"type":"event","name":"TokenURIUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"addNewToken"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deleteToken"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getMintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_whitelistees","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"initWhitelist"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"mintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenMetadata"},{"inputs":[],"stateMutability":"view","type":"function","name":"whitelistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"addNewToken(string)":{"details":"Adds a new unique token to the supply.","params":{"_uri":"string metadata uri associated with the token."}},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"deleteToken(uint256)":{"details":"Deletes the token with the provided ID.","params":{"_tokenId":"uint256 ID of the token."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"initWhitelist(address[])":{"details":"Whitelists a bunch of addresses.","params":{"_whitelistees":"address[] of addresses to whitelist."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateTokenMetadata(uint256,string)":{"details":"Updates the token metadata if the owner is also the creator.","params":{"_tokenId":"uint256 ID of the token.","_uri":"string metadata URI."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/ERC721/superrare/SuperRareV2.sol":"SuperRareV2"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol":{"keccak256":"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4","urls":["bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf","dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/token/ERC721/superrare/ISuperRare.sol":{"keccak256":"0x5fd0bd50fc36eb38aaa1a32d2ba4692ad3993369440a99ef8d1536c39b3dcada","urls":["bzz-raw://cd46c1268707cdcc7c2b6f8f551f21c76e4d4fecffa7dfb5793c8620763658cc","dweb:/ipfs/QmNYD4r7hJxwjqBQ24VK6CQecMdbkaHNb2GUyqPctaidRk"],"license":"BSD-3-Clause"},"src/token/ERC721/superrare/SuperRareV2.sol":{"keccak256":"0x758a43250c3bc27859cebaaf5bcd0674b9b197baedb69596ce36976ea0b777b2","urls":["bzz-raw://ce062da61317a25495c24ae194c1ddeafda9688021f8353e42f2ce8175b3a0e3","dweb:/ipfs/QmVU6tiNMPZX11hrmVdh8yVgpd4quAoiRmgXFoVw5eGcWV"],"license":"MIT"},"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/token/extensions/TokenCreator.sol":{"keccak256":"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0","urls":["bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87","dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ"],"license":"MIT"},"src/token/extensions/Whitelist.sol":{"keccak256":"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747","urls":["bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7","dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE"],"license":"MIT"}},"version":1},"id":184} \ No newline at end of file diff --git a/abis/SuperRareWallet.json b/abis/SuperRareWallet.json index 46752f1..bb739a8 100644 --- a/abis/SuperRareWallet.json +++ b/abis/SuperRareWallet.json @@ -1 +1 @@ -{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"migrateThisAsOwner","inputs":[{"name":"_ownedAddress","type":"address","internalType":"address"},{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461005b5760008054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36103ea90816100618239f35b600080fdfe604060808152600436101561001d575b50361561001b57600080fd5b005b600090813560e01c80633ccfd60b1461024b578063715018a6146101ee5780638da5cb5b146101c7578063bb560cb9146101245763f2fde38b14610061575061000f565b346101205760203660031901126101205761007a610279565b610082610294565b6001600160a01b039081169182156100ce575082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b5162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5080fd5b503461012057806003193601126101205761013d610279565b906024356001600160a01b03811691908290036101c35761015c610294565b805190602082019263f2fde38b60e01b8452602483015260248252606082019082821067ffffffffffffffff8311176101af5752516101ac92849283929183905af16101a66102ec565b9061034d565b80f35b634e487b7160e01b86526041600452602486fd5b8380fd5b5034610120578160031936011261012057905490516001600160a01b039091168152602090f35b8234610248578060031936011261024857610207610294565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b82346102485780600319360112610248576101ac8180808060018060a01b0381541647905af16101a66102ec565b600435906001600160a01b038216820361028f57565b600080fd5b6000546001600160a01b031633036102a857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b3d156103485767ffffffffffffffff903d8281116103325760405192601f8201601f19908116603f01168401908111848210176103325760405282523d6000602084013e565b634e487b7160e01b600052604160045260246000fd5b606090565b156103555750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061039b575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061037856fea264697066735822122075114a3d0d9dcb591eaaed233f86e5f995251f2ef8c201bb991e6fd67b194d8664736f6c63430008120033","sourceMap":"125:695:220:-:0;;;;;;;2518:6:78;125:695:220;;719:10:99;-1:-1:-1;;;;;;125:695:220;;;;;;719:10:99;-1:-1:-1;;;;;125:695:220;;;;2566:40:78;;2518:6;2566:40;125:695:220;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x604060808152600436101561001d575b50361561001b57600080fd5b005b600090813560e01c80633ccfd60b1461024b578063715018a6146101ee5780638da5cb5b146101c7578063bb560cb9146101245763f2fde38b14610061575061000f565b346101205760203660031901126101205761007a610279565b610082610294565b6001600160a01b039081169182156100ce575082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b5162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5080fd5b503461012057806003193601126101205761013d610279565b906024356001600160a01b03811691908290036101c35761015c610294565b805190602082019263f2fde38b60e01b8452602483015260248252606082019082821067ffffffffffffffff8311176101af5752516101ac92849283929183905af16101a66102ec565b9061034d565b80f35b634e487b7160e01b86526041600452602486fd5b8380fd5b5034610120578160031936011261012057905490516001600160a01b039091168152602090f35b8234610248578060031936011261024857610207610294565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b82346102485780600319360112610248576101ac8180808060018060a01b0381541647905af16101a66102ec565b600435906001600160a01b038216820361028f57565b600080fd5b6000546001600160a01b031633036102a857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b3d156103485767ffffffffffffffff903d8281116103325760405192601f8201601f19908116603f01168401908111848210176103325760405282523d6000602084013e565b634e487b7160e01b600052604160045260246000fd5b606090565b156103555750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061039b575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061037856fea264697066735822122075114a3d0d9dcb591eaaed233f86e5f995251f2ef8c201bb991e6fd67b194d8664736f6c63430008120033","sourceMap":"125:695:220:-:0;;;;;;;;;;-1:-1:-1;125:695:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;125:695:220;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;-1:-1:-1;;;;;125:695:220;;;;2162:22:78;;125:695:220;;-1:-1:-1;125:695:220;;-1:-1:-1;;;;;;125:695:220;;;;;;;2566:40:78;125:695:220;;2566:40:78;125:695:220;;;;-1:-1:-1;;;125:695:220;;;;;;;;;;;;;;;;;-1:-1:-1;;;125:695:220;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;125:695:220;;;;;;;;;1063:62:78;;:::i;:::-;125:695:220;;655:64;125:695;655:64;;;;;;;;125:695;655:64;;125:695;;655:64;;125:695;;;;;;;;;;;;;;614:115;740:36;;125:695;;;;614:115;125:695;;614:115;;;;:::i;:::-;740:36;;:::i;:::-;125:695;;;-1:-1:-1;;;125:695:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;125:695:220;;;;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;125:695:220;;-1:-1:-1;;;;;;125:695:220;;;;;;-1:-1:-1;;;;;125:695:220;2566:40:78;125:695:220;;2566:40:78;125:695:220;;;;;;;;;;;;;;;;;;404:36;125:695;;;;;;;;;;;;263:21;336:58;;;;;:::i;125:695::-;;;;-1:-1:-1;;;;;125:695:220;;;;;;:::o;:::-;;;;1359:130:78;1273:6;125:695:220;-1:-1:-1;;;;;125:695:220;719:10:99;1422:23:78;125:695:220;;1359:130:78:o;125:695:220:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;125:695:220;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;125:695:220;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;125:695:220;;;;;;;;;;;;-1:-1:-1;125:695:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;125:695:220;","linkReferences":{}},"methodIdentifiers":{"migrateThisAsOwner(address,address)":"bb560cb9","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","withdraw()":"3ccfd60b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ownedAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"migrateThisAsOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/SuperRareWallet.sol\":\"SuperRareWallet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/utils/SuperRareWallet.sol\":{\"keccak256\":\"0xdc766ac2a1a244d7d22a9fe38893474a99ac5f3263cd3ed4442155bb21538996\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b89580216fa4dbfc8fadf01c79844751ea22a93c7f61aefda8d34793968b8df3\",\"dweb:/ipfs/QmYN4P4ikU9G2oB5nDPHsPWo2Z43QMUirGqqpxsioak5qy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_ownedAddress","type":"address"},{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"migrateThisAsOwner"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/SuperRareWallet.sol":"SuperRareWallet"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/utils/SuperRareWallet.sol":{"keccak256":"0xdc766ac2a1a244d7d22a9fe38893474a99ac5f3263cd3ed4442155bb21538996","urls":["bzz-raw://b89580216fa4dbfc8fadf01c79844751ea22a93c7f61aefda8d34793968b8df3","dweb:/ipfs/QmYN4P4ikU9G2oB5nDPHsPWo2Z43QMUirGqqpxsioak5qy"],"license":"MIT"}},"version":1},"id":220} \ No newline at end of file +{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"migrateThisAsOwner","inputs":[{"name":"_ownedAddress","type":"address","internalType":"address"},{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x6080806040523461005b5760008054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36103ea90816100618239f35b600080fdfe604060808152600436101561001d575b50361561001b57600080fd5b005b600090813560e01c80633ccfd60b1461024b578063715018a6146101ee5780638da5cb5b146101c7578063bb560cb9146101245763f2fde38b14610061575061000f565b346101205760203660031901126101205761007a610279565b610082610294565b6001600160a01b039081169182156100ce575082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b5162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5080fd5b503461012057806003193601126101205761013d610279565b906024356001600160a01b03811691908290036101c35761015c610294565b805190602082019263f2fde38b60e01b8452602483015260248252606082019082821067ffffffffffffffff8311176101af5752516101ac92849283929183905af16101a66102ec565b9061034d565b80f35b634e487b7160e01b86526041600452602486fd5b8380fd5b5034610120578160031936011261012057905490516001600160a01b039091168152602090f35b8234610248578060031936011261024857610207610294565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b82346102485780600319360112610248576101ac8180808060018060a01b0381541647905af16101a66102ec565b600435906001600160a01b038216820361028f57565b600080fd5b6000546001600160a01b031633036102a857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b3d156103485767ffffffffffffffff903d8281116103325760405192601f8201601f19908116603f01168401908111848210176103325760405282523d6000602084013e565b634e487b7160e01b600052604160045260246000fd5b606090565b156103555750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061039b575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061037856fea26469706673582212208b3146b5aea5fdd622326a941a9062c381e33b8b1e9a10d67fa4885d47cee10564736f6c63430008120033","sourceMap":"125:695:241:-:0;;;;;;;2518:6:81;125:695:241;;719:10:102;-1:-1:-1;;;;;;125:695:241;;;;;;719:10:102;-1:-1:-1;;;;;125:695:241;;;;2566:40:81;;2518:6;2566:40;125:695:241;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x604060808152600436101561001d575b50361561001b57600080fd5b005b600090813560e01c80633ccfd60b1461024b578063715018a6146101ee5780638da5cb5b146101c7578063bb560cb9146101245763f2fde38b14610061575061000f565b346101205760203660031901126101205761007a610279565b610082610294565b6001600160a01b039081169182156100ce575082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b5162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5080fd5b503461012057806003193601126101205761013d610279565b906024356001600160a01b03811691908290036101c35761015c610294565b805190602082019263f2fde38b60e01b8452602483015260248252606082019082821067ffffffffffffffff8311176101af5752516101ac92849283929183905af16101a66102ec565b9061034d565b80f35b634e487b7160e01b86526041600452602486fd5b8380fd5b5034610120578160031936011261012057905490516001600160a01b039091168152602090f35b8234610248578060031936011261024857610207610294565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b82346102485780600319360112610248576101ac8180808060018060a01b0381541647905af16101a66102ec565b600435906001600160a01b038216820361028f57565b600080fd5b6000546001600160a01b031633036102a857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b3d156103485767ffffffffffffffff903d8281116103325760405192601f8201601f19908116603f01168401908111848210176103325760405282523d6000602084013e565b634e487b7160e01b600052604160045260246000fd5b606090565b156103555750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061039b575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061037856fea26469706673582212208b3146b5aea5fdd622326a941a9062c381e33b8b1e9a10d67fa4885d47cee10564736f6c63430008120033","sourceMap":"125:695:241:-:0;;;;;;;;;;-1:-1:-1;125:695:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;125:695:241;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;-1:-1:-1;;;;;125:695:241;;;;2162:22:81;;125:695:241;;-1:-1:-1;125:695:241;;-1:-1:-1;;;;;;125:695:241;;;;;;;2566:40:81;125:695:241;;2566:40:81;125:695:241;;;;-1:-1:-1;;;125:695:241;;;;;;;;;;;;;;;;;-1:-1:-1;;;125:695:241;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;125:695:241;;;;;;;;;1063:62:81;;:::i;:::-;125:695:241;;655:64;125:695;655:64;;;;;;;;125:695;655:64;;125:695;;655:64;;125:695;;;;;;;;;;;;;;614:115;740:36;;125:695;;;;614:115;125:695;;614:115;;;;:::i;:::-;740:36;;:::i;:::-;125:695;;;-1:-1:-1;;;125:695:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;125:695:241;;;;;;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;125:695:241;;-1:-1:-1;;;;;;125:695:241;;;;;;-1:-1:-1;;;;;125:695:241;2566:40:81;125:695:241;;2566:40:81;125:695:241;;;;;;;;;;;;;;;;;;404:36;125:695;;;;;;;;;;;;263:21;336:58;;;;;:::i;125:695::-;;;;-1:-1:-1;;;;;125:695:241;;;;;;:::o;:::-;;;;1359:130:81;1273:6;125:695:241;-1:-1:-1;;;;;125:695:241;719:10:102;1422:23:81;125:695:241;;1359:130:81:o;125:695:241:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;125:695:241;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;125:695:241;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;125:695:241;;;;;;;;;;;;-1:-1:-1;125:695:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;125:695:241;","linkReferences":{}},"methodIdentifiers":{"migrateThisAsOwner(address,address)":"bb560cb9","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","withdraw()":"3ccfd60b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ownedAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"migrateThisAsOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/SuperRareWallet.sol\":\"SuperRareWallet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/utils/SuperRareWallet.sol\":{\"keccak256\":\"0xdc766ac2a1a244d7d22a9fe38893474a99ac5f3263cd3ed4442155bb21538996\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b89580216fa4dbfc8fadf01c79844751ea22a93c7f61aefda8d34793968b8df3\",\"dweb:/ipfs/QmYN4P4ikU9G2oB5nDPHsPWo2Z43QMUirGqqpxsioak5qy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_ownedAddress","type":"address"},{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"migrateThisAsOwner"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/utils/SuperRareWallet.sol":"SuperRareWallet"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/utils/SuperRareWallet.sol":{"keccak256":"0xdc766ac2a1a244d7d22a9fe38893474a99ac5f3263cd3ed4442155bb21538996","urls":["bzz-raw://b89580216fa4dbfc8fadf01c79844751ea22a93c7f61aefda8d34793968b8df3","dweb:/ipfs/QmYN4P4ikU9G2oB5nDPHsPWo2Z43QMUirGqqpxsioak5qy"],"license":"MIT"}},"version":1},"id":241} \ No newline at end of file diff --git a/abis/TestRare.json b/abis/TestRare.json index a3adeb9..decfe13 100644 --- a/abis/TestRare.json +++ b/abis/TestRare.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234620003ac5762000014620003b1565b6020635261726560e01b818301526200002c620003b1565b635241524560e01b82820152825190926001600160401b03808311620002ac5760038054936001938486811c96168015620003a1575b878710146200038b578190601f9687811162000335575b508790878311600114620002ce57600092620002c2575b505060001982841b1c191690841b1781555b8551918211620002ac5760049586548481811c91168015620002a1575b878210146200028c5785811162000241575b508590858411600114620001d657938394918492600095620001ca575b50501b92600019911b1c19161783555b33156200018957506002546b033b2e3c9fd0803ce8000000928382018092116200017457506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91600255338352828152604083208481540190556040519384523393a36040516108a99081620003d68239f35b601190634e487b7160e01b6000525260246000fd5b606492916040519262461bcd60e51b845283015260248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b015193503880620000ee565b9190601f198416928860005284886000209460005b8a898383106200022957505050106200020e575b50505050811b018355620000fe565b01519060f884600019921b161c1916905538808080620001ff565b868601518955909701969485019488935001620001eb565b87600052866000208680860160051c82019289871062000282575b0160051c019085905b82811062000275575050620000d1565b6000815501859062000265565b925081926200025c565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000bf565b634e487b7160e01b600052604160045260246000fd5b01519050388062000090565b90869350601f1983169185600052896000209260005b8b8282106200031e575050841162000305575b505050811b018155620000a2565b015160001983861b60f8161c19169055388080620002f7565b8385015186558a97909501949384019301620002e4565b90915083600052876000208780850160051c8201928a861062000381575b918891869594930160051c01915b8281106200037157505062000079565b6000815585945088910162000361565b9250819262000353565b634e487b7160e01b600052602260045260246000fd5b95607f169562000062565b600080fd5b60408051919082016001600160401b03811183821017620002ac576040526004825256fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde03146104ad57508163095ea7b31461048357816318160ddd1461046457816323b872dd1461039a578163313ce5671461037e578163395093511461031757816370a08231146102e057816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba6105d2565b6100c26105ed565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e5576020906101126101086105d2565b6024359033610603565b5160018152f35b905082346101be57826003193601126101be576101346105d2565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610771565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102d6575b60209384841081146102c3578388529081156102a75750600114610252575b505050829003601f01601f191682019267ffffffffffffffff84118385101761023f575082918261023b925282610589565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8385106102935750505050830101858080610209565b80548886018301529301928490820161027d565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036103086105d2565b16815280845220549051908152f35b8284346101be57816003193601126101be576103316105d2565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061036b57602084610112858533610771565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e5576103b66105d2565b6103be6105ed565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103f8575b602086610112878787610603565b84821061042157509183916104166020969561011295033383610771565b9193948193506103ea565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e5576020906101126104a36105d2565b6024359033610771565b8490843461058557826003193601126105855782600354600181811c9080831692831561057b575b60209384841081146102c3578388529081156102a7575060011461052557505050829003601f01601f191682019267ffffffffffffffff84118385101761023f575082918261023b925282610589565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8385106105675750505050830101858080610209565b805488860183015293019284908201610551565b91607f16916104d5565b8280fd5b6020808252825181830181905290939260005b8281106105be57505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161059c565b600435906001600160a01b03821682036105e857565b600080fd5b602435906001600160a01b03821682036105e857565b6001600160a01b0390811691821561071e57169182156106cd5760008281528060205260408120549180831061067957604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561082257169182156107d25760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea264697066735822122020eabfcc7f99dfd9480d5b765cb3e46827a53e08842185f317ec6c3b41d3ca7f64736f6c63430008120033","sourceMap":"838:118:194:-:0;;;;;;;;:::i;:::-;;-1:-1:-1;;;838:118:194;;;;;;:::i;:::-;-1:-1:-1;;;838:118:194;;;;;;;;-1:-1:-1;;;;;838:118:194;;;;;2046:13:89;838:118:194;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;-1:-1:-1;838:118:194;;;;-1:-1:-1;;;;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;917:10;8603:21:89;838:118:194;;;8731:22:89;838:118:194;929:19;838:118;;;;;;;;;;-1:-1:-1;838:118:194;8952:37:89;838:118:194;8731:22:89;838:118:194;917:10;838:118;;;;;;;;;;;;;;;;;;;917:10;8952:37:89;;838:118:194;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;-1:-1:-1;838:118:194;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;-1:-1:-1;838:118:194;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;-1:-1:-1;838:118:194;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;-1:-1:-1;838:118:194;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;-1:-1:-1;838:118:194;;-1:-1:-1;838:118:194;;;;;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;-1:-1:-1;;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;838:118:194;;;;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde03146104ad57508163095ea7b31461048357816318160ddd1461046457816323b872dd1461039a578163313ce5671461037e578163395093511461031757816370a08231146102e057816395d89b41146101c1578163a457c2d71461011957508063a9059cbb146100e95763dd62ed3e1461009e57600080fd5b346100e557806003193601126100e557806020926100ba6105d2565b6100c26105ed565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100e557806003193601126100e5576020906101126101086105d2565b6024359033610603565b5160018152f35b905082346101be57826003193601126101be576101346105d2565b918360243592338152600160205281812060018060a01b038616825260205220549082821061016d576020856101128585038733610771565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100e557816003193601126100e557805190828454600181811c908083169283156102d6575b60209384841081146102c3578388529081156102a75750600114610252575b505050829003601f01601f191682019267ffffffffffffffff84118385101761023f575082918261023b925282610589565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8385106102935750505050830101858080610209565b80548886018301529301928490820161027d565b60ff1916878501525050151560051b8401019050858080610209565b634e487b7160e01b895260228a52602489fd5b91607f16916101ea565b5050346100e55760203660031901126100e55760209181906001600160a01b036103086105d2565b16815280845220549051908152f35b8284346101be57816003193601126101be576103316105d2565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061036b57602084610112858533610771565b634e487b7160e01b815260118552602490fd5b5050346100e557816003193601126100e5576020905160128152f35b839150346100e55760603660031901126100e5576103b66105d2565b6103be6105ed565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036103f8575b602086610112878787610603565b84821061042157509183916104166020969561011295033383610771565b9193948193506103ea565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100e557816003193601126100e5576020906002549051908152f35b5050346100e557806003193601126100e5576020906101126104a36105d2565b6024359033610771565b8490843461058557826003193601126105855782600354600181811c9080831692831561057b575b60209384841081146102c3578388529081156102a7575060011461052557505050829003601f01601f191682019267ffffffffffffffff84118385101761023f575082918261023b925282610589565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8385106105675750505050830101858080610209565b805488860183015293019284908201610551565b91607f16916104d5565b8280fd5b6020808252825181830181905290939260005b8281106105be57505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161059c565b600435906001600160a01b03821682036105e857565b600080fd5b602435906001600160a01b03821682036105e857565b6001600160a01b0390811691821561071e57169182156106cd5760008281528060205260408120549180831061067957604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561082257169182156107d25760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea264697066735822122020eabfcc7f99dfd9480d5b765cb3e46827a53e08842185f317ec6c3b41d3ca7f64736f6c63430008120033","sourceMap":"838:118:194:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:6:89;838:118:194;;:::i;:::-;;;719:10:99;;3894:6:89;:::i;:::-;838:118:194;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;719:10:99;;838:118:194;;;;;;;;;;;;;;;;;;;;;6792:35:89;;;;838:118:194;;;;6928:34:89;838:118:194;;;;719:10:99;6928:34:89;:::i;838:118:194:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;-1:-1:-1;;838:118:194;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;838:118:194;;;;;-1:-1:-1;;838:118:194;;;;;;;;-1:-1:-1;838:118:194;;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;838:118:194;;;;;;;;-1:-1:-1;;;;;838:118:194;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:99;838:118:194;;;;;;;;;;-1:-1:-1;;;;;838:118:194;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;719:10:99;6021:38:89;719:10:99;;;6021:38:89;:::i;838:118:194:-;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;3186:2:89;838:118:194;;;;;;;;;;;;-1:-1:-1;;838:118:194;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;719:10:99;838:118:194;;;;;;11264:17:89;;;11244:37;;11240:243;;838:118:194;;5424:6:89;;;;;;:::i;11240:243::-;11305:26;;;838:118:194;;;;;;11432:25:89;838:118:194;;;5424:6:89;838:118:194;;719:10:99;11432:25:89;;:::i;:::-;11240:243;;;;;;;;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3342:12:89;838:118:194;;;;;;;;;;;;;;;;;;;;;;;4606:6:89;838:118:194;;:::i;:::-;;;719:10:99;;4606:6:89;:::i;838:118:194:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;-1:-1:-1;;838:118:194;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;838:118:194;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;838:118:194;;;;;;:::o;7456:788:89:-;-1:-1:-1;;;;;838:118:194;;;;7552:18:89;;838:118:194;;;7630:16:89;;;838:118:194;;7568:1:89;838:118:194;;;;;;;;;;7801:21:89;;;;838:118:194;;;;;8163:26:89;838:118:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:26:89;7456:788::o;838:118:194:-;;;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;;10457:340:89;-1:-1:-1;;;;;838:118:194;;;;10558:19:89;;838:118:194;;;10636:21:89;;;838:118:194;;;10758:32:89;838:118:194;;10575:1:89;838:118:194;;;;;10575:1:89;838:118:194;;10575:1:89;838:118:194;;;;;10575:1:89;838:118:194;;;;;;;10758:32:89;10457:340::o;838:118:194:-;;;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;;;;;;;;;;;;-1:-1:-1;;;838:118:194;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"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\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` 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\":\"See {IERC20-balanceOf}.\"},\"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}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"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\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/reward/RewardAccumulator.t.sol\":\"TestRare\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/ens-contracts/contracts/registry/ENS.sol\":{\"keccak256\":\"0x7cb1158c7d268b63de1468e28e2711b28d686e2628ddb22da2149cd93ddeafda\",\"urls\":[\"bzz-raw://a7018309acca24b10ea1235b1c27828f29f2ddfabb653a794639baf620dc2314\",\"dweb:/ipfs/QmakFQT5NFvGs3g8xxwtgtWdddq28Wtm6MjNSpJNhV1YpR\"]},\"lib/ens-contracts/contracts/registry/IReverseRegistrar.sol\":{\"keccak256\":\"0x83adfcf6da72b1bcd1e3ac387afe5fc7fdf7f2ac28b7601544d2ca4b9d45d159\",\"urls\":[\"bzz-raw://ca4b52ebdeb0fcddedded0e0027e530df4468c25b438ce0d4699b188603a4560\",\"dweb:/ipfs/QmW3LPwkwcL84rBu8cbLagKQPMGunXnh6cZfm6RRyfXArb\"]},\"lib/ens-contracts/contracts/registry/ReverseRegistrar.sol\":{\"keccak256\":\"0x6c79056e7f564409e834619de2cf0511321dcbcf90b9f68d8ffed50fab070791\",\"urls\":[\"bzz-raw://881731d1a6e17885e3ea8eba31caae46d8ae5e266f7897666fcabf652f1d1b99\",\"dweb:/ipfs/QmReNiMnjyPRyLWRkcyFUSvL1vZ81MLtfuugGJRQZ5edzf\"]},\"lib/ens-contracts/contracts/resolvers/Resolver.sol\":{\"keccak256\":\"0x62b71222aa65138e124b94f5835c2163cc88213491e5f0a80d7a4c45641fbe64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2def0b17096b07578ac974ab3871d71c757a01389bbfdb124d103308a3ecaad9\",\"dweb:/ipfs/QmepR8cbk2etYYnKHArZFuGNTZ2huqFihxq9mzfS3YgE3Y\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IABIResolver.sol\":{\"keccak256\":\"0x85b373d02d19374fe570af407f459768285704bf7f30ab17c30eabfb5a10e4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2046ce3d92d29806d7b447f7ab4227f19b0b2e5c75fd5b4a3fcaef7fe2442141\",\"dweb:/ipfs/QmRgnfWjFetrSJngkhU7Yui1ZcK1MeatvZDpvUTYNuYnND\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol\":{\"keccak256\":\"0x2ad7f2fc60ebe0f93745fe70247f6a854f66af732483fda2a3c5e055614445e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43922ba183ff20d87dce7fc5d715e626b26594151e36dcc8d7c6329b9a822963\",\"dweb:/ipfs/QmTg9uHTugTxzqddN68gnhNbGt4bGJBS9mQcss6GYggR4X\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol\":{\"keccak256\":\"0x411447c1e90c51e09702815a85ec725ffbbe37cf96e8cc4d2a8bd4ad8a59d73e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543aa2756447a428711b69aea79e9f4641c22f8330ba920b2a49fde8d9207f82\",\"dweb:/ipfs/QmTdpcYRWLH3BL7iytnqcSzRojTPe3YettKaTqeCvKPk54\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IContentHashResolver.sol\":{\"keccak256\":\"0xd95cd77684ba5752c428d7dceb4ecc6506ac94f4fbb910489637eb68dcd8e366\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daf1fee7770679bd935b8b5686789a4ecc532caeef5a9b8e1b60ae0c285e743e\",\"dweb:/ipfs/QmSaHBAqtDdbQLH6QN4EbupMrq2ah8g6fqE7fLX1u4cjMZ\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IDNSRecordResolver.sol\":{\"keccak256\":\"0xcfa52200edd337f2c6c5bf402352600584da033b21323603e53de33051a3e25d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c8355211d58db82660140191678ee342eb8a7ac46fa097ae8e03eef008f592e\",\"dweb:/ipfs/QmYDNiECPd4fJ7Vk9Xywfpg73rUvDpcYqas95ofGcpt7fM\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IDNSZoneResolver.sol\":{\"keccak256\":\"0xca1b3a16e7005533f2800a3e66fcdccf7c574deac7913d8c810f40aec1d58dc0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4e38d5eb69e236c37e4a013628838070720c9e1923569650b01252868038c7a\",\"dweb:/ipfs/QmV397iZMRxtem79kJy5sueJadXoVL89gNViX2xciQHUrk\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol\":{\"keccak256\":\"0x5d81521cfae7d9a4475d27533cd8ed0d3475d369eb0674fd90ffbdbdf292faa3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d244d15588785044b54c453ab6dc51c616ab70cb8b9e687d3e54565bcae97760\",\"dweb:/ipfs/QmXz4ZZBTFogdkdTV1mcE3ywvL2agKVZHLNNeRHCKVruYM\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IInterfaceResolver.sol\":{\"keccak256\":\"0x390321fb58f7b927df9562450981e74b4be3907e7c09df321fd3b7409b63ae28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://045d12c6e0e4596b3672614751a9e75188183a89765a6abd938294e0294e9c56\",\"dweb:/ipfs/QmazngvagEoKe29s4M9Rv8KygWD5hrAtNPkYDPJ2pK13yx\"]},\"lib/ens-contracts/contracts/resolvers/profiles/INameResolver.sol\":{\"keccak256\":\"0x9ec392b612447b1acbdc01114f2da2837a658d3f3157f60a99c5269f0b623346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b2cd9e5339b09f40e82bd91fed7d5f643dd031393eefb9aec588eaba8465049\",\"dweb:/ipfs/QmT2A8eswhJU9YadCs9BtwKNj6YGypntXmFepANQYyGw7x\"]},\"lib/ens-contracts/contracts/resolvers/profiles/IPubkeyResolver.sol\":{\"keccak256\":\"0x69748947093dd2fda9ddcebd0adf19a6d1e7600df1d4b1462a0417156caddca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2f86e50bd17c38fb10feb577d88d8970c585017a391ef10e3aaa3d50f81555\",\"dweb:/ipfs/QmaxLx2pqCUxf9W2dusfviZ9aSiTuVwuekGo73rjvmGifE\"]},\"lib/ens-contracts/contracts/resolvers/profiles/ITextResolver.sol\":{\"keccak256\":\"0x7c5debb3c42cd9f5de2274ea7aa053f238608314b62db441c40e31cea2543fd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://412e34ae2d84d542ffa6791486963f3fe04432a3ffd51877d441256dc2941914\",\"dweb:/ipfs/QmciS4mGAQ6KJtLiLcBFekHKhYAYMmubDWGkpZ3sUFtJPW\"]},\"lib/ens-contracts/contracts/root/Controllable.sol\":{\"keccak256\":\"0xb19b8c0fafe9ca2b4bf8aaafee486fa31437672e1e1977bdf84bfe03464969db\",\"urls\":[\"bzz-raw://cd365d76a131b89fa0f6b4097e63032337d2c071c082f5b9ca4af85cd16b3350\",\"dweb:/ipfs/QmXcgvgArVaK9k4wfzEj2rGu86W6U3BAY8mw8jVaAwJpFH\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9100bd38453711d5f5ae32d16b4aacef8d4e26abb3061fcc9920cd30cdb49315\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://114654e304083d3403510edd13d7df2223747337150ecf51dd36b441e50498f7\",\"dweb:/ipfs/QmQy6uvcVHyHzU2RbuvEo1hKiV7k81z21gR6DSj4DkCP8D\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb58d624eb0922d4ab14856efb0ab558b0727ccfc28448c5779f1ab4d98cf3daf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1869fc58cb27a7b680428b79d0e0b6f45bd3c61fedb4b3f895e143fb899519d5\",\"dweb:/ipfs/QmcjECGVpQPjhL2bokDyQeGWdzM99qPFMhq5r7KqKLot7R\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x18ac6dcce9cdfe3bc754ce910b4b97e56963c49a92e50f57d055adb562416b86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6b29b4a814dc26c3722e994a792f4cc1be86e6b8c2b2adc352ed54fb326593d\",\"dweb:/ipfs/Qma8a7XELNmUepiitaLyxJXW66urnXsvCwx1bMLmRw2Fpn\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb5d4816a3f37977b1efa07b5e715daa917e96fd28dec1805c4189653db4ea33a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34338fa7f079f8d64f20d976f9bf908a710c8728f18c4b361b020b24fedfedf2\",\"dweb:/ipfs/QmYhwY1wi6vVLMUsJ32L3GiSR9HRaFhGL1Y3wRDjy41KXn\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol\":{\"keccak256\":\"0xc2dfd6ba9449f61b6b03b262182faf302f093a8c05dd10792aeecb4ed1663c0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f79816b0fdc0a6f53173238932ef86e2d7089a6e87b6c5c9c27e6d60f3fe809a\",\"dweb:/ipfs/QmTtXQ8sw91q4n4nXZigNWH3YaGqsJjPXyWCgPGDC6s24j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol\":{\"keccak256\":\"0x7acbc538aad6eb4614e26612a8c5c0149bb8808db95e2638d245a8365f63e572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea07bdbf13b16d19ccf8a8f1a361c80bbfb6073e8b1d079b72f7a5f09dc642cd\",\"dweb:/ipfs/QmQh5YhCySYR5RSAEFTt3NaDhq6MCxvSTdFh56874JPxbY\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol\":{\"keccak256\":\"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e\",\"dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol\":{\"keccak256\":\"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5\",\"dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159\",\"dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d\",\"dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xd14a627157b9a411d2410713e5dd3a377e9064bd5c194a90748bbf27ea625784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29d6a502187e88fdb4ac51319b6cfc82e7ba886a435480e229e5f838d2da55ee\",\"dweb:/ipfs/QmQNWKr3axXvQowZi31ydXRdeZ7UnE7oN8XAz9FCkx1JhN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol\":{\"keccak256\":\"0xea2c6f9d434127bf36b1e3e5ebaaf6d28a64dbaeea560508e570014e905a5ad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3483370aa549810a946ace621a225616bb6d0b9ed22c3a99bbcf80dc4866ec39\",\"dweb:/ipfs/QmdgFnm6X2oQ574eJFLghVXVckwyC3SbiAUxXs934N1qvf\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol\":{\"keccak256\":\"0xde37069fee260aebc3d205b6efac1c5c6d2271805f0a5035e3d626a23d33264c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40cb3fc98ee9933b15b1369ab1cab47df7a3978a78c1ff830caa29daf2615b7a\",\"dweb:/ipfs/QmQ2xnoPdWicferXuTYLmQVQrJMDBEqUkJfizmkZk8WF2V\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol\":{\"keccak256\":\"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d\",\"dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol\":{\"keccak256\":\"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622\",\"dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol\":{\"keccak256\":\"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8\",\"dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol\":{\"keccak256\":\"0xfc2b592af54cefb457ee96f7e1336d883a5dc02f04d462c6a3bb6c1f1e7865ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://203d64e7c51f2c27e7a0c07338a6ab2cefc3bacf99c416415e57038933ece767\",\"dweb:/ipfs/QmQBU4dFzaXv2pX76TQeTaRVMsPyyN7owuGK3zZXA5y9kj\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol\":{\"keccak256\":\"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912\",\"dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol\":{\"keccak256\":\"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca\",\"dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol\":{\"keccak256\":\"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f\",\"dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2\",\"dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45\",\"dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054\",\"dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c\",\"dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb62681ccbf84aef125665cfdfc0bf13b532925b1a520d6c935913560f539a31b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21dbc5b8aede7dee8f0e3bf296a58270f376f8e40d6f8becccde5b3cf34bc8df\",\"dweb:/ipfs/QmfHPWrtGiMNhTtLDYtqSd1eVd35Zqgd4PW9bR3i23oJgg\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b\",\"dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x9e064fd116cdd5ed4b0132d0606a372bd94ff243c0520bc723fb6b09e947c16e\",\"urls\":[\"bzz-raw://93d1a36262aa498a85ac7a275ead2cf410b9c674d6bef09d0972203cb33b724e\",\"dweb:/ipfs/QmY9T4HKDbPXEZPHzXaFbd2M86fV1Q68sBJYh8J9LDFApU\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b\",\"dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588\"]},\"lib/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97\",\"dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2\"]},\"lib/v3-periphery/contracts/libraries/OracleLibrary.sol\":{\"keccak256\":\"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313\",\"dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR\"]},\"src/staking/factory/IRarityPoolFactory.sol\":{\"keccak256\":\"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f\",\"dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq\"]},\"src/staking/factory/IRewardAccumulatorFactory.sol\":{\"keccak256\":\"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1\",\"dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA\"]},\"src/staking/factory/RarityPoolFactory.sol\":{\"keccak256\":\"0x1f91aeb2e2911dc030bd65d42b13067855114516d4c06baa3a26a4ab9b27e931\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b492542b2946434e154ac860b2ac45940de8a1e1c519f23bafdd23eff2cd45c\",\"dweb:/ipfs/QmRq85ZfsuFWdKhwkX1gfRFfwAm24ExNJkxh2PNQU3SwuB\"]},\"src/staking/factory/RewardAccumulatorFactory.sol\":{\"keccak256\":\"0x4d1c7aca5f99de88f5a1bb9ec1f604fa550dfb44ff172ff36f77953a9c6bf088\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://797e363fbedea0c12ed1070c7829380a9d88c3adfbac94a9ae53156c50cd6129\",\"dweb:/ipfs/QmdVKT2AKtegMEW2ySDsKNHohSTgLSoR6xmseecqnDJQoZ\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/staking/registry/RareStakingRegistry.sol\":{\"keccak256\":\"0x59c1e348309fc54ba585807f6950af279da6000d0b69b350e104008ef79aa3eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f2fb4dcd47c5c84eaa0890204a35ec3b3e5020d34dc6832a5ea826c8f6e00bf\",\"dweb:/ipfs/QmSqkmQB7hjZWESL2mVDaPmYvKNRW3ikSRBYtwyhd6zhT8\"]},\"src/staking/reward/IRewardAccumulator.sol\":{\"keccak256\":\"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d\",\"dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD\"]},\"src/staking/reward/RewardAccumulator.sol\":{\"keccak256\":\"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474\",\"dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H\"]},\"src/staking/token/IRarityPool.sol\":{\"keccak256\":\"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14\",\"dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS\"]},\"src/staking/token/RarityPool.sol\":{\"keccak256\":\"0x9d2a4416a919b9a5790e49bf17f678c750bee98970678d1a699b0a3bcf9fba91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3029388baf7af0e6d3e926b8f01d887b1791ce09d2ddaacaa9683269dfb8ab5c\",\"dweb:/ipfs/QmXpVyd4uvWYz3DTURJHexU5NW5XNcwzBcEHTDPyTHyjzP\"]},\"src/test/reward/RewardAccumulator.t.sol\":{\"keccak256\":\"0xd9a78cf5aa55384c196f004b0156542746af715f3156f291e1f020f97bd85e9b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://3e4e91a544e53e0c95d81c24f59be35e5b79385dac36682c0e68f28481fe2206\",\"dweb:/ipfs/QmXEzpRqWBrgWESLC2VbMaL3qi2r7FqEQNAh7zBo3fjy66\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` 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":"See {IERC20-balanceOf}."},"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}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"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":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/test/reward/RewardAccumulator.t.sol":"TestRare"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/ens-contracts/contracts/registry/ENS.sol":{"keccak256":"0x7cb1158c7d268b63de1468e28e2711b28d686e2628ddb22da2149cd93ddeafda","urls":["bzz-raw://a7018309acca24b10ea1235b1c27828f29f2ddfabb653a794639baf620dc2314","dweb:/ipfs/QmakFQT5NFvGs3g8xxwtgtWdddq28Wtm6MjNSpJNhV1YpR"],"license":null},"lib/ens-contracts/contracts/registry/IReverseRegistrar.sol":{"keccak256":"0x83adfcf6da72b1bcd1e3ac387afe5fc7fdf7f2ac28b7601544d2ca4b9d45d159","urls":["bzz-raw://ca4b52ebdeb0fcddedded0e0027e530df4468c25b438ce0d4699b188603a4560","dweb:/ipfs/QmW3LPwkwcL84rBu8cbLagKQPMGunXnh6cZfm6RRyfXArb"],"license":null},"lib/ens-contracts/contracts/registry/ReverseRegistrar.sol":{"keccak256":"0x6c79056e7f564409e834619de2cf0511321dcbcf90b9f68d8ffed50fab070791","urls":["bzz-raw://881731d1a6e17885e3ea8eba31caae46d8ae5e266f7897666fcabf652f1d1b99","dweb:/ipfs/QmReNiMnjyPRyLWRkcyFUSvL1vZ81MLtfuugGJRQZ5edzf"],"license":null},"lib/ens-contracts/contracts/resolvers/Resolver.sol":{"keccak256":"0x62b71222aa65138e124b94f5835c2163cc88213491e5f0a80d7a4c45641fbe64","urls":["bzz-raw://2def0b17096b07578ac974ab3871d71c757a01389bbfdb124d103308a3ecaad9","dweb:/ipfs/QmepR8cbk2etYYnKHArZFuGNTZ2huqFihxq9mzfS3YgE3Y"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IABIResolver.sol":{"keccak256":"0x85b373d02d19374fe570af407f459768285704bf7f30ab17c30eabfb5a10e4c3","urls":["bzz-raw://2046ce3d92d29806d7b447f7ab4227f19b0b2e5c75fd5b4a3fcaef7fe2442141","dweb:/ipfs/QmRgnfWjFetrSJngkhU7Yui1ZcK1MeatvZDpvUTYNuYnND"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IAddrResolver.sol":{"keccak256":"0x2ad7f2fc60ebe0f93745fe70247f6a854f66af732483fda2a3c5e055614445e8","urls":["bzz-raw://43922ba183ff20d87dce7fc5d715e626b26594151e36dcc8d7c6329b9a822963","dweb:/ipfs/QmTg9uHTugTxzqddN68gnhNbGt4bGJBS9mQcss6GYggR4X"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IAddressResolver.sol":{"keccak256":"0x411447c1e90c51e09702815a85ec725ffbbe37cf96e8cc4d2a8bd4ad8a59d73e","urls":["bzz-raw://543aa2756447a428711b69aea79e9f4641c22f8330ba920b2a49fde8d9207f82","dweb:/ipfs/QmTdpcYRWLH3BL7iytnqcSzRojTPe3YettKaTqeCvKPk54"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IContentHashResolver.sol":{"keccak256":"0xd95cd77684ba5752c428d7dceb4ecc6506ac94f4fbb910489637eb68dcd8e366","urls":["bzz-raw://daf1fee7770679bd935b8b5686789a4ecc532caeef5a9b8e1b60ae0c285e743e","dweb:/ipfs/QmSaHBAqtDdbQLH6QN4EbupMrq2ah8g6fqE7fLX1u4cjMZ"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IDNSRecordResolver.sol":{"keccak256":"0xcfa52200edd337f2c6c5bf402352600584da033b21323603e53de33051a3e25d","urls":["bzz-raw://2c8355211d58db82660140191678ee342eb8a7ac46fa097ae8e03eef008f592e","dweb:/ipfs/QmYDNiECPd4fJ7Vk9Xywfpg73rUvDpcYqas95ofGcpt7fM"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IDNSZoneResolver.sol":{"keccak256":"0xca1b3a16e7005533f2800a3e66fcdccf7c574deac7913d8c810f40aec1d58dc0","urls":["bzz-raw://a4e38d5eb69e236c37e4a013628838070720c9e1923569650b01252868038c7a","dweb:/ipfs/QmV397iZMRxtem79kJy5sueJadXoVL89gNViX2xciQHUrk"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IExtendedResolver.sol":{"keccak256":"0x5d81521cfae7d9a4475d27533cd8ed0d3475d369eb0674fd90ffbdbdf292faa3","urls":["bzz-raw://d244d15588785044b54c453ab6dc51c616ab70cb8b9e687d3e54565bcae97760","dweb:/ipfs/QmXz4ZZBTFogdkdTV1mcE3ywvL2agKVZHLNNeRHCKVruYM"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IInterfaceResolver.sol":{"keccak256":"0x390321fb58f7b927df9562450981e74b4be3907e7c09df321fd3b7409b63ae28","urls":["bzz-raw://045d12c6e0e4596b3672614751a9e75188183a89765a6abd938294e0294e9c56","dweb:/ipfs/QmazngvagEoKe29s4M9Rv8KygWD5hrAtNPkYDPJ2pK13yx"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/INameResolver.sol":{"keccak256":"0x9ec392b612447b1acbdc01114f2da2837a658d3f3157f60a99c5269f0b623346","urls":["bzz-raw://5b2cd9e5339b09f40e82bd91fed7d5f643dd031393eefb9aec588eaba8465049","dweb:/ipfs/QmT2A8eswhJU9YadCs9BtwKNj6YGypntXmFepANQYyGw7x"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/IPubkeyResolver.sol":{"keccak256":"0x69748947093dd2fda9ddcebd0adf19a6d1e7600df1d4b1462a0417156caddca7","urls":["bzz-raw://bc2f86e50bd17c38fb10feb577d88d8970c585017a391ef10e3aaa3d50f81555","dweb:/ipfs/QmaxLx2pqCUxf9W2dusfviZ9aSiTuVwuekGo73rjvmGifE"],"license":"MIT"},"lib/ens-contracts/contracts/resolvers/profiles/ITextResolver.sol":{"keccak256":"0x7c5debb3c42cd9f5de2274ea7aa053f238608314b62db441c40e31cea2543fd5","urls":["bzz-raw://412e34ae2d84d542ffa6791486963f3fe04432a3ffd51877d441256dc2941914","dweb:/ipfs/QmciS4mGAQ6KJtLiLcBFekHKhYAYMmubDWGkpZ3sUFtJPW"],"license":"MIT"},"lib/ens-contracts/contracts/root/Controllable.sol":{"keccak256":"0xb19b8c0fafe9ca2b4bf8aaafee486fa31437672e1e1977bdf84bfe03464969db","urls":["bzz-raw://cd365d76a131b89fa0f6b4097e63032337d2c071c082f5b9ca4af85cd16b3350","dweb:/ipfs/QmXcgvgArVaK9k4wfzEj2rGu86W6U3BAY8mw8jVaAwJpFH"],"license":null},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9100bd38453711d5f5ae32d16b4aacef8d4e26abb3061fcc9920cd30cdb49315","urls":["bzz-raw://114654e304083d3403510edd13d7df2223747337150ecf51dd36b441e50498f7","dweb:/ipfs/QmQy6uvcVHyHzU2RbuvEo1hKiV7k81z21gR6DSj4DkCP8D"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb58d624eb0922d4ab14856efb0ab558b0727ccfc28448c5779f1ab4d98cf3daf","urls":["bzz-raw://1869fc58cb27a7b680428b79d0e0b6f45bd3c61fedb4b3f895e143fb899519d5","dweb:/ipfs/QmcjECGVpQPjhL2bokDyQeGWdzM99qPFMhq5r7KqKLot7R"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x18ac6dcce9cdfe3bc754ce910b4b97e56963c49a92e50f57d055adb562416b86","urls":["bzz-raw://d6b29b4a814dc26c3722e994a792f4cc1be86e6b8c2b2adc352ed54fb326593d","dweb:/ipfs/Qma8a7XELNmUepiitaLyxJXW66urnXsvCwx1bMLmRw2Fpn"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb5d4816a3f37977b1efa07b5e715daa917e96fd28dec1805c4189653db4ea33a","urls":["bzz-raw://34338fa7f079f8d64f20d976f9bf908a710c8728f18c4b361b020b24fedfedf2","dweb:/ipfs/QmYhwY1wi6vVLMUsJ32L3GiSR9HRaFhGL1Y3wRDjy41KXn"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol":{"keccak256":"0xc2dfd6ba9449f61b6b03b262182faf302f093a8c05dd10792aeecb4ed1663c0c","urls":["bzz-raw://f79816b0fdc0a6f53173238932ef86e2d7089a6e87b6c5c9c27e6d60f3fe809a","dweb:/ipfs/QmTtXQ8sw91q4n4nXZigNWH3YaGqsJjPXyWCgPGDC6s24j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol":{"keccak256":"0x7acbc538aad6eb4614e26612a8c5c0149bb8808db95e2638d245a8365f63e572","urls":["bzz-raw://ea07bdbf13b16d19ccf8a8f1a361c80bbfb6073e8b1d079b72f7a5f09dc642cd","dweb:/ipfs/QmQh5YhCySYR5RSAEFTt3NaDhq6MCxvSTdFh56874JPxbY"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol":{"keccak256":"0x84efb8889801b0ac817324aff6acc691d07bbee816b671817132911d287a8c63","urls":["bzz-raw://ec6df2255fadc251ea905043c47bf55170ee6cb5d7ca8b5c8ed54c84eac9d09e","dweb:/ipfs/QmaokWfuL59uarki5yoDGbPzh4cErzEfnAzfmesTNJNXE9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol":{"keccak256":"0xe73087c5001a37cf7186b3709377c7ceb01a0d38fb908723d1464cea66b4958c","urls":["bzz-raw://b835a1929ca2c7c978085e58f08f48855df8a82ef6a426ac71393cf032ea0fc5","dweb:/ipfs/QmUMXRN9g8u9wm63wc7PMaSs7oG2nqnM1VVvktaWkvF68v"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x584ebdf9c1118a7c773f98788e3f3ede01982bdf8932aa06f5acc7d54876e161","urls":["bzz-raw://9826c7edf276ff48b99ee217358393097c30448a71d345d287c2f6961bb1f159","dweb:/ipfs/QmYXBTY9wDvffGU47yMRFJ1NFyKwpbj94VHzRzhsm6R7Gz"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xb607cb94c27e89750f5ae2ccebcb94e654e926f6125f4fd4c6262c89875118ad","urls":["bzz-raw://33e8f8d863c6943ea046fcf4972b4e815c04ab06bad195dba1d93f8ebeb8420d","dweb:/ipfs/QmTQzxQTuuzPDk3eqVmYy7hv2RCXM1yt1NtubXpRbzYjaj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xd14a627157b9a411d2410713e5dd3a377e9064bd5c194a90748bbf27ea625784","urls":["bzz-raw://29d6a502187e88fdb4ac51319b6cfc82e7ba886a435480e229e5f838d2da55ee","dweb:/ipfs/QmQNWKr3axXvQowZi31ydXRdeZ7UnE7oN8XAz9FCkx1JhN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol":{"keccak256":"0xea2c6f9d434127bf36b1e3e5ebaaf6d28a64dbaeea560508e570014e905a5ad2","urls":["bzz-raw://3483370aa549810a946ace621a225616bb6d0b9ed22c3a99bbcf80dc4866ec39","dweb:/ipfs/QmdgFnm6X2oQ574eJFLghVXVckwyC3SbiAUxXs934N1qvf"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol":{"keccak256":"0xde37069fee260aebc3d205b6efac1c5c6d2271805f0a5035e3d626a23d33264c","urls":["bzz-raw://40cb3fc98ee9933b15b1369ab1cab47df7a3978a78c1ff830caa29daf2615b7a","dweb:/ipfs/QmQ2xnoPdWicferXuTYLmQVQrJMDBEqUkJfizmkZk8WF2V"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol":{"keccak256":"0x605434219ebbe4653f703640f06969faa5a1d78f0bfef878e5ddbb1ca369ceeb","urls":["bzz-raw://4c9c634f99dd02d73ce7498b03a6305e251c05eeebb71457306561c1fab0fa7d","dweb:/ipfs/QmbYRBbZHy8YoaQKXdPryiL3CSS7uUaRfRYi1TUj9cTqJQ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol":{"keccak256":"0xd60f939a3ca0199014d079b4dd66aa757954334947d81eb5c1d35d7a83061ab3","urls":["bzz-raw://ce6e5ae4633559c2aad156be884a96f7a9beb8dd31b1b630a6de55972e3af622","dweb:/ipfs/QmQasz4sQoexkrvB7wCQAY6NbMoCtPS7AqomymRoJGYz85"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol":{"keccak256":"0x4dae161227d332808312ee2caf6384929321b83c16cc89b5642985fbec6b814c","urls":["bzz-raw://42e226467674f856e38311d37c03598e19a0dbae3f4e970ec1eb853c7b9a87d8","dweb:/ipfs/QmZ4FWqZYKMjgnxBEjVJ5Qszuh7mZoE6GYqkimEzj8qtVe"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol":{"keccak256":"0xfc2b592af54cefb457ee96f7e1336d883a5dc02f04d462c6a3bb6c1f1e7865ae","urls":["bzz-raw://203d64e7c51f2c27e7a0c07338a6ab2cefc3bacf99c416415e57038933ece767","dweb:/ipfs/QmQBU4dFzaXv2pX76TQeTaRVMsPyyN7owuGK3zZXA5y9kj"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol":{"keccak256":"0x798741e231b22b81e2dd2eddaaf8832dee4baf5cd8e2dbaa5c1dd12a1c053c4d","urls":["bzz-raw://c41e8a7a906b8f362c8b760a44edadc61782008ea2ecf377ac5b5325bf6c3912","dweb:/ipfs/QmcXr19zuH3YLzD6RZNE6UTzvsKSckdxZQnagPoDGkCHu2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol":{"keccak256":"0xdfa041144ad3a40abcdc6f97fd9e9b467448206722b0c9b9bd13f343891ae447","urls":["bzz-raw://f74d375967e813aacc9ab924ea9dd07a9dbf149b5c93a2cf968f89269fd942ca","dweb:/ipfs/QmeNAiboecuK4CGjFkr1gqBmk3UbTdr1w41R31AaVtMJXf"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol":{"keccak256":"0x1c65595a26548a1b2263315b08a56334a2d7087319814437559c3c96025e939f","urls":["bzz-raw://876afb75e0d5615b07f70a0bc69ae7f098df8ef058251b5934b9d05c9c7e0d1f","dweb:/ipfs/Qmay4sdoBJQtP2cC1EDyQ8GzNPJZzo3v5soRRy8rDNLfBJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0xbe62cd20530654aaec3c79b0ac559072f873d75078476fa9d5d53b5056a82e98","urls":["bzz-raw://15caa92e99e78a08d104db0b87199ee317ad7a9e6874393d89c2fabe793289c2","dweb:/ipfs/QmbSio6ocLhJUaGEferLk82tr1RtJWvZMFLyRmDo7Y23jf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x6ebf1944ab804b8660eb6fc52f9fe84588cee01c2566a69023e59497e7d27f45","urls":["bzz-raw://2900536cdadec954ced8789a9d1ed4b5e640029e1424e91fd5b88026486f4d45","dweb:/ipfs/QmUMUX7CuYoiHvFkhifqtXGaciw2wnm4t9sAoPzETZ3Gbq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x0e7c9f782f550d78de6494455a48ef509ece00bed07d74051a27c588a7366803","urls":["bzz-raw://4ac0362e73a0048bde4dcc1c6e2466fa9fb2bc931b76a28ee8b784407ca5c054","dweb:/ipfs/QmcQuaJwykGpVgd11kZfz2WU5HmWD9rFG5meYR8ATR8mGA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"keccak256":"0x85439e74ab467b6a23d45d32bdc9506cbc3760320289afd605f11638c4138e95","urls":["bzz-raw://6e18633c182e445895e5a70f9e79f2558d0f6eac86767fd1d90552177df2955c","dweb:/ipfs/QmagUFUJbiNGRGGajg9CF5LPuopc44XSCtcCaYvQasBuX9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xb62681ccbf84aef125665cfdfc0bf13b532925b1a520d6c935913560f539a31b","urls":["bzz-raw://21dbc5b8aede7dee8f0e3bf296a58270f376f8e40d6f8becccde5b3cf34bc8df","dweb:/ipfs/QmfHPWrtGiMNhTtLDYtqSd1eVd35Zqgd4PW9bR3i23oJgg"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0x20ecf3c67cab5ec0a1d0cc7d980fa236ffdfd8579d8d8b6b89d29329bc6e78ae","urls":["bzz-raw://b52e4581ee6605732661d367845d2c551e0efcf81852f29248aef6d4be0a300b","dweb:/ipfs/QmaLPj2TrVCTPH6D1BEjBVCb9N1dLJ6pTcoJwCmM3HWkfC"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x9e064fd116cdd5ed4b0132d0606a372bd94ff243c0520bc723fb6b09e947c16e","urls":["bzz-raw://93d1a36262aa498a85ac7a275ead2cf410b9c674d6bef09d0972203cb33b724e","dweb:/ipfs/QmY9T4HKDbPXEZPHzXaFbd2M86fV1Q68sBJYh8J9LDFApU"],"license":null},"lib/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0xaa9d8894cfc7826e4d1abacb026b022ef4ff07569037b8796474d43257fb1f19","urls":["bzz-raw://3d4defb32c4331c11a78f235cc5a844c67036221eb9b7fdd5ef81ea024b1c05b","dweb:/ipfs/QmRX1y6Wsg8eyAvTcDynRBvH65cFt7B2DH2Ux92C12m588"],"license":"MIT"},"lib/v3-core/contracts/libraries/TickMath.sol":{"keccak256":"0x681ad959f8a575271b01dbde85e2a61f41eddd3247da3f8bc59d948446975347","urls":["bzz-raw://2347b5b5258d7a8afc15d725ef2b2193751a073cf6180ec1359292729f454a97","dweb:/ipfs/QmTvqAQpCQMZ6wNVAN4CWXaaqZv9zc2vNfXHsaLG5Mmdv2"],"license":"GPL-2.0-or-later"},"lib/v3-periphery/contracts/libraries/OracleLibrary.sol":{"keccak256":"0x7845d46168720f378aeb0178ff8198e2cbbedae7eb9aaf9cee6abaa80d0b618a","urls":["bzz-raw://1a48a2a2e96a9ee41d73e17965926ae90f33a3219e6f98c065b3f65d7a404313","dweb:/ipfs/QmY5WEYcNxPNLhcbAangLyqkuCEtQhT8dmuNBKouxBUXkR"],"license":"GPL-2.0-or-later"},"src/staking/factory/IRarityPoolFactory.sol":{"keccak256":"0x6694168a9511f905e23d5cbfc6caa7191a53dc6f93829ef6a7b819e50b80c159","urls":["bzz-raw://a6cbf93bab05ae990a8b069efd7478b86e89df83d0dd99885d4b0571db31485f","dweb:/ipfs/QmTAPm3GQWNJEarottuC3TY3pGuWTnuBXe3uSAfMgPgcVq"],"license":"MIT"},"src/staking/factory/IRewardAccumulatorFactory.sol":{"keccak256":"0x587037557e7ec3e0f122938019383e40e482559a81a64d5762e08e88025f2ee6","urls":["bzz-raw://c1630e9e02855e65dfa623615e9c1037a9b7da2775c172002213e51bcfc358a1","dweb:/ipfs/QmSUhBht5eMy8xpUKPYegYggpWRV4mtKoNkuTyiHdgVtZA"],"license":"MIT"},"src/staking/factory/RarityPoolFactory.sol":{"keccak256":"0x1f91aeb2e2911dc030bd65d42b13067855114516d4c06baa3a26a4ab9b27e931","urls":["bzz-raw://1b492542b2946434e154ac860b2ac45940de8a1e1c519f23bafdd23eff2cd45c","dweb:/ipfs/QmRq85ZfsuFWdKhwkX1gfRFfwAm24ExNJkxh2PNQU3SwuB"],"license":"MIT"},"src/staking/factory/RewardAccumulatorFactory.sol":{"keccak256":"0x4d1c7aca5f99de88f5a1bb9ec1f604fa550dfb44ff172ff36f77953a9c6bf088","urls":["bzz-raw://797e363fbedea0c12ed1070c7829380a9d88c3adfbac94a9ae53156c50cd6129","dweb:/ipfs/QmdVKT2AKtegMEW2ySDsKNHohSTgLSoR6xmseecqnDJQoZ"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/staking/registry/RareStakingRegistry.sol":{"keccak256":"0x59c1e348309fc54ba585807f6950af279da6000d0b69b350e104008ef79aa3eb","urls":["bzz-raw://3f2fb4dcd47c5c84eaa0890204a35ec3b3e5020d34dc6832a5ea826c8f6e00bf","dweb:/ipfs/QmSqkmQB7hjZWESL2mVDaPmYvKNRW3ikSRBYtwyhd6zhT8"],"license":"MIT"},"src/staking/reward/IRewardAccumulator.sol":{"keccak256":"0xd045a4bade6d3034e6b59d4219c04a9b15cb4be6d1c7ae71c7a9a9c9a3300f42","urls":["bzz-raw://76f423cea72076f7646123d43a6b8b580e7a0b4909fa1d9327fd93e691f0aa6d","dweb:/ipfs/QmcoLTHrNrAQfuL3JtEiuceYvhYb9T9w3EqT9XKmRneTrD"],"license":"MIT"},"src/staking/reward/RewardAccumulator.sol":{"keccak256":"0x72839958118a7e91bb64718e2ee73f8a104d9b37f071f6660605dbeeb3ee703c","urls":["bzz-raw://be08ec06eab8d632a70cea1d4d5ab52faf29b5d76f81a5d139202b64a6b1c474","dweb:/ipfs/QmZNz9pNGGGLydVMqh2vH1F3JRUpfWg37W9Aba2pBya41H"],"license":"MIT"},"src/staking/token/IRarityPool.sol":{"keccak256":"0x8a1c433510ef5db8f4a8b2b298c6618a91e974f1ea6c280967c1d3c710e3794b","urls":["bzz-raw://8ade4d1308318773489621961a1b6e2ed76a0c8ed0686225e75100f73df91f14","dweb:/ipfs/Qma1AxmUyfM8CbRN6MnWW6BVpYE9iByWQygCDvG3RunbqS"],"license":"MIT"},"src/staking/token/RarityPool.sol":{"keccak256":"0x9d2a4416a919b9a5790e49bf17f678c750bee98970678d1a699b0a3bcf9fba91","urls":["bzz-raw://3029388baf7af0e6d3e926b8f01d887b1791ce09d2ddaacaa9683269dfb8ab5c","dweb:/ipfs/QmXpVyd4uvWYz3DTURJHexU5NW5XNcwzBcEHTDPyTHyjzP"],"license":"MIT"},"src/test/reward/RewardAccumulator.t.sol":{"keccak256":"0xd9a78cf5aa55384c196f004b0156542746af715f3156f291e1f020f97bd85e9b","urls":["bzz-raw://3e4e91a544e53e0c95d81c24f59be35e5b79385dac36682c0e68f28481fe2206","dweb:/ipfs/QmXEzpRqWBrgWESLC2VbMaL3qi2r7FqEQNAh7zBo3fjy66"],"license":"AGPL-3.0-only"}},"version":1},"id":194} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234620003ac5762000014620003b1565b6020635261726560e01b818301526200002c620003b1565b635241524560e01b82820152825190926001600160401b03808311620002ac5760038054936001938486811c96168015620003a1575b878710146200038b578190601f9687811162000335575b508790878311600114620002ce57600092620002c2575b505060001982841b1c191690841b1781555b8551918211620002ac5760049586548481811c91168015620002a1575b878210146200028c5785811162000241575b508590858411600114620001d657938394918492600095620001ca575b50501b92600019911b1c19161783555b33156200018957506002546b033b2e3c9fd0803ce8000000928382018092116200017457506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91600255338352828152604083208481540190556040519384523393a36040516109c79081620003d68239f35b601190634e487b7160e01b6000525260246000fd5b606492916040519262461bcd60e51b845283015260248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b015193503880620000ee565b9190601f198416928860005284886000209460005b8a898383106200022957505050106200020e575b50505050811b018355620000fe565b01519060f884600019921b161c1916905538808080620001ff565b868601518955909701969485019488935001620001eb565b87600052866000208680860160051c82019289871062000282575b0160051c019085905b82811062000275575050620000d1565b6000815501859062000265565b925081926200025c565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000bf565b634e487b7160e01b600052604160045260246000fd5b01519050388062000090565b90869350601f1983169185600052896000209260005b8b8282106200031e575050841162000305575b505050811b018155620000a2565b015160001983861b60f8161c19169055388080620002f7565b8385015186558a97909501949384019301620002e4565b90915083600052876000208780850160051c8201928a861062000381575b918891869594930160051c01915b8281106200037157505062000079565b6000815585945088910162000361565b9250819262000353565b634e487b7160e01b600052602260045260246000fd5b95607f169562000062565b600080fd5b60408051919082016001600160401b03811183821017620002ac576040526004825256fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde03146105cf57508163095ea7b3146105a557816318160ddd1461058657816323b872dd146104bc578163313ce567146104a0578163395093511461043957816342966c681461032257816370a08231146102eb57816395d89b41146101cc578163a457c2d71461012457508063a9059cbb146100f45763dd62ed3e146100a957600080fd5b346100f057806003193601126100f057806020926100c56106f0565b6100cd61070b565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100f057806003193601126100f05760209061011d6101136106f0565b6024359033610721565b5160018152f35b905082346101c957826003193601126101c95761013f6106f0565b918360243592338152600160205281812060018060a01b03861682526020522054908282106101785760208561011d858503873361088f565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100f057816003193601126100f057805190828454600181811c908083169283156102e1575b60209384841081146102ce578388529081156102b2575060011461025d575b505050829003601f01601f191682019267ffffffffffffffff84118385101761024a57508291826102469252826106a7565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b83851061029e5750505050830101858080610214565b805488860183015293019284908201610288565b60ff1916878501525050151560051b8401019050858080610214565b634e487b7160e01b895260228a52602489fd5b91607f16916101f5565b5050346100f05760203660031901126100f05760209181906001600160a01b036103136106f0565b16815280845220549051908152f35b9190503461043557602090816003193601126104315782359233156103e65733855284835281852054908482106103985750917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef918486959433875286845203818620558360025403600255519283523392a380f35b825162461bcd60e51b8152908101849052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b82608492519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152fd5b8380fd5b8280fd5b8284346101c957816003193601126101c9576104536106f0565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061048d5760208461011d85853361088f565b634e487b7160e01b815260118552602490fd5b5050346100f057816003193601126100f0576020905160128152f35b839150346100f05760603660031901126100f0576104d86106f0565b6104e061070b565b91846044359460018060a01b03841681526001602052818120338252602052205490600019820361051a575b60208661011d878787610721565b84821061054357509183916105386020969561011d9503338361088f565b91939481935061050c565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100f057816003193601126100f0576020906002549051908152f35b5050346100f057806003193601126100f05760209061011d6105c56106f0565b602435903361088f565b8490843461043557826003193601126104355782600354600181811c9080831692831561069d575b60209384841081146102ce578388529081156102b2575060011461064757505050829003601f01601f191682019267ffffffffffffffff84118385101761024a57508291826102469252826106a7565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8385106106895750505050830101858080610214565b805488860183015293019284908201610673565b91607f16916105f7565b6020808252825181830181905290939260005b8281106106dc57505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016106ba565b600435906001600160a01b038216820361070657565b600080fd5b602435906001600160a01b038216820361070657565b6001600160a01b0390811691821561083c57169182156107eb5760008281528060205260408120549180831061079757604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561094057169182156108f05760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea264697066735822122056f87026eb8cb05dbba82c4c7ee57aebc1d94832259bd144d14c7ebf9b56461364736f6c63430008120033","sourceMap":"4379:195:216:-:0;;;;;;;;:::i;:::-;;-1:-1:-1;;;4379:195:216;;;;;;:::i;:::-;-1:-1:-1;;;4379:195:216;;;;;;;;-1:-1:-1;;;;;4379:195:216;;;;;2046:13:92;4379:195:216;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;-1:-1:-1;4379:195:216;;;;-1:-1:-1;;;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;4458:10;8603:21:92;4379:195:216;;;8731:22:92;4379:195:216;4470:19;4379:195;;;;;;;;;;-1:-1:-1;4379:195:216;8952:37:92;4379:195:216;8731:22:92;4379:195:216;4458:10;4379:195;;;;;;;;;;;;;;;;;;;4458:10;8952:37:92;;4379:195:216;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;-1:-1:-1;4379:195:216;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;-1:-1:-1;4379:195:216;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;-1:-1:-1;4379:195:216;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;-1:-1:-1;4379:195:216;;-1:-1:-1;4379:195:216;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;-1:-1:-1;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4379:195:216;;;;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde03146105cf57508163095ea7b3146105a557816318160ddd1461058657816323b872dd146104bc578163313ce567146104a0578163395093511461043957816342966c681461032257816370a08231146102eb57816395d89b41146101cc578163a457c2d71461012457508063a9059cbb146100f45763dd62ed3e146100a957600080fd5b346100f057806003193601126100f057806020926100c56106f0565b6100cd61070b565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100f057806003193601126100f05760209061011d6101136106f0565b6024359033610721565b5160018152f35b905082346101c957826003193601126101c95761013f6106f0565b918360243592338152600160205281812060018060a01b03861682526020522054908282106101785760208561011d858503873361088f565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100f057816003193601126100f057805190828454600181811c908083169283156102e1575b60209384841081146102ce578388529081156102b2575060011461025d575b505050829003601f01601f191682019267ffffffffffffffff84118385101761024a57508291826102469252826106a7565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b83851061029e5750505050830101858080610214565b805488860183015293019284908201610288565b60ff1916878501525050151560051b8401019050858080610214565b634e487b7160e01b895260228a52602489fd5b91607f16916101f5565b5050346100f05760203660031901126100f05760209181906001600160a01b036103136106f0565b16815280845220549051908152f35b9190503461043557602090816003193601126104315782359233156103e65733855284835281852054908482106103985750917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef918486959433875286845203818620558360025403600255519283523392a380f35b825162461bcd60e51b8152908101849052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b82608492519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152fd5b8380fd5b8280fd5b8284346101c957816003193601126101c9576104536106f0565b338252600160209081528383206001600160a01b038316845290528282205460243581019290831061048d5760208461011d85853361088f565b634e487b7160e01b815260118552602490fd5b5050346100f057816003193601126100f0576020905160128152f35b839150346100f05760603660031901126100f0576104d86106f0565b6104e061070b565b91846044359460018060a01b03841681526001602052818120338252602052205490600019820361051a575b60208661011d878787610721565b84821061054357509183916105386020969561011d9503338361088f565b91939481935061050c565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100f057816003193601126100f0576020906002549051908152f35b5050346100f057806003193601126100f05760209061011d6105c56106f0565b602435903361088f565b8490843461043557826003193601126104355782600354600181811c9080831692831561069d575b60209384841081146102ce578388529081156102b2575060011461064757505050829003601f01601f191682019267ffffffffffffffff84118385101761024a57508291826102469252826106a7565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8385106106895750505050830101858080610214565b805488860183015293019284908201610673565b91607f16916105f7565b6020808252825181830181905290939260005b8281106106dc57505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016106ba565b600435906001600160a01b038216820361070657565b600080fd5b602435906001600160a01b038216820361070657565b6001600160a01b0390811691821561083c57169182156107eb5760008281528060205260408120549180831061079757604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561094057169182156108f05760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea264697066735822122056f87026eb8cb05dbba82c4c7ee57aebc1d94832259bd144d14c7ebf9b56461364736f6c63430008120033","sourceMap":"4379:195:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:6:92;4379:195:216;;:::i;:::-;;;719:10:102;;3894:6:92;:::i;:::-;4379:195:216;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;719:10:102;;4379:195:216;;;;;;;;;;;;;;;;;;;;;6792:35:92;;;;4379:195:216;;;;6928:34:92;4379:195:216;;;;719:10:102;6928:34:92;:::i;4379:195:216:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;-1:-1:-1;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4379:195:216;;;;;-1:-1:-1;;4379:195:216;;;;;;;;-1:-1:-1;4379:195:216;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4379:195:216;;;;;;;;-1:-1:-1;;;;;4379:195:216;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4548:10;;9458:21:92;4379:195:216;;4548:10;4379:195;;;;;;;;;9649:24:92;;;;4379:195:216;;4548:10;;9931:37:92;4548:10:216;;;;;;4379:195;;;;;;;;;;;9883:22:92;4379:195:216;;9883:22:92;4379:195:216;;;;;4548:10;9931:37:92;;4379:195:216;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;719:10:102;4379:195:216;;;;;;;;;;-1:-1:-1;;;;;4379:195:216;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;719:10:102;6021:38:92;719:10:102;;;6021:38:92;:::i;4379:195:216:-;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;3186:2:92;4379:195:216;;;;;;;;;;;;-1:-1:-1;;4379:195:216;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;719:10:102;4379:195:216;;;;;;11264:17:92;;;11244:37;;11240:243;;4379:195:216;;5424:6:92;;;;;;:::i;11240:243::-;11305:26;;;4379:195:216;;;;;;11432:25:92;4379:195:216;;;5424:6:92;4379:195:216;;719:10:102;11432:25:92;;:::i;:::-;11240:243;;;;;;;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3342:12:92;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;4606:6:92;4379:195:216;;:::i;:::-;;;719:10:102;;4606:6:92;:::i;4379:195:216:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;-1:-1:-1;;4379:195:216;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4379:195:216;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;4379:195:216;;;;;;:::o;7456:788:92:-;-1:-1:-1;;;;;4379:195:216;;;;7552:18:92;;4379:195:216;;;7630:16:92;;;4379:195:216;;7568:1:92;4379:195:216;;;;;;;;;;7801:21:92;;;;4379:195:216;;;;;8163:26:92;4379:195:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:26:92;7456:788::o;4379:195:216:-;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;10457:340:92;-1:-1:-1;;;;;4379:195:216;;;;10558:19:92;;4379:195:216;;;10636:21:92;;;4379:195:216;;;10758:32:92;4379:195:216;;10575:1:92;4379:195:216;;;;;10575:1:92;4379:195:216;;10575:1:92;4379:195:216;;;;;10575:1:92;4379:195:216;;;;;;;10758:32:92;10457:340::o;4379:195:216:-;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;;;;;;;;;;;;-1:-1:-1;;;4379:195:216;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"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\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` 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\":\"See {IERC20-balanceOf}.\"},\"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}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"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\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/v2/utils/MarketUtilsV2.t.sol\":\"TestRare\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9100bd38453711d5f5ae32d16b4aacef8d4e26abb3061fcc9920cd30cdb49315\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://114654e304083d3403510edd13d7df2223747337150ecf51dd36b441e50498f7\",\"dweb:/ipfs/QmQy6uvcVHyHzU2RbuvEo1hKiV7k81z21gR6DSj4DkCP8D\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb58d624eb0922d4ab14856efb0ab558b0727ccfc28448c5779f1ab4d98cf3daf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1869fc58cb27a7b680428b79d0e0b6f45bd3c61fedb4b3f895e143fb899519d5\",\"dweb:/ipfs/QmcjECGVpQPjhL2bokDyQeGWdzM99qPFMhq5r7KqKLot7R\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x18ac6dcce9cdfe3bc754ce910b4b97e56963c49a92e50f57d055adb562416b86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6b29b4a814dc26c3722e994a792f4cc1be86e6b8c2b2adc352ed54fb326593d\",\"dweb:/ipfs/Qma8a7XELNmUepiitaLyxJXW66urnXsvCwx1bMLmRw2Fpn\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb5d4816a3f37977b1efa07b5e715daa917e96fd28dec1805c4189653db4ea33a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34338fa7f079f8d64f20d976f9bf908a710c8728f18c4b361b020b24fedfedf2\",\"dweb:/ipfs/QmYhwY1wi6vVLMUsJ32L3GiSR9HRaFhGL1Y3wRDjy41KXn\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88\",\"dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/security/PullPayment.sol\":{\"keccak256\":\"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0\",\"dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb62681ccbf84aef125665cfdfc0bf13b532925b1a520d6c935913560f539a31b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21dbc5b8aede7dee8f0e3bf296a58270f376f8e40d6f8becccde5b3cf34bc8df\",\"dweb:/ipfs/QmfHPWrtGiMNhTtLDYtqSd1eVd35Zqgd4PW9bR3i23oJgg\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0\",\"dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577\",\"dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf\",\"dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f\",\"dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol\":{\"keccak256\":\"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680\",\"dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4\",\"dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol\":{\"keccak256\":\"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9\",\"dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r\"]},\"src/marketplace/IMarketplaceSettings.sol\":{\"keccak256\":\"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0\",\"dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13\"]},\"src/marketplace/IStakingSettings.sol\":{\"keccak256\":\"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda\",\"dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4\"]},\"src/payments/IPayments.sol\":{\"keccak256\":\"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38\",\"dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc\"]},\"src/payments/Payments.sol\":{\"keccak256\":\"0xc868257216fd3d43036a6262cfabbf8403a3a9bc2bef39fcd09b727608543a3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://397798a222fad7e1b3aeaed60d6c4857ca68ea86d984d8d731177e8ee3fc7739\",\"dweb:/ipfs/Qme1S133kewWJLTdkDQ14CqCsJv2MQ49bmqFxrTyFoMppZ\"]},\"src/registry/interfaces/IApprovedTokenRegistry.sol\":{\"keccak256\":\"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2\",\"dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC\"]},\"src/registry/interfaces/ISpaceOperatorRegistry.sol\":{\"keccak256\":\"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33\",\"dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT\"]},\"src/staking/registry/IRareStakingRegistry.sol\":{\"keccak256\":\"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6\",\"dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR\"]},\"src/test/v2/utils/MarketUtilsV2.t.sol\":{\"keccak256\":\"0x681e30e9ebb270cfe8a1c8c6f862f80387239d5cb60a7ccd087affad039e29c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9454a0c07d14c5de34754ddc1c7c736e53ce5b16c3f450767267eef103f7f549\",\"dweb:/ipfs/QmTJZqMuBGFYmN7rNvjowzp2xxY3cqW5dMswGt6SeC6cWn\"]},\"src/test/v2/utils/TestNft.sol\":{\"keccak256\":\"0xa8563d95ebbba13fd3e55e39bebdc446f678408deff54a9abfe1899676a5ffe0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b438876be1375eabd7f92325655a0d5dea975ddf04e1501a1ca2066f1f26a80c\",\"dweb:/ipfs/QmVnQ1bHPmRyKMcVYWtPfKJ6mNpVt8aQJV4R9CNbqyNQ5k\"]},\"src/v2/approver/ERC20/ERC20ApprovalManager.sol\":{\"keccak256\":\"0x3748e53d61a534cdc87af05ead843d76019b9e4a172a486e4af94981b275105e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5158271304c601ba40037e04241b18abfa8caab792c7405e34bee156b77ff5e9\",\"dweb:/ipfs/Qmcm2GYjZwgmBvcBKni4XrjujVUDqHp8Dxr2Xpng1575qJ\"]},\"src/v2/approver/ERC20/IERC20ApprovalManager.sol\":{\"keccak256\":\"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f\",\"dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY\"]},\"src/v2/approver/ERC721/ERC721ApprovalManager.sol\":{\"keccak256\":\"0x0348d628e904324e4d4f3b47d7c201c029fb41831c342e4118287bdd17921661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a896392483756a5fdd006a8b306a860bdf80e02be7a142cbedc9aac5939e49\",\"dweb:/ipfs/QmTqJcStnUsy6s92vQW6nkzN9fCm8c3Zsxs8AWuFprB8LL\"]},\"src/v2/approver/ERC721/IERC721ApprovalManager.sol\":{\"keccak256\":\"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3\",\"dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd\"]},\"src/v2/utils/MarketConfigV2.sol\":{\"keccak256\":\"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6\",\"dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj\"]},\"src/v2/utils/MarketUtilsV2.sol\":{\"keccak256\":\"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042\",\"dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` 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":"See {IERC20-balanceOf}."},"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}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"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":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/test/v2/utils/MarketUtilsV2.t.sol":"TestRare"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9100bd38453711d5f5ae32d16b4aacef8d4e26abb3061fcc9920cd30cdb49315","urls":["bzz-raw://114654e304083d3403510edd13d7df2223747337150ecf51dd36b441e50498f7","dweb:/ipfs/QmQy6uvcVHyHzU2RbuvEo1hKiV7k81z21gR6DSj4DkCP8D"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb58d624eb0922d4ab14856efb0ab558b0727ccfc28448c5779f1ab4d98cf3daf","urls":["bzz-raw://1869fc58cb27a7b680428b79d0e0b6f45bd3c61fedb4b3f895e143fb899519d5","dweb:/ipfs/QmcjECGVpQPjhL2bokDyQeGWdzM99qPFMhq5r7KqKLot7R"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x18ac6dcce9cdfe3bc754ce910b4b97e56963c49a92e50f57d055adb562416b86","urls":["bzz-raw://d6b29b4a814dc26c3722e994a792f4cc1be86e6b8c2b2adc352ed54fb326593d","dweb:/ipfs/Qma8a7XELNmUepiitaLyxJXW66urnXsvCwx1bMLmRw2Fpn"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb5d4816a3f37977b1efa07b5e715daa917e96fd28dec1805c4189653db4ea33a","urls":["bzz-raw://34338fa7f079f8d64f20d976f9bf908a710c8728f18c4b361b020b24fedfedf2","dweb:/ipfs/QmYhwY1wi6vVLMUsJ32L3GiSR9HRaFhGL1Y3wRDjy41KXn"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xbc7fc49ba05b312e318d3d7b517ed0254489320bedef2e91f80c3bd4e904fc0c","urls":["bzz-raw://e411d112f89fcadbff89da0579d61eafdf76272aaa91fb18728a86337440bb88","dweb:/ipfs/QmfKJqMJ2CF1mw4UwDajoFdrrfKWSZwetkAByUP56EeqSQ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/PullPayment.sol":{"keccak256":"0xbd7698fff21868e2b8d4a5652ceca6c96c1b0111b12c9d7aaef88f71373b3860","urls":["bzz-raw://1ebdbbe7554678abda059f843c0b0c9056a4c60a6e52617f88b64c9c9bd910b0","dweb:/ipfs/QmaVqZpr6G6aaxWjupYg4vcT6U7HGWRpzKGyzixmsTWoen"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xb62681ccbf84aef125665cfdfc0bf13b532925b1a520d6c935913560f539a31b","urls":["bzz-raw://21dbc5b8aede7dee8f0e3bf296a58270f376f8e40d6f8becccde5b3cf34bc8df","dweb:/ipfs/QmfHPWrtGiMNhTtLDYtqSd1eVd35Zqgd4PW9bR3i23oJgg"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x35e258421ae206f3db37281cea70871b4c3553914734aa76139a41af60ac1abb","urls":["bzz-raw://2ef94b6bc4ee356db612a1849c615f7dd4b15542d6c8584c86bb9243a7913cf0","dweb:/ipfs/QmaxFj5NFpAjjitZtHPNS9PPtCuBATaRz9ktDDRCQCQ83y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x8a63ea9ec07788740e51046ca14c61f411aedb901e89749c9d55fa56ed43086a","urls":["bzz-raw://3035ae3f172ed9e172e1ba4d83bdc70279f63be51ce9218c530132def66ff577","dweb:/ipfs/QmTQ3zfC3YUNeY3KUVFiHgTWDuxfmcEMgpGC6HMoTpgZJL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol":{"keccak256":"0xe986ce7671ef4d92b15c9787b48f6cd6688913e8bf595ebc9c094efd8594b7c4","urls":["bzz-raw://490a886c899c11eae93a3d45cfc071058d7009885b645ff552c302aed0b4abbf","dweb:/ipfs/Qma5gTgcbZ4BJjJMWPFDw5c7a6BDDJhUgMF2ShHazNeP2f"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886","urls":["bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a","dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xa6dfb97ce947b7c846b054ee7d45d12383359778f4f3743654ae0a34fa421b26","urls":["bzz-raw://b97e7e5a77ea47c08ba422291df887eba76c80982f52a6e94a30106e9377a94f","dweb:/ipfs/Qme7N2XRC7mcDxB8wZxNWPk6T8S2qsnmhAqXeUj4CNvsGD"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f","urls":["bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf","dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol":{"keccak256":"0xabdff382f93edb8bd94b227798fc0daf64abe891403e1e525f5870c2cae8bf65","urls":["bzz-raw://402701e1bf7c6314463211809668b51986f27695b5d552dcd51aed0730c66680","dweb:/ipfs/QmRLv8Tr9ZV7QABCSr2ri4N1EsKGebFC87ti9794GMGLiL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xbaf3bd8c64ac943fafde717797ee797c96360586b9448ea25e9872490a6e6858","urls":["bzz-raw://bab65b9b5ea0c68e96e1a73460db616042f639d144a6a75595434cfa2a483ed4","dweb:/ipfs/QmUgwEcWXaEu4VSpymiVq8tZYKgA44HPMWZowpg2L8Kiij"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/royalty-registry-solidity/contracts/IRoyaltyEngineV1.sol":{"keccak256":"0xc66561df4db1dd5bc3d14e2ec1c5cf393db682b18989779acc41b3a4834d9d27","urls":["bzz-raw://c342b761cb6656f04bc4cb40e4593aed5484efee9594a806dbd3a95fd6d757a9","dweb:/ipfs/QmWsz6C36AhhSfBhfdfX3LhPabLkqGxa23s5iNfN4yJq7r"],"license":"MIT"},"src/marketplace/IMarketplaceSettings.sol":{"keccak256":"0xa42b0f448c52cc04ca1c3b013ecbf99b9b5d857e7ed37a8fe178669fab933083","urls":["bzz-raw://00f697de6e1de92ccd4fd260ce9bde6fca290121f5f7e2b7d9cee8f718670ff0","dweb:/ipfs/Qmbt7gXsaTG8WmeFaLSCeNy3ViZgLRgeNfwHpRwL1hia13"],"license":"MIT"},"src/marketplace/IStakingSettings.sol":{"keccak256":"0xb470dc177e9d6bf92f31fae722b38195c2de8c2121b9df3ec9391b7ce361f501","urls":["bzz-raw://82508cf251aa646341d5393251f15cb68524f4b2ddc0d327d3637d4592125fda","dweb:/ipfs/QmURvsW8RLKwimfwA6Y5D3CqKAVGTSdqNWjHjhtTSFWGP4"],"license":"MIT"},"src/payments/IPayments.sol":{"keccak256":"0xd5370fe954b457c13045901acfe5aa8c4dc66885f913d2729aa7c65975e7fbbd","urls":["bzz-raw://9da9318f1b4585578ca5606c320f093bb86682594c6cd8244f9be59650efcd38","dweb:/ipfs/Qmaq1QFA45ZkPjqn1idCVGrUzCd5pbuUuw18N3Xk1Sewdc"],"license":"MIT"},"src/payments/Payments.sol":{"keccak256":"0xc868257216fd3d43036a6262cfabbf8403a3a9bc2bef39fcd09b727608543a3e","urls":["bzz-raw://397798a222fad7e1b3aeaed60d6c4857ca68ea86d984d8d731177e8ee3fc7739","dweb:/ipfs/Qme1S133kewWJLTdkDQ14CqCsJv2MQ49bmqFxrTyFoMppZ"],"license":"MIT"},"src/registry/interfaces/IApprovedTokenRegistry.sol":{"keccak256":"0xdb86d418bedb954ea79129631d734b42749d4a0ca00635ecdf3dfeb8e81fb60a","urls":["bzz-raw://ad677939c49f8a55f7a1c1e78b0abbe722744abc5c26b81eef5a20a578d415d2","dweb:/ipfs/QmZL6aHq79B8TFPrc5Zrt7iLxuqkoJikhEJtq8hgk1aKMC"],"license":"MIT"},"src/registry/interfaces/ISpaceOperatorRegistry.sol":{"keccak256":"0x2b0899fa39f324d105f5b3b7fe6d0020374c5065d19aa87b74fd042f368b4ade","urls":["bzz-raw://88aaf406edb29325f05024f8f94b0eab31de5f08c02c9cdea053da6671df1d33","dweb:/ipfs/QmSPXe7U4aCaLew2xJ3gmQqBWTf3QMvpxYV2XNq3e41gGT"],"license":"MIT"},"src/staking/registry/IRareStakingRegistry.sol":{"keccak256":"0x26458c277ad3b3280dbedd7dbfdfbaa8d2af5f6180959ef732cbcec78b6c2924","urls":["bzz-raw://e5ba0ab87bedec5547531b79c123233dfcbdf9062a860845d242ae518e6ff8d6","dweb:/ipfs/QmT4kZV7MjKwevN2ABFRD7tNnXRkUxJqNKyrXxthfWC5mR"],"license":"MIT"},"src/test/v2/utils/MarketUtilsV2.t.sol":{"keccak256":"0x681e30e9ebb270cfe8a1c8c6f862f80387239d5cb60a7ccd087affad039e29c7","urls":["bzz-raw://9454a0c07d14c5de34754ddc1c7c736e53ce5b16c3f450767267eef103f7f549","dweb:/ipfs/QmTJZqMuBGFYmN7rNvjowzp2xxY3cqW5dMswGt6SeC6cWn"],"license":"MIT"},"src/test/v2/utils/TestNft.sol":{"keccak256":"0xa8563d95ebbba13fd3e55e39bebdc446f678408deff54a9abfe1899676a5ffe0","urls":["bzz-raw://b438876be1375eabd7f92325655a0d5dea975ddf04e1501a1ca2066f1f26a80c","dweb:/ipfs/QmVnQ1bHPmRyKMcVYWtPfKJ6mNpVt8aQJV4R9CNbqyNQ5k"],"license":"MIT"},"src/v2/approver/ERC20/ERC20ApprovalManager.sol":{"keccak256":"0x3748e53d61a534cdc87af05ead843d76019b9e4a172a486e4af94981b275105e","urls":["bzz-raw://5158271304c601ba40037e04241b18abfa8caab792c7405e34bee156b77ff5e9","dweb:/ipfs/Qmcm2GYjZwgmBvcBKni4XrjujVUDqHp8Dxr2Xpng1575qJ"],"license":"MIT"},"src/v2/approver/ERC20/IERC20ApprovalManager.sol":{"keccak256":"0x5c131faeefac93b88e6f5c8deec044a662fb7e844ea93a370e47e33e5676dd7e","urls":["bzz-raw://ca1eebcccd1a83969fb6e56b0ba3e236e67c19a8ce9c02c2acd399847f4ce22f","dweb:/ipfs/QmSJhQJuhkidZ582ma4tVdDabevtgMyEciC1BefFWvvEwY"],"license":"MIT"},"src/v2/approver/ERC721/ERC721ApprovalManager.sol":{"keccak256":"0x0348d628e904324e4d4f3b47d7c201c029fb41831c342e4118287bdd17921661","urls":["bzz-raw://86a896392483756a5fdd006a8b306a860bdf80e02be7a142cbedc9aac5939e49","dweb:/ipfs/QmTqJcStnUsy6s92vQW6nkzN9fCm8c3Zsxs8AWuFprB8LL"],"license":"MIT"},"src/v2/approver/ERC721/IERC721ApprovalManager.sol":{"keccak256":"0xbb0809429d6f6056c6fb9c27e354dc8a4b728ae59734a72a6d5b83a2cfa31ee4","urls":["bzz-raw://d4f2b8505040248022017eb354c4c3a90d40bd3a7a5ff6516c360306877d19f3","dweb:/ipfs/QmYYdDgvKocg966tPcCTfza3EgoUGHZ7BJg8SEz4Rc5Cfd"],"license":"MIT"},"src/v2/utils/MarketConfigV2.sol":{"keccak256":"0x76f7d0ffc2a3864e1f164f4be275c57afe65da7615408f845ddb41bc5dff367a","urls":["bzz-raw://0e831781c47370ca447f08e81ffd9b59a53a2a17e89cf56727b888f34dcfbdd6","dweb:/ipfs/QmdtjoiFJVWaQ3FYYpkxBY8qFLVZrEfFsHL81UCNHPDVcj"],"license":"MIT"},"src/v2/utils/MarketUtilsV2.sol":{"keccak256":"0xca43b6b268ffc150f2ac6b851f199ff6c607044e98aeed7112456eb239ff8421","urls":["bzz-raw://f9fa0b3d5dca64b8030123080188bb52ab33f52fece9cb48c802555ee946f042","dweb:/ipfs/QmTBi8e1Mh1868XtA3W321w5RnoAsK18U1CeAM1ykjTZ18"],"license":"MIT"}},"version":1},"id":216} \ No newline at end of file diff --git a/abis/TestToken.json b/abis/TestToken.json new file mode 100644 index 0000000..55a8477 --- /dev/null +++ b/abis/TestToken.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608034620003c1576040906001600160401b0381830181811183821017620002c1578352600a8252602090692a32b9ba102a37b5b2b760b11b8284015283519284840184811083821117620002c15785526002845261151560f21b83850152805191808311620002c15760038054936001938486811c96168015620003b6575b87871014620003a0578190601f968781116200034a575b508790878311600114620002e357600092620002d7575b505060001982841b1c191690841b1781555b8551918211620002c15760049586548481811c91168015620002b6575b87821014620002a15785811162000256575b508590858411600114620001eb57938394918492600095620001df575b50501b92600019911b1c19161783555b3315620001a0575060025469d3c21bcecceda1000000928382018092116200018b57506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a35161097f9081620003c78239f35b601190634e487b7160e01b6000525260246000fd5b90606493519262461bcd60e51b845283015260248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b0151935038806200010b565b9190601f198416928860005284886000209460005b8a898383106200023e575050501062000223575b50505050811b0183556200011b565b01519060f884600019921b161c191690553880808062000214565b86860151895590970196948501948893500162000200565b87600052866000208680860160051c82019289871062000297575b0160051c019085905b8281106200028a575050620000ee565b600081550185906200027a565b9250819262000271565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000dc565b634e487b7160e01b600052604160045260246000fd5b015190503880620000ad565b90869350601f1983169185600052896000209260005b8b8282106200033357505084116200031a575b505050811b018155620000bf565b015160001983861b60f8161c191690553880806200030c565b8385015186558a97909501949384019301620002f9565b90915083600052876000208780850160051c8201928a861062000396575b918891869594930160051c01915b8281106200038657505062000096565b6000815585945088910162000376565b9250819262000368565b634e487b7160e01b600052602260045260246000fd5b95607f16956200007f565b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461056457508163095ea7b31461053a57816318160ddd1461051b57816323b872dd14610451578163313ce5671461043557816339509351146103e557816340c10f191461032257816370a08231146102eb57816395d89b41146101cc578163a457c2d71461012457508063a9059cbb146100f45763dd62ed3e146100a957600080fd5b346100f057806003193601126100f057806020926100c5610685565b6100cd6106a0565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100f057806003193601126100f05760209061011d610113610685565b60243590336106d9565b5160018152f35b905082346101c957826003193601126101c95761013f610685565b918360243592338152600160205281812060018060a01b03861682526020522054908282106101785760208561011d8585038733610847565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100f057816003193601126100f057805190828454600181811c908083169283156102e1575b60209384841081146102ce578388529081156102b2575060011461025d575b505050829003601f01601f191682019267ffffffffffffffff84118385101761024a575082918261024692528261063c565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b83851061029e5750505050830101858080610214565b805488860183015293019284908201610288565b60ff1916878501525050151560051b8401019050858080610214565b634e487b7160e01b895260228a52602489fd5b91607f16916101f5565b5050346100f05760203660031901126100f05760209181906001600160a01b03610313610685565b16815280845220549051908152f35b919050346103e157806003193601126103e15761033d610685565b6001600160a01b0316916024359190831561039f57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9261038587956002546106b6565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b8280fd5b5050346100f057806003193601126100f05761011d60209261042e610408610685565b338352600186528483206001600160a01b038216845286529184902054602435906106b6565b9033610847565b5050346100f057816003193601126100f0576020905160128152f35b839150346100f05760603660031901126100f05761046d610685565b6104756106a0565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036104af575b60208661011d8787876106d9565b8482106104d857509183916104cd6020969561011d95033383610847565b9193948193506104a1565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100f057816003193601126100f0576020906002549051908152f35b5050346100f057806003193601126100f05760209061011d61055a610685565b6024359033610847565b849084346103e157826003193601126103e15782600354600181811c90808316928315610632575b60209384841081146102ce578388529081156102b257506001146105dc57505050829003601f01601f191682019267ffffffffffffffff84118385101761024a575082918261024692528261063c565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b83851061061e5750505050830101858080610214565b805488860183015293019284908201610608565b91607f169161058c565b6020808252825181830181905290939260005b82811061067157505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161064f565b600435906001600160a01b038216820361069b57565b600080fd5b602435906001600160a01b038216820361069b57565b919082018092116106c357565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156107f457169182156107a35760008281528060205260408120549180831061074f57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156108f857169182156108a85760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea2646970667358221220e910c029fd762ac99014adbb68c3fb063b97ae6f2f9a3ad4bcf61c159ea836e164736f6c63430008120033","sourceMap":"245:211:219:-:0;;;;;;-1:-1:-1;;;;;245:211:219;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;2046:13:92;245:211:219;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;-1:-1:-1;245:211:219;;;;-1:-1:-1;;;;245:211:219;;;;;;;;;;;;;;;;;;;;2069:17:92;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;329:10;8603:21:92;245:211:219;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;8952:37:92;245:211:219;;;329:10;245:211;;;;;;;;;;;;;;;;;;;329:10;8952:37:92;;245:211:219;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;-1:-1:-1;245:211:219;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;-1:-1:-1;245:211:219;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;-1:-1:-1;245:211:219;;;;;;;;;;;;-1:-1:-1;245:211:219;;2069:17:92;245:211:219;;-1:-1:-1;245:211:219;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;-1:-1:-1;245:211:219;;-1:-1:-1;245:211:219;;;;;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;-1:-1:-1;;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461056457508163095ea7b31461053a57816318160ddd1461051b57816323b872dd14610451578163313ce5671461043557816339509351146103e557816340c10f191461032257816370a08231146102eb57816395d89b41146101cc578163a457c2d71461012457508063a9059cbb146100f45763dd62ed3e146100a957600080fd5b346100f057806003193601126100f057806020926100c5610685565b6100cd6106a0565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100f057806003193601126100f05760209061011d610113610685565b60243590336106d9565b5160018152f35b905082346101c957826003193601126101c95761013f610685565b918360243592338152600160205281812060018060a01b03861682526020522054908282106101785760208561011d8585038733610847565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b8383346100f057816003193601126100f057805190828454600181811c908083169283156102e1575b60209384841081146102ce578388529081156102b2575060011461025d575b505050829003601f01601f191682019267ffffffffffffffff84118385101761024a575082918261024692528261063c565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b83851061029e5750505050830101858080610214565b805488860183015293019284908201610288565b60ff1916878501525050151560051b8401019050858080610214565b634e487b7160e01b895260228a52602489fd5b91607f16916101f5565b5050346100f05760203660031901126100f05760209181906001600160a01b03610313610685565b16815280845220549051908152f35b919050346103e157806003193601126103e15761033d610685565b6001600160a01b0316916024359190831561039f57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9261038587956002546106b6565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b8280fd5b5050346100f057806003193601126100f05761011d60209261042e610408610685565b338352600186528483206001600160a01b038216845286529184902054602435906106b6565b9033610847565b5050346100f057816003193601126100f0576020905160128152f35b839150346100f05760603660031901126100f05761046d610685565b6104756106a0565b91846044359460018060a01b0384168152600160205281812033825260205220549060001982036104af575b60208661011d8787876106d9565b8482106104d857509183916104cd6020969561011d95033383610847565b9193948193506104a1565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100f057816003193601126100f0576020906002549051908152f35b5050346100f057806003193601126100f05760209061011d61055a610685565b6024359033610847565b849084346103e157826003193601126103e15782600354600181811c90808316928315610632575b60209384841081146102ce578388529081156102b257506001146105dc57505050829003601f01601f191682019267ffffffffffffffff84118385101761024a575082918261024692528261063c565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b83851061061e5750505050830101858080610214565b805488860183015293019284908201610608565b91607f169161058c565b6020808252825181830181905290939260005b82811061067157505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161064f565b600435906001600160a01b038216820361069b57565b600080fd5b602435906001600160a01b038216820361069b57565b919082018092116106c357565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156107f457169182156107a35760008281528060205260408120549180831061074f57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156108f857169182156108a85760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fdfea2646970667358221220e910c029fd762ac99014adbb68c3fb063b97ae6f2f9a3ad4bcf61c159ea836e164736f6c63430008120033","sourceMap":"245:211:219:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:6:92;245:211:219;;:::i;:::-;;;719:10:102;;3894:6:92;:::i;:::-;245:211:219;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;719:10:102;;245:211:219;;;;;;;;;;;;;;;;;;;;;6792:35:92;;;;245:211:219;;;;6928:34:92;245:211:219;;;;719:10:102;6928:34:92;:::i;245:211:219:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;-1:-1:-1;;245:211:219;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;245:211:219;;;;;-1:-1:-1;;245:211:219;;;;;;;;-1:-1:-1;245:211:219;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;245:211:219;;;;;;;;-1:-1:-1;;;;;245:211:219;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;245:211:219;;;;;;8603:21:92;;245:211:219;;;;;8952:37:92;245:211:219;8731:22:92;245:211:219;;8731:22:92;245:211:219;8731:22:92;:::i;:::-;;245:211:219;;;;;;;;;;;;;;;;;;;;8952:37:92;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6021:38:92;245:211:219;;6021:38:92;245:211:219;;:::i;:::-;719:10:102;245:211:219;;;;;;;;-1:-1:-1;;;;;245:211:219;;;;;;;;;;;;;;6021:38:92;:::i;:::-;719:10:102;;6021:38:92;:::i;245:211:219:-;;;;;;;;;;;;;;;;;3186:2:92;245:211:219;;;;;;;;;;;;-1:-1:-1;;245:211:219;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;719:10:102;245:211:219;;;;;;11264:17:92;;;11244:37;;11240:243;;245:211:219;;5424:6:92;;;;;;:::i;11240:243::-;11305:26;;;245:211:219;;;;;;11432:25:92;245:211:219;;;5424:6:92;245:211:219;;719:10:102;11432:25:92;;:::i;:::-;11240:243;;;;;;;;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3342:12:92;245:211:219;;;;;;;;;;;;;;;;;;;;;;;4606:6:92;245:211:219;;:::i;:::-;;;719:10:102;;4606:6:92;:::i;245:211:219:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;-1:-1:-1;;245:211:219;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;245:211:219;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;245:211:219;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;7456:788:92;-1:-1:-1;;;;;245:211:219;;;;7552:18:92;;245:211:219;;;7630:16:92;;;245:211:219;;7568:1:92;245:211:219;;;;;;;;;;7801:21:92;;;;245:211:219;;;;;8163:26:92;245:211:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:26:92;7456:788::o;245:211:219:-;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;10457:340:92;-1:-1:-1;;;;;245:211:219;;;;10558:19:92;;245:211:219;;;10636:21:92;;;245:211:219;;;10758:32:92;245:211:219;;10575:1:92;245:211:219;;;;;10575:1:92;245:211:219;;10575:1:92;245:211:219;;;;;10575:1:92;245:211:219;;;;;;;10758:32:92;10457:340::o;245:211:219:-;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;;;;;;;;;;;;-1:-1:-1;;;245:211:219;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"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\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` 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\":\"See {IERC20-balanceOf}.\"},\"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}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"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\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/v2/utils/TestToken.sol\":\"TestToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9100bd38453711d5f5ae32d16b4aacef8d4e26abb3061fcc9920cd30cdb49315\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://114654e304083d3403510edd13d7df2223747337150ecf51dd36b441e50498f7\",\"dweb:/ipfs/QmQy6uvcVHyHzU2RbuvEo1hKiV7k81z21gR6DSj4DkCP8D\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb58d624eb0922d4ab14856efb0ab558b0727ccfc28448c5779f1ab4d98cf3daf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1869fc58cb27a7b680428b79d0e0b6f45bd3c61fedb4b3f895e143fb899519d5\",\"dweb:/ipfs/QmcjECGVpQPjhL2bokDyQeGWdzM99qPFMhq5r7KqKLot7R\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x18ac6dcce9cdfe3bc754ce910b4b97e56963c49a92e50f57d055adb562416b86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6b29b4a814dc26c3722e994a792f4cc1be86e6b8c2b2adc352ed54fb326593d\",\"dweb:/ipfs/Qma8a7XELNmUepiitaLyxJXW66urnXsvCwx1bMLmRw2Fpn\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb5d4816a3f37977b1efa07b5e715daa917e96fd28dec1805c4189653db4ea33a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34338fa7f079f8d64f20d976f9bf908a710c8728f18c4b361b020b24fedfedf2\",\"dweb:/ipfs/QmYhwY1wi6vVLMUsJ32L3GiSR9HRaFhGL1Y3wRDjy41KXn\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb62681ccbf84aef125665cfdfc0bf13b532925b1a520d6c935913560f539a31b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21dbc5b8aede7dee8f0e3bf296a58270f376f8e40d6f8becccde5b3cf34bc8df\",\"dweb:/ipfs/QmfHPWrtGiMNhTtLDYtqSd1eVd35Zqgd4PW9bR3i23oJgg\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/test/v2/utils/TestToken.sol\":{\"keccak256\":\"0xd32ec281519b58ded99655b87b55c5cf719889416e4129f5c7c8efd1c7e90783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://337c985176e802c870d425421af8351287aec075cb0513fcdbf05705cbcabdb1\",\"dweb:/ipfs/QmawJmaQ3FNS7qqHAjHSraKxb4v8PkW3vgnWQXukwhVH9X\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` 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":"See {IERC20-balanceOf}."},"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}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"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":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/test/v2/utils/TestToken.sol":"TestToken"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9100bd38453711d5f5ae32d16b4aacef8d4e26abb3061fcc9920cd30cdb49315","urls":["bzz-raw://114654e304083d3403510edd13d7df2223747337150ecf51dd36b441e50498f7","dweb:/ipfs/QmQy6uvcVHyHzU2RbuvEo1hKiV7k81z21gR6DSj4DkCP8D"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb58d624eb0922d4ab14856efb0ab558b0727ccfc28448c5779f1ab4d98cf3daf","urls":["bzz-raw://1869fc58cb27a7b680428b79d0e0b6f45bd3c61fedb4b3f895e143fb899519d5","dweb:/ipfs/QmcjECGVpQPjhL2bokDyQeGWdzM99qPFMhq5r7KqKLot7R"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x18ac6dcce9cdfe3bc754ce910b4b97e56963c49a92e50f57d055adb562416b86","urls":["bzz-raw://d6b29b4a814dc26c3722e994a792f4cc1be86e6b8c2b2adc352ed54fb326593d","dweb:/ipfs/Qma8a7XELNmUepiitaLyxJXW66urnXsvCwx1bMLmRw2Fpn"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb5d4816a3f37977b1efa07b5e715daa917e96fd28dec1805c4189653db4ea33a","urls":["bzz-raw://34338fa7f079f8d64f20d976f9bf908a710c8728f18c4b361b020b24fedfedf2","dweb:/ipfs/QmYhwY1wi6vVLMUsJ32L3GiSR9HRaFhGL1Y3wRDjy41KXn"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xb62681ccbf84aef125665cfdfc0bf13b532925b1a520d6c935913560f539a31b","urls":["bzz-raw://21dbc5b8aede7dee8f0e3bf296a58270f376f8e40d6f8becccde5b3cf34bc8df","dweb:/ipfs/QmfHPWrtGiMNhTtLDYtqSd1eVd35Zqgd4PW9bR3i23oJgg"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/test/v2/utils/TestToken.sol":{"keccak256":"0xd32ec281519b58ded99655b87b55c5cf719889416e4129f5c7c8efd1c7e90783","urls":["bzz-raw://337c985176e802c870d425421af8351287aec075cb0513fcdbf05705cbcabdb1","dweb:/ipfs/QmawJmaQ3FNS7qqHAjHSraKxb4v8PkW3vgnWQXukwhVH9X"],"license":"MIT"}},"version":1},"id":219} \ No newline at end of file diff --git a/abis/TokenCreator.json b/abis/TokenCreator.json index 76b0a08..a6c3551 100644 --- a/abis/TokenCreator.json +++ b/abis/TokenCreator.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"tokenCreator(uint256)":"40c1a064"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/TokenCreator.sol\":\"TokenCreator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/token/extensions/TokenCreator.sol\":{\"keccak256\":\"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87\",\"dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/TokenCreator.sol":"TokenCreator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/token/extensions/TokenCreator.sol":{"keccak256":"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0","urls":["bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87","dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ"],"license":"MIT"}},"version":1},"id":215} \ No newline at end of file +{"abi":[{"type":"function","name":"tokenCreator","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"tokenCreator(uint256)":"40c1a064"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenCreator\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/TokenCreator.sol\":\"TokenCreator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/extensions/ITokenCreator.sol\":{\"keccak256\":\"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42\",\"dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF\"]},\"src/token/extensions/TokenCreator.sol\":{\"keccak256\":\"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87\",\"dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenCreator","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/TokenCreator.sol":"TokenCreator"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/extensions/ITokenCreator.sol":{"keccak256":"0xebb99f216573c38f201c0cd99bbe98cce87a04acc129b37b487e66ec148de5f6","urls":["bzz-raw://b101c0be9c38496d0bee068af7ca3519d3879c35315d6336e2dbc9a36ab1ae42","dweb:/ipfs/QmZQuVdfHHw1FuX4tc867KedVdnJDJ8Kth9BPKUiuajBoF"],"license":"MIT"},"src/token/extensions/TokenCreator.sol":{"keccak256":"0x70871ef77767f212b382ed03d15d68e8be7b4abc02c44e517d1abe8662328be0","urls":["bzz-raw://7f1a69fcd46fe265ab512053681822ad337147cfeed9c5a93095c928e4402c87","dweb:/ipfs/QmSPzdPtiwCXNKS56ikhcnTfP5cLUPx4Y4vowiVZZkygAQ"],"license":"MIT"}},"version":1},"id":188} \ No newline at end of file diff --git a/abis/TokenMerkleDrop.json b/abis/TokenMerkleDrop.json index 677e2d3..564bf1f 100644 --- a/abis/TokenMerkleDrop.json +++ b/abis/TokenMerkleDrop.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"superRareToken","type":"address","internalType":"address"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"claim","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimRoot","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardClaimed","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateMerkleRoot","inputs":[{"name":"newRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenAddress","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"verifyEntitled","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokensClaimed","inputs":[{"name":"root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"addr","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60803461014757601f61092b38819003918201601f19168301916001600160401b0383118484101761014c5780849260409485528339810103126101475780516001600160a01b0391828216918290036101475760200151916000549060018060a01b0319913383821617600055604051913391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a38215610105575082156100c05760025416176002556001556040516107c890816101638239f35b60405162461bcd60e51b815260206004820152601960248201527f4d65726b6c65526f6f742063616e7420626520656d7074792e000000000000006044820152606490fd5b62461bcd60e51b815260206004820181905260248201527f546f6b656e20616464726573732063616e74206265203020616464726573732e6044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826314ea35e71461058f5750816329e19704146105515781632f52ebb71461033b5781634783f0ef146103195781636691461a14610271578163715018a6146102175781638da5cb5b146101ef578163c3709caf14610185578163f2fde38b146100be575063fc0c546a1461009357600080fd5b346100ba57816003193601126100ba5760025490516001600160a01b039091168152602090f35b5080fd5b905034610181576020366003190112610181576100d96105ab565b906100e2610671565b6001600160a01b0391821692831561012f57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b905034610181576060366003190112610181576101a06105ab565b926044359067ffffffffffffffff82116101ec57366023830112156101ec5750926101d96101e39285602460209736930135910161061a565b90602435906106c9565b90519015158152f35b80fd5b5050346100ba57816003193601126100ba57905490516001600160a01b039091168152602090f35b83346101ec57806003193601126101ec57610230610671565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b9050346101815760203660031901126101815761028c6105ab565b610294610671565b6001600160a01b03169182156102c15750506bffffffffffffffffffffffff60a01b600254161760025580f35b906020608492519162461bcd60e51b8352820152602c60248201527f4e657720746f6b656e20616464726573732063616e6e6f74206265207468652060448201526b7a65726f206164647265737360a01b6064820152fd5b8390346100ba5760203660031901126100ba57610334610671565b3560015580f35b91905034610181578060031936011261018157813591602490813567ffffffffffffffff8082116104a457366023830112156104a457818301359081116104a45736848260051b840101116104a4576103a29161039b918536920161061a565b85336106c9565b15610511573385526020916003835260ff84872054166104b95733865260038352838620600160ff19825416179055858360018060a01b0360025416604487518094819363a9059cbb60e01b835233898401528b888401525af19081156104af578791610475575b50156104425750507fb6a3782a350d2b8520b7fe13e8e97b61f22902243ad29c4c3a9a8f714935718c9060015492519384523393a380f35b60109192606494519362461bcd60e51b85528401528201526f2a3930b739b332b9103330b4b632b21760811b6044820152fd5b90508381813d83116104a8575b61048c81836105f8565b810103126104a4575180151581036104a4573861040a565b8680fd5b503d610482565b85513d89823e3d90fd5b602f9192608494519362461bcd60e51b85528401528201527f596f75206861766520616c72656164792077697468647261776e20796f75722060448201526e32b73a34ba3632b2103a37b5b2b71760891b6064820152fd5b60206064928185519362461bcd60e51b85528401528201527f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e6044820152fd5b5050346100ba5760203660031901126100ba5760209160ff9082906001600160a01b0361057c6105ab565b1681526003855220541690519015158152f35b8490346100ba57816003193601126100ba576020906001548152f35b600435906001600160a01b03821682036105c157565b600080fd5b6060810190811067ffffffffffffffff8211176105e257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105e257604052565b90929167ffffffffffffffff84116105e2578360051b6040519260208094610644828501826105f8565b80978152019181019283116105c157905b8282106106625750505050565b81358152908301908301610655565b6000546001600160a01b0316330361068557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6040908151602093848201926bffffffffffffffffffffffff199060601b1683526034820152603481526106fc816105c6565b519020926000935b815185101561078657600585901b82018401518082116107645783519085820192835284820152838152610737816105c6565b5190205b93600019811461074e5760010193610704565b634e487b7160e01b600052601160045260246000fd5b908351908582019283528482015283815261077e816105c6565b51902061073b565b9350505050600154149056fea264697066735822122052991ae5efa172bb0e09a94f7fb7fc37eae1be0bc87adf08633defe7f1734bc864736f6c63430008120033","sourceMap":"217:2382:147:-:0;;;;;;;;;;;;;-1:-1:-1;;217:2382:147;;;;-1:-1:-1;;;;;217:2382:147;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;217:2382:147;;;;;;;;;;;;;;-1:-1:-1;217:2382:147;;;;;;;;719:10:99;;217:2382:147;;;;-1:-1:-1;217:2382:147;;;719:10:99;;217:2382:147;;2566:40:78;-1:-1:-1;2566:40:78;;578:28:147;;217:2382;;682:24;;;217:2382;;746:30;217:2382;;;746:30;217:2382;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:147;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:147;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;217:2382:147;;;;;;-1:-1:-1;217:2382:147;;;;;-1:-1:-1;217:2382:147","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826314ea35e71461058f5750816329e19704146105515781632f52ebb71461033b5781634783f0ef146103195781636691461a14610271578163715018a6146102175781638da5cb5b146101ef578163c3709caf14610185578163f2fde38b146100be575063fc0c546a1461009357600080fd5b346100ba57816003193601126100ba5760025490516001600160a01b039091168152602090f35b5080fd5b905034610181576020366003190112610181576100d96105ab565b906100e2610671565b6001600160a01b0391821692831561012f57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b905034610181576060366003190112610181576101a06105ab565b926044359067ffffffffffffffff82116101ec57366023830112156101ec5750926101d96101e39285602460209736930135910161061a565b90602435906106c9565b90519015158152f35b80fd5b5050346100ba57816003193601126100ba57905490516001600160a01b039091168152602090f35b83346101ec57806003193601126101ec57610230610671565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b9050346101815760203660031901126101815761028c6105ab565b610294610671565b6001600160a01b03169182156102c15750506bffffffffffffffffffffffff60a01b600254161760025580f35b906020608492519162461bcd60e51b8352820152602c60248201527f4e657720746f6b656e20616464726573732063616e6e6f74206265207468652060448201526b7a65726f206164647265737360a01b6064820152fd5b8390346100ba5760203660031901126100ba57610334610671565b3560015580f35b91905034610181578060031936011261018157813591602490813567ffffffffffffffff8082116104a457366023830112156104a457818301359081116104a45736848260051b840101116104a4576103a29161039b918536920161061a565b85336106c9565b15610511573385526020916003835260ff84872054166104b95733865260038352838620600160ff19825416179055858360018060a01b0360025416604487518094819363a9059cbb60e01b835233898401528b888401525af19081156104af578791610475575b50156104425750507fb6a3782a350d2b8520b7fe13e8e97b61f22902243ad29c4c3a9a8f714935718c9060015492519384523393a380f35b60109192606494519362461bcd60e51b85528401528201526f2a3930b739b332b9103330b4b632b21760811b6044820152fd5b90508381813d83116104a8575b61048c81836105f8565b810103126104a4575180151581036104a4573861040a565b8680fd5b503d610482565b85513d89823e3d90fd5b602f9192608494519362461bcd60e51b85528401528201527f596f75206861766520616c72656164792077697468647261776e20796f75722060448201526e32b73a34ba3632b2103a37b5b2b71760891b6064820152fd5b60206064928185519362461bcd60e51b85528401528201527f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e6044820152fd5b5050346100ba5760203660031901126100ba5760209160ff9082906001600160a01b0361057c6105ab565b1681526003855220541690519015158152f35b8490346100ba57816003193601126100ba576020906001548152f35b600435906001600160a01b03821682036105c157565b600080fd5b6060810190811067ffffffffffffffff8211176105e257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105e257604052565b90929167ffffffffffffffff84116105e2578360051b6040519260208094610644828501826105f8565b80978152019181019283116105c157905b8282106106625750505050565b81358152908301908301610655565b6000546001600160a01b0316330361068557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6040908151602093848201926bffffffffffffffffffffffff199060601b1683526034820152603481526106fc816105c6565b519020926000935b815185101561078657600585901b82018401518082116107645783519085820192835284820152838152610737816105c6565b5190205b93600019811461074e5760010193610704565b634e487b7160e01b600052601160045260246000fd5b908351908582019283528482015283815261077e816105c6565b51902061073b565b9350505050600154149056fea264697066735822122052991ae5efa172bb0e09a94f7fb7fc37eae1be0bc87adf08633defe7f1734bc864736f6c63430008120033","sourceMap":"217:2382:147:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;298:19;217:2382;;;-1:-1:-1;;;;;217:2382:147;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;217:2382:147;;;;;;:::i;:::-;1063:62:78;;;:::i;:::-;-1:-1:-1;;;;;217:2382:147;;;;2162:22:78;;217:2382:147;;-1:-1:-1;;217:2382:147;;-1:-1:-1;;;;;;217:2382:147;;;;;;;2566:40:78;217:2382:147;;2566:40:78;217:2382:147;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:147;;;;;;;;;;;;;;;;;-1:-1:-1;;217:2382:147;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;217:2382:147;;;;;;;;;;;;;;;;;;;;;1063:62:78;;:::i;:::-;217:2382:147;;-1:-1:-1;;;;;;217:2382:147;;;;;;-1:-1:-1;;;;;217:2382:147;2566:40:78;217:2382:147;;2566:40:78;217:2382:147;;;;;;;;;;-1:-1:-1;;217:2382:147;;;;;;:::i;:::-;1063:62:78;;:::i;:::-;-1:-1:-1;;;;;217:2382:147;;2468:20;;217:2382;;;;;;;2568:22;217:2382;;;2568:22;217:2382;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:147;;;;;;;;;;;;;-1:-1:-1;;217:2382:147;;;;1063:62:78;;:::i;:::-;217:2382:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;916:43;217:2382;;;;;;;;:::i;:::-;719:10:99;;916:43:147;:::i;:::-;217:2382;;;719:10:99;217:2382:147;;;;;;;;;;;;;;;719:10:99;217:2382:147;;;;;;;;;;;;;;;;;;;;;;;;1213:5;217:2382;;;;;;;;;;;;1213:36;;719:10:99;1213:36:147;;;217:2382;;;;;;1213:36;;;;;;;;;;;217:2382;;;;;;;1285:46;217:2382;;;;;;;;719:10:99;1285:46:147;;217:2382;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:147;;;;;1213:36;;;;;;;;;;;;;;;;:::i;:::-;;;217:2382;;;;;;;;;;;;1213:36;;;217:2382;;;;1213:36;;;;;;217:2382;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;217:2382:147;;;;;;;;;;-1:-1:-1;;;;;217:2382:147;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;268:24;217:2382;;;;;;;;-1:-1:-1;;;;;217:2382:147;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;1359:130:78;1273:6;217:2382:147;-1:-1:-1;;;;;217:2382:147;719:10:99;1422:23:78;217:2382:147;;1359:130:78:o;217:2382:147:-;;;;;;;;;;;;;;;;;;;;;;;;;1344:362;217:2382;;;;1623:34;;;;;217:2382;;;;;;;;;;;;;;1623:34;;;;;:::i;:::-;217:2382;1613:45;;1880:13;-1:-1:-1;1875:115:147;1913:3;217:2382;;1895:16;;;;;217:2382;;;;;;;;;2147:6;;;;;217:2382;;2182:22;;;;217:2382;;;;;;;2182:22;;;;;;:::i;:::-;217:2382;2172:33;;2147:110;1913:3;-1:-1:-1;;217:2382:147;;;;;;1880:13;;;217:2382;;;;-1:-1:-1;217:2382:147;;;;;-1:-1:-1;217:2382:147;2147:110;217:2382;;;2234:22;;;;217:2382;;;;;;;2234:22;;;;;;:::i;:::-;217:2382;2224:33;;2147:110;;1895:16;;;;;;217:2382;;2007:24;1344:362;:::o","linkReferences":{}},"methodIdentifiers":{"claim(uint256,bytes32[])":"2f52ebb7","claimRoot()":"14ea35e7","owner()":"8da5cb5b","renounceOwnership()":"715018a6","rewardClaimed(address)":"29e19704","token()":"fc0c546a","transferOwnership(address)":"f2fde38b","updateMerkleRoot(bytes32)":"4783f0ef","updateTokenAddress(address)":"6691461a","verifyEntitled(address,uint256,bytes32[])":"c3709caf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"superRareToken\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"rewardClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newRoot\",\"type\":\"bytes32\"}],\"name\":\"updateMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"updateTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"verifyEntitled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/airdrop/TokenMerkleDrop.sol\":\"TokenMerkleDrop\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/airdrop/TokenMerkleDrop.sol\":{\"keccak256\":\"0x51ff509b20334eae4ba79c5e4226551a10e1b009f62661122b0eb0f622ea684a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed217ca9a20ed17e3930f80ad72f7a4b2fe455c45e9532d5c508020906c4071b\",\"dweb:/ipfs/QmVjFvqdDsr9cnc71vLZ1JquUPe9Tq29BNCga3pMaZT5jK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"superRareToken","type":"address"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32","indexed":true},{"internalType":"address","name":"addr","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"TokensClaimed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"claim"},{"inputs":[],"stateMutability":"view","type":"function","name":"claimRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"rewardClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateMerkleRoot"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenAddress"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"verifyEntitled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/airdrop/TokenMerkleDrop.sol":"TokenMerkleDrop"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/airdrop/TokenMerkleDrop.sol":{"keccak256":"0x51ff509b20334eae4ba79c5e4226551a10e1b009f62661122b0eb0f622ea684a","urls":["bzz-raw://ed217ca9a20ed17e3930f80ad72f7a4b2fe455c45e9532d5c508020906c4071b","dweb:/ipfs/QmVjFvqdDsr9cnc71vLZ1JquUPe9Tq29BNCga3pMaZT5jK"],"license":"MIT"}},"version":1},"id":147} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"superRareToken","type":"address","internalType":"address"},{"name":"merkleRoot","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"claim","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimRoot","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardClaimed","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateMerkleRoot","inputs":[{"name":"newRoot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTokenAddress","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"verifyEntitled","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"proof","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokensClaimed","inputs":[{"name":"root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"addr","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60803461014757601f61092b38819003918201601f19168301916001600160401b0383118484101761014c5780849260409485528339810103126101475780516001600160a01b0391828216918290036101475760200151916000549060018060a01b0319913383821617600055604051913391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a38215610105575082156100c05760025416176002556001556040516107c890816101638239f35b60405162461bcd60e51b815260206004820152601960248201527f4d65726b6c65526f6f742063616e7420626520656d7074792e000000000000006044820152606490fd5b62461bcd60e51b815260206004820181905260248201527f546f6b656e20616464726573732063616e74206265203020616464726573732e6044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826314ea35e71461058f5750816329e19704146105515781632f52ebb71461033b5781634783f0ef146103195781636691461a14610271578163715018a6146102175781638da5cb5b146101ef578163c3709caf14610185578163f2fde38b146100be575063fc0c546a1461009357600080fd5b346100ba57816003193601126100ba5760025490516001600160a01b039091168152602090f35b5080fd5b905034610181576020366003190112610181576100d96105ab565b906100e2610671565b6001600160a01b0391821692831561012f57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b905034610181576060366003190112610181576101a06105ab565b926044359067ffffffffffffffff82116101ec57366023830112156101ec5750926101d96101e39285602460209736930135910161061a565b90602435906106c9565b90519015158152f35b80fd5b5050346100ba57816003193601126100ba57905490516001600160a01b039091168152602090f35b83346101ec57806003193601126101ec57610230610671565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b9050346101815760203660031901126101815761028c6105ab565b610294610671565b6001600160a01b03169182156102c15750506bffffffffffffffffffffffff60a01b600254161760025580f35b906020608492519162461bcd60e51b8352820152602c60248201527f4e657720746f6b656e20616464726573732063616e6e6f74206265207468652060448201526b7a65726f206164647265737360a01b6064820152fd5b8390346100ba5760203660031901126100ba57610334610671565b3560015580f35b91905034610181578060031936011261018157813591602490813567ffffffffffffffff8082116104a457366023830112156104a457818301359081116104a45736848260051b840101116104a4576103a29161039b918536920161061a565b85336106c9565b15610511573385526020916003835260ff84872054166104b95733865260038352838620600160ff19825416179055858360018060a01b0360025416604487518094819363a9059cbb60e01b835233898401528b888401525af19081156104af578791610475575b50156104425750507fb6a3782a350d2b8520b7fe13e8e97b61f22902243ad29c4c3a9a8f714935718c9060015492519384523393a380f35b60109192606494519362461bcd60e51b85528401528201526f2a3930b739b332b9103330b4b632b21760811b6044820152fd5b90508381813d83116104a8575b61048c81836105f8565b810103126104a4575180151581036104a4573861040a565b8680fd5b503d610482565b85513d89823e3d90fd5b602f9192608494519362461bcd60e51b85528401528201527f596f75206861766520616c72656164792077697468647261776e20796f75722060448201526e32b73a34ba3632b2103a37b5b2b71760891b6064820152fd5b60206064928185519362461bcd60e51b85528401528201527f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e6044820152fd5b5050346100ba5760203660031901126100ba5760209160ff9082906001600160a01b0361057c6105ab565b1681526003855220541690519015158152f35b8490346100ba57816003193601126100ba576020906001548152f35b600435906001600160a01b03821682036105c157565b600080fd5b6060810190811067ffffffffffffffff8211176105e257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105e257604052565b90929167ffffffffffffffff84116105e2578360051b6040519260208094610644828501826105f8565b80978152019181019283116105c157905b8282106106625750505050565b81358152908301908301610655565b6000546001600160a01b0316330361068557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6040908151602093848201926bffffffffffffffffffffffff199060601b1683526034820152603481526106fc816105c6565b519020926000935b815185101561078657600585901b82018401518082116107645783519085820192835284820152838152610737816105c6565b5190205b93600019811461074e5760010193610704565b634e487b7160e01b600052601160045260246000fd5b908351908582019283528482015283815261077e816105c6565b51902061073b565b9350505050600154149056fea26469706673582212209e974d5b3f760678eacdc578b18f7643be9d8f95d42918f6d0d35c8fe2f72fbf64736f6c63430008120033","sourceMap":"217:2382:156:-:0;;;;;;;;;;;;;-1:-1:-1;;217:2382:156;;;;-1:-1:-1;;;;;217:2382:156;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;217:2382:156;;;;;;;;;;;;;;-1:-1:-1;217:2382:156;;;;;;;;719:10:102;;217:2382:156;;;;-1:-1:-1;217:2382:156;;;719:10:102;;217:2382:156;;2566:40:81;-1:-1:-1;2566:40:81;;578:28:156;;217:2382;;682:24;;;217:2382;;746:30;217:2382;;;746:30;217:2382;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:156;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:156;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;217:2382:156;;;;;;-1:-1:-1;217:2382:156;;;;;-1:-1:-1;217:2382:156","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181526004918236101561001657600080fd5b600092833560e01c91826314ea35e71461058f5750816329e19704146105515781632f52ebb71461033b5781634783f0ef146103195781636691461a14610271578163715018a6146102175781638da5cb5b146101ef578163c3709caf14610185578163f2fde38b146100be575063fc0c546a1461009357600080fd5b346100ba57816003193601126100ba5760025490516001600160a01b039091168152602090f35b5080fd5b905034610181576020366003190112610181576100d96105ab565b906100e2610671565b6001600160a01b0391821692831561012f57505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b905034610181576060366003190112610181576101a06105ab565b926044359067ffffffffffffffff82116101ec57366023830112156101ec5750926101d96101e39285602460209736930135910161061a565b90602435906106c9565b90519015158152f35b80fd5b5050346100ba57816003193601126100ba57905490516001600160a01b039091168152602090f35b83346101ec57806003193601126101ec57610230610671565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b9050346101815760203660031901126101815761028c6105ab565b610294610671565b6001600160a01b03169182156102c15750506bffffffffffffffffffffffff60a01b600254161760025580f35b906020608492519162461bcd60e51b8352820152602c60248201527f4e657720746f6b656e20616464726573732063616e6e6f74206265207468652060448201526b7a65726f206164647265737360a01b6064820152fd5b8390346100ba5760203660031901126100ba57610334610671565b3560015580f35b91905034610181578060031936011261018157813591602490813567ffffffffffffffff8082116104a457366023830112156104a457818301359081116104a45736848260051b840101116104a4576103a29161039b918536920161061a565b85336106c9565b15610511573385526020916003835260ff84872054166104b95733865260038352838620600160ff19825416179055858360018060a01b0360025416604487518094819363a9059cbb60e01b835233898401528b888401525af19081156104af578791610475575b50156104425750507fb6a3782a350d2b8520b7fe13e8e97b61f22902243ad29c4c3a9a8f714935718c9060015492519384523393a380f35b60109192606494519362461bcd60e51b85528401528201526f2a3930b739b332b9103330b4b632b21760811b6044820152fd5b90508381813d83116104a8575b61048c81836105f8565b810103126104a4575180151581036104a4573861040a565b8680fd5b503d610482565b85513d89823e3d90fd5b602f9192608494519362461bcd60e51b85528401528201527f596f75206861766520616c72656164792077697468647261776e20796f75722060448201526e32b73a34ba3632b2103a37b5b2b71760891b6064820152fd5b60206064928185519362461bcd60e51b85528401528201527f5468652070726f6f6620636f756c64206e6f742062652076657269666965642e6044820152fd5b5050346100ba5760203660031901126100ba5760209160ff9082906001600160a01b0361057c6105ab565b1681526003855220541690519015158152f35b8490346100ba57816003193601126100ba576020906001548152f35b600435906001600160a01b03821682036105c157565b600080fd5b6060810190811067ffffffffffffffff8211176105e257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105e257604052565b90929167ffffffffffffffff84116105e2578360051b6040519260208094610644828501826105f8565b80978152019181019283116105c157905b8282106106625750505050565b81358152908301908301610655565b6000546001600160a01b0316330361068557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6040908151602093848201926bffffffffffffffffffffffff199060601b1683526034820152603481526106fc816105c6565b519020926000935b815185101561078657600585901b82018401518082116107645783519085820192835284820152838152610737816105c6565b5190205b93600019811461074e5760010193610704565b634e487b7160e01b600052601160045260246000fd5b908351908582019283528482015283815261077e816105c6565b51902061073b565b9350505050600154149056fea26469706673582212209e974d5b3f760678eacdc578b18f7643be9d8f95d42918f6d0d35c8fe2f72fbf64736f6c63430008120033","sourceMap":"217:2382:156:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;298:19;217:2382;;;-1:-1:-1;;;;;217:2382:156;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;217:2382:156;;;;;;:::i;:::-;1063:62:81;;;:::i;:::-;-1:-1:-1;;;;;217:2382:156;;;;2162:22:81;;217:2382:156;;-1:-1:-1;;217:2382:156;;-1:-1:-1;;;;;;217:2382:156;;;;;;;2566:40:81;217:2382:156;;2566:40:81;217:2382:156;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:156;;;;;;;;;;;;;;;;;-1:-1:-1;;217:2382:156;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;217:2382:156;;;;;;;;;;;;;;;;;;;;;1063:62:81;;:::i;:::-;217:2382:156;;-1:-1:-1;;;;;;217:2382:156;;;;;;-1:-1:-1;;;;;217:2382:156;2566:40:81;217:2382:156;;2566:40:81;217:2382:156;;;;;;;;;;-1:-1:-1;;217:2382:156;;;;;;:::i;:::-;1063:62:81;;:::i;:::-;-1:-1:-1;;;;;217:2382:156;;2468:20;;217:2382;;;;;;;2568:22;217:2382;;;2568:22;217:2382;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:156;;;;;;;;;;;;;-1:-1:-1;;217:2382:156;;;;1063:62:81;;:::i;:::-;217:2382:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;916:43;217:2382;;;;;;;;:::i;:::-;719:10:102;;916:43:156;:::i;:::-;217:2382;;;719:10:102;217:2382:156;;;;;;;;;;;;;;;719:10:102;217:2382:156;;;;;;;;;;;;;;;;;;;;;;;;1213:5;217:2382;;;;;;;;;;;;1213:36;;719:10:102;1213:36:156;;;217:2382;;;;;;1213:36;;;;;;;;;;;217:2382;;;;;;;1285:46;217:2382;;;;;;;;719:10:102;1285:46:156;;217:2382;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:156;;;;;1213:36;;;;;;;;;;;;;;;;:::i;:::-;;;217:2382;;;;;;;;;;;;1213:36;;;217:2382;;;;1213:36;;;;;;217:2382;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;217:2382:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;217:2382:156;;;;;;;;;;-1:-1:-1;;;;;217:2382:156;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;268:24;217:2382;;;;;;;;-1:-1:-1;;;;;217:2382:156;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;1359:130:81;1273:6;217:2382:156;-1:-1:-1;;;;;217:2382:156;719:10:102;1422:23:81;217:2382:156;;1359:130:81:o;217:2382:156:-;;;;;;;;;;;;;;;;;;;;;;;;;1344:362;217:2382;;;;1623:34;;;;;217:2382;;;;;;;;;;;;;;1623:34;;;;;:::i;:::-;217:2382;1613:45;;1880:13;-1:-1:-1;1875:115:156;1913:3;217:2382;;1895:16;;;;;217:2382;;;;;;;;;2147:6;;;;;217:2382;;2182:22;;;;217:2382;;;;;;;2182:22;;;;;;:::i;:::-;217:2382;2172:33;;2147:110;1913:3;-1:-1:-1;;217:2382:156;;;;;;1880:13;;;217:2382;;;;-1:-1:-1;217:2382:156;;;;;-1:-1:-1;217:2382:156;2147:110;217:2382;;;2234:22;;;;217:2382;;;;;;;2234:22;;;;;;:::i;:::-;217:2382;2224:33;;2147:110;;1895:16;;;;;;217:2382;;2007:24;1344:362;:::o","linkReferences":{}},"methodIdentifiers":{"claim(uint256,bytes32[])":"2f52ebb7","claimRoot()":"14ea35e7","owner()":"8da5cb5b","renounceOwnership()":"715018a6","rewardClaimed(address)":"29e19704","token()":"fc0c546a","transferOwnership(address)":"f2fde38b","updateMerkleRoot(bytes32)":"4783f0ef","updateTokenAddress(address)":"6691461a","verifyEntitled(address,uint256,bytes32[])":"c3709caf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"superRareToken\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"rewardClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newRoot\",\"type\":\"bytes32\"}],\"name\":\"updateMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"updateTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"name\":\"verifyEntitled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/airdrop/TokenMerkleDrop.sol\":\"TokenMerkleDrop\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38\",\"dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1\",\"dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/airdrop/TokenMerkleDrop.sol\":{\"keccak256\":\"0x51ff509b20334eae4ba79c5e4226551a10e1b009f62661122b0eb0f622ea684a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed217ca9a20ed17e3930f80ad72f7a4b2fe455c45e9532d5c508020906c4071b\",\"dweb:/ipfs/QmVjFvqdDsr9cnc71vLZ1JquUPe9Tq29BNCga3pMaZT5jK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"superRareToken","type":"address"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32","indexed":true},{"internalType":"address","name":"addr","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"TokensClaimed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"claim"},{"inputs":[],"stateMutability":"view","type":"function","name":"claimRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"rewardClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateMerkleRoot"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenAddress"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"verifyEntitled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/airdrop/TokenMerkleDrop.sol":"TokenMerkleDrop"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0x923b9774b81c1abfb992262ae7763b6e6de77b077a7180d53c6ebb7b1c8bd648","urls":["bzz-raw://53445dc0431f9b45c06f567c6091da961d4087bec0010cca5bd62100fa624a38","dweb:/ipfs/QmNvBYpBv183czrAqNXr76E8M3LF93ouAJFeAcHfb59Rcx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x00c839ff53d07d19db2e7cfa1e5133f9ee90a8d64b0e2e57f50446a2d1a3a0e0","urls":["bzz-raw://3dac621d015a68a5251b1e5d41dda0faf252699bf6e8bcf46a958b29964d9dd1","dweb:/ipfs/QmP9axjgZv4cezAhALoTemM62sdLtMDJ9MGTxECnNwHgSJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/airdrop/TokenMerkleDrop.sol":{"keccak256":"0x51ff509b20334eae4ba79c5e4226551a10e1b009f62661122b0eb0f622ea684a","urls":["bzz-raw://ed217ca9a20ed17e3930f80ad72f7a4b2fe455c45e9532d5c508020906c4071b","dweb:/ipfs/QmVjFvqdDsr9cnc71vLZ1JquUPe9Tq29BNCga3pMaZT5jK"],"license":"MIT"}},"version":1},"id":156} \ No newline at end of file diff --git a/abis/Whitelist.json b/abis/Whitelist.json index 6d70775..336c679 100644 --- a/abis/Whitelist.json +++ b/abis/Whitelist.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getMintingAllowance","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isWhitelisted","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintingAllowance","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"whitelistEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"MintingAllowanceUpdated","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"},{"name":"_allowedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getMintingAllowance(address)":"2d13f7d8","isWhitelisted(address)":"3af32abf","mintingAllowance(address)":"81b97161","whitelistEnabled()":"51fb012d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_allowedAmount\",\"type\":\"uint256\"}],\"name\":\"MintingAllowanceUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getMintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/Whitelist.sol\":\"Whitelist\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/extensions/Whitelist.sol\":{\"keccak256\":\"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7\",\"dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true},{"internalType":"uint256","name":"_allowedAmount","type":"uint256","indexed":false}],"type":"event","name":"MintingAllowanceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getMintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"mintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"whitelistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/Whitelist.sol":"Whitelist"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/extensions/Whitelist.sol":{"keccak256":"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747","urls":["bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7","dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE"],"license":"MIT"}},"version":1},"id":216} \ No newline at end of file +{"abi":[{"type":"function","name":"getMintingAllowance","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isWhitelisted","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintingAllowance","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"whitelistEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"MintingAllowanceUpdated","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"},{"name":"_allowedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getMintingAllowance(address)":"2d13f7d8","isWhitelisted(address)":"3af32abf","mintingAllowance(address)":"81b97161","whitelistEnabled()":"51fb012d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_allowedAmount\",\"type\":\"uint256\"}],\"name\":\"MintingAllowanceUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getMintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mintingAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/token/extensions/Whitelist.sol\":\"Whitelist\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@ensdomains/governance/=lib/governance-contracts/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/contracts/\",\":@uniswap/v3-core/contracts/=lib/v3-core/contracts/\",\":@uniswap/v3-periphery/=lib/v3-periphery/contracts/\",\":arachnid/solidity-stringutils/=lib/solidity-stringutils/\",\":ds-test/=lib/ds-test/src/\",\":ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/\",\":ensdomains/governance/=lib/governance-contracts/contracts/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":rareprotocol/assets/=lib/assets/src/\",\":rareprotocol/aux/=src/\",\":royalty-guard/=lib/royalty-guard/src/royalty-guard/\",\":royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/\",\":royalty-registry/=lib/royalty-registry-solidity/contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"src/token/extensions/Whitelist.sol\":{\"keccak256\":\"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7\",\"dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.18+commit.87f61d96"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true},{"internalType":"uint256","name":"_allowedAmount","type":"uint256","indexed":false}],"type":"event","name":"MintingAllowanceUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"getMintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"mintingAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"whitelistEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/buffer/=lib/buffer/","@ensdomains/ens-contracts/=lib/ens-contracts/contracts/","@ensdomains/governance/=lib/governance-contracts/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@uniswap/v3-core/=lib/v3-core/contracts/","@uniswap/v3-core/contracts/=lib/v3-core/contracts/","@uniswap/v3-periphery/=lib/v3-periphery/contracts/","arachnid/solidity-stringutils/=lib/solidity-stringutils/","ds-test/=lib/ds-test/src/","ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/","ensdomains/governance/=lib/governance-contracts/contracts/","forge-std/=lib/forge-std/src/","murky/=lib/murky/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","rareprotocol/assets/=lib/assets/src/","rareprotocol/aux/=src/","royalty-guard/=lib/royalty-guard/src/royalty-guard/","royalty-registry-solidity/=lib/royalty-registry-solidity/contracts/","royalty-registry/=lib/royalty-registry-solidity/contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/token/extensions/Whitelist.sol":"Whitelist"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/token/extensions/Whitelist.sol":{"keccak256":"0xf9907fe7cd04e8dfec0196815c5a6baac0aa4562596dea1a0d16ad5607730747","urls":["bzz-raw://fe20465ae2bb7370738922e156865a79d166c233dda6e9b14d4559ad23758da7","dweb:/ipfs/QmNmRLbPfB39ix4X9hN5qKPv9V4f2iajSJ4FrEotix1RpE"],"license":"MIT"}},"version":1},"id":189} \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index f8d1183..406560a 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,3 +1,6 @@ [profile.default] auto_detect_remappings = false -viaIR = true \ No newline at end of file +viaIR = true +optimizer = true +optimizer_runs = 200 +fs_permissions = [{ access = "read", path = "./"}] \ No newline at end of file diff --git a/merkle-auctions-implementation-plan.md b/merkle-auctions-implementation-plan.md new file mode 100644 index 0000000..65dd2e9 --- /dev/null +++ b/merkle-auctions-implementation-plan.md @@ -0,0 +1,275 @@ +# Merkle Auctions Implementation Plan + +## Phase 1: Storage Updates + +### 1. Base Storage Updates (SuperRareBazaarBase.sol) +- [x] Add Merkle-specific storage mappings + - [x] `mapping(address => EnumerableSet.Bytes32Set) private _userAuctionMerkleRoots` // For tracking and querying all roots per user + - [x] `mapping(address => mapping(bytes32 => uint256)) public auctionMerkleRootNonce` // For versioning + - [x] `mapping(address => mapping(bytes32 => mapping(uint256 => MerkleAuctionConfig))) public auctionMerkleConfigs` // For config storage + - [x] `mapping(bytes32 => bool) public auctionMerkleProofUsed` // For replay protection + +### 2. Dual Nonce System Design +- [x] Implement dual nonce tracking system + - [x] Root-level nonce tracking + - [x] `mapping(address => mapping(bytes32 => uint256)) public auctionMerkleRootNonce` // Tracks how many times a user has reconfigured an auction for a given root + - [x] Token-level nonce tracking + - [x] `mapping(bytes32 => mapping(address => mapping(uint256 => uint256))) public tokenAuctionNonce` // Tracks which configuration version a token was sold under + - [x] Update validation logic + - [x] Check token nonce matches current root nonce + - [x] Increment token nonce on successful sale + - [x] Increment root nonce on reconfiguration + +### 3. Struct Updates +- [x] Add `MerkleAuctionConfig` struct to SuperRareBazaarBase.sol + - [x] Added fields: currency, startingAmount, duration, splitAddresses, splitRatios +- [x] Update existing storage layout documentation + - [x] Added storage section for Merkle Auction Storage + - [x] Added EnumerableSet import and usage + +## Phase 2: Interface Updates + +### 1. ISuperRareAuctionHouse.sol Updates +- [x] Add new function signatures + - [x] `registerAuctionMerkleRoot` + - [x] `cancelAuctionMerkleRoot` + - [x] `bidWithAuctionMerkleProof` + - [x] `getUserAuctionMerkleRoots` + - [x] `getCurrentAuctionMerkleRootNonce` + - [x] `isTokenInRoot` +- [x] Add NatSpec documentation for new functions + - [x] Added detailed parameter descriptions + - [x] Added return value descriptions + - [x] Added function purpose descriptions + +## Phase 3: Function Shells + +### 1. Root Management Shells +- [x] Implement empty `registerAuctionMerkleRoot` function + ```solidity + function registerAuctionMerkleRoot( + bytes32 merkleRoot, + MerkleAuctionConfig calldata config + ) external { + revert("registerAuctionMerkleRoot::Not implemented"); + } + ``` +- [x] Implement empty `cancelAuctionMerkleRoot` function + ```solidity + function cancelAuctionMerkleRoot(bytes32 root) external { + revert("cancelAuctionMerkleRoot::Not implemented"); + } + ``` + +### 2. Bidding System Shells +- [x] Implement empty `bidWithAuctionMerkleProof` function + ```solidity + function bidWithAuctionMerkleProof( + address originContract, + uint256 tokenId, + address creator, + bytes32 merkleRoot, + address currency, + uint256 bidAmount, + bytes32[] calldata proof + ) external payable nonReentrant { + revert("bidWithAuctionMerkleProof::Not implemented"); + } + ``` + +### 3. View Function Shells +- [x] Implement empty `getUserAuctionMerkleRoots` function + ```solidity + function getUserAuctionMerkleRoots(address user) external view returns (bytes32[] memory) { + revert("getUserAuctionMerkleRoots::Not implemented"); + } + ``` +- [x] Implement empty `getCurrentAuctionMerkleRootNonce` function + ```solidity + function getCurrentAuctionMerkleRootNonce(address user, bytes32 root) external view returns (uint256) { + revert("getCurrentAuctionMerkleRootNonce::Not implemented"); + } + ``` +- [x] Implement empty `isTokenInRoot` function + ```solidity + function isTokenInRoot(bytes32 root, address origin, uint256 tokenId, bytes32[] calldata proof) public pure returns (bool) { + revert("isTokenInRoot::Not implemented"); + } + ``` + +## Phase 4: Test Implementation + +### 1. Test Setup +- [x] Add Merkle auction tests to `SuperRareAuctionHouse.t.sol` +- [x] Set up test environment + - [x] Created TestNFT and TestToken contracts + - [x] Set up Merkle tree generation + - [x] Created test users and funding +- [x] Create helper functions for Merkle proof generation +- [x] Create mock contracts for testing + +### 2. Root Management Tests +- [x] Test `registerAuctionMerkleRoot` + - [x] Test valid registration + - [x] Test nonce increment + - [x] Test root added to EnumerableSet + - [x] Test event emission +- [x] Test `cancelAuctionMerkleRoot` + - [x] Test valid cancellation + - [x] Test invalid cancellation attempts + - [x] Test root removed from EnumerableSet + - [x] Test data cleanup + - [x] Test event emission + +### 3. Bidding System Tests +- [x] Test `bidWithAuctionMerkleProof` + - [x] Basic Functionality Tests + - [x] Test valid proofs + - [x] Test invalid proofs + - [x] Test replay protection + - [x] Test ownership verification + - [x] Test approval checks + - [x] Test token transfer + - [x] Test auction creation + - [x] Test event emission + - [x] Token and Currency Validation + - [x] Test with ERC20 payments + - [x] Test with unapproved currency + - [x] Test with insufficient allowance + - [x] Test with ETH payments + - [x] Test with insufficient balance + - [x] Test with non-existent token ID + - [ ] Test with non-contract token address + - [x] Merkle Proof Validation + - [x] Test with invalid root + - [x] Test with proof for different token + - [x] Test with proof for different amount + - [x] Test with proof for different currency + - [x] Test with malformed proof array + - [x] Test with empty proof array + - [x] Nonce and Configuration Tests + - [x] Test bidding with outdated root nonce + - [x] Test bidding with outdated token nonce + - [x] Test bidding after root reconfiguration + - [x] Test multiple bids for different tokens under same root + - [x] Test bidding with cancelled root + - [x] Amount Validation + - [x] Test bid below minimum amount + - [x] Test bid above maximum marketplace value + - [x] Test bid with exact minimum amount + - [x] Test bid with marketplace fee calculation + - [x] Edge Cases and Security + - [x] Test reentrancy protection + - [x] Test with zero address currency + - [x] Test with zero bid amount + - [x] Test when auction already exists + - [x] Test when token is already in another auction + - [x] Test when sender is token owner + - [ ] Test when contract is paused (if applicable) + - [x] Event Emission Tests + - [x] Verify all AuctionMerkleBid event parameters + - [x] Test event emission order + - [x] Test multiple events in single transaction + - [x] Verify correct previous bidder address + - [x] Verify correct auction start flag + - [x] Verify correct auction length + - [x] Test scenario: Configure root -> One token fails to sell (auction ends, returned to creator) -> Creator cancels root -> Creator reconfigures the same root + +### 4. View Function Tests +- [x] Test `getUserAuctionMerkleRoots` + - [x] Test with no roots + - [x] Test with multiple roots +- [x] Test `getCurrentAuctionMerkleRootNonce` + - [x] Test initial nonce + - [x] Test after registration +- [x] Test `isTokenInRoot` + - [x] Test valid proofs + - [x] Test invalid proofs + +## Phase 5: Function Implementation + +### 1. Root Management Implementation +- [x] Implement `registerAuctionMerkleRoot` + - [x] Run tests after each component + - [x] Fix any failing tests +- [x] Implement `cancelAuctionMerkleRoot` + - [x] Run tests after each component + - [x] Fix any failing tests + +### 2. Bidding System Implementation +- [x] Implement `bidWithAuctionMerkleProof` + - [x] Run tests after each component + - [x] Fix any failing tests + +### 3. View Function Implementation +- [x] Implement `getUserAuctionMerkleRoots` + - [x] Run tests after each component + - [x] Fix any failing tests +- [x] Implement `getCurrentAuctionMerkleRootNonce` + - [x] Run tests after each component + - [x] Fix any failing tests +- [x] Implement `isTokenInRoot` + - [x] Run tests after each component + - [x] Fix any failing tests + +## Phase 6: Gas Optimization + +### 1. Storage Optimization +- [ ] Review and optimize storage mappings +- [ ] Optimize proof key generation +- [ ] Review gas usage in critical functions + +### 2. Function Optimization +- [ ] Optimize loop operations +- [ ] Implement batch operations where possible +- [ ] Review gas costs against existing functions + +## Phase 7: Documentation + +### 1. Code Documentation +- [ ] Update NatSpec comments for new functions +- [ ] Document security considerations +- [ ] Add usage examples + +### 2. External Documentation +- [ ] Update README with new functionality +- [ ] Document security best practices +- [ ] Add integration examples + +## Phase 8: Security Review + +### 1. Internal Review +- [ ] Review all access controls +- [ ] Verify reentrancy protection +- [ ] Check for potential race conditions +- [ ] Review error handling + +### 2. External Review +- [ ] Schedule security audit +- [ ] Address audit findings +- [ ] Implement recommended fixes + +### 2. Additional Test Cases +- [x] Test gas consumption for various operations +- [ ] Test edge cases with large arrays of split recipients +- [ ] Test concurrent auction operations +- [ ] Test integration with external contracts +- [ ] Test recovery scenarios +- [ ] Test upgrade scenarios (if applicable) +- [ ] Test event emission in error cases +- [ ] Test token approvals and transfers in error cases +- [ ] Test marketplace fee calculations with different percentages +- [ ] Test royalty calculations with different recipients + +## Phase 9: Deployment + +### 1. Preparation +- [ ] Update deployment scripts +- [ ] Set up verification process +- [ ] Prepare upgrade strategy + +### 2. Execution +- [ ] Deploy to testnet +- [ ] Verify functionality +- [ ] Deploy to mainnet +- [ ] Monitor initial usage \ No newline at end of file diff --git a/remappings.txt b/remappings.txt index 5646ad8..51bdcc2 100644 --- a/remappings.txt +++ b/remappings.txt @@ -17,6 +17,6 @@ rareprotocol/aux/=src/ ensdomains/ens-contracts/=lib/ensdomains/ens-contracts/contracts/ @ensdomains/buffer/=lib/buffer/ arachnid/solidity-stringutils/=lib/solidity-stringutils/ +@uniswap/v3-core/contracts=lib/v3-core/contracts/ @uniswap/v3-core/=lib/v3-core/contracts/ -@uniswap/v3-core/contracts/=lib/v3-core/contracts/ @uniswap/v3-periphery/=lib/v3-periphery/contracts/ \ No newline at end of file diff --git a/script/approver/approval-manager-deploy/ApprovalManagerDeploy.s.sol b/script/approver/approval-manager-deploy/ApprovalManagerDeploy.s.sol new file mode 100644 index 0000000..cc481f5 --- /dev/null +++ b/script/approver/approval-manager-deploy/ApprovalManagerDeploy.s.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.18; + +import "forge-std/Script.sol"; +import {ERC20ApprovalManager} from "../../../src/v2/approver/ERC20/ERC20ApprovalManager.sol"; +import {ERC721ApprovalManager} from "../../../src/v2/approver/ERC721/ERC721ApprovalManager.sol"; + +/// @title ApprovalManagerDeploy +/// @notice Deployment script for ERC20ApprovalManager and ERC721ApprovalManager +contract ApprovalManagerDeploy is Script { + function run() external { + // 1. Load private key and start broadcast + uint256 privateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(privateKey); + address deployer = vm.addr(privateKey); + + // 2. Deploy ERC20 Approval Manager + ERC20ApprovalManager erc20ApprovalManager = new ERC20ApprovalManager(); + + // 3. Deploy ERC721 Approval Manager + ERC721ApprovalManager erc721ApprovalManager = new ERC721ApprovalManager(); + + // 4. Log deployed addresses + console.log("ERC20ApprovalManager deployed at:", address(erc20ApprovalManager)); + console.log("ERC721ApprovalManager deployed at:", address(erc721ApprovalManager)); + + vm.stopBroadcast(); + } +} diff --git a/script/approver/approval-manager-deploy/deploy.sh b/script/approver/approval-manager-deploy/deploy.sh new file mode 100755 index 0000000..5ec4bc7 --- /dev/null +++ b/script/approver/approval-manager-deploy/deploy.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# Default broadcast to false +BROADCAST=false + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case $1 in + --broadcast) + BROADCAST=true + shift + ;; + *) + echo "Unknown parameter: $1" + echo "Usage: ./deploy.sh [--broadcast]" + exit 1 + ;; + esac +done + +# Load .env file +if [ -f .env ]; then + echo "Loading environment from .env file" + set -o allexport + source .env + set +o allexport +else + echo "No .env file found. Please create one based on .env.sample" + exit 1 +fi + +# Check required environment variables +if [ -z "$RPC_URL" ]; then + echo "Error: RPC_URL not set in .env" + exit 1 +fi + +# Prepare forge command +FORGE_CMD="forge script script/approver/approval-manager-deploy/ApprovalManagerDeploy.s.sol:ApprovalManagerDeploy --rpc-url ${RPC_URL} -vvv" + +# Add broadcast and verify flags if specified +if [ "$BROADCAST" = true ]; then + if [ -z "$ETHERSCAN_API_KEY" ]; then + echo "Error: ETHERSCAN_API_KEY not set in .env" + exit 1 + fi + echo "Broadcasting transactions and verifying contracts..." + FORGE_CMD="${FORGE_CMD} --broadcast --verify --etherscan-api-key ${ETHERSCAN_API_KEY}" +else + echo "Running in simulation mode (no broadcasting)..." +fi + +# Execute the forge command +eval "${FORGE_CMD}" \ No newline at end of file diff --git a/script/approver/approval-manager-deploy/env.sample b/script/approver/approval-manager-deploy/env.sample new file mode 100644 index 0000000..bb4ae9c --- /dev/null +++ b/script/approver/approval-manager-deploy/env.sample @@ -0,0 +1,16 @@ +# Approval Manager Deployment Environment Variables +# Copy this file to .env and update the values for your target environment + +# Network Configuration +# ---- +RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR-API-KEY +CHAIN_ID=1 # 1 for mainnet, 11155111 for Sepolia + +# Deployment Account +# ---- +# Private key for the deploying account (with 0x prefix) +PRIVATE_KEY=your_private_key_here + +# Contract Verification +# ---- +ETHERSCAN_API_KEY=your_etherscan_api_key diff --git a/script/auctionhouse/rare-batch-auctionhouse-deploy/RareBatchAuctionHouseDeploy.s.sol b/script/auctionhouse/rare-batch-auctionhouse-deploy/RareBatchAuctionHouseDeploy.s.sol new file mode 100644 index 0000000..1defd9e --- /dev/null +++ b/script/auctionhouse/rare-batch-auctionhouse-deploy/RareBatchAuctionHouseDeploy.s.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.18; + +import "forge-std/Script.sol"; +import {ERC1967Proxy} from "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol"; + +import "../../../src/v2/auctionhouse/RareBatchAuctionHouse.sol"; +import "../../../src/v2/approver/ERC721/ERC721ApprovalManager.sol"; +import "../../../src/v2/approver/ERC20/ERC20ApprovalManager.sol"; + +/// @title SuperRareAuctionHouseV2Deploy +/// @notice Deployment script for RareBatchAuctionHouse and its dependencies +contract RareBatchAuctionHouseDeploy is Script { + function run() external { + uint256 privateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(privateKey); + address deployer = vm.addr(privateKey); + + // Get Market Config Values from .env + address networkBeneficiary = vm.envAddress("NETWORK_BENEFICIARY"); + address marketplaceSettings = vm.envAddress("MARKETPLACE_SETTINGS"); + address spaceOperatorRegistry = vm.envAddress("SPACE_OPERATOR_REGISTRY"); + address royaltyEngine = vm.envAddress("ROYALTY_ENGINE"); + address payments = vm.envAddress("PAYMENTS"); + address approvedTokenRegistry = vm.envAddress("APPROVED_TOKEN_REGISTRY"); + address stakingSettings = vm.envAddress("STAKING_SETTINGS"); + address stakingRegistry = vm.envAddress("STAKING_REGISTRY"); + address erc721ApprovalManager = vm.envAddress("ERC721_APPROVAL_MANAGER"); + address erc20ApprovalManager = vm.envAddress("ERC20_APPROVAL_MANAGER"); + + // Deploy implementation + RareBatchAuctionHouse auctionHouseImplementation = new RareBatchAuctionHouse(); + + // Deploy proxy + ERC1967Proxy auctionHouseProxy = new ERC1967Proxy(address(auctionHouseImplementation), ""); + + // Initialize the proxy + RareBatchAuctionHouse(payable(address(auctionHouseProxy))).initialize( + marketplaceSettings, + royaltyEngine, + spaceOperatorRegistry, + approvedTokenRegistry, + payments, + stakingRegistry, + stakingSettings, + networkBeneficiary, + erc20ApprovalManager, + erc721ApprovalManager + ); + + // Grant operator role to the auction house proxy for both approval managers + ERC721ApprovalManager(erc721ApprovalManager).grantOperatorRole(address(auctionHouseProxy)); + ERC20ApprovalManager(erc20ApprovalManager).grantOperatorRole(address(auctionHouseProxy)); + + // Log deployed addresses + console.log("ERC721ApprovalManager deployed at:", address(erc721ApprovalManager)); + console.log("ERC20ApprovalManager deployed at:", address(erc20ApprovalManager)); + console.log("RareBatchAuctionHouse implementation deployed at:", address(auctionHouseImplementation)); + console.log("RareBatchAuctionHouse proxy deployed at:", address(auctionHouseProxy)); + + vm.stopBroadcast(); + } +} diff --git a/script/auctionhouse/rare-batch-auctionhouse-deploy/deploy.sh b/script/auctionhouse/rare-batch-auctionhouse-deploy/deploy.sh new file mode 100755 index 0000000..17ede8a --- /dev/null +++ b/script/auctionhouse/rare-batch-auctionhouse-deploy/deploy.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Default broadcast to false +BROADCAST=false + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case $1 in + --broadcast) + BROADCAST=true + shift + ;; + *) + echo "Unknown parameter: $1" + exit 1 + ;; + esac +done + +# Load .env file if it exists in the current directory +if [ -f .env ]; then + echo "Loading environment from .env file" + set -o allexport + source .env + set +o allexport +fi + +# Set default RPC URL if not set +if [ -z "$RPC_URL" ]; then + echo "RPC_URL not set. Using default localhost:8545" + export RPC_URL="http://localhost:8545" +fi + +# Set default verbosity if not set +if [ -z "$VERBOSITY" ]; then + export VERBOSITY=1 +fi + +# Prepare the base forge command +FORGE_CMD="forge script script/auctionhouse/rare-batch-auctionhouse-deploy/RareBatchAuctionHouseDeploy.s.sol:RareBatchAuctionHouseDeploy --rpc-url ${RPC_URL} -vv " +FORGE_CMD_BROADCAST="${FORGE_CMD} --broadcast --verify --etherscan-api-key ${ETHERSCAN_API_KEY} --chain-id ${CHAIN_ID}" + +# Add broadcast flag if specified +if [ "$BROADCAST" = true ]; then + echo "Broadcasting transactions..." + FORGE_CMD="${FORGE_CMD} --broadcast --verify --etherscan-api-key ${ETHERSCAN_API_KEY} --chain-id ${CHAIN_ID}" +else + echo "Running in simulation mode (no broadcasting)..." +fi +eval "${FORGE_CMD}" diff --git a/script/auctionhouse/rare-batch-auctionhouse-deploy/env.sample b/script/auctionhouse/rare-batch-auctionhouse-deploy/env.sample new file mode 100644 index 0000000..d8ef4c5 --- /dev/null +++ b/script/auctionhouse/rare-batch-auctionhouse-deploy/env.sample @@ -0,0 +1,58 @@ +# SuperRareAuctionHouseV2 Deployment Environment Variables +# Copy this file to .env and update the values for your target environment + +# Network Configuration +# ------------------- +# RPC URL for the target network (e.g., Alchemy, Infura) +RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR-API-KEY + +# Deployment Account +# ---------------- +# Private key for the deploying account (without 0x prefix) +# WARNING: Keep this secure and never commit to version control +PRIVATE_KEY=your_private_key_here + +# Libraries +# ------------------- + +# Market utils for auctionhouse +MARKET_UTILS_V2_LIB=0x... + +# Contract Dependencies +# ------------------- + +# Network beneficiary address that receives fees +NETWORK_BENEFICIARY=0x... + +# Address of the marketplace settings contract +MARKETPLACE_SETTINGS=0x... + +# Address of the space operator registry +SPACE_OPERATOR_REGISTRY=0x... + +# Address of the royalty engine contract +ROYALTY_ENGINE=0x... + +# Address of the payments contract +PAYMENTS=0x... + +# Address of the approved token registry +APPROVED_TOKEN_REGISTRY=0x... + +# Address of the staking settings contract +STAKING_SETTINGS=0x... + +# Address of the staking registry contract +STAKING_REGISTRY=0x... + +# Address of the ERC20 approval manager +ERC20_APPROVAL_MANAGER=0x... + +# Address of the ERC721 approval manager +ERC721_APPROVAL_MANAGER=0x... + +# Etherscan API Key for contract verification +ETHERSCAN_API_KEY=your_etherscan_api_key + +# Chain ID for the target network (e.g., 1 for Ethereum mainnet, 11155111 for Sepolia testnet) +CHAIN_ID=11155111 -- sepolia \ No newline at end of file diff --git a/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/RareBatchAuctionHouseSeedSepolia.s.sol b/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/RareBatchAuctionHouseSeedSepolia.s.sol new file mode 100644 index 0000000..845fa02 --- /dev/null +++ b/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/RareBatchAuctionHouseSeedSepolia.s.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.18; + +import "forge-std/Script.sol"; +import {ERC1967Proxy} from "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {ERC721} from "openzeppelin-contracts/token/ERC721/ERC721.sol"; +import "openzeppelin-contracts/utils/cryptography/MerkleProof.sol"; + +import "../../../src/v2/auctionhouse/RareBatchAuctionHouse.sol"; +import "../../../src/v2/approver/ERC721/ERC721ApprovalManager.sol"; +import "../../../src/v2/approver/ERC20/ERC20ApprovalManager.sol"; + +/// @title SuperRareAuctionHouseV2Deploy +/// @notice Deployment script for RareBatchAuctionHouse and its dependencies +contract RareBatchAuctionHouseSeedSepolia is Script { + function _createMerkleRoot(address[] memory contracts, uint256[] memory tokenIds) internal pure returns (bytes32) { + require(contracts.length == tokenIds.length, "Length mismatch"); + bytes32[] memory leaves = new bytes32[](contracts.length); + + // Create leaves by hashing contract address and token ID pairs + for (uint256 i = 0; i < contracts.length; i++) { + leaves[i] = keccak256(abi.encodePacked(contracts[i], tokenIds[i])); + } + + // For two leaves, we can directly hash them together to get the root + // This is equivalent to creating a tree with these two leaves + return keccak256(abi.encodePacked(leaves[0], leaves[1])); + } + + function run() external { + uint256 privateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(privateKey); + address deployer = vm.addr(privateKey); + // Ensure we're on Sepolia testnet + uint256 sepoliaChainId = 11155111; + require(block.chainid == sepoliaChainId, "This script must be run on Sepolia testnet"); + + RareBatchAuctionHouse rareBatchAuctionHouse = RareBatchAuctionHouse( + payable(vm.envAddress("RARE_BATCH_AUCTIONHOUSE")) + ); + address erc721ApprovalManager = vm.envAddress("ERC721_APPROVAL_MANAGER"); + ERC721 erc721 = ERC721(vm.envAddress("ERC721_CONTRACT")); + uint256 tokenId1 = vm.envUint("TOKEN_ID_1"); + uint256 tokenId2 = vm.envUint("TOKEN_ID_2"); + + console.log("Approving ERC721Approval Manager for token contract", address(erc721)); + erc721.setApprovalForAll(address(erc721ApprovalManager), true); + + // Create arrays for Merkle root generation + address[] memory contracts = new address[](2); + contracts[0] = address(erc721); + contracts[1] = address(erc721); + + uint256[] memory tokenIds = new uint256[](2); + tokenIds[0] = tokenId1; + tokenIds[1] = tokenId2; + + // Generate Merkle root + bytes32 merkleRoot = _createMerkleRoot(contracts, tokenIds); + console.log("Generated Merkle root:", vm.toString(merkleRoot)); + + // Register the Merkle root with the auction house + address payable[] memory splitAddresses = new address payable[](1); + splitAddresses[0] = payable(deployer); // Set the deployer as the recipient + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; // 100% to the deployer + + // Register the Merkle root for the auction + rareBatchAuctionHouse.registerAuctionMerkleRoot( + merkleRoot, + address(0), // Using ETH as currency + 0.01 ether, // Starting amount of 1 ETH + 1 days, // 1 day auction duration + splitAddresses, + splitRatios + ); + + console.log("Merkle root registered with auction house"); + console.log("Contract address:", address(erc721)); + console.log("Token IDs:", tokenId1, tokenId2); + + vm.stopBroadcast(); + } +} diff --git a/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/deploy.sh b/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/deploy.sh new file mode 100755 index 0000000..ee954d8 --- /dev/null +++ b/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/deploy.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# Default broadcast to false +BROADCAST=false + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case $1 in + --broadcast) + BROADCAST=true + shift + ;; + *) + echo "Unknown parameter: $1" + exit 1 + ;; + esac +done + +# Load .env file if it exists in the current directory +if [ -f .env ]; then + echo "Loading environment from .env file" + set -o allexport + source .env + set +o allexport +fi + +# Set default RPC URL if not set +if [ -z "$RPC_URL" ]; then + echo "RPC_URL not set. Using default localhost:8545" + export RPC_URL="http://localhost:8545" +fi + +# Set default verbosity if not set +if [ -z "$VERBOSITY" ]; then + export VERBOSITY=1 +fi + +# Prepare the base forge command +FORGE_CMD="forge script script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/RareBatchAuctionHouseSeedSepolia.s.sol:RareBatchAuctionHouseSeedSepolia --rpc-url ${RPC_URL} -vv " + +# Add broadcast flag if specified +if [ "$BROADCAST" = true ]; then + echo "Broadcasting transactions..." + FORGE_CMD="${FORGE_CMD} --broadcast --chain-id ${CHAIN_ID}" +else + echo "Running in simulation mode (no broadcasting)..." +fi +eval "${FORGE_CMD}" diff --git a/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/env.sample b/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/env.sample new file mode 100644 index 0000000..17c5903 --- /dev/null +++ b/script/auctionhouse/rare-batch-auctionhouse-seed-sepolia/env.sample @@ -0,0 +1,36 @@ +# SuperRareAuctionHouseV2 Deployment Environment Variables +# Copy this file to .env and update the values for your target environment + +# Network Configuration +# ------------------- +# RPC URL for the target network (e.g., Alchemy, Infura) +RPC_URL=https://eth-sepolia.g.alchemy.com/v2/YOUR-API-KEY + +# Deployment Account +# ---------------- +# Private key for the deploying account (without 0x prefix) +# WARNING: Keep this secure and never commit to version control +PRIVATE_KEY=your_private_key_here + +# Contract Dependencies +# ------------------- +# Address of the deployed RareBatchAuctionHouse contract +RARE_BATCH_AUCTIONHOUSE=0xEb2f302D6D1c0fEf8C865bA18D452Cb63b227504 + +# Address of the deployed ERC721ApprovalManager contract +ERC721_APPROVAL_MANAGER=0x5fa0a461d3a2Ea3bFDf03e8BD37CAbB4ae84205E + +# Address of the ERC721 token contract containing the tokens to auction +ERC721_CONTRACT=0xC3aF5cA3a3FbEEb6352298c2D43e387AF01192d2 # you can replace with your own if needed + +# Token IDs for Merkle Root Creation +# -------------------------------- +# The two token IDs that will be included in the Merkle root +# These must exist in the ERC721_CONTRACT and be owned by the deployer +TOKEN_ID_1=1 +TOKEN_ID_2=3 + +# Chain Configuration +# ----------------- +# Chain ID for the target network (e.g., 1 for Ethereum mainnet, 11155111 for Sepolia testnet) +CHAIN_ID=11155111 # Sepolia \ No newline at end of file diff --git a/script/batchoffer/batchoffer_upgrade.s.sol b/script/batchoffer/batchoffer_upgrade.s.sol new file mode 100644 index 0000000..e56a70c --- /dev/null +++ b/script/batchoffer/batchoffer_upgrade.s.sol @@ -0,0 +1,21 @@ +pragma solidity ^0.8.0; + +import "forge-std/Script.sol"; +import {ERC1967Proxy} from "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol"; + +import "../../src/batchoffer/BatchOffer.sol"; + +contract BatchOfferDeploy is Script { + function run() external { + uint256 privateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(privateKey); + + // Get Market Config Values from .env + address batchofferProxy = vm.envAddress("BATCHOFFER_PROXY"); + + BatchOfferCreator offerCreator = new BatchOfferCreator(); + + BatchOfferCreator batchOfferCreatorProxy = BatchOfferCreator(batchofferProxy); + batchOfferCreatorProxy.upgradeTo(address(offerCreator)); + } +} \ No newline at end of file diff --git a/script/marketplace/rare-batch-listing-marketplace-deploy/RareBatchListingMarketplaceDeploy.s.sol b/script/marketplace/rare-batch-listing-marketplace-deploy/RareBatchListingMarketplaceDeploy.s.sol new file mode 100644 index 0000000..2ebe447 --- /dev/null +++ b/script/marketplace/rare-batch-listing-marketplace-deploy/RareBatchListingMarketplaceDeploy.s.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import "forge-std/Script.sol"; +import {ERC1967Proxy} from "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol"; + +import "../../../src/v2/marketplace/RareBatchListingMarketplace.sol"; +import "../../../src/v2/approver/ERC721/ERC721ApprovalManager.sol"; +import "../../../src/v2/approver/ERC20/ERC20ApprovalManager.sol"; + +/// @title RareBatchListingMarketplaceDeploy +/// @notice Deployment script for RareBatchListingMarketplace and its dependencies +contract RareBatchListingMarketplaceDeploy is Script { + function run() external { + uint256 privateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(privateKey); + address deployer = vm.addr(privateKey); + + // Get Market Config Values from .env + address networkBeneficiary = vm.envAddress("NETWORK_BENEFICIARY"); + address marketplaceSettings = vm.envAddress("MARKETPLACE_SETTINGS"); + address spaceOperatorRegistry = vm.envAddress("SPACE_OPERATOR_REGISTRY"); + address royaltyEngine = vm.envAddress("ROYALTY_ENGINE"); + address payments = vm.envAddress("PAYMENTS"); + address approvedTokenRegistry = vm.envAddress("APPROVED_TOKEN_REGISTRY"); + address stakingSettings = vm.envAddress("STAKING_SETTINGS"); + address stakingRegistry = vm.envAddress("STAKING_REGISTRY"); + address erc721ApprovalManager = vm.envAddress("ERC721_APPROVAL_MANAGER"); + address erc20ApprovalManager = vm.envAddress("ERC20_APPROVAL_MANAGER"); + + // Deploy implementation + RareBatchListingMarketplace marketplaceImplementation = new RareBatchListingMarketplace(); + + // Deploy proxy + ERC1967Proxy marketplaceProxy = new ERC1967Proxy(address(marketplaceImplementation), ""); + + // Initialize the proxy + RareBatchListingMarketplace(address(marketplaceProxy)).initialize( + marketplaceSettings, + royaltyEngine, + spaceOperatorRegistry, + approvedTokenRegistry, + payments, + stakingRegistry, + stakingSettings, + networkBeneficiary, + erc20ApprovalManager, + erc721ApprovalManager + ); + + // Grant operator role to the marketplace proxy for both approval managers + ERC721ApprovalManager(erc721ApprovalManager).grantOperatorRole(address(marketplaceProxy)); + ERC20ApprovalManager(erc20ApprovalManager).grantOperatorRole(address(marketplaceProxy)); + + // Log deployed addresses + console.log("ERC721ApprovalManager deployed at:", address(erc721ApprovalManager)); + console.log("ERC20ApprovalManager deployed at:", address(erc20ApprovalManager)); + console.log("RareBatchListingMarketplace implementation deployed at:", address(marketplaceImplementation)); + console.log("RareBatchListingMarketplace proxy deployed at:", address(marketplaceProxy)); + + vm.stopBroadcast(); + } +} diff --git a/script/marketplace/rare-batch-listing-marketplace-deploy/deploy.sh b/script/marketplace/rare-batch-listing-marketplace-deploy/deploy.sh new file mode 100755 index 0000000..bb15d7d --- /dev/null +++ b/script/marketplace/rare-batch-listing-marketplace-deploy/deploy.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# Default broadcast to false +BROADCAST=false + +# Parse command line arguments +while [[ $# -gt 0 ]]; do + case $1 in + --broadcast) + BROADCAST=true + shift + ;; + *) + echo "Unknown parameter: $1" + exit 1 + ;; + esac +done + +# Load .env file +if [ -f .env ]; then + echo "Loading environment from .env file" + set -o allexport + source .env + set +o allexport +fi + +# Set default RPC URL if not set +if [ -z "$RPC_URL" ]; then + echo "RPC_URL not set. Using default localhost:8545" + export RPC_URL="http://localhost:8545" +fi + +# Prepare forge command +FORGE_CMD="forge script script/marketplace/rare-batch-listing-marketplace-deploy/RareBatchListingMarketplaceDeploy.s.sol:RareBatchListingMarketplaceDeploy --rpc-url ${RPC_URL} -vv" + +# Add broadcast flag if specified +if [ "$BROADCAST" = true ]; then + echo "Broadcasting transactions..." + FORGE_CMD="${FORGE_CMD} --broadcast --verify --etherscan-api-key ${ETHERSCAN_API_KEY} --chain-id ${CHAIN_ID}" + eval "${FORGE_CMD}" +else + echo "Running in simulation mode (no broadcasting)..." + eval "${FORGE_CMD}" +fi \ No newline at end of file diff --git a/script/marketplace/rare-batch-listing-marketplace-deploy/env.sample b/script/marketplace/rare-batch-listing-marketplace-deploy/env.sample new file mode 100644 index 0000000..9e451f4 --- /dev/null +++ b/script/marketplace/rare-batch-listing-marketplace-deploy/env.sample @@ -0,0 +1,48 @@ +# RareBatchListingMarketplace Deployment Environment Variables +# Copy this file to .env and update the values for your target environment + +# Network Configuration +# ---- +RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR-API-KEY +CHAIN_ID=1 # 1 for mainnet, 11155111 for Sepolia + +# Deployment Account +# ---- +# Private key for the deploying account (with 0x prefix) +PRIVATE_KEY=your_private_key_here + +# Contract Dependencies +# ---- +# Network Beneficiary address +NETWORK_BENEFICIARY=0x... + +# Marketplace Settings contract address +MARKETPLACE_SETTINGS=0x... + +# Space Operator Registry contract address +SPACE_OPERATOR_REGISTRY=0x... + +# Royalty Engine contract address +ROYALTY_ENGINE=0x... + +# Payments contract address +PAYMENTS=0x... + +# Approved Token Registry contract address +APPROVED_TOKEN_REGISTRY=0x... + +# Staking Settings contract address +STAKING_SETTINGS=0x... + +# Staking Registry contract address +STAKING_REGISTRY=0x... + +# ERC721 Approval Manager contract address +ERC721_APPROVAL_MANAGER=0x... + +# ERC20 Approval Manager contract address +ERC20_APPROVAL_MANAGER=0x... + +# Verification +# ---- +ETHERSCAN_API_KEY=your_etherscan_api_key \ No newline at end of file diff --git a/script/token/superrare/SuperRareV2.s.sol b/script/token/superrare/SuperRareV2.s.sol new file mode 100644 index 0000000..b5185f2 --- /dev/null +++ b/script/token/superrare/SuperRareV2.s.sol @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "forge-std/Script.sol"; + +import "../../../src/token/ERC721/superrare/SuperRareV2.sol"; + +contract SuperRareV2Deploy is Script { + function run() external { + uint256 privateKey = vm.envUint("PRIVATE_KEY"); + vm.addr(privateKey); + + vm.startBroadcast(privateKey); + + // Create contract + new SuperRareV2("SuperRareV2", "SUPR"); + + vm.stopBroadcast(); + } +} diff --git a/src/auctionhouse/ISuperRareAuctionHouse.sol b/src/auctionhouse/ISuperRareAuctionHouse.sol index 1c8b458..d56028e 100644 --- a/src/auctionhouse/ISuperRareAuctionHouse.sol +++ b/src/auctionhouse/ISuperRareAuctionHouse.sol @@ -86,4 +86,4 @@ interface ISuperRareAuctionHouse { address payable[] memory, uint8[] memory ); -} +} \ No newline at end of file diff --git a/src/bazaar/ISuperRareBazaar.sol b/src/bazaar/ISuperRareBazaar.sol index 793bb37..e7bd440 100644 --- a/src/bazaar/ISuperRareBazaar.sol +++ b/src/bazaar/ISuperRareBazaar.sol @@ -1,6 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; +import {SuperRareBazaarStorage} from "./SuperRareBazaarStorage.sol"; + /// @author koloz /// @title ISuperRareBazaar /// @notice Interface for the SuperRareBazaar Contract @@ -27,22 +29,13 @@ interface ISuperRareBazaar { /// @param _tokenId TokenId of asset being bought. /// @param _currencyAddress Currency address of asset being used to buy. /// @param _amount Amount the piece if being bought for. - function buy( - address _originContract, - uint256 _tokenId, - address _currencyAddress, - uint256 _amount - ) external payable; + function buy(address _originContract, uint256 _tokenId, address _currencyAddress, uint256 _amount) external payable; /// @notice Cancels an existing offer the sender has placed on a piece. /// @param _originContract Contract address of token. /// @param _tokenId TokenId that has an offer. /// @param _currencyAddress Currency address of the offer. - function cancelOffer( - address _originContract, - uint256 _tokenId, - address _currencyAddress - ) external; + function cancelOffer(address _originContract, uint256 _tokenId, address _currencyAddress) external; // Seller @@ -68,11 +61,7 @@ interface ISuperRareBazaar { /// @param _originContract The origin contract of the asset. /// @param _tokenId The tokenId of the asset within the _originContract. /// @param _target The address of the person - function removeSalePrice( - address _originContract, - uint256 _tokenId, - address _target - ) external; + function removeSalePrice(address _originContract, uint256 _tokenId, address _target) external; /// @notice Accept an offer placed on _originContract : _tokenId. /// @param _originContract Contract of the asset the offer was made on. @@ -105,12 +94,7 @@ interface ISuperRareBazaar { /// @param _tokenId Token Id of the asset. /// @param _currencyAddress Address of currency being used to bid. /// @param _amount Amount of the currency being used for the bid. - function bid( - address _originContract, - uint256 _tokenId, - address _currencyAddress, - uint256 _amount - ) external payable; + function bid(address _originContract, uint256 _tokenId, address _currencyAddress, uint256 _amount) external payable; // Seller @@ -164,7 +148,10 @@ interface ISuperRareBazaar { /** @return Auction Struct: creatorAddress, creationTime, startingTime, lengthOfAuction, currencyAddress, minimumBid, auctionType, splitRecipients array, and splitRatios array. */ - function getAuctionDetails(address _originContract, uint256 _tokenId) + function getAuctionDetails( + address _originContract, + uint256 _tokenId + ) external view returns ( @@ -183,14 +170,61 @@ interface ISuperRareBazaar { address _originContract, uint256 _tokenId, address _target - ) - external - view - returns ( - address, - address, - uint256, - address payable[] memory, - uint8[] memory - ); + ) external view returns (address, address, uint256, address payable[] memory, uint8[] memory); + + // // Merkle Auction Functions + + // /// @notice Registers a new Merkle root for auction configuration + // /// @param merkleRoot The root hash of the Merkle tree containing token IDs + // /// @param config The auction configuration for this root + // function registerAuctionMerkleRoot( + // bytes32 merkleRoot, + // SuperRareBazaarStorage.MerkleAuctionConfig calldata config + // ) external; + + // /// @notice Cancels a previously registered Merkle root + // /// @param root The Merkle root to cancel + // function cancelAuctionMerkleRoot(bytes32 root) external; + + // /// @notice Places a bid using a Merkle proof to verify token inclusion + // /// @param originContract The contract address of the token + // /// @param tokenId The ID of the token being bid on + // /// @param creator The creator of the auction + // /// @param merkleRoot The root hash of the Merkle tree + // /// @param currency The currency address for the bid + // /// @param bidAmount The amount of the bid + // /// @param proof The Merkle proof verifying token inclusion + // function bidWithAuctionMerkleProof( + // address originContract, + // uint256 tokenId, + // address creator, + // bytes32 merkleRoot, + // address currency, + // uint256 bidAmount, + // bytes32[] calldata proof + // ) external payable; + + // /// @notice Gets all Merkle roots registered by a user + // /// @param user The address of the user + // /// @return An array of Merkle roots + // function getUserAuctionMerkleRoots(address user) external view returns (bytes32[] memory); + + // /// @notice Gets the current nonce for a user's Merkle root + // /// @param user The address of the user + // /// @param root The Merkle root + // /// @return The current nonce value + // function getCreatorAuctionMerkleRootNonce(address user, bytes32 root) external view returns (uint256); + + // /// @notice Verifies if a token is included in a Merkle root + // /// @param root The Merkle root to check against + // /// @param origin The contract address of the token + // /// @param tokenId The ID of the token + // /// @param proof The Merkle proof for verification + // /// @return True if the token is included in the root, false otherwise + // function isTokenInRoot( + // bytes32 root, + // address origin, + // uint256 tokenId, + // bytes32[] calldata proof + // ) external pure returns (bool); } diff --git a/src/bazaar/SuperRareBazaarBase.sol b/src/bazaar/SuperRareBazaarBase.sol index aed2cac..011c956 100644 --- a/src/bazaar/SuperRareBazaarBase.sol +++ b/src/bazaar/SuperRareBazaarBase.sol @@ -256,4 +256,4 @@ abstract contract SuperRareBazaarBase is SuperRareBazaarStorage { } } } -} +} \ No newline at end of file diff --git a/src/bazaar/SuperRareBazaarStorage.sol b/src/bazaar/SuperRareBazaarStorage.sol index b1a8745..080db45 100644 --- a/src/bazaar/SuperRareBazaarStorage.sol +++ b/src/bazaar/SuperRareBazaarStorage.sol @@ -222,4 +222,4 @@ contract SuperRareBazaarStorage { uint256[50] private __gap; /// ALL NEW STORAGE MUST COME AFTER THIS -} +} \ No newline at end of file diff --git a/src/staking/registry/RareStakingRegistry.sol b/src/staking/registry/RareStakingRegistry.sol index b05070c..2968d24 100644 --- a/src/staking/registry/RareStakingRegistry.sol +++ b/src/staking/registry/RareStakingRegistry.sol @@ -13,8 +13,8 @@ import "openzeppelin-contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; import {strings} from "arachnid/solidity-stringutils/src/strings.sol"; import "@ensdomains/ens-contracts/registry/ReverseRegistrar.sol"; import "@ensdomains/ens-contracts/resolvers/profiles/INameResolver.sol"; -import "@uniswap/v3-core/interfaces/IUniswapV3Factory.sol"; -import "@uniswap/v3-core/interfaces/IUniswapV3Pool.sol"; +import "@uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol"; +import "@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol"; import "@uniswap/v3-periphery/libraries/OracleLibrary.sol"; import {IRarityPool} from "../token/IRarityPool.sol"; @@ -49,7 +49,7 @@ contract RareStakingRegistry is IRareStakingRegistry, AccessControlEnumerableUpg /*////////////////////////////////////////////////////////////////////////// Structs //////////////////////////////////////////////////////////////////////////*/ - + /// @notice A struct holding the Rarity pool staking address and the reward accumulator address. /// @dev Mainly for internal use since `Info` is exposed externally. struct RarityPoolContractPair { @@ -180,7 +180,10 @@ contract RareStakingRegistry is IRareStakingRegistry, AccessControlEnumerableUpg Admin Write Functions //////////////////////////////////////////////////////////////////////////*/ - function renounceRole(bytes32 role, address account) public virtual override(IAccessControlUpgradeable, AccessControlUpgradeable) { + function renounceRole( + bytes32 role, + address account + ) public virtual override(IAccessControlUpgradeable, AccessControlUpgradeable) { if (role == DEFAULT_ADMIN_ROLE && getRoleMemberCount(role) == 1) { revert RenouncingAdmin(); } diff --git a/src/staking/reward/RewardAccumulator.sol b/src/staking/reward/RewardAccumulator.sol index 1d2d701..15f5217 100644 --- a/src/staking/reward/RewardAccumulator.sol +++ b/src/staking/reward/RewardAccumulator.sol @@ -7,8 +7,8 @@ import {IERC20} from "openzeppelin-contracts/interfaces/IERC20.sol"; import {Address} from "openzeppelin-contracts/utils/Address.sol"; import {SafeCast} from "openzeppelin-contracts/utils/math/SafeCast.sol"; import {Initializable} from "openzeppelin-contracts-upgradeable/proxy/utils/Initializable.sol"; -import "@uniswap/v3-core/interfaces/IUniswapV3Factory.sol"; -import "@uniswap/v3-core/interfaces/IUniswapV3Pool.sol"; +import "@uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol"; +import "@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol"; import "@uniswap/v3-periphery/libraries/OracleLibrary.sol"; import {IRewardAccumulator} from "./IRewardAccumulator.sol"; @@ -47,19 +47,15 @@ contract RewardAccumulator is IRewardAccumulator, ReentrancyGuardUpgradeable { Public Write Functions //////////////////////////////////////////////////////////////////////////*/ /// @inheritdoc IRewardAccumulator - function rewardSwap( - address _tokenOut, - uint256 _minAmountOut, - uint128 _rareIn - ) external nonReentrant { - if (_minAmountOut == 0) revert ParameterValueTooLow( ); - if (_rareIn == 0) revert ParameterValueTooLow( ); + function rewardSwap(address _tokenOut, uint256 _minAmountOut, uint128 _rareIn) external nonReentrant { + if (_minAmountOut == 0) revert ParameterValueTooLow(); + if (_rareIn == 0) revert ParameterValueTooLow(); IERC20 rare = IERC20(IRareStakingRegistry(stakingPool.getStakingRegistry()).getRareAddress()); // Empty any excess $RARE to the staking pool if (rare.balanceOf(address(this)) > 0) { - SafeERC20.safeTransfer(IERC20(rare),address(stakingPool), rare.balanceOf(address(this))); + SafeERC20.safeTransfer(IERC20(rare), address(stakingPool), rare.balanceOf(address(this))); } // If ETH, check balance if (_tokenOut == address(0) && address(this).balance < _minAmountOut) { @@ -141,7 +137,9 @@ contract RewardAccumulator is IRewardAccumulator, ReentrancyGuardUpgradeable { } // If checking for Other_Token/RARE price, look up pool pair for Other_token/WETH - (int56[] memory otherTickCumulatives, ) = IUniswapV3Pool(stakingRegistry.getSwapPool(tokenOut)).observe(secondsAgos); + (int56[] memory otherTickCumulatives, ) = IUniswapV3Pool(stakingRegistry.getSwapPool(tokenOut)).observe( + secondsAgos + ); int56 otherTickCumulativesDelta = otherTickCumulatives[1] - otherTickCumulatives[0]; int24 otherTick = int24(otherTickCumulativesDelta / int32(secondsAgo)); diff --git a/src/test/staking/RarityPool.t.sol b/src/test/staking/RarityPool.t.sol index 87e4e11..ea17096 100644 --- a/src/test/staking/RarityPool.t.sol +++ b/src/test/staking/RarityPool.t.sol @@ -13,7 +13,7 @@ import {IERC20} from "openzeppelin-contracts/interfaces/IERC20.sol"; import "openzeppelin-contracts/utils/math/Math.sol"; import "@ensdomains/ens-contracts/registry/ReverseRegistrar.sol"; import "@ensdomains/ens-contracts/resolvers/Resolver.sol"; -import "@uniswap/v3-core/interfaces/pool/IUniswapV3PoolImmutables.sol"; +import "@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol"; import {strings} from "arachnid/solidity-stringutils/src/strings.sol"; import {ERC20} from "openzeppelin-contracts/token/ERC20/ERC20.sol"; @@ -76,10 +76,7 @@ contract RareStakeTest is Test { weth, defaultPayee ); - RewardAccumulatorFactory(address(rewardSwapFactoryProxy)).initialize( - address(rewardSwapTemp), - tokenOwner - ); + RewardAccumulatorFactory(address(rewardSwapFactoryProxy)).initialize(address(rewardSwapTemp), tokenOwner); RarityPoolFactory(address(factoryProxy)).initialize( address(registryProxy), address(sRareTemp), @@ -570,7 +567,6 @@ contract RareStakeTest is Test { rareStake.addRewards(tokenOwner, depositedReward); vm.stopPrank(); - uint256 rewardsTotal = rareStake.getRoundRewards(rareStake.getCurrentRound()); uint256 totalSRare = rareStake.totalSupplyAt(rareStake.getCurrentRound()); uint256 balanceSRare = rareStake.balanceOfAt(alice, rareStake.getCurrentRound()); diff --git a/src/test/v2/approver/ERC20ApprovalManager.t.sol b/src/test/v2/approver/ERC20ApprovalManager.t.sol new file mode 100644 index 0000000..7794b6c --- /dev/null +++ b/src/test/v2/approver/ERC20ApprovalManager.t.sol @@ -0,0 +1,177 @@ +// SPDX-License-Identifier: MIT +pragma solidity =0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {TestToken} from "../utils/TestToken.sol"; +import {ERC20ApprovalManager} from "../../../v2/approver/ERC20/ERC20ApprovalManager.sol"; + +contract ERC20ApprovalManagerTest is Test { + // Events to test + event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); + event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); + event ContractDisabled(address indexed disabler); + + // Constants + bytes32 constant MANAGER_ROLE = keccak256("MANAGER_ROLE"); + bytes32 constant OPERATOR_ROLE = keccak256("OPERATOR_ROLE"); + bytes32 constant DEFAULT_ADMIN_ROLE = 0x00; + + // Contracts + ERC20ApprovalManager public approvalManager; + TestToken public token; + + // Test addresses + address public constant ADMIN = address(0x1); + address public constant OPERATOR = address(0x2); + address public constant TOKEN_OWNER = address(0x3); + address public constant TOKEN_RECIPIENT = address(0x4); + uint256 public constant INITIAL_BALANCE = 1000 ether; + uint256 public constant TRANSFER_AMOUNT = 100 ether; + + function setUp() public { + // Deploy contracts + vm.startPrank(ADMIN); + approvalManager = new ERC20ApprovalManager(); + token = new TestToken(); + + // Setup initial state + token.mint(TOKEN_OWNER, INITIAL_BALANCE); + vm.stopPrank(); + } + + function test_InitialState() public { + // Check roles + assertTrue(approvalManager.hasRole(DEFAULT_ADMIN_ROLE, ADMIN)); + assertTrue(approvalManager.hasRole(MANAGER_ROLE, ADMIN)); + assertFalse(approvalManager.hasRole(OPERATOR_ROLE, OPERATOR)); + } + + function test_GrantOperatorRole() public { + vm.startPrank(ADMIN); + + vm.expectEmit(true, true, true, true); + emit RoleGranted(OPERATOR_ROLE, OPERATOR, ADMIN); + + approvalManager.grantOperatorRole(OPERATOR); + assertTrue(approvalManager.hasRole(OPERATOR_ROLE, OPERATOR)); + + vm.stopPrank(); + } + + function test_RevokeOperatorRole() public { + vm.startPrank(ADMIN); + + approvalManager.grantOperatorRole(OPERATOR); + assertTrue(approvalManager.hasRole(OPERATOR_ROLE, OPERATOR)); + + vm.expectEmit(true, true, true, true); + emit RoleRevoked(OPERATOR_ROLE, OPERATOR, ADMIN); + + approvalManager.revokeOperatorRole(OPERATOR); + assertFalse(approvalManager.hasRole(OPERATOR_ROLE, OPERATOR)); + + vm.stopPrank(); + } + + function test_BatchGrantOperatorRole() public { + vm.startPrank(ADMIN); + + address[] memory operators = new address[](2); + operators[0] = OPERATOR; + operators[1] = address(0x5); + + approvalManager.batchGrantOperatorRole(operators); + + assertTrue(approvalManager.hasRole(OPERATOR_ROLE, operators[0])); + assertTrue(approvalManager.hasRole(OPERATOR_ROLE, operators[1])); + + vm.stopPrank(); + } + + function test_BatchRevokeOperatorRole() public { + vm.startPrank(ADMIN); + + address[] memory operators = new address[](2); + operators[0] = OPERATOR; + operators[1] = address(0x5); + + approvalManager.batchGrantOperatorRole(operators); + approvalManager.batchRevokeOperatorRole(operators); + + assertFalse(approvalManager.hasRole(OPERATOR_ROLE, operators[0])); + assertFalse(approvalManager.hasRole(OPERATOR_ROLE, operators[1])); + + vm.stopPrank(); + } + + function test_TransferFrom() public { + vm.startPrank(ADMIN); + approvalManager.grantOperatorRole(OPERATOR); + vm.stopPrank(); + + vm.startPrank(TOKEN_OWNER); + token.approve(address(approvalManager), TRANSFER_AMOUNT); + vm.stopPrank(); + + vm.prank(OPERATOR); + approvalManager.transferFrom(address(token), TOKEN_OWNER, TOKEN_RECIPIENT, TRANSFER_AMOUNT); + + assertEq(token.balanceOf(TOKEN_RECIPIENT), TRANSFER_AMOUNT); + assertEq(token.balanceOf(TOKEN_OWNER), INITIAL_BALANCE - TRANSFER_AMOUNT); + } + + function test_TransferFromRevertsForNonOperator() public { + vm.startPrank(TOKEN_OWNER); + token.approve(address(approvalManager), TRANSFER_AMOUNT); + vm.stopPrank(); + + vm.prank(address(0x6)); // Non-operator address + vm.expectRevert(ERC20ApprovalManager.NotOperator.selector); + approvalManager.transferFrom(address(token), TOKEN_OWNER, TOKEN_RECIPIENT, TRANSFER_AMOUNT); + } + + function test_TransferFromRevertsWhenNotApproved() public { + vm.startPrank(ADMIN); + approvalManager.grantOperatorRole(OPERATOR); + vm.stopPrank(); + + // Note: Not approving the approval manager + + vm.prank(OPERATOR); + vm.expectRevert("ERC20: insufficient allowance"); + approvalManager.transferFrom(address(token), TOKEN_OWNER, TOKEN_RECIPIENT, TRANSFER_AMOUNT); + } + + function test_HasAllowance() public { + vm.startPrank(TOKEN_OWNER); + token.approve(address(approvalManager), TRANSFER_AMOUNT); + vm.stopPrank(); + + assertEq(token.allowance(TOKEN_OWNER, address(approvalManager)), TRANSFER_AMOUNT); + assertTrue(token.allowance(TOKEN_OWNER, address(approvalManager)) >= TRANSFER_AMOUNT); + assertFalse(token.allowance(TOKEN_OWNER, address(approvalManager)) >= TRANSFER_AMOUNT + 1); + } + + function test_OnlyManagerCanGrantRole() public { + vm.prank(OPERATOR); + vm.expectRevert( + abi.encodePacked("AccessControl: account ", vm.toString(OPERATOR), " is missing role ", vm.toString(MANAGER_ROLE)) + ); + approvalManager.grantOperatorRole(address(0x6)); + } + + function test_TransferFrom_RevertsWhenDisabled() public { + vm.startPrank(ADMIN); + approvalManager.grantOperatorRole(OPERATOR); + approvalManager.disable(); + vm.stopPrank(); + + vm.startPrank(TOKEN_OWNER); + token.approve(address(approvalManager), TRANSFER_AMOUNT); + vm.stopPrank(); + + vm.prank(OPERATOR); + vm.expectRevert(ERC20ApprovalManager.ContractDisabledError.selector); + approvalManager.transferFrom(address(token), TOKEN_OWNER, TOKEN_RECIPIENT, TRANSFER_AMOUNT); + } +} diff --git a/src/test/v2/approver/ERC721ApprovalManager.t.sol b/src/test/v2/approver/ERC721ApprovalManager.t.sol new file mode 100644 index 0000000..00dfe4d --- /dev/null +++ b/src/test/v2/approver/ERC721ApprovalManager.t.sol @@ -0,0 +1,202 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {TestNFT} from "../utils/TestNFT.sol"; +import {ERC721ApprovalManager} from "../../../v2/approver/ERC721/ERC721ApprovalManager.sol"; + +contract ERC721ApprovalManagerTest is Test { + // Events to test + event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); + event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); + + // Constants + bytes32 constant MANAGER_ROLE = keccak256("MANAGER_ROLE"); + bytes32 constant OPERATOR_ROLE = keccak256("OPERATOR_ROLE"); + bytes32 constant DEFAULT_ADMIN_ROLE = 0x00; + + // Contracts + ERC721ApprovalManager public approvalManager; + TestNFT public nft; + + // Test addresses + address public constant ADMIN = address(0x1); + address public constant OPERATOR = address(0x2); + address public constant TOKEN_OWNER = address(0x3); + address public constant TOKEN_RECIPIENT = address(0x4); + uint256 public constant TOKEN_ID = 0; // TestNFT starts counting from 0 + + function setUp() public { + // Deploy contracts + vm.startPrank(ADMIN); + approvalManager = new ERC721ApprovalManager(); + nft = new TestNFT(); + + // Setup initial state + uint256 tokenId = nft.mint(TOKEN_OWNER); + assertEq(tokenId, TOKEN_ID); + vm.stopPrank(); + } + + function test_InitialState() public { + // Check roles + assertTrue(approvalManager.hasRole(DEFAULT_ADMIN_ROLE, ADMIN)); + assertTrue(approvalManager.hasRole(MANAGER_ROLE, ADMIN)); + assertFalse(approvalManager.hasRole(OPERATOR_ROLE, OPERATOR)); + } + + function test_GrantOperatorRole() public { + vm.startPrank(ADMIN); + + vm.expectEmit(true, true, true, true); + emit RoleGranted(OPERATOR_ROLE, OPERATOR, ADMIN); + + approvalManager.grantOperatorRole(OPERATOR); + assertTrue(approvalManager.hasRole(OPERATOR_ROLE, OPERATOR)); + + vm.stopPrank(); + } + + function test_RevokeOperatorRole() public { + vm.startPrank(ADMIN); + + approvalManager.grantOperatorRole(OPERATOR); + assertTrue(approvalManager.hasRole(OPERATOR_ROLE, OPERATOR)); + + vm.expectEmit(true, true, true, true); + emit RoleRevoked(OPERATOR_ROLE, OPERATOR, ADMIN); + + approvalManager.revokeOperatorRole(OPERATOR); + assertFalse(approvalManager.hasRole(OPERATOR_ROLE, OPERATOR)); + + vm.stopPrank(); + } + + function test_BatchGrantOperatorRole() public { + vm.startPrank(ADMIN); + + address[] memory operators = new address[](2); + operators[0] = OPERATOR; + operators[1] = address(0x5); + + approvalManager.batchGrantOperatorRole(operators); + + assertTrue(approvalManager.hasRole(OPERATOR_ROLE, operators[0])); + assertTrue(approvalManager.hasRole(OPERATOR_ROLE, operators[1])); + + vm.stopPrank(); + } + + function test_BatchRevokeOperatorRole() public { + vm.startPrank(ADMIN); + + address[] memory operators = new address[](2); + operators[0] = OPERATOR; + operators[1] = address(0x5); + + approvalManager.batchGrantOperatorRole(operators); + approvalManager.batchRevokeOperatorRole(operators); + + assertFalse(approvalManager.hasRole(OPERATOR_ROLE, operators[0])); + assertFalse(approvalManager.hasRole(OPERATOR_ROLE, operators[1])); + + vm.stopPrank(); + } + + function test_TransferFrom() public { + vm.startPrank(ADMIN); + approvalManager.grantOperatorRole(OPERATOR); + vm.stopPrank(); + + vm.startPrank(TOKEN_OWNER); + nft.setApprovalForAll(address(approvalManager), true); + vm.stopPrank(); + + vm.prank(OPERATOR); + approvalManager.transferFrom(address(nft), TOKEN_OWNER, TOKEN_RECIPIENT, TOKEN_ID); + + assertEq(nft.ownerOf(TOKEN_ID), TOKEN_RECIPIENT); + } + + function test_SafeTransferFrom() public { + vm.startPrank(ADMIN); + approvalManager.grantOperatorRole(OPERATOR); + vm.stopPrank(); + + vm.startPrank(TOKEN_OWNER); + nft.setApprovalForAll(address(approvalManager), true); + vm.stopPrank(); + + vm.prank(OPERATOR); + approvalManager.safeTransferFrom(address(nft), TOKEN_OWNER, TOKEN_RECIPIENT, TOKEN_ID, ""); + + assertEq(nft.ownerOf(TOKEN_ID), TOKEN_RECIPIENT); + } + + function test_TransferFromRevertsForNonOperator() public { + vm.startPrank(TOKEN_OWNER); + nft.setApprovalForAll(address(approvalManager), true); + vm.stopPrank(); + + vm.prank(address(0x6)); // Non-operator address + vm.expectRevert( + abi.encodePacked( + "AccessControl: account ", + vm.toString(address(0x6)), + " is missing role ", + vm.toString(OPERATOR_ROLE) + ) + ); + approvalManager.transferFrom(address(nft), TOKEN_OWNER, TOKEN_RECIPIENT, TOKEN_ID); + } + + function test_TransferFromRevertsWhenNotApproved() public { + vm.startPrank(ADMIN); + approvalManager.grantOperatorRole(OPERATOR); + vm.stopPrank(); + + // Note: Not setting approval for the approval manager + + vm.prank(OPERATOR); + vm.expectRevert("ERC721: caller is not token owner or approved"); + approvalManager.transferFrom(address(nft), TOKEN_OWNER, TOKEN_RECIPIENT, TOKEN_ID); + } + + function test_OnlyManagerCanGrantRole() public { + vm.prank(OPERATOR); + vm.expectRevert( + abi.encodePacked("AccessControl: account ", vm.toString(OPERATOR), " is missing role ", vm.toString(MANAGER_ROLE)) + ); + approvalManager.grantOperatorRole(address(0x6)); + } + + function test_TransferFrom_RevertsWhenDisabled() public { + vm.startPrank(ADMIN); + approvalManager.grantOperatorRole(OPERATOR); + approvalManager.disable(); + vm.stopPrank(); + + vm.startPrank(TOKEN_OWNER); + nft.setApprovalForAll(address(approvalManager), true); + vm.stopPrank(); + + vm.prank(OPERATOR); + vm.expectRevert(ERC721ApprovalManager.ContractDisabledError.selector); + approvalManager.transferFrom(address(nft), TOKEN_OWNER, TOKEN_RECIPIENT, TOKEN_ID); + } + + function test_SafeTransferFrom_RevertsWhenDisabled() public { + vm.startPrank(ADMIN); + approvalManager.grantOperatorRole(OPERATOR); + approvalManager.disable(); + vm.stopPrank(); + + vm.startPrank(TOKEN_OWNER); + nft.setApprovalForAll(address(approvalManager), true); + vm.stopPrank(); + + vm.prank(OPERATOR); + vm.expectRevert(ERC721ApprovalManager.ContractDisabledError.selector); + approvalManager.safeTransferFrom(address(nft), TOKEN_OWNER, TOKEN_RECIPIENT, TOKEN_ID, ""); + } +} diff --git a/src/test/v2/auctionhouse/RareBatchAuctionHouse.t.sol b/src/test/v2/auctionhouse/RareBatchAuctionHouse.t.sol new file mode 100644 index 0000000..eb75549 --- /dev/null +++ b/src/test/v2/auctionhouse/RareBatchAuctionHouse.t.sol @@ -0,0 +1,1904 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; +pragma abicoder v2; + +import "forge-std/Test.sol"; +import {IERC721} from "openzeppelin-contracts/token/ERC721/IERC721.sol"; +import {IERC20} from "openzeppelin-contracts/token/ERC20/IERC20.sol"; +import {Merkle} from "murky/Merkle.sol"; +import {ERC721} from "openzeppelin-contracts/token/ERC721/ERC721.sol"; +import {ERC20} from "openzeppelin-contracts/token/ERC20/ERC20.sol"; +import "openzeppelin-contracts/utils/cryptography/MerkleProof.sol"; +import {ERC1967Proxy} from "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {IMarketplaceSettings} from "rareprotocol/aux/marketplace/IMarketplaceSettings.sol"; +import {IRoyaltyEngineV1} from "royalty-registry/IRoyaltyEngineV1.sol"; +import {ISpaceOperatorRegistry} from "rareprotocol/aux/registry/interfaces/ISpaceOperatorRegistry.sol"; +import {IApprovedTokenRegistry} from "rareprotocol/aux/registry/interfaces/IApprovedTokenRegistry.sol"; +import {IPayments} from "rareprotocol/aux/payments/IPayments.sol"; + +import {RareBatchAuctionHouse} from "../../../v2/auctionhouse/RareBatchAuctionHouse.sol"; +import {IRareBatchAuctionHouse} from "../../../v2/auctionhouse/IRareBatchAuctionHouse.sol"; +import {IStakingSettings} from "../../../marketplace/IStakingSettings.sol"; +import {TestNFT} from "../utils/TestNft.sol"; +import {TestToken} from "../utils/TestToken.sol"; +import {ERC20ApprovalManager} from "../../../v2/approver/ERC20/ERC20ApprovalManager.sol"; +import {ERC721ApprovalManager} from "../../../v2/approver/ERC721/ERC721ApprovalManager.sol"; + +/// @title SuperRareAuctionHouseV2MerkleTest +/// @notice Tests for the Merkle auction functionality in SuperRareAuctionHouseV2 +contract RareBatchAuctionHouseTest is Test { + // Events - copied from IRareBatchAuctionHouse for testing + event AuctionSettled( + address indexed contractAddress, + uint256 indexed tokenId, + address seller, + address bidder, + uint128 amount, + address currencyAddress, + uint8 marketplaceFee + ); + + RareBatchAuctionHouse public auctionHouse; + RareBatchAuctionHouse public auctionHouseImplementation; + // Mock addresses for dependencies + address marketplaceSettings = makeAddr("marketplaceSettings"); + address royaltyEngine = makeAddr("royaltyEngine"); + address spaceOperatorRegistry = makeAddr("spaceOperatorRegistry"); + address approvedTokenRegistry = makeAddr("approvedTokenRegistry"); + address payments = makeAddr("payments"); + address stakingRegistry = makeAddr("stakingRegistry"); + address stakingSettings = makeAddr("stakingSettings"); // New dependency in V2 + address networkBeneficiary = makeAddr("networkBeneficiary"); + + // Test contracts + TestNFT public nftContract; + TestToken public currencyContract; + ERC20ApprovalManager public erc20ApprovalManager; + ERC721ApprovalManager public erc721ApprovalManager; + + // Test users + address public admin; + address public auctionCreator; + address public bidder; + + // Test data + uint256 public tokenId; + bytes32 public merkleRoot; + bytes32[] public merkleProof; + IRareBatchAuctionHouse.MerkleAuctionConfig public auctionConfig; + + // Helper contract + Merkle public merkle; + + // Constants + uint64 public constant AUCTION_DURATION = 1 days; + uint128 public constant STARTING_AMOUNT = 1 ether; + uint8 public constant SPLIT_RATIO = 100; + + function setUp() public { + // Setup test users + admin = makeAddr("admin"); + auctionCreator = makeAddr("auctionCreator"); + bidder = makeAddr("bidder"); + + // Deploy approval managers first + erc20ApprovalManager = new ERC20ApprovalManager(); + erc721ApprovalManager = new ERC721ApprovalManager(); + + // Deploy other contracts + auctionHouseImplementation = new RareBatchAuctionHouse(); + auctionHouse = RareBatchAuctionHouse(payable(address(new ERC1967Proxy(address(auctionHouseImplementation), "")))); + merkle = new Merkle(); + nftContract = new TestNFT(); + currencyContract = new TestToken(); + + // Initialize AuctionHouse with approval managers + auctionHouse.initialize( + marketplaceSettings, + royaltyEngine, + spaceOperatorRegistry, + approvedTokenRegistry, + payments, + stakingRegistry, + stakingSettings, + networkBeneficiary, + address(erc20ApprovalManager), + address(erc721ApprovalManager) + ); + + // Set up approval manager roles - admin must be the DEFAULT_ADMIN_ROLE first + vm.startPrank(address(this)); // The test contract deploys the approval managers, so it has DEFAULT_ADMIN_ROLE + erc20ApprovalManager.grantRole(erc20ApprovalManager.DEFAULT_ADMIN_ROLE(), admin); + erc721ApprovalManager.grantRole(erc721ApprovalManager.DEFAULT_ADMIN_ROLE(), admin); + vm.stopPrank(); + + // Now admin can grant OPERATOR_ROLE to the auction house + vm.startPrank(admin); + erc20ApprovalManager.grantRole(erc20ApprovalManager.OPERATOR_ROLE(), address(auctionHouse)); + erc721ApprovalManager.grantRole(erc721ApprovalManager.OPERATOR_ROLE(), address(auctionHouse)); + vm.stopPrank(); + + // Setup test NFTs - mint multiple tokens to create a proper Merkle tree + uint256[] memory tokenIds = nftContract.mintBatch(auctionCreator, 3); + tokenId = tokenIds[0]; // Use the first token for our test + + // Setup auction config + address payable[] memory splitAddresses = new address payable[](1); + splitAddresses[0] = payable(makeAddr("splitRecipient")); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + + auctionConfig = IRareBatchAuctionHouse.MerkleAuctionConfig({ + currency: address(currencyContract), + startingAmount: STARTING_AMOUNT, + duration: AUCTION_DURATION, + splitAddresses: splitAddresses, + splitRatios: splitRatios, + nonce: 0 // Added this field which exists in V2 + }); + + // Setup Merkle tree with multiple tokens + address[] memory contracts = new address[](3); + uint256[] memory ids = new uint256[](3); + for (uint256 i = 0; i < 3; i++) { + contracts[i] = address(nftContract); + ids[i] = tokenIds[i]; + } + (merkleRoot, merkleProof) = _createMerkleTree(contracts, ids, 0); // Get proof for first token (index 0) + + // Fund test users + vm.deal(admin, 10 ether); + vm.deal(auctionCreator, 10 ether); + vm.deal(bidder, 10 ether); + + // Fund users with test tokens + currencyContract.mint(bidder, 1000 * 10 ** currencyContract.decimals()); + + // Default Mocks + // Mock marketplace settings + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(uint8(3)) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceMaxValue.selector), + abi.encode(type(uint256).max) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceMinValue.selector), + abi.encode(uint256(0)) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, STARTING_AMOUNT), + abi.encode((STARTING_AMOUNT * 3) / 100) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, address(nftContract), 3), + abi.encode(false) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector( + IMarketplaceSettings.getERC721ContractPrimarySaleFeePercentage.selector, + address(nftContract) + ), + abi.encode(15) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.markERC721Token.selector, address(nftContract)), + abi.encode() + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, address(nftContract)), + abi.encode(false) + ); + + // Mock staking settings + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, STARTING_AMOUNT), + abi.encode((STARTING_AMOUNT * 3) / 100) + ); + vm.mockCall(stakingSettings, abi.encodeWithSignature("calculateStakingFee(uint256)"), abi.encode(0)); + + // Mock royalty engine + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyaltyView.selector), + abi.encode(new address payable[](0), new uint256[](0)) + ); + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector), + abi.encode(new address payable[](0), new uint256[](0)) + ); + + // Mock space operator registry + vm.mockCall( + spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.isApprovedSpaceOperator.selector), + abi.encode(true) + ); + vm.mockCall( + spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.getPlatformCommission.selector), + abi.encode(uint8(0)) + ); + + // Mock approved token registry + vm.mockCall( + approvedTokenRegistry, + abi.encodeWithSelector(IApprovedTokenRegistry.isApprovedToken.selector), + abi.encode(true) + ); + + // Mock payments + vm.mockCall(payments, abi.encodeWithSelector(IPayments.refund.selector), abi.encode()); + vm.mockCall(payments, abi.encodeWithSelector(IPayments.payout.selector), abi.encode()); + + // Mock staking registry + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(bytes4(keccak256("getRewardAccumulatorAddressForUser(address)"))), + abi.encode(address(0)) + ); + } + + // Helper function to create a Merkle tree with multiple tokens and get proof for specific token + function _createMerkleTree( + address[] memory contracts, + uint256[] memory tokenIds, + uint256 proofIndex + ) internal view returns (bytes32 root, bytes32[] memory proof) { + require(contracts.length == tokenIds.length, "Length mismatch"); + require(proofIndex < contracts.length, "Invalid proof index"); + + bytes32[] memory leaves = new bytes32[](contracts.length); + + for (uint256 i = 0; i < contracts.length; i++) { + leaves[i] = keccak256(abi.encodePacked(contracts[i], tokenIds[i])); + } + + root = merkle.getRoot(leaves); + proof = merkle.getProof(leaves, proofIndex); + + return (root, proof); + } + + // Helper function to create a fresh Merkle tree with newly minted tokens + function _createFreshMerkleTree( + uint256 numTokens + ) internal returns (bytes32 root, bytes32[] memory proof, uint256[] memory tokenIds, uint256 firstTokenId) { + // Mint fresh tokens + tokenIds = new uint256[](numTokens); + address[] memory contracts = new address[](numTokens); + + for (uint256 i = 0; i < numTokens; i++) { + tokenIds[i] = nftContract.mint(auctionCreator); + contracts[i] = address(nftContract); + + // Approve each token + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.stopPrank(); + } + + firstTokenId = tokenIds[0]; + + // Create Merkle tree + bytes32[] memory leaves = new bytes32[](numTokens); + for (uint256 i = 0; i < numTokens; i++) { + leaves[i] = keccak256(abi.encodePacked(contracts[i], tokenIds[i])); + } + + root = merkle.getRoot(leaves); + proof = merkle.getProof(leaves, 0); // Get proof for first token + + return (root, proof, tokenIds, firstTokenId); + } + + function test_registerAuctionMerkleRoot() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Register the auction merkle root + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + + // Verify the root was registered + bytes32[] memory roots = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(roots.length, 1, "Should have one root registered"); + assertEq(roots[0], root, "Registered root should match"); + + // Verify the nonce was incremented + uint256 nonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, root); + assertEq(nonce, 1, "Nonce should be 1"); + + vm.stopPrank(); + } + + function test_registerAuctionMerkleRoot_invalidCurrency() public { + // Create an invalid currency contract + TestToken invalidCurrency = new TestToken(); + + // Setup split addresses and ratios + address payable[] memory splitAddresses = new address payable[](1); + splitAddresses[0] = payable(makeAddr("splitRecipient")); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + + // Mock isApprovedToken to return false for the invalid currency + vm.mockCall( + approvedTokenRegistry, + abi.encodeWithSelector(IApprovedTokenRegistry.isApprovedToken.selector, address(invalidCurrency)), + abi.encode(false) + ); + + // Try to register with invalid currency + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.expectRevert("Not approved currency"); + auctionHouse.registerAuctionMerkleRoot( + merkleRoot, + address(invalidCurrency), + STARTING_AMOUNT, + AUCTION_DURATION, + splitAddresses, + splitRatios + ); + vm.stopPrank(); + } + + function test_registerAuctionMerkleRoot_zeroDuration() public { + // Setup split addresses and ratios + address payable[] memory splitAddresses = new address payable[](1); + splitAddresses[0] = payable(makeAddr("splitRecipient")); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + + // Try to register with zero duration + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.expectRevert("registerAuctionMerkleRoot::Duration must be greater than 0"); + auctionHouse.registerAuctionMerkleRoot( + merkleRoot, + address(currencyContract), + STARTING_AMOUNT, + 0, // Zero duration + splitAddresses, + splitRatios + ); + vm.stopPrank(); + } + + function test_registerAuctionMerkleRoot_minimumValidDuration() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Setup split addresses and ratios + address payable[] memory splitAddresses = new address payable[](1); + splitAddresses[0] = payable(makeAddr("splitRecipient")); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + + // Register with minimum valid duration (1 second) + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + 1, // Minimum valid duration + splitAddresses, + splitRatios + ); + + // Verify the root was registered successfully + bytes32[] memory roots = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(roots.length, 1, "Should have one root registered"); + assertEq(roots[0], root, "Registered root should match"); + + // Verify the config was saved correctly + IRareBatchAuctionHouse.MerkleAuctionConfig memory config = auctionHouse.getMerkleAuctionConfig( + auctionCreator, + root + ); + assertEq(config.duration, 1, "Duration should be 1 second"); + + vm.stopPrank(); + } + + function test_cancelAuctionMerkleRoot() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify root is registered + bytes32[] memory roots = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(roots.length, 1, "Root should be registered"); + + // Cancel the root + vm.startPrank(auctionCreator); + auctionHouse.cancelAuctionMerkleRoot(root); + vm.stopPrank(); + + // Verify root is removed + roots = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(roots.length, 0, "Root should be removed"); + } + + function test_cancelAuctionMerkleRoot_notOwner() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Try to cancel as non-owner + vm.startPrank(bidder); + vm.expectRevert("cancelAuctionMerkleRoot::Not root owner"); + auctionHouse.cancelAuctionMerkleRoot(root); + vm.stopPrank(); + + // Verify root is still registered + bytes32[] memory roots = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(roots.length, 1, "Root should still be registered"); + } + + function test_bidWithAuctionMerkleProof() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, uint256[] memory tokenIds, uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the auction merkle root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + uint256 requiredAmount = STARTING_AMOUNT + + IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + vm.stopPrank(); + + // Place bid + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Verify auction was created + ( + address auctionCreatorAddr, + uint32 creationBlock, + uint64 startTime, + uint64 lengthOfAuction, + address currencyAddr, + uint128 minimumBid, + , + + ) = auctionHouse.getAuctionDetails(address(nftContract), firstTokenId); + assertEq(auctionCreatorAddr, auctionCreator, "Creator should be the one who created the Merkle root"); + assertEq(minimumBid, STARTING_AMOUNT, "Bid amount should match"); + assertEq(startTime + lengthOfAuction, block.timestamp + AUCTION_DURATION, "Auction duration should be correct"); + + // Verify current bidder + (address currentBidder, address bidCurrency, uint128 bidAmount, ) = auctionHouse.getCurrentBid( + address(nftContract), + firstTokenId + ); + assertEq(currentBidder, bidder, "Bidder should be the current highest bidder"); + assertEq(bidAmount, STARTING_AMOUNT, "Bid amount should match"); + assertEq(bidCurrency, address(currencyContract), "Currency should match"); + } + + function test_bidWithAuctionMerkleProof_invalidProof() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory validProof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + currencyContract.approve(address(erc20ApprovalManager), STARTING_AMOUNT); + vm.stopPrank(); + + // Create invalid proof + bytes32[] memory invalidProof = new bytes32[](validProof.length); + for (uint256 i = 0; i < validProof.length; i++) { + invalidProof[i] = bytes32(uint256(validProof[i]) + 1); + } + + // Try to place bid with invalid proof + vm.startPrank(bidder); + vm.expectRevert("bidWithAuctionMerkleProof::Invalid Merkle proof"); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + invalidProof + ); + vm.stopPrank(); + } + + function test_bidWithAuctionMerkleProof_replayProtection() public { + // Setup: Register the auction root + vm.startPrank(auctionCreator); + // Create Merkle tree and get proof for our specific token + address[] memory contracts = new address[](3); + uint256[] memory ids = new uint256[](3); + for (uint256 i = 0; i < 3; i++) { + contracts[i] = address(nftContract); + ids[i] = tokenId + i; + } + (bytes32 root, bytes32[] memory proof) = _createMerkleTree(contracts, ids, 0); + + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + + // Approve NFT after registering root + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + uint256 requiredAmount = STARTING_AMOUNT + + IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount * 2); // Double for two attempts + vm.stopPrank(); + + // Place first bid + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + tokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Try to place same bid again + vm.startPrank(bidder); + vm.expectRevert("bidWithAuctionMerkleProof::Token already used for this Merkle root"); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + tokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + } + + function test_bidWithAuctionMerkleProof_ownershipVerification() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Transfer NFT to bidder + vm.startPrank(auctionCreator); + nftContract.transferFrom(auctionCreator, bidder, firstTokenId); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + currencyContract.approve(address(erc20ApprovalManager), STARTING_AMOUNT); + vm.stopPrank(); + + // Try to place bid with wrong owner + vm.startPrank(bidder); + vm.expectRevert("bidWithAuctionMerkleProof::Not token owner"); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, // Wrong owner + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + } + + function test_getUserAuctionMerkleRoots() public { + // Test with no roots + bytes32[] memory roots = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(roots.length, 0, "Should have no roots initially"); + + // Register multiple roots + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + + // Create and register first root + address[] memory contracts = new address[](3); + uint256[] memory ids = new uint256[](3); + for (uint256 i = 0; i < 3; i++) { + contracts[i] = address(nftContract); + ids[i] = tokenId + i; + } + (bytes32 root1, ) = _createMerkleTree(contracts, ids, 0); + auctionHouse.registerAuctionMerkleRoot( + root1, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + + // Create and register second root + for (uint256 i = 0; i < 3; i++) { + ids[i] = tokenId + i + 3; // Different token IDs + } + (bytes32 root2, ) = _createMerkleTree(contracts, ids, 0); + auctionHouse.registerAuctionMerkleRoot( + root2, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify both roots are returned + roots = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(roots.length, 2, "Should have two roots"); + assertEq(roots[0], root1, "First root should match"); + assertEq(roots[1], root2, "Second root should match"); + } + + function test_getCurrentAuctionMerkleRootNonce() public { + // Test initial nonce + uint256 nonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, merkleRoot); + assertEq(nonce, 0, "Initial nonce should be 0"); + + // Register root and check nonce + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + + address[] memory contracts = new address[](3); + uint256[] memory ids = new uint256[](3); + for (uint256 i = 0; i < 3; i++) { + contracts[i] = address(nftContract); + ids[i] = tokenId + i; + } + (bytes32 root, ) = _createMerkleTree(contracts, ids, 0); + + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify nonce was incremented + nonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, root); + assertEq(nonce, 1, "Nonce should be 1 after registration"); + } + + function test_isTokenInRoot() public { + // Create Merkle tree with multiple tokens + address[] memory contracts = new address[](3); + uint256[] memory ids = new uint256[](3); + for (uint256 i = 0; i < 3; i++) { + contracts[i] = address(nftContract); + ids[i] = tokenId + i; + } + (bytes32 root, bytes32[] memory proof) = _createMerkleTree(contracts, ids, 0); + + // Test valid proof + bool isInRoot = auctionHouse.isTokenInRoot(root, address(nftContract), tokenId, proof); + assertTrue(isInRoot, "Token should be in root"); + + // Test invalid proof + bytes32[] memory invalidProof = new bytes32[](proof.length); + for (uint256 i = 0; i < proof.length; i++) { + invalidProof[i] = bytes32(uint256(proof[i]) + 1); + } + isInRoot = auctionHouse.isTokenInRoot(root, address(nftContract), tokenId, invalidProof); + assertFalse(isInRoot, "Token should not be in root with invalid proof"); + + // Test token not in tree + isInRoot = auctionHouse.isTokenInRoot(root, address(nftContract), tokenId + 10, proof); + assertFalse(isInRoot, "Token should not be in root"); + } + + function test_dualNonceSystem_basicFlow() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, uint256[] memory tokenIds, uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Setup: Register initial auction root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify initial nonces + uint256 rootNonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, root); + assertEq(rootNonce, 1, "Initial root nonce should be 1"); + + // Mock platform commission + vm.mockCall( + address(spaceOperatorRegistry), + abi.encodeWithSelector(ISpaceOperatorRegistry.getPlatformCommission.selector, auctionCreator), + abi.encode(uint8(0)) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, address(nftContract), 6), + abi.encode(false) + ); + // Setup bidder with enough allowance for both bids including fees + vm.startPrank(bidder); + uint128 marketplaceFee = uint128( + IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT) + ); + uint128 totalRequiredAmount = (STARTING_AMOUNT + marketplaceFee) * 2; // Enough for two bids including fees + currencyContract.approve(address(erc20ApprovalManager), totalRequiredAmount); + vm.stopPrank(); + + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Verify token nonce was incremented + uint256 tokenNonce = auctionHouse.getTokenAuctionNonce(auctionCreator, root, address(nftContract), firstTokenId); + assertEq(tokenNonce, 1, "Token nonce should be 1 after sale"); + + // Settle the auction before trying to sell again + vm.warp(block.timestamp + AUCTION_DURATION + 1); + auctionHouse.settleAuction(address(nftContract), firstTokenId); + + // Approve token for new owner (bidder) + vm.startPrank(bidder); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.stopPrank(); + + // Try to sell same token again - should fail + vm.startPrank(bidder); + vm.expectRevert("bidWithAuctionMerkleProof::Token already used for this Merkle root"); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Create fresh tokens and Merkle tree for reconfiguration + ( + bytes32 newRoot, + bytes32[] memory newProof, + uint256[] memory newTokenIds, + uint256 newFirstTokenId + ) = _createFreshMerkleTree(3); + + // Reconfigure auction with new root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + newRoot, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify root nonce incremented + rootNonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, newRoot); + assertEq(rootNonce, 1, "New root nonce should be 1"); + + // Now new token can be sold under new configuration + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + newFirstTokenId, + auctionCreator, + newRoot, + STARTING_AMOUNT, + newProof + ); + vm.stopPrank(); + + // Settle the auction for newFirstTokenId + vm.warp(block.timestamp + AUCTION_DURATION + 1); + auctionHouse.settleAuction(address(nftContract), newFirstTokenId); + + // Verify token nonce updated + tokenNonce = auctionHouse.getTokenAuctionNonce(auctionCreator, newRoot, address(nftContract), newFirstTokenId); + assertEq(tokenNonce, 1, "New token nonce should be 1 after sale under new root"); + + // 5. Simulate Token Return to Creator + vm.startPrank(bidder); + // Need to approve the token for transfer + nftContract.approve(auctionCreator, firstTokenId); + nftContract.transferFrom(bidder, auctionCreator, firstTokenId); + vm.stopPrank(); + assertEq(nftContract.ownerOf(firstTokenId), auctionCreator, "Token should be back with creator"); + } + + function test_dualNonceSystem_multipleTokens() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, uint256[] memory tokenIds, uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup bidder + vm.startPrank(bidder); + currencyContract.approve(address(erc20ApprovalManager), STARTING_AMOUNT * 3); // Enough for three bids + vm.stopPrank(); + + // Bid on first token + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Create new Merkle tree for second token + ( + bytes32 newRoot, + bytes32[] memory newProof, + uint256[] memory newTokenIds, + uint256 newFirstTokenId + ) = _createFreshMerkleTree(3); + + // Register new root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + newRoot, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Bid on first token of new tree + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + newFirstTokenId, + auctionCreator, + newRoot, + STARTING_AMOUNT, + newProof + ); + vm.stopPrank(); + + // Verify nonces + uint256 token1Nonce = auctionHouse.getTokenAuctionNonce(auctionCreator, root, address(nftContract), firstTokenId); + uint256 token2Nonce = auctionHouse.getTokenAuctionNonce( + auctionCreator, + newRoot, + address(nftContract), + newFirstTokenId + ); + assertEq(token1Nonce, 1, "First token nonce should be 1"); + assertEq(token2Nonce, 1, "Second token nonce should be 1"); + } + + function test_dualNonceSystem_reconfiguration() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, uint256[] memory tokenIds, uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register initial root + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify initial nonce + uint256 rootNonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, root); + assertEq(rootNonce, 1, "Initial root nonce should be 1"); + + // Mock platform commission + vm.mockCall( + address(spaceOperatorRegistry), + abi.encodeWithSelector(ISpaceOperatorRegistry.getPlatformCommission.selector, auctionCreator), + abi.encode(uint8(0)) + ); + + vm.startPrank(bidder); + uint128 marketplaceFee = uint128( + IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT) + ); + uint128 totalRequiredAmount = (STARTING_AMOUNT + marketplaceFee) * 2; // Enough for two bids including fees + currencyContract.approve(address(erc20ApprovalManager), totalRequiredAmount); + vm.stopPrank(); + + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Settle the auction so the bidder gets the token + vm.warp(block.timestamp + AUCTION_DURATION + 1); + auctionHouse.settleAuction(address(nftContract), firstTokenId); + + // Transfer token back to auctionCreator + vm.startPrank(bidder); + nftContract.approve(auctionCreator, firstTokenId); + nftContract.transferFrom(bidder, auctionCreator, firstTokenId); + vm.stopPrank(); + + // Create new tokens and tree for reconfiguration + ( + bytes32 newRoot, + bytes32[] memory newProof, + uint256[] memory newTokenIds, + uint256 newFirstTokenId + ) = _createFreshMerkleTree(3); + + // Register new root + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + newRoot, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify nonces + rootNonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, newRoot); + uint256 token1Nonce = auctionHouse.getTokenAuctionNonce(auctionCreator, root, address(nftContract), firstTokenId); + uint256 token2Nonce = auctionHouse.getTokenAuctionNonce( + auctionCreator, + newRoot, + address(nftContract), + newFirstTokenId + ); + + assertEq(rootNonce, 1, "New root nonce should be 1"); + assertEq(token1Nonce, 1, "First token nonce should be 1"); + assertEq(token2Nonce, 0, "Second token nonce should be 0 (not used yet)"); + + // Bid on new token + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + newFirstTokenId, + auctionCreator, + newRoot, + STARTING_AMOUNT, + newProof + ); + vm.stopPrank(); + + // Settle the auction for newFirstTokenId + vm.warp(block.timestamp + AUCTION_DURATION + 1); + auctionHouse.settleAuction(address(nftContract), newFirstTokenId); + + // Verify final nonces + token2Nonce = auctionHouse.getTokenAuctionNonce(auctionCreator, newRoot, address(nftContract), newFirstTokenId); + assertEq(token2Nonce, 1, "Second token nonce should be 1 after bid"); + + // Verify token nonce was updated correctly + // The token's nonce for this root was effectively reset/deleted upon cancellation. + // The bid succeeds because the new root config nonce (2) is greater than the token's (now implicit 0). + // The bid sets the token's nonce to 1. + uint256 finalTokenNonce = auctionHouse.getTokenAuctionNonce( + auctionCreator, + root, + address(nftContract), + firstTokenId + ); + assertEq(finalTokenNonce, 1, "Token nonce should be 1 after successful bid under reconfigured root"); + } + + function test_bidWithAuctionMerkleProof_ETHPayment() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the auction merkle root with ETH as currency + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, + address(0), // ETH + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Mint ETH for the bidder + vm.deal(bidder, STARTING_AMOUNT * 2); // Give bidder some ETH + + // Calculate required amount including fee + uint128 marketplaceFee = uint128( + IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT) + ); + uint128 requiredAmount = STARTING_AMOUNT + marketplaceFee; + (address creator, , , , , , , ) = auctionHouse.getAuctionDetails(address(nftContract), firstTokenId); + assertEq(creator, address(0), "No auction should exist yet"); + // Place bid with ETH + vm.startPrank(bidder); + currencyContract.increaseAllowance(address(erc20ApprovalManager), requiredAmount); + auctionHouse.bidWithAuctionMerkleProof{value: requiredAmount}( + address(0), // ETH + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Verify auction was created + ( + address auctionCreatorAddr, + uint32 creationBlock, + uint64 startTime, + uint64 lengthOfAuction, + address currencyAddr, + uint128 minimumBid, + , + + ) = auctionHouse.getAuctionDetails(address(nftContract), firstTokenId); + assertEq(auctionCreatorAddr, auctionCreator, "Creator should be the one who created the Merkle root"); + assertEq(minimumBid, STARTING_AMOUNT, "Bid amount should match"); + assertEq(startTime + lengthOfAuction, block.timestamp + AUCTION_DURATION, "Auction duration should be correct"); + + // Verify current bidder and ETH bid + (address currentBidder, address bidCurrency, uint128 bidAmount, ) = auctionHouse.getCurrentBid( + address(nftContract), + firstTokenId + ); + assertEq(currentBidder, bidder, "Bidder should be the current highest bidder"); + assertEq(bidAmount, STARTING_AMOUNT, "Bid amount should match"); + assertEq(bidCurrency, address(0), "Currency should be ETH"); + + // Verify contract ETH balance increased + assertEq(address(auctionHouse).balance, requiredAmount, "AuctionHouse ETH balance incorrect"); + } + + function test_bidWithAuctionMerkleProof_ETH_InsufficientBalance() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the auction merkle root with ETH as currency + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, + address(0), // ETH + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Mint ETH for the bidder, but less than required + vm.deal(bidder, STARTING_AMOUNT / 2); + + // Calculate required amount including fee + uint128 marketplaceFee = uint128( + IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT) + ); + uint128 requiredAmount = STARTING_AMOUNT + marketplaceFee; + + // Try to place bid with insufficient ETH + vm.startPrank(bidder); + vm.expectRevert("not enough eth sent"); + auctionHouse.bidWithAuctionMerkleProof{value: STARTING_AMOUNT / 2}( + address(0), // ETH + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + } + + function test_bidWithAuctionMerkleProof_NonExistentTokenId() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the auction merkle root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + uint128 requiredAmount = STARTING_AMOUNT + + uint128(IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT)); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + vm.stopPrank(); + + uint256 nonExistentTokenId = 9999; + + // Try to place bid with non-existent token ID + vm.startPrank(bidder); + // Note: The Merkle proof validation happens first, so that's the expected revert. + vm.expectRevert("bidWithAuctionMerkleProof::Invalid Merkle proof"); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + nonExistentTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof // Using proof for firstTokenId, which won't match nonExistentTokenId + ); + vm.stopPrank(); + } + + function test_bidWithAuctionMerkleProof_MalformedProof() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory validProof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + uint128 requiredAmount = STARTING_AMOUNT + + uint128(IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT)); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + vm.stopPrank(); + + // Create malformed proof (modify one element) + bytes32[] memory malformedProof = new bytes32[](validProof.length); + for (uint256 i = 0; i < validProof.length; i++) { + malformedProof[i] = validProof[i]; + } + if (malformedProof.length > 0) { + malformedProof[0] = bytes32(uint256(malformedProof[0]) + 1); + } + + // Try to place bid with malformed proof + vm.startPrank(bidder); + vm.expectRevert("bidWithAuctionMerkleProof::Invalid Merkle proof"); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + malformedProof + ); + vm.stopPrank(); + } + + function test_bidWithAuctionMerkleProof_EmptyProof() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the auction merkle root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + uint128 requiredAmount = STARTING_AMOUNT + + uint128(IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT)); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + vm.stopPrank(); + + // Create empty proof + bytes32[] memory emptyProof = new bytes32[](0); + + // Try to place bid with empty proof + vm.startPrank(bidder); + vm.expectRevert("bidWithAuctionMerkleProof::Proof cannot be empty"); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + emptyProof + ); + vm.stopPrank(); + } + + function test_gas_bidWithLargeMerkleTree_ETH() public { + uint256 numTokens = 1000; + + // --- Create Large Merkle Tree --- + uint256[] memory tokenIds = new uint256[](numTokens); + address[] memory contracts = new address[](numTokens); + bytes32[] memory leaves = new bytes32[](numTokens); + + vm.startPrank(auctionCreator); + for (uint256 i = 0; i < numTokens; i++) { + tokenIds[i] = nftContract.mint(auctionCreator); + contracts[i] = address(nftContract); + leaves[i] = keccak256(abi.encodePacked(contracts[i], tokenIds[i])); + } + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.stopPrank(); + + bytes32 root = merkle.getRoot(leaves); + // Get proof for the middle token (index 500) + uint256 targetTokenIndex = numTokens / 2; + uint256 targetTokenId = tokenIds[targetTokenIndex]; + bytes32[] memory proof = merkle.getProof(leaves, targetTokenIndex); + // -------------------------------- + + // Register the auction merkle root with ETH as currency + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(0), // ETH + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Calculate required amount including fee + uint128 marketplaceFee = uint128( + IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT) + ); + uint128 requiredAmount = STARTING_AMOUNT + marketplaceFee; + + // Mint ETH for the bidder + vm.deal(bidder, requiredAmount * 2); // Give bidder enough ETH + + // Place bid with ETH for the target token + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof{value: requiredAmount}( + address(0), // ETH + address(nftContract), + targetTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Verify auction was created for the target token + (address creator, , , , , uint128 minimumBid, , ) = auctionHouse.getAuctionDetails( + address(nftContract), + targetTokenId + ); + assertEq(creator, auctionCreator, "Creator should be the one who created the Merkle root"); + assertEq(minimumBid, STARTING_AMOUNT, "Bid amount should match"); + + // Verify current bidder and ETH bid for the target token + (address currentBidder, address bidCurrency, uint128 bidAmount, ) = auctionHouse.getCurrentBid( + address(nftContract), + targetTokenId + ); + assertEq(currentBidder, bidder, "Bidder should be the current highest bidder"); + assertEq(bidAmount, STARTING_AMOUNT, "Bid amount should match"); + assertEq(bidCurrency, address(0), "Currency should be ETH"); + + // Verify contract ETH balance increased + assertEq(address(auctionHouse).balance, requiredAmount, "AuctionHouse ETH balance incorrect"); + } + + function test_rootManagement_reconfigureAfterFailedAuction() public { + // 1. Setup: Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Approve the first token for the initial registration + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.stopPrank(); + + // 2. Register the initial Merkle root + vm.startPrank(auctionCreator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify initial registration + uint256 initialNonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, root); + assertEq(initialNonce, 1, "Initial root nonce should be 1"); + assertTrue(auctionHouse.getUserAuctionMerkleRoots(auctionCreator)[0] == root, "Root should be registered"); + + // 3. Simulate Auction: Place initial bid to create auction state + vm.startPrank(bidder); + uint128 requiredAmount = STARTING_AMOUNT + + uint128(IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT)); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // 4. Simulate Auction End and Settlement (Token goes to bidder) + vm.warp(block.timestamp + AUCTION_DURATION + 1); + auctionHouse.settleAuction(address(nftContract), firstTokenId); + assertEq(nftContract.ownerOf(firstTokenId), bidder, "Token should be with bidder after settlement"); + + // 5. Simulate Token Return to Creator + vm.startPrank(bidder); + // Need to approve the token for transfer + nftContract.approve(auctionCreator, firstTokenId); + nftContract.transferFrom(bidder, auctionCreator, firstTokenId); + vm.stopPrank(); + assertEq(nftContract.ownerOf(firstTokenId), auctionCreator, "Token should be back with creator"); + + // 6. Creator Cancels the Root + vm.startPrank(auctionCreator); + auctionHouse.cancelAuctionMerkleRoot(root); + vm.stopPrank(); + + // Verify cancellation + bytes32[] memory rootsAfterCancel = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(rootsAfterCancel.length, 0, "Root should be cancelled"); + // Check config is zeroed out + IRareBatchAuctionHouse.MerkleAuctionConfig memory config = auctionHouse.getMerkleAuctionConfig( + auctionCreator, + root + ); + assertEq(config.currency, address(0), "Config currency should be zeroed out after cancel"); + assertEq(config.startingAmount, 0, "Config startingAmount should be zeroed out after cancel"); + + // 7. Creator Reconfigures the *Same* Root + vm.startPrank(auctionCreator); + // Approve the token again for the new registration/auction + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + auctionHouse.registerAuctionMerkleRoot( + root, // Using the same root + address(currencyContract), + STARTING_AMOUNT + 1 ether, // Change config slightly + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Verify re-registration and nonce increment + uint256 newNonce = auctionHouse.getCreatorAuctionMerkleRootNonce(auctionCreator, root); + assertEq(newNonce, 2, "Nonce should be 2 after re-registration"); + bytes32[] memory rootsAfterReconfigure = auctionHouse.getUserAuctionMerkleRoots(auctionCreator); + assertEq(rootsAfterReconfigure.length, 1, "Root should be registered again"); + assertEq(rootsAfterReconfigure[0], root, "Re-registered root should match"); + + // 8. Attempt Bid under New Nonce Configuration + vm.startPrank(bidder); + uint128 newStartingAmount = STARTING_AMOUNT + 1 ether; + uint128 newMarketplaceFee = uint128((newStartingAmount * 3) / 100); + + // Mock marketplace fee calculation for new amount + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, newStartingAmount), + abi.encode(newMarketplaceFee) + ); + + // Mock staking settings + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, newStartingAmount), + abi.encode(newMarketplaceFee) + ); + + uint128 newRequiredAmount = newStartingAmount + newMarketplaceFee; + // Ensure enough allowance for the new amount + currencyContract.approve(address(erc20ApprovalManager), newRequiredAmount); + vm.stopPrank(); + + // Place bid using the original proof but against the reconfigured root (nonce 2) + vm.startPrank(bidder); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, // Same token that was returned + auctionCreator, + root, + newStartingAmount, + proof // Original proof is still valid for the token inclusion in the root + ); + vm.stopPrank(); + + // Verify auction was created successfully under the new nonce + ( + address creator, + , + uint64 startTime, + uint64 lengthOfAuction, + address auctionCurrency, + uint128 minimumBid, + , + + ) = auctionHouse.getAuctionDetails(address(nftContract), firstTokenId); + assertEq(creator, auctionCreator, "Creator should match"); + assertEq(minimumBid, newStartingAmount, "Minimum bid should match new config"); + assertEq(auctionCurrency, address(currencyContract), "Currency should match new config"); + + // Verify token nonce was updated correctly + // The token's nonce for this root was effectively reset/deleted upon cancellation. + // The bid succeeds because the new root config nonce (2) is greater than the token's (now implicit 0). + // The bid sets the token's nonce to 1. + uint256 finalTokenNonce = auctionHouse.getTokenAuctionNonce( + auctionCreator, + root, + address(nftContract), + firstTokenId + ); + assertEq(finalTokenNonce, 2, "Token nonce should be 1 after successful bid under reconfigured root"); + + // 9. Complete the sale by settling the auction + vm.warp(block.timestamp + AUCTION_DURATION + 1); + auctionHouse.settleAuction(address(nftContract), firstTokenId); + + // Verify the token is transferred to the bidder + assertEq(nftContract.ownerOf(firstTokenId), bidder, "Token should be with bidder after settlement"); + } + + function test_initialize_cannotBeCalledTwice() public { + // Try to initialize again - should revert + vm.expectRevert("Initializable: contract is already initialized"); + auctionHouse.initialize( + marketplaceSettings, + royaltyEngine, + spaceOperatorRegistry, + approvedTokenRegistry, + payments, + stakingRegistry, + stakingSettings, + networkBeneficiary, + address(erc20ApprovalManager), + address(erc721ApprovalManager) + ); + } + + function test_initialize_implementationContractCannotBeInitialized() public { + // Deploy a fresh implementation contract + RareBatchAuctionHouse freshImplementation = new RareBatchAuctionHouse(); + + // Try to initialize the implementation contract directly - should revert + vm.expectRevert("Initializable: contract is already initialized"); + freshImplementation.initialize( + marketplaceSettings, + royaltyEngine, + spaceOperatorRegistry, + approvedTokenRegistry, + payments, + stakingRegistry, + stakingSettings, + networkBeneficiary, + address(erc20ApprovalManager), + address(erc721ApprovalManager) + ); + } + + /// @notice Test that the bid function follows CEI pattern (Checks-Effects-Interactions) + /// @dev This test verifies that state updates happen before external calls (refunds) + function test_bid_CEI_pattern() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the auction merkle root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup bidders with tokens + address bidder1 = makeAddr("bidder1"); + address bidder2 = makeAddr("bidder2"); + + currencyContract.mint(bidder1, 1000 * 10 ** currencyContract.decimals()); + currencyContract.mint(bidder2, 1000 * 10 ** currencyContract.decimals()); + + // Calculate required amounts for bids + uint128 bid1Amount = STARTING_AMOUNT; + uint128 bid2Amount = STARTING_AMOUNT + (STARTING_AMOUNT * 10) / 100; // 10% increase + + uint128 bid1Fee = uint128((bid1Amount * 3) / 100); // 3% fee + uint128 bid2Fee = uint128((bid2Amount * 3) / 100); // 3% fee + + uint128 bid1Required = bid1Amount + bid1Fee; + uint128 bid2Required = bid2Amount + bid2Fee; + + // Mock marketplace fee calculation for bid2Amount + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, bid2Amount), + abi.encode(bid2Fee) + ); + + // Setup: Approve the auction house to spend bidders' tokens + vm.startPrank(bidder1); + currencyContract.approve(address(erc20ApprovalManager), bid1Required); + vm.stopPrank(); + + vm.startPrank(bidder2); + currencyContract.approve(address(erc20ApprovalManager), bid2Required); + vm.stopPrank(); + + // Step 1: Create auction with first bid using bidWithAuctionMerkleProof + vm.startPrank(bidder1); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + bid1Amount, + proof + ); + vm.stopPrank(); + + // Verify auction was created and first bid recorded + (address currentBidder1, , uint128 currentAmount1, ) = auctionHouse.getCurrentBid( + address(nftContract), + firstTokenId + ); + assertEq(currentBidder1, bidder1, "First bidder should be current highest bidder"); + assertEq(currentAmount1, bid1Amount, "First bid amount should be recorded"); + + // Step 2: Place second bid using regular bid function to test CEI pattern + vm.startPrank(bidder2); + auctionHouse.bid(address(nftContract), firstTokenId, address(currencyContract), bid2Amount); + vm.stopPrank(); + + // Verify second bid was recorded (Effects happened before Interactions) + (address currentBidder2, , uint128 currentAmount2, ) = auctionHouse.getCurrentBid( + address(nftContract), + firstTokenId + ); + assertEq(currentBidder2, bidder2, "Second bidder should be current highest bidder"); + assertEq(currentAmount2, bid2Amount, "Second bid amount should be recorded"); + + // Verify first bidder was refunded (Interactions happened after Effects) + // The first bidder should have received their full bid amount + marketplace fee back + uint256 bidder1Balance = currencyContract.balanceOf(bidder1); + uint256 expectedBalance = 1000 * 10 ** currencyContract.decimals(); // Original balance (full refund including fee) + assertEq(bidder1Balance, expectedBalance, "First bidder should be fully refunded including marketplace fee"); + + // Verify auction house has the correct balance (second bid + fees) + uint256 auctionHouseBalance = currencyContract.balanceOf(address(auctionHouse)); + assertEq(auctionHouseBalance, bid2Required, "Auction house should hold second bid + fees"); + } + + /// @notice Test that zero-length Merkle proofs are rejected for auction bids + function test_bidWithAuctionMerkleProof_zeroLengthProofRejected() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the auction merkle root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + uint256 requiredAmount = STARTING_AMOUNT + + IMarketplaceSettings(marketplaceSettings).calculateMarketplaceFee(STARTING_AMOUNT); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Try to bid with zero-length proof (should fail) + bytes32[] memory emptyProof = new bytes32[](0); + + vm.expectRevert("bidWithAuctionMerkleProof::Proof cannot be empty"); + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + emptyProof // Zero-length proof + ); + vm.stopPrank(); + } + + /// @notice Test that isTokenInRoot returns false for zero-length proofs + function test_isTokenInRoot_zeroLengthProofReturnsFalse() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Create zero-length proof + bytes32[] memory emptyProof = new bytes32[](0); + + // Test that zero-length proof returns false + bool result = auctionHouse.isTokenInRoot(root, address(nftContract), firstTokenId, emptyProof); + assertFalse(result, "Zero-length proof should return false"); + } + + /// @notice Test that isTokenInRoot works correctly with valid proofs + function test_isTokenInRoot_validProofReturnsTrue() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Test that valid proof returns true + bool result = auctionHouse.isTokenInRoot(root, address(nftContract), firstTokenId, proof); + assertTrue(result, "Valid proof should return true"); + } + + /// @notice Test that marketplace fee drift during settlement is prevented + /// @dev This test verifies that the marketplace fee stored at bid time is used during settlement, + /// not the current marketplace fee percentage, preventing admin manipulation after auction ends + function test_settleAuction_usesStoredMarketplaceFee() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the auction merkle root + vm.startPrank(auctionCreator); + auctionHouse.registerAuctionMerkleRoot( + root, + address(currencyContract), + STARTING_AMOUNT, + AUCTION_DURATION, + auctionConfig.splitAddresses, + auctionConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the auction house to spend bidder's tokens + vm.startPrank(bidder); + uint8 originalFeePercentage = 3; // 3% fee at bid time + uint128 originalMarketplaceFee = uint128((STARTING_AMOUNT * originalFeePercentage) / 100); + uint128 requiredAmount = STARTING_AMOUNT + originalMarketplaceFee; + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Place bid with 3% marketplace fee + auctionHouse.bidWithAuctionMerkleProof( + address(currencyContract), + address(nftContract), + firstTokenId, + auctionCreator, + root, + STARTING_AMOUNT, + proof + ); + vm.stopPrank(); + + // Verify the bid was recorded with the original marketplace fee percentage + (, , , uint8 storedMarketplaceFeeAtTime) = auctionHouse.getCurrentBid(address(nftContract), firstTokenId); + assertEq(storedMarketplaceFeeAtTime, originalFeePercentage, "Stored marketplace fee should be 3%"); + + // Simulate malicious admin changing marketplace fee to 100% after auction ends + uint8 maliciousNewFeePercentage = 100; // 100% fee - malicious change + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(maliciousNewFeePercentage) + ); + + // Mock the new marketplace fee calculation (100% of bid amount) + uint128 maliciousMarketplaceFee = STARTING_AMOUNT; // 100% of bid amount + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, STARTING_AMOUNT), + abi.encode(maliciousMarketplaceFee) + ); + + // Mock additional calls needed for payout with the specific token ID + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, address(nftContract), firstTokenId), + abi.encode(false) + ); + + // Fast forward to auction end and settle + vm.warp(block.timestamp + AUCTION_DURATION + 1); + + // Expect the AuctionSettled event to be emitted with the ORIGINAL marketplace fee (3%), not the malicious one (100%) + vm.expectEmit(true, true, false, true); + emit AuctionSettled( + address(nftContract), + firstTokenId, + auctionCreator, + bidder, + STARTING_AMOUNT, + address(currencyContract), + originalFeePercentage // This should be the stored fee (3%), not the current malicious fee (100%) + ); + + auctionHouse.settleAuction(address(nftContract), firstTokenId); + + // Verify token was transferred to bidder + assertEq(nftContract.ownerOf(firstTokenId), bidder, "Token should be transferred to bidder"); + + // Additional verification: Check that the stored marketplace fee is still the original one + // This verifies that our fix preserves the original fee percentage in the event + (, , , uint8 finalStoredFee) = auctionHouse.getCurrentBid(address(nftContract), firstTokenId); + // Note: After settlement, the bid is deleted, so this will return 0 + // But the event should have emitted the correct stored fee + } +} diff --git a/src/test/v2/marketplace/RareBatchListingMarketplace.t.sol b/src/test/v2/marketplace/RareBatchListingMarketplace.t.sol new file mode 100644 index 0000000..8c5ebbb --- /dev/null +++ b/src/test/v2/marketplace/RareBatchListingMarketplace.t.sol @@ -0,0 +1,1254 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import "forge-std/Test.sol"; +import {IERC721} from "openzeppelin-contracts/token/ERC721/IERC721.sol"; +import {IERC20} from "openzeppelin-contracts/token/ERC20/IERC20.sol"; +import {Merkle} from "murky/Merkle.sol"; +import {ERC721} from "openzeppelin-contracts/token/ERC721/ERC721.sol"; +import {ERC20} from "openzeppelin-contracts/token/ERC20/ERC20.sol"; +import "openzeppelin-contracts/utils/cryptography/MerkleProof.sol"; +import {ERC1967Proxy} from "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {IMarketplaceSettings} from "rareprotocol/aux/marketplace/IMarketplaceSettings.sol"; +import {IRoyaltyEngineV1} from "royalty-registry/IRoyaltyEngineV1.sol"; +import {ISpaceOperatorRegistry} from "rareprotocol/aux/registry/interfaces/ISpaceOperatorRegistry.sol"; +import {IApprovedTokenRegistry} from "rareprotocol/aux/registry/interfaces/IApprovedTokenRegistry.sol"; +import {IPayments} from "rareprotocol/aux/payments/IPayments.sol"; + +import {RareBatchListingMarketplace} from "../../../v2/marketplace/RareBatchListingMarketplace.sol"; +import {IRareBatchListingMarketplace} from "../../../v2/marketplace/IRareBatchListingMarketplace.sol"; +import {IStakingSettings} from "../../../marketplace/IStakingSettings.sol"; +import {TestNFT} from "../utils/TestNft.sol"; +import {TestToken} from "../utils/TestToken.sol"; +import {ERC20ApprovalManager} from "../../../v2/approver/ERC20/ERC20ApprovalManager.sol"; +import {ERC721ApprovalManager} from "../../../v2/approver/ERC721/ERC721ApprovalManager.sol"; + +/// @title RareBatchListingMarketplaceTest +/// @notice Tests for the Merkle sale price functionality in RareBatchListingMarketplace +contract RareBatchListingMarketplaceTest is Test { + RareBatchListingMarketplace public marketplace; + RareBatchListingMarketplace public marketplaceImplementation; + + // Mock addresses for dependencies + address private _marketplaceSettings = makeAddr("marketplaceSettings"); + address private _royaltyEngine = makeAddr("royaltyEngine"); + address private _spaceOperatorRegistry = makeAddr("spaceOperatorRegistry"); + address private _approvedTokenRegistry = makeAddr("approvedTokenRegistry"); + address private _payments = makeAddr("payments"); + address private _stakingRegistry = makeAddr("stakingRegistry"); + address private _stakingSettings = makeAddr("stakingSettings"); + address private _networkBeneficiary = makeAddr("networkBeneficiary"); + + // Test contracts + TestNFT public nftContract; + TestToken public currencyContract; + ERC20ApprovalManager public erc20ApprovalManager; + ERC721ApprovalManager public erc721ApprovalManager; + + // Test users + address public admin; + address public creator; + address public buyer; + + // Test data + uint256 public tokenId; + bytes32 public merkleRoot; + bytes32[] public merkleProof; + IRareBatchListingMarketplace.MerkleSalePriceConfig public salePriceConfig; + + // Helper contract + Merkle public merkle; + + // Constants + uint256 public constant SALE_PRICE = 1 ether; + uint8 public constant SPLIT_RATIO = 100; + + function setUp() public { + // Setup test users + admin = makeAddr("admin"); + creator = makeAddr("creator"); + buyer = makeAddr("buyer"); + + // Deploy approval managers first + erc20ApprovalManager = new ERC20ApprovalManager(); + erc721ApprovalManager = new ERC721ApprovalManager(); + + // Deploy other contracts + marketplaceImplementation = new RareBatchListingMarketplace(); + marketplace = RareBatchListingMarketplace(address(new ERC1967Proxy(address(marketplaceImplementation), ""))); + merkle = new Merkle(); + nftContract = new TestNFT(); + currencyContract = new TestToken(); + + // Initialize marketplace with approval managers + marketplace.initialize( + _marketplaceSettings, + _royaltyEngine, + _spaceOperatorRegistry, + _approvedTokenRegistry, + _payments, + _stakingRegistry, + _stakingSettings, + _networkBeneficiary, + address(erc20ApprovalManager), + address(erc721ApprovalManager) + ); + + // Set up approval manager roles - admin must be the DEFAULT_ADMIN_ROLE first + vm.startPrank(address(this)); // The test contract deploys the approval managers, so it has DEFAULT_ADMIN_ROLE + erc20ApprovalManager.grantRole(erc20ApprovalManager.DEFAULT_ADMIN_ROLE(), admin); + erc721ApprovalManager.grantRole(erc721ApprovalManager.DEFAULT_ADMIN_ROLE(), admin); + vm.stopPrank(); + + // Now admin can grant OPERATOR_ROLE to the marketplace + vm.startPrank(admin); + erc20ApprovalManager.grantRole(erc20ApprovalManager.OPERATOR_ROLE(), address(marketplace)); + erc721ApprovalManager.grantRole(erc721ApprovalManager.OPERATOR_ROLE(), address(marketplace)); + vm.stopPrank(); + + // Setup test NFTs - mint multiple tokens to create a proper Merkle tree + uint256[] memory tokenIds = nftContract.mintBatch(creator, 3); + tokenId = tokenIds[0]; // Use the first token for our test + + // Setup creator's NFT approval + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.stopPrank(); + + // Setup sale price config + address payable[] memory splitAddresses = new address payable[](1); + splitAddresses[0] = payable(makeAddr("splitRecipient")); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + + salePriceConfig = IRareBatchListingMarketplace.MerkleSalePriceConfig({ + currency: address(currencyContract), + amount: SALE_PRICE, + splitRecipients: splitAddresses, + splitRatios: splitRatios, + nonce: 0 + }); + + // Setup Merkle tree with multiple tokens + address[] memory contracts = new address[](3); + uint256[] memory ids = new uint256[](3); + for (uint256 i = 0; i < 3; i++) { + contracts[i] = address(nftContract); + ids[i] = tokenIds[i]; + } + (merkleRoot, merkleProof) = _createMerkleTree(contracts, ids, 0); // Get proof for first token (index 0) + + // Fund test users + vm.deal(admin, 10 ether); + vm.deal(creator, 10 ether); + vm.deal(buyer, 10 ether); + + // Fund users with test tokens + currencyContract.mint(buyer, 1000 * 10 ** currencyContract.decimals()); + + // Default Mocks + // Mock marketplace settings + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(uint8(3)) + ); + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceMaxValue.selector), + abi.encode(type(uint256).max) + ); + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceMinValue.selector), + abi.encode(uint256(0)) + ); + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, SALE_PRICE), + abi.encode((SALE_PRICE * 3) / 100) + ); + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, address(nftContract), 3), + abi.encode(false) + ); + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector( + IMarketplaceSettings.getERC721ContractPrimarySaleFeePercentage.selector, + address(nftContract) + ), + abi.encode(15) + ); + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.markERC721Token.selector, address(nftContract)), + abi.encode() + ); + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, address(nftContract)), + abi.encode(false) + ); + + // Mock staking settings + vm.mockCall( + _stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, SALE_PRICE), + abi.encode((SALE_PRICE * 3) / 100) + ); + vm.mockCall(_stakingSettings, abi.encodeWithSignature("calculateStakingFee(uint256)"), abi.encode(0)); + + // Mock royalty engine + vm.mockCall( + _royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyaltyView.selector), + abi.encode(new address payable[](0), new uint256[](0)) + ); + vm.mockCall( + _royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector), + abi.encode(new address payable[](0), new uint256[](0)) + ); + + // Mock space operator registry + vm.mockCall( + _spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.isApprovedSpaceOperator.selector), + abi.encode(true) + ); + vm.mockCall( + _spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.getPlatformCommission.selector), + abi.encode(uint8(0)) + ); + + // Mock approved token registry + vm.mockCall( + _approvedTokenRegistry, + abi.encodeWithSelector(IApprovedTokenRegistry.isApprovedToken.selector), + abi.encode(true) + ); + + // Mock payments + vm.mockCall(_payments, abi.encodeWithSelector(IPayments.refund.selector), abi.encode()); + vm.mockCall(_payments, abi.encodeWithSelector(IPayments.payout.selector), abi.encode()); + + // Mock staking registry + vm.mockCall( + _stakingRegistry, + abi.encodeWithSelector(bytes4(keccak256("getRewardAccumulatorAddressForUser(address)"))), + abi.encode(address(0)) + ); + } + + /// @dev Helper function to create a Merkle tree and get proof for a specific token + function _createMerkleTree( + address[] memory _contracts, + uint256[] memory _tokenIds, + uint256 _proofIndex + ) internal returns (bytes32 root, bytes32[] memory proof) { + require(_contracts.length == _tokenIds.length, "_createMerkleTree: Array lengths must match"); + require(_proofIndex < _contracts.length, "_createMerkleTree: Proof index out of bounds"); + + bytes32[] memory leaves = new bytes32[](_contracts.length); + for (uint256 i = 0; i < _contracts.length; i++) { + leaves[i] = keccak256(abi.encodePacked(_contracts[i], _tokenIds[i])); + } + + root = merkle.getRoot(leaves); + proof = merkle.getProof(leaves, _proofIndex); + + return (root, proof); + } + + /// @dev Helper function to create fresh tokens and Merkle tree + function _createFreshMerkleTree( + uint256 _numTokens + ) internal returns (bytes32 root, bytes32[] memory proof, uint256[] memory tokenIds, uint256 firstTokenId) { + require(_numTokens > 0, "_createFreshMerkleTree: Must create at least one token"); + + // Mint new tokens + tokenIds = nftContract.mintBatch(creator, _numTokens); + firstTokenId = tokenIds[0]; + + // Setup creator's NFT approval + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + vm.stopPrank(); + + // Create arrays for Merkle tree + address[] memory contracts = new address[](_numTokens); + for (uint256 i = 0; i < _numTokens; i++) { + contracts[i] = address(nftContract); + } + + // Create Merkle tree and get proof for first token + (root, proof) = _createMerkleTree(contracts, tokenIds, 0); + + return (root, proof, tokenIds, firstTokenId); + } + + function test_registerSalePriceMerkleRoot_success() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + + // Verify the root was registered + bytes32[] memory roots = marketplace.getUserSalePriceMerkleRoots(creator); + assertEq(roots.length, 1, "Should have one root registered"); + assertEq(roots[0], root, "Registered root should match"); + + // Verify the nonce was incremented + uint256 nonce = marketplace.getCreatorSalePriceMerkleRootNonce(creator, root); + assertEq(nonce, 1, "Nonce should be 1"); + + vm.stopPrank(); + } + + function test_registerSalePriceMerkleRoot_invalidCurrency() public { + // Create an invalid currency contract + TestToken invalidCurrency = new TestToken(); + + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Mock the currency check to return false + vm.mockCall( + _approvedTokenRegistry, + abi.encodeWithSelector(IApprovedTokenRegistry.isApprovedToken.selector, address(invalidCurrency)), + abi.encode(false) + ); + + // Try to register with invalid currency + vm.startPrank(creator); + vm.expectRevert("Not approved currency"); + marketplace.registerSalePriceMerkleRoot( + root, + address(invalidCurrency), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + } + + function test_registerSalePriceMerkleRoot_invalidSplits() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Create invalid splits (ratios don't sum to 100) + address payable[] memory invalidSplitAddresses = new address payable[](2); + invalidSplitAddresses[0] = payable(makeAddr("splitRecipient1")); + invalidSplitAddresses[1] = payable(makeAddr("splitRecipient2")); + uint8[] memory invalidSplitRatios = new uint8[](2); + invalidSplitRatios[0] = 60; + invalidSplitRatios[1] = 60; // Total 120%, should fail + + // Try to register with invalid splits + vm.startPrank(creator); + vm.expectRevert("checkSplits::Total must be equal to 100"); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + invalidSplitAddresses, + invalidSplitRatios + ); + vm.stopPrank(); + } + + function test_registerSalePriceMerkleRoot_invalidAmount() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Mock max value to be lower than our test amount + vm.mockCall( + _marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceMaxValue.selector), + abi.encode(SALE_PRICE / 2) + ); + + // Try to register with amount exceeding max value + vm.startPrank(creator); + vm.expectRevert("registerSalePriceMerkleRoot::Amount outside bounds"); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + } + + function test_buyWithMerkleProof_success() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the marketplace to spend buyer's tokens + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + vm.stopPrank(); + + // Execute purchase + vm.startPrank(buyer); + bytes32[] memory emptyAllowListProof = new bytes32[](0); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + vm.stopPrank(); + + // Verify token ownership changed + assertEq(nftContract.ownerOf(firstTokenId), buyer, "Buyer should own the token"); + + // Verify token nonce was updated + uint256 tokenNonce = marketplace.getTokenSalePriceNonce(creator, root, address(nftContract), firstTokenId); + assertEq(tokenNonce, 1, "Token nonce should be 1"); + } + + function test_buyWithMerkleProof_invalidProof() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory validProof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Create invalid proof by modifying the valid proof + bytes32[] memory invalidProof = new bytes32[](validProof.length); + for (uint256 i = 0; i < validProof.length; i++) { + invalidProof[i] = bytes32(uint256(validProof[i]) + 1); // Modify each element + } + + // Setup buyer approval + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Try to buy with invalid proof + bytes32[] memory emptyAllowListProof = new bytes32[](0); + vm.expectRevert("buyWithMerkleProof::Invalid Merkle proof"); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + invalidProof, + emptyAllowListProof + ); + vm.stopPrank(); + } + + function test_buyWithMerkleProof_replayProtection() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Setup buyer approval for multiple purchases + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount * 2); + + bytes32[] memory emptyAllowListProof = new bytes32[](0); + + // First purchase should succeed + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + + // Second purchase should fail + vm.expectRevert("buyWithMerkleProof::Token already used for this Merkle root"); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + vm.stopPrank(); + } + + function test_buyWithMerkleProof_ownershipVerification() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + + // Transfer token to buyer + nftContract.transferFrom(creator, buyer, firstTokenId); + vm.stopPrank(); + + // Setup buyer approval + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Try to buy when creator no longer owns the token + bytes32[] memory emptyAllowListProof = new bytes32[](0); + vm.expectRevert("buyWithMerkleProof::Not token owner"); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + vm.stopPrank(); + } + + function test_buyWithMerkleProof_ethPayment() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(0), // ETH + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Calculate required amount including fee + uint256 marketplaceFee = IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + uint256 requiredAmount = SALE_PRICE + marketplaceFee; + + // Execute purchase with ETH + vm.startPrank(buyer); + bytes32[] memory emptyAllowListProof = new bytes32[](0); + marketplace.buyWithMerkleProof{value: requiredAmount}( + address(nftContract), + firstTokenId, + address(0), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + vm.stopPrank(); + + // Verify token ownership changed + assertEq(nftContract.ownerOf(firstTokenId), buyer, "Buyer should own the token"); + + // Verify contract ETH balance + assertEq(address(marketplace).balance, requiredAmount, "Marketplace ETH balance incorrect"); + } + + function test_buyWithMerkleProof_insufficientBalance() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the sale price merkle root with ETH as currency + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(0), // ETH + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Try to purchase with insufficient ETH + vm.startPrank(buyer); + bytes32[] memory emptyAllowListProof = new bytes32[](0); + vm.expectRevert("not enough eth sent"); + marketplace.buyWithMerkleProof{value: SALE_PRICE / 2}( + address(nftContract), + firstTokenId, + address(0), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + vm.stopPrank(); + } + + function test_buyWithMerkleProof_gasLargeMerkleTree() public { + uint256 numTokens = 1000; + + // Create large Merkle tree + address[] memory contracts = new address[](numTokens); + uint256[] memory ids = new uint256[](numTokens); + uint256 targetTokenId; + + // Mint tokens and prepare arrays + vm.startPrank(creator); + for (uint256 i = 0; i < numTokens; i++) { + uint256 newTokenId = nftContract.mint(creator); + if (i == numTokens / 2) { + targetTokenId = newTokenId; // Use middle token for test + } + contracts[i] = address(nftContract); + ids[i] = newTokenId; + } + vm.stopPrank(); + + // Create Merkle tree and get proof for target token + (bytes32 root, bytes32[] memory proof) = _createMerkleTree(contracts, ids, numTokens / 2); + + // Register root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(0), // ETH + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Calculate required amount including fee + uint256 marketplaceFee = IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + uint256 requiredAmount = SALE_PRICE + marketplaceFee; + + // Execute purchase and measure gas + vm.startPrank(buyer); + bytes32[] memory emptyAllowListProof = new bytes32[](0); + marketplace.buyWithMerkleProof{value: requiredAmount}( + address(nftContract), + targetTokenId, + address(0), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + vm.stopPrank(); + + // Verify purchase was successful + assertEq(nftContract.ownerOf(targetTokenId), buyer, "Buyer should own the token"); + } + + function test_buyWithMerkleProof_nonExistentRoot() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Try to buy with unregistered root + vm.startPrank(buyer); + bytes32[] memory emptyAllowListProof = new bytes32[](0); + vm.expectRevert("buyWithMerkleProof::Merkle root not registered"); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + vm.stopPrank(); + } + + function test_buyWithMerkleProof_multipleTokens() public { + // Create fresh tokens and Merkle tree with multiple tokens + (bytes32 root, , uint256[] memory tokenIds, ) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Setup buyer approval for multiple purchases + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount * 3); // Approve for all tokens + vm.stopPrank(); + + bytes32[] memory emptyAllowListProof = new bytes32[](0); + + // Buy each token + for (uint256 i = 0; i < tokenIds.length; i++) { + // Get proof for current token + (, bytes32[] memory proof) = _createMerkleTree( + _createContractArray(address(nftContract), tokenIds.length), + tokenIds, + i + ); + + vm.startPrank(buyer); + marketplace.buyWithMerkleProof( + address(nftContract), + tokenIds[i], + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof + ); + vm.stopPrank(); + + // Verify ownership + assertEq(nftContract.ownerOf(tokenIds[i]), buyer, string.concat("Buyer should own token ", vm.toString(i))); + } + } + + function test_isTokenInRoot_success() public { + // Create Merkle tree with multiple tokens + address[] memory contracts = new address[](3); + uint256[] memory ids = new uint256[](3); + for (uint256 i = 0; i < 3; i++) { + contracts[i] = address(nftContract); + ids[i] = i + 1; + } + + (bytes32 root, bytes32[] memory proof) = _createMerkleTree(contracts, ids, 0); + + // Test valid token + bool isValid = marketplace.isTokenInRoot(root, contracts[0], ids[0], proof); + assertTrue(isValid, "Token should be in root"); + + // Test invalid token (modify token ID) + bool isInvalid = marketplace.isTokenInRoot(root, contracts[0], 999, proof); + assertFalse(isInvalid, "Token should not be in root"); + } + + /// @dev Helper function to create an array of identical contract addresses + function _createContractArray(address _contract, uint256 _length) internal pure returns (address[] memory) { + address[] memory contracts = new address[](_length); + for (uint256 i = 0; i < _length; i++) { + contracts[i] = _contract; + } + return contracts; + } + + function test_setAllowListConfig_success() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + + // Create allowlist Merkle tree + address[] memory allowedAddresses = new address[](2); + allowedAddresses[0] = buyer; + allowedAddresses[1] = makeAddr("otherBuyer"); + + bytes32[] memory allowListLeaves = new bytes32[](2); + for (uint256 i = 0; i < allowedAddresses.length; i++) { + allowListLeaves[i] = keccak256(abi.encodePacked(allowedAddresses[i])); + } + bytes32 allowListRoot = merkle.getRoot(allowListLeaves); + uint256 endTimestamp = block.timestamp + 1 days; + + // Set allowlist config + marketplace.setAllowListConfig(root, allowListRoot, endTimestamp); + + // Verify config was set correctly + IRareBatchListingMarketplace.AllowListConfig memory config = marketplace.getAllowListConfig(creator, root); + assertEq(config.root, allowListRoot, "Allowlist root should match"); + assertEq(config.endTimestamp, endTimestamp, "End timestamp should match"); + + vm.stopPrank(); + } + + function test_setAllowListConfig_notRootOwner() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Try to set allowlist config without owning the root + vm.startPrank(buyer); + vm.expectRevert("setAllowListConfig::Not root owner"); + marketplace.setAllowListConfig(root, bytes32(0), block.timestamp + 1 days); + vm.stopPrank(); + } + + function test_setAllowListConfig_endTimestampInPast() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Register the sale price merkle root first + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + + // Try to set allowlist config with end timestamp in the past + vm.expectRevert("setAllowListConfig::Allow-list end must be in the future"); + marketplace.setAllowListConfig(root, bytes32(uint256(1)), block.timestamp - 1); + + // Try to set allowlist config with end timestamp equal to current timestamp + vm.expectRevert("setAllowListConfig::Allow-list end must be in the future"); + marketplace.setAllowListConfig(root, bytes32(uint256(1)), block.timestamp); + + vm.stopPrank(); + } + + function test_buyWithMerkleProof_withAllowList_success() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + + // Create allowlist Merkle tree with buyer and another address + address[] memory allowedAddresses = new address[](2); + allowedAddresses[0] = buyer; + allowedAddresses[1] = makeAddr("otherAllowedUser"); + + bytes32[] memory allowListLeaves = new bytes32[](2); + allowListLeaves[0] = keccak256(abi.encodePacked(buyer)); + allowListLeaves[1] = keccak256(abi.encodePacked(allowedAddresses[1])); + bytes32 allowListRoot = merkle.getRoot(allowListLeaves); + bytes32[] memory allowListProof = merkle.getProof(allowListLeaves, 0); // Get proof for buyer's address + + // Set allowlist config + marketplace.setAllowListConfig(root, allowListRoot, block.timestamp + 1 days); + vm.stopPrank(); + + // Setup: Approve the marketplace to spend buyer's tokens + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Execute purchase with allowlist proof + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + allowListProof + ); + vm.stopPrank(); + + // Verify token ownership changed + assertEq(nftContract.ownerOf(firstTokenId), buyer, "Buyer should own the token"); + } + + function test_buyWithMerkleProof_withAllowList_notAllowed() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + + // Create allowlist Merkle tree without buyer + address[] memory allowedAddresses = new address[](2); + allowedAddresses[0] = makeAddr("allowedUser1"); + allowedAddresses[1] = makeAddr("allowedUser2"); + + bytes32[] memory allowListLeaves = new bytes32[](2); + allowListLeaves[0] = keccak256(abi.encodePacked(allowedAddresses[0])); + allowListLeaves[1] = keccak256(abi.encodePacked(allowedAddresses[1])); + bytes32 allowListRoot = merkle.getRoot(allowListLeaves); + bytes32[] memory allowListProof = merkle.getProof(allowListLeaves, 0); // Use first address's proof + + // Set allowlist config + marketplace.setAllowListConfig(root, allowListRoot, block.timestamp + 1 days); + vm.stopPrank(); + + // Setup: Approve the marketplace to spend buyer's tokens + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Try to purchase without being on allowlist + vm.expectRevert("buyWithMerkleProof::Not on allowlist"); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + allowListProof + ); + vm.stopPrank(); + } + + function test_buyWithMerkleProof_withAllowList_expired() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + + // Create allowlist Merkle tree with buyer and another address + address[] memory allowedAddresses = new address[](2); + allowedAddresses[0] = buyer; + allowedAddresses[1] = makeAddr("otherAllowedUser"); + + bytes32[] memory allowListLeaves = new bytes32[](2); + allowListLeaves[0] = keccak256(abi.encodePacked(buyer)); + allowListLeaves[1] = keccak256(abi.encodePacked(allowedAddresses[1])); + bytes32 allowListRoot = merkle.getRoot(allowListLeaves); + bytes32[] memory allowListProof = merkle.getProof(allowListLeaves, 0); // Get proof for buyer's address + + // Set allowlist config with future timestamp + uint256 endTimestamp = block.timestamp + 1 hours; + marketplace.setAllowListConfig(root, allowListRoot, endTimestamp); + vm.stopPrank(); + + // Warp time to after the allowlist expiration + vm.warp(endTimestamp + 1); + + // Setup: Approve the marketplace to spend buyer's tokens + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Try to purchase after allowlist expired + vm.expectRevert("buyWithMerkleProof::Allowlist period has ended"); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + allowListProof + ); + vm.stopPrank(); + } + + function test_cancelSalePriceMerkleRoot() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(creator); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Verify root is registered + bytes32[] memory roots = marketplace.getUserSalePriceMerkleRoots(creator); + assertEq(roots.length, 1, "Root should be registered"); + + // Set allowlist config to verify it gets cleaned up + vm.startPrank(creator); + marketplace.setAllowListConfig(root, bytes32(uint256(1)), block.timestamp + 1 days); + vm.stopPrank(); + + // Verify allowlist config exists + IRareBatchListingMarketplace.AllowListConfig memory allowListConfig = marketplace.getAllowListConfig(creator, root); + assertEq(allowListConfig.root, bytes32(uint256(1)), "Allowlist should be set"); + + // Cancel the root + vm.startPrank(creator); + marketplace.cancelSalePriceMerkleRoot(root); + vm.stopPrank(); + + // Verify root is removed + roots = marketplace.getUserSalePriceMerkleRoots(creator); + assertEq(roots.length, 0, "Root should be removed"); + + // Verify config is cleaned up + IRareBatchListingMarketplace.MerkleSalePriceConfig memory config = marketplace.getMerkleSalePriceConfig( + creator, + root + ); + assertEq(config.currency, address(0), "Config should be cleaned up"); + assertEq(config.amount, 0, "Config should be cleaned up"); + + // Verify allowlist config is cleaned up + allowListConfig = marketplace.getAllowListConfig(creator, root); + assertEq(allowListConfig.root, bytes32(0), "Allowlist should be cleaned up"); + assertEq(allowListConfig.endTimestamp, 0, "Allowlist should be cleaned up"); + + // Verify nonce is preserved + uint256 nonce = marketplace.getCreatorSalePriceMerkleRootNonce(creator, root); + assertEq(nonce, 1, "Nonce should be preserved"); + } + + function test_cancelSalePriceMerkleRoot_notOwner() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , ) = _createFreshMerkleTree(3); + + // Register the root + vm.startPrank(creator); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Try to cancel as non-owner + vm.startPrank(buyer); + vm.expectRevert("cancelSalePriceMerkleRoot::Not root owner"); + marketplace.cancelSalePriceMerkleRoot(root); + vm.stopPrank(); + + // Verify root is still registered + bytes32[] memory roots = marketplace.getUserSalePriceMerkleRoots(creator); + assertEq(roots.length, 1, "Root should still be registered"); + } + + function test_cancelSalePriceMerkleRoot_nonexistentRoot() public { + bytes32 nonexistentRoot = bytes32(uint256(1)); + + // Try to cancel non-existent root + vm.startPrank(creator); + vm.expectRevert("cancelSalePriceMerkleRoot::Not root owner"); + marketplace.cancelSalePriceMerkleRoot(nonexistentRoot); + vm.stopPrank(); + } + + /// @notice Test that zero-length Merkle proofs are rejected for token verification + function test_buyWithMerkleProof_zeroLengthProofRejected() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + vm.stopPrank(); + + // Setup: Approve the marketplace to spend buyer's tokens + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Try to buy with zero-length proof (should fail) + bytes32[] memory emptyProof = new bytes32[](0); + bytes32[] memory emptyAllowListProof = new bytes32[](0); + + vm.expectRevert("buyWithMerkleProof::Proof cannot be empty"); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + emptyProof, // Zero-length proof + emptyAllowListProof + ); + vm.stopPrank(); + } + + /// @notice Test that zero-length allowlist proofs are rejected when allowlist is configured + function test_buyWithMerkleProof_zeroLengthAllowListProofRejected() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Register the sale price merkle root + vm.startPrank(creator); + nftContract.setApprovalForAll(address(erc721ApprovalManager), true); + marketplace.registerSalePriceMerkleRoot( + root, + address(currencyContract), + SALE_PRICE, + salePriceConfig.splitRecipients, + salePriceConfig.splitRatios + ); + + // Create allowlist Merkle tree with buyer and another address + address[] memory allowedAddresses = new address[](2); + allowedAddresses[0] = buyer; + allowedAddresses[1] = makeAddr("otherAllowedUser"); + + bytes32[] memory allowListLeaves = new bytes32[](2); + allowListLeaves[0] = keccak256(abi.encodePacked(buyer)); + allowListLeaves[1] = keccak256(abi.encodePacked(allowedAddresses[1])); + bytes32 allowListRoot = merkle.getRoot(allowListLeaves); + + // Set allowlist config + marketplace.setAllowListConfig(root, allowListRoot, block.timestamp + 1 days); + vm.stopPrank(); + + // Setup: Approve the marketplace to spend buyer's tokens + vm.startPrank(buyer); + uint256 requiredAmount = SALE_PRICE + + IMarketplaceSettings(_marketplaceSettings).calculateMarketplaceFee(SALE_PRICE); + currencyContract.approve(address(erc20ApprovalManager), requiredAmount); + + // Try to buy with zero-length allowlist proof (should fail) + bytes32[] memory emptyAllowListProof = new bytes32[](0); + + vm.expectRevert("buyWithMerkleProof::Allowlist proof cannot be empty"); + marketplace.buyWithMerkleProof( + address(nftContract), + firstTokenId, + address(currencyContract), + SALE_PRICE, + creator, + root, + proof, + emptyAllowListProof // Zero-length allowlist proof + ); + vm.stopPrank(); + } + + /// @notice Test that isTokenInRoot returns false for zero-length proofs + function test_isTokenInRoot_zeroLengthProofReturnsFalse() public { + // Create fresh tokens and Merkle tree + (bytes32 root, , , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Create zero-length proof + bytes32[] memory emptyProof = new bytes32[](0); + + // Test that zero-length proof returns false + bool result = marketplace.isTokenInRoot(root, address(nftContract), firstTokenId, emptyProof); + assertFalse(result, "Zero-length proof should return false"); + } + + /// @notice Test that isTokenInRoot works correctly with valid proofs + function test_isTokenInRoot_validProofReturnsTrue() public { + // Create fresh tokens and Merkle tree + (bytes32 root, bytes32[] memory proof, , uint256 firstTokenId) = _createFreshMerkleTree(3); + + // Test that valid proof returns true + bool result = marketplace.isTokenInRoot(root, address(nftContract), firstTokenId, proof); + assertTrue(result, "Valid proof should return true"); + } +} diff --git a/src/test/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.t.sol b/src/test/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.t.sol new file mode 100644 index 0000000..9432ed9 --- /dev/null +++ b/src/test/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.t.sol @@ -0,0 +1,189 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {SovereignNFTV2} from "../../../../../v2/token/ERC721/sovereign/SovereignNFTV2.sol"; +import {SovereignNFTContractFactoryV2} from "../../../../../v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol"; +import {SovereignNFTRoyaltyGuardV2} from "../../../../../v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol"; +import {SovereignNFTRoyaltyGuardDeadmanTriggerV2} from "../../../../../v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol"; + +contract SovereignNFTContractFactoryV2Test is Test { + // Events to test + event SovereignNFTContractCreatedV2( + address indexed contractAddress, + address indexed owner, + bytes32 indexed contractType + ); + + // Constants + bytes32 public constant SOVEREIGN_NFT = keccak256("SOVEREIGN_NFT"); + bytes32 public constant ROYALTY_GUARD = keccak256("ROYALTY_GUARD"); + bytes32 public constant ROYALTY_GUARD_DEADMAN = keccak256("ROYALTY_GUARD_DEADMAN"); + bytes32 public constant LAZY_SOVEREIGN_NFT = keccak256("LAZY_SOVEREIGN_NFT"); + bytes32 public constant LAZY_ROYALTY_GUARD = keccak256("LAZY_ROYALTY_GUARD"); + bytes32 public constant LAZY_ROYALTY_GUARD_DEADMAN = keccak256("LAZY_ROYALTY_GUARD_DEADMAN"); + + // Contracts + SovereignNFTContractFactoryV2 public factory; + + // Test values and addresses + string public constant NAME = "Sovereign NFT"; + string public constant SYMBOL = "SNFT"; + uint256 public constant MAX_TOKENS = 1000; + address public constant CREATOR = address(0x1); + address public constant NON_OWNER = address(0x2); + + function setUp() public { + // Deploy factory + vm.prank(CREATOR); + factory = new SovereignNFTContractFactoryV2(); + } + + function test_InitialState() public { + // Verify initial contract references are set + assertTrue(factory.sovereignNFT() != address(0)); + assertTrue(factory.sovereignNFTRoyaltyGuard() != address(0)); + assertTrue(factory.sovereignNFTRoyaltyGuardDeadmanTrigger() != address(0)); + + // Verify ownership + assertEq(factory.owner(), CREATOR); + } + + function test_SetSovereignNFT() public { + vm.startPrank(CREATOR); + + // Deploy a new sovereign NFT implementation + SovereignNFTV2 newImplementation = new SovereignNFTV2(); + + // Set it as the new implementation + factory.setSovereignNFT(address(newImplementation)); + + // Verify it was set + assertEq(factory.sovereignNFT(), address(newImplementation)); + + vm.stopPrank(); + } + + function test_SetSovereignNFTWithType() public { + vm.startPrank(CREATOR); + + // Deploy new implementations + SovereignNFTV2 newNFT = new SovereignNFTV2(); + SovereignNFTRoyaltyGuardV2 newRG = new SovereignNFTRoyaltyGuardV2(); + SovereignNFTRoyaltyGuardDeadmanTriggerV2 newRGDT = new SovereignNFTRoyaltyGuardDeadmanTriggerV2(); + + // Set each implementation + factory.setSovereignNFT(address(newNFT), SOVEREIGN_NFT); + factory.setSovereignNFT(address(newRG), ROYALTY_GUARD); + factory.setSovereignNFT(address(newRGDT), ROYALTY_GUARD_DEADMAN); + + // Verify they were set correctly + assertEq(factory.sovereignNFT(), address(newNFT)); + assertEq(factory.sovereignNFTRoyaltyGuard(), address(newRG)); + assertEq(factory.sovereignNFTRoyaltyGuardDeadmanTrigger(), address(newRGDT)); + + vm.stopPrank(); + } + + function test_CreateSovereignNFTContract() public { + vm.startPrank(CREATOR); + + // Create a new sovereign NFT contract + address nftAddr = factory.createSovereignNFTContract(NAME, SYMBOL, MAX_TOKENS); + + // Verify it's a valid address + assertTrue(nftAddr != address(0)); + + vm.stopPrank(); + } + + function test_CreateSovereignNFTContractWithUnlimitedTokens() public { + vm.startPrank(CREATOR); + + // Create a new sovereign NFT contract with unlimited tokens + address nftAddr = factory.createSovereignNFTContract(NAME, SYMBOL); + + // Verify it's a valid address + assertTrue(nftAddr != address(0)); + + vm.stopPrank(); + } + + function test_CreateSovereignNFTContractWithType() public { + vm.startPrank(CREATOR); + + // Create different types of sovereign NFT contracts + address sovereignAddr = factory.createSovereignNFTContract(NAME, SYMBOL, MAX_TOKENS, SOVEREIGN_NFT); + address royaltyGuardAddr = factory.createSovereignNFTContract(NAME, SYMBOL, MAX_TOKENS, ROYALTY_GUARD); + address deadmanAddr = factory.createSovereignNFTContract(NAME, SYMBOL, MAX_TOKENS, ROYALTY_GUARD_DEADMAN); + + // Verify they're valid addresses + assertTrue(sovereignAddr != address(0)); + assertTrue(royaltyGuardAddr != address(0)); + assertTrue(deadmanAddr != address(0)); + + vm.stopPrank(); + } + + function test_RevertWhen_NonOwnerSetsSovereignNFT() public { + vm.startPrank(NON_OWNER); + + // Deploy a new sovereign NFT implementation + SovereignNFTV2 newImplementation = new SovereignNFTV2(); + + // Try to set it as the new implementation (should revert) + vm.expectRevert("Ownable: caller is not the owner"); + factory.setSovereignNFT(address(newImplementation)); + + vm.stopPrank(); + } + + function test_RevertWhen_SettingZeroAddress() public { + vm.startPrank(CREATOR); + + // Try to set zero address as implementation (should revert) + vm.expectRevert(); + factory.setSovereignNFT(address(0)); + + vm.stopPrank(); + } + + function test_RevertWhen_SettingInvalidContractType() public { + vm.startPrank(CREATOR); + + // Create an invalid contract type + bytes32 invalidType = keccak256("INVALID_TYPE"); + + // Deploy a new sovereign NFT implementation + SovereignNFTV2 newImplementation = new SovereignNFTV2(); + + // Try to set it with invalid type (should revert) + vm.expectRevert("setSovereignNFT::Unsupported _contractType."); + factory.setSovereignNFT(address(newImplementation), invalidType); + + vm.stopPrank(); + } + + function test_RevertWhen_CreateContractWithZeroMaxTokens() public { + vm.startPrank(CREATOR); + + // Try to create a contract with zero max tokens (should revert) + vm.expectRevert("createSovereignNFTContract::_maxTokens cant be zero"); + factory.createSovereignNFTContract(NAME, SYMBOL, 0); + + vm.stopPrank(); + } + + function test_RevertWhen_CreateContractWithInvalidType() public { + vm.startPrank(CREATOR); + + // Create an invalid contract type + bytes32 invalidType = keccak256("INVALID_TYPE"); + + // Try to create a contract with invalid type (should revert) + vm.expectRevert("createSovereignNFTContract::_contractType unsupported contract type."); + factory.createSovereignNFTContract(NAME, SYMBOL, MAX_TOKENS, invalidType); + + vm.stopPrank(); + } +} diff --git a/src/test/v2/token/ERC721/sovereign/SovereignNFTV2.t.sol b/src/test/v2/token/ERC721/sovereign/SovereignNFTV2.t.sol new file mode 100644 index 0000000..aecb77e --- /dev/null +++ b/src/test/v2/token/ERC721/sovereign/SovereignNFTV2.t.sol @@ -0,0 +1,356 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {SovereignNFTV2} from "../../../../../v2/token/ERC721/sovereign/SovereignNFTV2.sol"; +import {SovereignNFTContractFactoryV2} from "../../../../../v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol"; + +contract SovereignNFTV2Test is Test { + // Events to test + event TokenURIUpdated(uint256 indexed tokenId, string newURI); + event BatchBaseURIUpdated(uint256 indexed batchIndex, string newBaseURI); + event TokenURIsLocked(); + event ContractDisabled(address indexed user); + event ConsecutiveTransfer( + uint256 indexed fromTokenId, + uint256 toTokenId, + address indexed fromAddress, + address indexed toAddress + ); + + // Constants for contract types + bytes32 public constant SOVEREIGN_NFT = keccak256("SOVEREIGN_NFT"); + bytes32 public constant ROYALTY_GUARD = keccak256("ROYALTY_GUARD"); + bytes32 public constant ROYALTY_GUARD_DEADMAN = keccak256("ROYALTY_GUARD_DEADMAN"); + + // Contracts + SovereignNFTV2 public sovereignNFT; + SovereignNFTContractFactoryV2 public factory; + SovereignNFTV2 public deployedNFT; + + // Test addresses + address public constant CREATOR = address(0x1); + address public constant USER1 = address(0x2); + address public constant USER2 = address(0x3); + address public constant ROYALTY_RECEIVER = address(0x4); + + // Test values + string public constant NAME = "Sovereign NFT"; + string public constant SYMBOL = "SNFT"; + uint256 public constant MAX_TOKENS = 1000; + string public constant TOKEN_URI = "ipfs://QmExample"; + string public constant BATCH_BASE_URI = "https://api.example.com/metadata"; + + function setUp() public { + // Deploy implementation contract + vm.startPrank(CREATOR); + sovereignNFT = new SovereignNFTV2(); + + // Deploy factory + factory = new SovereignNFTContractFactoryV2(); + + // Create a sovereign NFT contract through the factory + factory.setSovereignNFT(address(sovereignNFT)); + address nftAddr = factory.createSovereignNFTContract(NAME, SYMBOL, MAX_TOKENS, SOVEREIGN_NFT); + deployedNFT = SovereignNFTV2(nftAddr); + vm.stopPrank(); + } + + function test_InitialState() public { + assertEq(deployedNFT.name(), NAME); + assertEq(deployedNFT.symbol(), SYMBOL); + assertEq(deployedNFT.owner(), CREATOR); + assertEq(deployedNFT.maxTokens(), MAX_TOKENS); + assertFalse(deployedNFT.disabled()); + assertFalse(deployedNFT.tokenURIsLocked()); + assertEq(deployedNFT.totalSupply(), 0); + } + + function test_AddNewToken() public { + vm.startPrank(CREATOR); + + // Add a new token + deployedNFT.addNewToken(TOKEN_URI); + + // Verify token was created correctly + assertEq(deployedNFT.totalSupply(), 1); + assertEq(deployedNFT.ownerOf(1), CREATOR); + assertEq(deployedNFT.tokenURI(1), TOKEN_URI); + + vm.stopPrank(); + } + + function test_MintTo() public { + vm.startPrank(CREATOR); + + // Mint a token to USER1 + deployedNFT.mintTo(TOKEN_URI, USER1, ROYALTY_RECEIVER); + + // Verify token was minted correctly + assertEq(deployedNFT.totalSupply(), 1); + assertEq(deployedNFT.ownerOf(1), USER1); + assertEq(deployedNFT.tokenURI(1), TOKEN_URI); + + vm.stopPrank(); + } + + function test_BatchMint() public { + vm.startPrank(CREATOR); + + // Perform batch mint + uint256 numTokens = 5; + vm.expectEmit(true, true, true, true); + emit ConsecutiveTransfer(1, numTokens, address(0), CREATOR); + deployedNFT.batchMint(BATCH_BASE_URI, numTokens); + + // Verify tokens were minted correctly + assertEq(deployedNFT.totalSupply(), numTokens); + + // Check ownership and URIs + for (uint256 i = 1; i <= numTokens; i++) { + assertEq(deployedNFT.ownerOf(i), CREATOR); + assertEq(deployedNFT.tokenURI(i), string(abi.encodePacked(BATCH_BASE_URI, "/", vm.toString(i), ".json"))); + } + + vm.stopPrank(); + } + + function test_UpdateTokenURI() public { + vm.startPrank(CREATOR); + + // Add a new token + deployedNFT.addNewToken(TOKEN_URI); + + // Update the token URI + string memory newURI = "ipfs://QmUpdated"; + vm.expectEmit(true, true, true, true); + emit TokenURIUpdated(1, newURI); + deployedNFT.updateTokenURI(1, newURI); + + // Verify URI was updated + assertEq(deployedNFT.tokenURI(1), newURI); + + vm.stopPrank(); + } + + function test_UpdateBatchBaseURI() public { + vm.startPrank(CREATOR); + + // Perform batch mint + uint256 numTokens = 5; + deployedNFT.batchMint(BATCH_BASE_URI, numTokens); + + // Update the batch base URI + string memory newBaseURI = "https://api.updated.com/metadata"; + vm.expectEmit(true, true, true, true); + emit BatchBaseURIUpdated(0, newBaseURI); + deployedNFT.updateBatchBaseURI(0, newBaseURI); + + // Verify base URI was updated for all tokens in the batch + for (uint256 i = 1; i <= numTokens; i++) { + assertEq(deployedNFT.tokenURI(i), string(abi.encodePacked(newBaseURI, "/", vm.toString(i), ".json"))); + } + + vm.stopPrank(); + } + + function test_LockTokenURIs() public { + vm.startPrank(CREATOR); + + // Lock token URIs + vm.expectEmit(true, true, true, true); + emit TokenURIsLocked(); + deployedNFT.lockTokenURIs(); + + // Verify URIs are locked + assertTrue(deployedNFT.tokenURIsLocked()); + assertTrue(deployedNFT.areTokenURIsLocked()); + + vm.stopPrank(); + } + + function test_DisableContract() public { + vm.startPrank(CREATOR); + + // Disable the contract + vm.expectEmit(true, true, true, true); + emit ContractDisabled(CREATOR); + deployedNFT.disableContract(); + + // Verify contract is disabled + assertTrue(deployedNFT.disabled()); + + vm.stopPrank(); + } + + function test_Burn() public { + vm.startPrank(CREATOR); + + // Add a new token + deployedNFT.addNewToken(TOKEN_URI); + + // Burn the token + deployedNFT.burn(1); + + // Verify token was burned + vm.expectRevert("ERC721: invalid token ID"); + deployedNFT.ownerOf(1); + + vm.stopPrank(); + } + + function test_Transfer() public { + vm.startPrank(CREATOR); + + // Add a new token + deployedNFT.addNewToken(TOKEN_URI); + + // Transfer token to USER1 + deployedNFT.transferFrom(CREATOR, USER1, 1); + + // Verify transfer worked + assertEq(deployedNFT.ownerOf(1), USER1); + + vm.stopPrank(); + } + + function test_RoyaltyInfo() public { + vm.startPrank(CREATOR); + + // Add a new token + deployedNFT.addNewToken(TOKEN_URI); + + // Check default royalty info + (address receiver, uint256 royaltyAmount) = deployedNFT.royaltyInfo(1, 1000); + assertEq(receiver, CREATOR); + assertEq(royaltyAmount, 100); // 10% of 1000 + + // Update royalty receiver for token + deployedNFT.setRoyaltyReceiverForToken(ROYALTY_RECEIVER, 1); + + // Check updated royalty info + (address updatedReceiver, ) = deployedNFT.royaltyInfo(1, 1000); + assertEq(updatedReceiver, ROYALTY_RECEIVER); + + vm.stopPrank(); + } + + function test_RevertWhen_NonOwnerMints() public { + vm.startPrank(USER1); + + // Try to mint as non-owner + vm.expectRevert("Ownable: caller is not the owner"); + deployedNFT.addNewToken(TOKEN_URI); + + vm.stopPrank(); + } + + function test_RevertWhen_AttemptToUpdateLockedURI() public { + vm.startPrank(CREATOR); + + // Add a new token + deployedNFT.addNewToken(TOKEN_URI); + + // Lock token URIs + deployedNFT.lockTokenURIs(); + + // Try to update URI after locking + vm.expectRevert("Token URIs are locked"); + deployedNFT.updateTokenURI(1, "ipfs://QmUpdated"); + + vm.stopPrank(); + } + + function test_RevertWhen_MintingAfterDisabled() public { + vm.startPrank(CREATOR); + + // Disable the contract + deployedNFT.disableContract(); + + // Try to mint after disabling + vm.expectRevert("Contract must not be disabled."); + deployedNFT.addNewToken(TOKEN_URI); + + vm.stopPrank(); + } + + function test_RevertWhen_ExceedMaxTokens() public { + vm.startPrank(CREATOR); + + // Create a contract with small max tokens + address newFactory = address(new SovereignNFTContractFactoryV2()); + SovereignNFTContractFactoryV2(newFactory).setSovereignNFT(address(sovereignNFT)); + + address smallNFTAddr = SovereignNFTContractFactoryV2(newFactory).createSovereignNFTContract( + "Limited", + "LTD", + 2, + SOVEREIGN_NFT + ); + SovereignNFTV2 smallNFT = SovereignNFTV2(smallNFTAddr); + + // Mint up to the limit + smallNFT.addNewToken("1"); + smallNFT.addNewToken("2"); + + // Try to mint beyond the limit + vm.expectRevert("_createToken::exceeded maxTokens"); + smallNFT.addNewToken("3"); + + vm.stopPrank(); + } + + function test_BatchInfoRetrieval() public { + vm.startPrank(CREATOR); + + // Perform batch mint + deployedNFT.batchMint(BATCH_BASE_URI, 5); + + // Get batch info + (uint256 startTokenId, uint256 endTokenId, string memory baseURI) = deployedNFT.getBatchInfo(0); + + // Verify batch info + assertEq(startTokenId, 1); + assertEq(endTokenId, 5); + assertEq(baseURI, BATCH_BASE_URI); + + // Get batch count + assertEq(deployedNFT.getBatchCount(), 1); + + vm.stopPrank(); + } + + function test_BatchBurnAndMinting() public { + vm.startPrank(CREATOR); + + // Batch mint + deployedNFT.batchMint(BATCH_BASE_URI, 5); + + // Burn a token from the batch + deployedNFT.burn(3); + + // Verify token was burned + vm.expectRevert("ERC721: invalid token ID"); + deployedNFT.ownerOf(3); + + // Mint additional tokens + deployedNFT.batchMint("https://second-batch.com/", 3); + + // Verify second batch + (uint256 startTokenId, uint256 endTokenId, string memory baseURI) = deployedNFT.getBatchInfo(1); + assertEq(startTokenId, 6); + assertEq(endTokenId, 8); + assertEq(baseURI, "https://second-batch.com/"); + + vm.stopPrank(); + } + + function test_SupportsInterface() public { + // Test interface support + bytes4 erc721InterfaceId = 0x80ac58cd; // ERC721 + bytes4 erc2981InterfaceId = 0x2a55205a; // ERC2981 + + assertTrue(deployedNFT.supportsInterface(erc721InterfaceId)); + assertTrue(deployedNFT.supportsInterface(erc2981InterfaceId)); + } +} diff --git a/src/test/v2/utils/MarketUtilsV2.t.sol b/src/test/v2/utils/MarketUtilsV2.t.sol new file mode 100644 index 0000000..5e8ac0a --- /dev/null +++ b/src/test/v2/utils/MarketUtilsV2.t.sol @@ -0,0 +1,1457 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import "forge-std/Test.sol"; + +import {IERC20} from "openzeppelin-contracts/token/ERC20/IERC20.sol"; +import {IERC721} from "openzeppelin-contracts/token/ERC721/IERC721.sol"; +import {SafeERC20} from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol"; +import {IPayments} from "rareprotocol/aux/payments/IPayments.sol"; +import {Payments} from "rareprotocol/aux/payments/Payments.sol"; +import {IMarketplaceSettings} from "rareprotocol/aux/marketplace/IMarketplaceSettings.sol"; +import {IStakingSettings} from "rareprotocol/aux/marketplace/IStakingSettings.sol"; +import {ISpaceOperatorRegistry} from "rareprotocol/aux/registry/interfaces/ISpaceOperatorRegistry.sol"; +import {IApprovedTokenRegistry} from "rareprotocol/aux/registry/interfaces/IApprovedTokenRegistry.sol"; +import {IRoyaltyEngineV1} from "royalty-registry/IRoyaltyEngineV1.sol"; +import {ERC20} from "openzeppelin-contracts/token/ERC20/ERC20.sol"; + +import {MarketUtilsV2} from "../../../v2/utils/MarketUtilsV2.sol"; +import {MarketConfigV2} from "../../../v2/utils/MarketConfigV2.sol"; +import {IRareStakingRegistry} from "../../../staking/registry/IRareStakingRegistry.sol"; +import {ERC20ApprovalManager} from "../../../v2/approver/ERC20/ERC20ApprovalManager.sol"; +import {ERC721ApprovalManager} from "../../../v2/approver/ERC721/ERC721ApprovalManager.sol"; +import {TestNFT} from "../utils/TestNft.sol"; + +contract TestContract { + using MarketUtilsV2 for MarketConfigV2.Config; + + MarketConfigV2.Config config; + + constructor( + address _marketplaceSettings, + address _stakingSettings, + address _royaltyEngine, + address _spaceOperatorRegistry, + address _approvedTokenRegistry, + address _payments, + address _stakingRegistry, + address _networkBeneficiary, + address _erc20ApprovalManager, + address _erc721ApprovalManager + ) { + require(_marketplaceSettings != address(0)); + require(_stakingSettings != address(0)); + require(_royaltyEngine != address(0)); + require(_spaceOperatorRegistry != address(0)); + require(_approvedTokenRegistry != address(0)); + require(_payments != address(0)); + require(_networkBeneficiary != address(0)); + require(_erc20ApprovalManager != address(0)); + require(_erc721ApprovalManager != address(0)); + config = MarketConfigV2.generateMarketConfig( + _networkBeneficiary, + _marketplaceSettings, + _spaceOperatorRegistry, + _royaltyEngine, + _payments, + _approvedTokenRegistry, + _stakingSettings, + _stakingRegistry, + _erc20ApprovalManager, + _erc721ApprovalManager + ); + } + + function checkIfCurrencyIsApproved(address _currencyAddress) public view { + config.checkIfCurrencyIsApproved(_currencyAddress); + } + + function senderMustBeTokenOwner(address _originContract, uint256 _tokenId) public view { + MarketUtilsV2.senderMustBeTokenOwner(_originContract, _tokenId); + } + + function addressMustHaveMarketplaceApprovedForNFT( + address _addr, + address _originContract, + uint256 _tokenId + ) public view { + config.addressMustHaveMarketplaceApprovedForNFT(_addr, _originContract, _tokenId); + } + + function checkSplits(address payable[] calldata _splitAddrs, uint8[] calldata _splitRatios) public pure { + MarketUtilsV2.checkSplits(_splitAddrs, _splitRatios); + } + + function senderMustHaveMarketplaceApproved(address _currency, uint256 _amount) public view { + config.senderMustHaveMarketplaceApproved(_currency, _amount); + } + + function checkAmountAndTransfer(address _currencyAddress, uint256 _amount) public payable { + config.checkAmountAndTransfer(_currencyAddress, _amount); + } + + function refund(address _currencyAddress, uint256 _amount, uint256 _marketplaceFee, address _recipient) public { + config.refund(_currencyAddress, _amount, _marketplaceFee, _recipient); + } + + function payout( + address _originContract, + uint256 _tokenId, + address _currencyAddress, + uint256 _amount, + address _seller, + address payable[] memory _splitAddrs, + uint8[] memory _splitRatios + ) public payable { + config.payout(_originContract, _tokenId, _currencyAddress, _amount, _seller, _splitAddrs, _splitRatios); + } + + function transferERC721(address _originContract, address _from, address _to, uint256 _tokenId) public { + config.transferERC721(_originContract, _from, _to, _tokenId); + } +} + +contract TestRare is ERC20 { + constructor() ERC20("Rare", "RARE") { + _mint(msg.sender, 1_000_000_000 ether); + } + + function burn(uint256 amount) public { + _burn(msg.sender, amount); + } +} + +contract MarketUtilsV2Test is Test { + TestContract tc; + Payments payments; + TestRare public rare; + TestNFT public nft; + ERC20ApprovalManager public erc20ApprovalManager; + ERC721ApprovalManager public erc721ApprovalManager; + uint256 constant initialRare = 1000 * 1e18; + + address deployer = address(0xabadabab); + address alice = address(0xbeef); + address bob = address(0xcafe); + address charlie = address(0xdead); + address stakingSettings = address(0xabadaba0); + address marketplaceSettings = address(0xabadaba1); + address royaltyRegistry = address(0xabadaba2); + address royaltyEngine = address(0xabadaba3); + address spaceOperatorRegistry = address(0xabadaba6); + address approvedTokenRegistry = address(0xabadaba7); + address stakingRegistry = address(0xabadaba9); + address networkBeneficiary = address(0xabadabaa); + address rewardPool = address(0xcccc); + + function contractDeploy() internal { + vm.startPrank(deployer); + + // Deploy TestRare + rare = new TestRare(); + + // Deploy TestNFT + nft = new TestNFT(); + + // Deploy Payments + payments = new Payments(); + + // Deploy actual approval managers + erc20ApprovalManager = new ERC20ApprovalManager(); + erc721ApprovalManager = new ERC721ApprovalManager(); + + tc = new TestContract( + marketplaceSettings, + stakingSettings, + royaltyEngine, + spaceOperatorRegistry, + approvedTokenRegistry, + address(payments), + stakingRegistry, + networkBeneficiary, + address(erc20ApprovalManager), + address(erc721ApprovalManager) + ); + + // Setup operator role after test contract is created + erc20ApprovalManager.grantRole(erc20ApprovalManager.OPERATOR_ROLE(), address(tc)); + erc721ApprovalManager.grantRole(erc721ApprovalManager.OPERATOR_ROLE(), address(tc)); + + // etch code into these so we can stub out methods + vm.etch(marketplaceSettings, address(rare).code); + vm.etch(stakingSettings, address(rare).code); + vm.etch(stakingRegistry, address(rare).code); + vm.etch(royaltyRegistry, address(rare).code); + vm.etch(royaltyEngine, address(rare).code); + vm.etch(spaceOperatorRegistry, address(rare).code); + vm.etch(approvedTokenRegistry, address(rare).code); + + vm.stopPrank(); + } + + function setUp() public { + deal(deployer, 100 ether); + deal(alice, 100 ether); + deal(bob, 100 ether); + deal(charlie, 100 ether); + contractDeploy(); + vm.startPrank(deployer); + rare.transfer(alice, initialRare); + rare.transfer(bob, initialRare); + vm.stopPrank(); + } + + function test_checkIfCurrencyIsApproved_ETH() public { + // ETH (address(0)) should always be approved + tc.checkIfCurrencyIsApproved(address(0)); + } + + function test_checkIfCurrencyIsApproved_ApprovedERC20() public { + // Mock approved token check + vm.mockCall( + approvedTokenRegistry, + abi.encodeWithSelector(IApprovedTokenRegistry.isApprovedToken.selector, address(rare)), + abi.encode(true) + ); + + tc.checkIfCurrencyIsApproved(address(rare)); + } + + function test_checkIfCurrencyIsApproved_UnapprovedERC20() public { + // Mock unapproved token check + vm.mockCall( + approvedTokenRegistry, + abi.encodeWithSelector(IApprovedTokenRegistry.isApprovedToken.selector, address(rare)), + abi.encode(false) + ); + + vm.expectRevert("Not approved currency"); + tc.checkIfCurrencyIsApproved(address(rare)); + } + + function test_senderMustBeTokenOwner_Success() public { + address nftContract = address(0x1234); + uint256 tokenId = 1; + + // Mock NFT ownership + vm.mockCall(nftContract, abi.encodeWithSelector(IERC721.ownerOf.selector, tokenId), abi.encode(address(this))); + + vm.prank(address(this)); + tc.senderMustBeTokenOwner(nftContract, tokenId); + } + + function test_senderMustBeTokenOwner_Failure() public { + address nftContract = address(0x1234); + uint256 tokenId = 1; + + // Mock NFT ownership to different address + vm.mockCall(nftContract, abi.encodeWithSelector(IERC721.ownerOf.selector, tokenId), abi.encode(address(0x5678))); + + vm.expectRevert("sender must be the token owner"); + tc.senderMustBeTokenOwner(nftContract, tokenId); + } + + function test_addressMustHaveMarketplaceApprovedForNFT_Success() public { + // Mint NFT to alice + vm.prank(deployer); + uint256 tokenId = nft.mint(alice); + + // Have alice approve the marketplace + vm.prank(alice); + nft.setApprovalForAll(address(erc721ApprovalManager), true); + + tc.addressMustHaveMarketplaceApprovedForNFT(alice, address(nft), tokenId); + } + + function test_addressMustHaveMarketplaceApprovedForNFT_SpecificTokenSuccess() public { + // Mint NFT to alice + vm.prank(deployer); + uint256 tokenId = nft.mint(alice); + + // Have alice approve the marketplace + vm.prank(alice); + nft.setApprovalForAll(address(erc721ApprovalManager), true); + + tc.addressMustHaveMarketplaceApprovedForNFT(alice, address(nft), tokenId); + } + + function test_addressMustHaveMarketplaceApprovedForNFT_Failure() public { + // Mint NFT to alice + vm.prank(deployer); + uint256 tokenId = nft.mint(alice); + + // Don't approve the marketplace - this should fail + vm.expectRevert("owner must have approved token"); + tc.addressMustHaveMarketplaceApprovedForNFT(alice, address(nft), tokenId); + } + + function test_checkSplits_Success() public { + address payable[] memory splitAddrs = new address payable[](2); + uint8[] memory splitRatios = new uint8[](2); + + splitAddrs[0] = payable(alice); + splitAddrs[1] = payable(bob); + splitRatios[0] = 60; + splitRatios[1] = 40; + + tc.checkSplits(splitAddrs, splitRatios); + } + + function test_checkSplits_EmptyArrays() public { + address payable[] memory splitAddrs = new address payable[](0); + uint8[] memory splitRatios = new uint8[](0); + + vm.expectRevert("checkSplits::Must have at least 1 split"); + tc.checkSplits(splitAddrs, splitRatios); + } + + function test_checkSplits_TooManySplits() public { + address payable[] memory splitAddrs = new address payable[](6); + uint8[] memory splitRatios = new uint8[](6); + + vm.expectRevert("checkSplits::Split exceeded max size"); + tc.checkSplits(splitAddrs, splitRatios); + } + + function test_checkSplits_UnequalArrays() public { + address payable[] memory splitAddrs = new address payable[](2); + uint8[] memory splitRatios = new uint8[](3); + + vm.expectRevert("checkSplits::Splits and ratios must be equal"); + tc.checkSplits(splitAddrs, splitRatios); + } + + function test_checkSplits_InvalidTotal() public { + address payable[] memory splitAddrs = new address payable[](2); + uint8[] memory splitRatios = new uint8[](2); + + splitAddrs[0] = payable(alice); + splitAddrs[1] = payable(bob); + splitRatios[0] = 60; + splitRatios[1] = 30; + + vm.expectRevert("checkSplits::Total must be equal to 100"); + tc.checkSplits(splitAddrs, splitRatios); + } + + function test_senderMustHaveMarketplaceApproved_ETH() public { + // ETH doesn't need approval + tc.senderMustHaveMarketplaceApproved(address(0), 1 ether); + } + + function test_senderMustHaveMarketplaceApproved_ERC20Success() public { + uint256 amount = 1 ether; + + // Transfer RARE tokens to this contract + vm.prank(deployer); + rare.transfer(address(this), amount); + + // Approve the ERC20ApprovalManager to spend tokens + rare.approve(address(erc20ApprovalManager), amount); + + tc.senderMustHaveMarketplaceApproved(address(rare), amount); + } + + function test_senderMustHaveMarketplaceApproved_ERC20Failure() public { + uint256 amount = 1 ether; + + // Transfer RARE tokens to this contract + vm.prank(deployer); + rare.transfer(address(this), amount); + + // Approve less than the required amount + rare.approve(address(erc20ApprovalManager), amount - 1); + + vm.expectRevert("sender needs to approve ERC20ApprovalManager for currency"); + tc.senderMustHaveMarketplaceApproved(address(rare), amount); + } + + function test_checkAmountAndTransfer_ETHSuccess() public { + uint256 amount = 1 ether; + + vm.deal(address(this), amount); + tc.checkAmountAndTransfer{value: amount}(address(0), amount); + } + + function test_checkAmountAndTransfer_ETHFailure() public { + uint256 amount = 1 ether; + + vm.deal(address(this), amount - 0.1 ether); + vm.expectRevert("not enough eth sent"); + tc.checkAmountAndTransfer{value: amount - 0.1 ether}(address(0), amount); + } + + function test_checkAmountAndTransfer_ERC20Success() public { + uint256 amount = 1 ether; + + // Transfer RARE tokens to the test contract + vm.startPrank(deployer); + rare.transfer(address(this), amount); + vm.stopPrank(); + + // Approve the ERC20ApprovalManager to spend tokens + vm.prank(address(this)); + rare.approve(address(erc20ApprovalManager), amount); + + tc.checkAmountAndTransfer(address(rare), amount); + } + + function test_refund_ETH() public { + uint256 amount = 1 ether; + uint256 marketplaceFee = 3; + uint256 totalAmount = amount + ((amount * marketplaceFee) / 100); + + // Fund the test contract first + vm.deal(address(tc), totalAmount); + + tc.refund(address(0), amount, marketplaceFee, alice); + } + + function test_refund_ERC20() public { + uint256 amount = 1 ether; + uint256 marketplaceFee = 3; + uint256 totalAmount = amount + ((amount * marketplaceFee) / 100); + + vm.mockCall(address(rare), abi.encodeWithSelector(IERC20.transfer.selector, alice, totalAmount), abi.encode(true)); + + deal(address(rare), address(tc), totalAmount); + tc.refund(address(rare), amount, marketplaceFee, alice); + } + + function test_payout_primary() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(false) + ); + + // setup isApprovedSpaceOperator + vm.mockCall( + spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.isApprovedSpaceOperator.selector, charlie), + abi.encode(false) + ); + + // setup getERC721ContractPrimarySaleFeePercentage + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getERC721ContractPrimarySaleFeePercentage.selector, originContract), + abi.encode(15) + ); + + // Mock royalty engine to return empty arrays for primary sale + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(new address payable[](0), new uint256[](0)) + ); + + uint256 balanceBefore = charlie.balance; + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + uint256 balanceAfter = charlie.balance; + uint256 expectedBalance = balanceBefore + ((amount * 85) / 100); + assertEq(balanceAfter, expectedBalance, "incorrect balance after payout"); + } + + function test_payout_secondary() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + address payable[] memory royaltyReceiverAddrs = new address payable[](1); + uint256[] memory royaltyAmounts = new uint256[](1); + royaltyReceiverAddrs[0] = payable(alice); + royaltyAmounts[0] = (amount * 10) / 100; + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold -- true for secondary sale + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(true) + ); + + // setup getRoyalty + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(royaltyReceiverAddrs, royaltyAmounts) + ); + + uint256 balanceBefore = charlie.balance; + uint256 aliceBalanceBefore = alice.balance; + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + uint256 balanceAfter = charlie.balance; + uint256 aliceBalanceAfter = alice.balance; + + // Seller should receive 90% (100% - 10% royalty) + uint256 expectedBalance = balanceBefore + ((amount * 90) / 100); + // Royalty receiver should receive 10% + uint256 aliceExpectedBalance = aliceBalanceBefore + ((amount * 10) / 100); + + assertEq(balanceAfter, expectedBalance, "incorrect seller balance after payout"); + assertEq(aliceBalanceAfter, aliceExpectedBalance, "incorrect royalty receiver balance after payout"); + } + + function test_payout_primary_spaceOperator() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(false) + ); + + // setup isApprovedSpaceOperator -- true + vm.mockCall( + spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.isApprovedSpaceOperator.selector, charlie), + abi.encode(true) + ); + + // setup getPlatformCommission -- 5% + vm.mockCall( + spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.getPlatformCommission.selector, charlie), + abi.encode(5) + ); + + // Mock royalty engine to return empty arrays for primary sale with space operator + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(new address payable[](0), new uint256[](0)) + ); + + uint256 balanceBefore = charlie.balance; + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + uint256 balanceAfter = charlie.balance; + + // Space operator should receive 95% (100% - 5% platform commission) + uint256 expectedBalance = balanceBefore + ((amount * 95) / 100); + assertEq(balanceAfter, expectedBalance, "incorrect balance after payout for space operator"); + } + + function test_payout_multipleRoyaltyReceivers() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + + // Setup multiple royalty receivers + address payable[] memory royaltyReceiverAddrs = new address payable[](2); + uint256[] memory royaltyAmounts = new uint256[](2); + royaltyReceiverAddrs[0] = payable(alice); + royaltyReceiverAddrs[1] = payable(bob); + royaltyAmounts[0] = (amount * 5) / 100; // 5% + royaltyAmounts[1] = (amount * 5) / 100; // 5% + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold -- true for secondary sale + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(true) + ); + + // setup getRoyalty with multiple receivers + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(royaltyReceiverAddrs, royaltyAmounts) + ); + + uint256 balanceBefore = charlie.balance; + uint256 aliceBalanceBefore = alice.balance; + uint256 bobBalanceBefore = bob.balance; + + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + + uint256 balanceAfter = charlie.balance; + uint256 aliceBalanceAfter = alice.balance; + uint256 bobBalanceAfter = bob.balance; + + // Seller should receive 90% (100% - 10% total royalties) + uint256 expectedBalance = balanceBefore + ((amount * 90) / 100); + // Each royalty receiver should receive 5% + uint256 aliceExpectedBalance = aliceBalanceBefore + ((amount * 5) / 100); + uint256 bobExpectedBalance = bobBalanceBefore + ((amount * 5) / 100); + + assertEq(balanceAfter, expectedBalance, "incorrect seller balance after payout"); + assertEq(aliceBalanceAfter, aliceExpectedBalance, "incorrect first royalty receiver balance after payout"); + assertEq(bobBalanceAfter, bobExpectedBalance, "incorrect second royalty receiver balance after payout"); + } + + function test_payout_multipleSplits() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + + // Setup multiple splits + address payable[] memory splitAddrs = new address payable[](2); + uint8[] memory splitRatios = new uint8[](2); + splitAddrs[0] = payable(charlie); + splitAddrs[1] = payable(bob); + splitRatios[0] = 60; // 60% + splitRatios[1] = 40; // 40% + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(false) + ); + + // setup isApprovedSpaceOperator + vm.mockCall( + spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.isApprovedSpaceOperator.selector, charlie), + abi.encode(false) + ); + + // setup getERC721ContractPrimarySaleFeePercentage + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getERC721ContractPrimarySaleFeePercentage.selector, originContract), + abi.encode(15) + ); + + // Mock royalty engine to return empty arrays for primary sale with splits + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(new address payable[](0), new uint256[](0)) + ); + + uint256 charlieBalanceBefore = charlie.balance; + uint256 bobBalanceBefore = bob.balance; + + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + + uint256 charlieBalanceAfter = charlie.balance; + uint256 bobBalanceAfter = bob.balance; + + // Calculate expected balances after 15% platform fee and split ratios + uint256 remainingAmount = (amount * 85) / 100; // After 15% platform fee + uint256 charlieExpectedBalance = charlieBalanceBefore + ((remainingAmount * 60) / 100); + uint256 bobExpectedBalance = bobBalanceBefore + ((remainingAmount * 40) / 100); + + assertEq(charlieBalanceAfter, charlieExpectedBalance, "incorrect first split receiver balance after payout"); + assertEq(bobBalanceAfter, bobExpectedBalance, "incorrect second split receiver balance after payout"); + } + + function test_payout_tooManyRoyaltyRecipients() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + + // Setup TOO MANY royalty receivers (6, when max is 5) + address payable[] memory royaltyReceiverAddrs = new address payable[](6); + uint256[] memory royaltyAmounts = new uint256[](6); + + // Fill with different addresses + royaltyReceiverAddrs[0] = payable(alice); + royaltyReceiverAddrs[1] = payable(bob); + royaltyReceiverAddrs[2] = payable(address(0x1111)); + royaltyReceiverAddrs[3] = payable(address(0x2222)); + royaltyReceiverAddrs[4] = payable(address(0x3333)); + royaltyReceiverAddrs[5] = payable(address(0x4444)); // This should be ignored + + // Each gets 1% royalty + for (uint256 i = 0; i < 6; i++) { + royaltyAmounts[i] = (amount * 1) / 100; + } + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold -- true for secondary sale + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(true) + ); + + // setup getRoyalty with TOO MANY receivers (6) + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(royaltyReceiverAddrs, royaltyAmounts) + ); + + // Record balances before payout + uint256 charlieBalanceBefore = charlie.balance; + uint256 aliceBalanceBefore = alice.balance; + uint256 bobBalanceBefore = bob.balance; + uint256 addr1111BalanceBefore = address(0x1111).balance; + uint256 addr2222BalanceBefore = address(0x2222).balance; + uint256 addr3333BalanceBefore = address(0x3333).balance; + uint256 addr4444BalanceBefore = address(0x4444).balance; // Should not receive anything + + // Should NOT revert - should truncate to first 5 recipients + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + + // Record balances after payout + uint256 charlieBalanceAfter = charlie.balance; + uint256 aliceBalanceAfter = alice.balance; + uint256 bobBalanceAfter = bob.balance; + uint256 addr1111BalanceAfter = address(0x1111).balance; + uint256 addr2222BalanceAfter = address(0x2222).balance; + uint256 addr3333BalanceAfter = address(0x3333).balance; + uint256 addr4444BalanceAfter = address(0x4444).balance; // Should remain unchanged + + // Verify that only the first 5 recipients received royalties (1% each = 5% total) + // Seller should receive 95% (100% - 5% total royalties from first 5 recipients) + uint256 expectedSellerBalance = charlieBalanceBefore + ((amount * 95) / 100); + uint256 expectedRoyaltyPerRecipient = (amount * 1) / 100; + + assertEq(charlieBalanceAfter, expectedSellerBalance, "Seller should receive 95% after truncated royalties"); + assertEq(aliceBalanceAfter, aliceBalanceBefore + expectedRoyaltyPerRecipient, "First recipient should receive 1%"); + assertEq(bobBalanceAfter, bobBalanceBefore + expectedRoyaltyPerRecipient, "Second recipient should receive 1%"); + assertEq( + addr1111BalanceAfter, + addr1111BalanceBefore + expectedRoyaltyPerRecipient, + "Third recipient should receive 1%" + ); + assertEq( + addr2222BalanceAfter, + addr2222BalanceBefore + expectedRoyaltyPerRecipient, + "Fourth recipient should receive 1%" + ); + assertEq( + addr3333BalanceAfter, + addr3333BalanceBefore + expectedRoyaltyPerRecipient, + "Fifth recipient should receive 1%" + ); + assertEq(addr4444BalanceAfter, addr4444BalanceBefore, "Sixth recipient should receive nothing (truncated)"); + } + + function test_payout_truncationVerifyOrder() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + + // Setup 7 royalty receivers to test truncation preserves order + address payable[] memory royaltyReceiverAddrs = new address payable[](7); + uint256[] memory royaltyAmounts = new uint256[](7); + + // Use distinct amounts to verify order is preserved + royaltyReceiverAddrs[0] = payable(alice); // Should get 1% + royaltyReceiverAddrs[1] = payable(bob); // Should get 2% + royaltyReceiverAddrs[2] = payable(address(0x1111)); // Should get 3% + royaltyReceiverAddrs[3] = payable(address(0x2222)); // Should get 4% + royaltyReceiverAddrs[4] = payable(address(0x3333)); // Should get 5% + royaltyReceiverAddrs[5] = payable(address(0x4444)); // Should get nothing (truncated) + royaltyReceiverAddrs[6] = payable(address(0x5555)); // Should get nothing (truncated) + + // Different amounts to verify ordering + royaltyAmounts[0] = (amount * 1) / 100; // 1% + royaltyAmounts[1] = (amount * 2) / 100; // 2% + royaltyAmounts[2] = (amount * 3) / 100; // 3% + royaltyAmounts[3] = (amount * 4) / 100; // 4% + royaltyAmounts[4] = (amount * 5) / 100; // 5% + royaltyAmounts[5] = (amount * 6) / 100; // Should be ignored + royaltyAmounts[6] = (amount * 7) / 100; // Should be ignored + + // Mock necessary calls + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(true) + ); + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(royaltyReceiverAddrs, royaltyAmounts) + ); + + uint256 charlieBalanceBefore = charlie.balance; + uint256 aliceBalanceBefore = alice.balance; + uint256 bobBalanceBefore = bob.balance; + uint256 addr1111BalanceBefore = address(0x1111).balance; + uint256 addr2222BalanceBefore = address(0x2222).balance; + uint256 addr3333BalanceBefore = address(0x3333).balance; + uint256 addr4444BalanceBefore = address(0x4444).balance; + uint256 addr5555BalanceBefore = address(0x5555).balance; + + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + + // Verify only first 5 recipients received their respective amounts + // Total paid: 1% + 2% + 3% + 4% + 5% = 15% + // Seller should get: 100% - 15% = 85% + assertEq(charlie.balance, charlieBalanceBefore + ((amount * 85) / 100), "Seller should receive 85%"); + assertEq(alice.balance, aliceBalanceBefore + ((amount * 1) / 100), "Alice should receive 1%"); + assertEq(bob.balance, bobBalanceBefore + ((amount * 2) / 100), "Bob should receive 2%"); + assertEq( + address(0x1111).balance, + addr1111BalanceBefore + ((amount * 3) / 100), + "Third recipient should receive 3%" + ); + assertEq( + address(0x2222).balance, + addr2222BalanceBefore + ((amount * 4) / 100), + "Fourth recipient should receive 4%" + ); + assertEq( + address(0x3333).balance, + addr3333BalanceBefore + ((amount * 5) / 100), + "Fifth recipient should receive 5%" + ); + assertEq(address(0x4444).balance, addr4444BalanceBefore, "Sixth recipient should receive nothing"); + assertEq(address(0x5555).balance, addr5555BalanceBefore, "Seventh recipient should receive nothing"); + } + + function test_payout_exactlyMaxRoyaltyRecipients() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + + // Setup EXACTLY the maximum royalty receivers (5) + address payable[] memory royaltyReceiverAddrs = new address payable[](5); + uint256[] memory royaltyAmounts = new uint256[](5); + + // Fill with different addresses + royaltyReceiverAddrs[0] = payable(alice); + royaltyReceiverAddrs[1] = payable(bob); + royaltyReceiverAddrs[2] = payable(address(0x1111)); + royaltyReceiverAddrs[3] = payable(address(0x2222)); + royaltyReceiverAddrs[4] = payable(address(0x3333)); + + // Each gets 2% royalty (10% total) + for (uint256 i = 0; i < 5; i++) { + royaltyAmounts[i] = (amount * 2) / 100; + } + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold -- true for secondary sale + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(true) + ); + + // setup getRoyalty with exactly max receivers (5) + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(royaltyReceiverAddrs, royaltyAmounts) + ); + + uint256 charlieBalanceBefore = charlie.balance; + uint256 aliceBalanceBefore = alice.balance; + uint256 bobBalanceBefore = bob.balance; + + // Should NOT revert with exactly 5 recipients + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + + uint256 charlieBalanceAfter = charlie.balance; + uint256 aliceBalanceAfter = alice.balance; + uint256 bobBalanceAfter = bob.balance; + + // Seller should receive 90% (100% - 10% total royalties) + uint256 expectedBalance = charlieBalanceBefore + ((amount * 90) / 100); + // First two royalty receivers should each receive 2% + uint256 aliceExpectedBalance = aliceBalanceBefore + ((amount * 2) / 100); + uint256 bobExpectedBalance = bobBalanceBefore + ((amount * 2) / 100); + + assertEq(charlieBalanceAfter, expectedBalance, "incorrect seller balance after payout"); + assertEq(aliceBalanceAfter, aliceExpectedBalance, "incorrect first royalty receiver balance after payout"); + assertEq(bobBalanceAfter, bobExpectedBalance, "incorrect second royalty receiver balance after payout"); + } + + function test_transferERC721_Success() public { + // Mint NFT to alice + vm.prank(deployer); + uint256 tokenId = nft.mint(alice); + + // Have alice approve the marketplace + vm.prank(alice); + nft.approve(address(erc721ApprovalManager), tokenId); + + // Transfer NFT from alice to bob + tc.transferERC721(address(nft), alice, bob, tokenId); + + // Verify the transfer happened + assertEq(nft.ownerOf(tokenId), bob, "NFT was not transferred to bob"); + } + + function test_payout_primary_noRoyalties() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold -- false for primary sale + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(false) + ); + + // setup isApprovedSpaceOperator + vm.mockCall( + spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.isApprovedSpaceOperator.selector, charlie), + abi.encode(false) + ); + + // setup getERC721ContractPrimarySaleFeePercentage + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getERC721ContractPrimarySaleFeePercentage.selector, originContract), + abi.encode(15) + ); + + // Mock royalty engine to return non-empty arrays to verify they are ignored + address payable[] memory royaltyReceiverAddrs = new address payable[](1); + uint256[] memory royaltyAmounts = new uint256[](1); + royaltyReceiverAddrs[0] = payable(alice); + royaltyAmounts[0] = (amount * 10) / 100; + + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(royaltyReceiverAddrs, royaltyAmounts) + ); + + uint256 charlieBalanceBefore = charlie.balance; + uint256 aliceBalanceBefore = alice.balance; + + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + + uint256 charlieBalanceAfter = charlie.balance; + uint256 aliceBalanceAfter = alice.balance; + + // Seller should receive 85% (100% - 15% primary fee) + uint256 expectedBalance = charlieBalanceBefore + ((amount * 85) / 100); + // Royalty receiver should receive nothing + uint256 aliceExpectedBalance = aliceBalanceBefore; + + assertEq(charlieBalanceAfter, expectedBalance, "incorrect seller balance after primary sale"); + assertEq(aliceBalanceAfter, aliceExpectedBalance, "royalty receiver should not receive anything in primary sale"); + } + + function test_payout_secondary_noPrimaryFees() public { + address originContract = address(0xaaaa); + uint256 tokenId = 1; + address currencyAddress = address(0); + uint256 amount = 1 ether; + address payable[] memory splitAddrs = new address payable[](1); + uint8[] memory splitRatios = new uint8[](1); + splitRatios[0] = 100; + splitAddrs[0] = payable(charlie); + + // setup getRewardAccumulatorAddressForUser call + vm.mockCall( + stakingRegistry, + abi.encodeWithSelector(IRareStakingRegistry.getRewardAccumulatorAddressForUser.selector, charlie), + abi.encode(address(0)) + ); + + // setup calculateMarketplacePayoutFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateMarketplacePayoutFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup calculateStakingFee call + vm.mockCall( + stakingSettings, + abi.encodeWithSelector(IStakingSettings.calculateStakingFee.selector, amount), + abi.encode(0) + ); + + // setup calculateMarketplaceFee call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.calculateMarketplaceFee.selector, amount), + abi.encode((amount * 3) / 100) + ); + + // setup getMarketplaceFeePercentage call + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getMarketplaceFeePercentage.selector), + abi.encode(3) + ); + + // setup hasERC721TokenSold -- true for secondary sale + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.hasERC721TokenSold.selector, originContract, 1), + abi.encode(true) + ); + + // setup isApprovedSpaceOperator + vm.mockCall( + spaceOperatorRegistry, + abi.encodeWithSelector(ISpaceOperatorRegistry.isApprovedSpaceOperator.selector, charlie), + abi.encode(false) + ); + + // setup getERC721ContractPrimarySaleFeePercentage - should be ignored + vm.mockCall( + marketplaceSettings, + abi.encodeWithSelector(IMarketplaceSettings.getERC721ContractPrimarySaleFeePercentage.selector, originContract), + abi.encode(15) + ); + + // Mock royalty engine to return empty arrays to verify primary fees aren't paid + vm.mockCall( + royaltyEngine, + abi.encodeWithSelector(IRoyaltyEngineV1.getRoyalty.selector, originContract, tokenId, amount), + abi.encode(new address payable[](0), new uint256[](0)) + ); + + uint256 charlieBalanceBefore = charlie.balance; + + vm.prank(deployer); + tc.payout{value: amount + ((amount * 3) / 100)}( + originContract, + tokenId, + currencyAddress, + amount, + charlie, + splitAddrs, + splitRatios + ); + + uint256 charlieBalanceAfter = charlie.balance; + + // Seller should receive 100% (no primary fees in secondary sale) + uint256 expectedBalance = charlieBalanceBefore + amount; + + assertEq( + charlieBalanceAfter, + expectedBalance, + "incorrect seller balance after secondary sale - primary fees should not be taken" + ); + } +} diff --git a/src/test/v2/utils/TestNft.sol b/src/test/v2/utils/TestNft.sol new file mode 100644 index 0000000..964b471 --- /dev/null +++ b/src/test/v2/utils/TestNft.sol @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; +pragma abicoder v2; + +import {IERC721} from "openzeppelin-contracts/token/ERC721/IERC721.sol"; +import {ERC721} from "openzeppelin-contracts/token/ERC721/ERC721.sol"; + +contract TestNFT is ERC721 { + uint256 private _nextTokenId; + + constructor() ERC721("Test NFT", "TNFT") {} + + function mint(address to) public returns (uint256) { + uint256 tokenId = _nextTokenId++; + _mint(to, tokenId); + return tokenId; + } + + function mintBatch(address to, uint256 count) public returns (uint256[] memory) { + uint256[] memory tokenIds = new uint256[](count); + for (uint256 i = 0; i < count; i++) { + tokenIds[i] = mint(to); + } + return tokenIds; + } +} diff --git a/src/test/v2/utils/TestToken.sol b/src/test/v2/utils/TestToken.sol new file mode 100644 index 0000000..45106c0 --- /dev/null +++ b/src/test/v2/utils/TestToken.sol @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; +pragma abicoder v2; + +import "forge-std/Test.sol"; +import {IERC20} from "openzeppelin-contracts/token/ERC20/IERC20.sol"; +import {ERC20} from "openzeppelin-contracts/token/ERC20/ERC20.sol"; + +contract TestToken is ERC20 { + constructor() ERC20("Test Token", "TT") { + _mint(msg.sender, 1000000 * 10 ** decimals()); + } + + function mint(address to, uint256 amount) public { + _mint(to, amount); + } +} diff --git a/src/token/ERC721/sovereign/SovereignNFT.sol b/src/token/ERC721/sovereign/SovereignNFT.sol index a390e47..6ebc247 100644 --- a/src/token/ERC721/sovereign/SovereignNFT.sol +++ b/src/token/ERC721/sovereign/SovereignNFT.sol @@ -12,356 +12,343 @@ import "../../extensions/ITokenCreator.sol"; import "../../extensions/ERC2981Upgradeable.sol"; contract SovereignNFT is - OwnableUpgradeable, - ERC165Upgradeable, - ERC721Upgradeable, - ITokenCreator, - ERC721BurnableUpgradeable, - ERC2981Upgradeable + OwnableUpgradeable, + ERC165Upgradeable, + ERC721Upgradeable, + ITokenCreator, + ERC721BurnableUpgradeable, + ERC2981Upgradeable { - using SafeMathUpgradeable for uint256; - using StringsUpgradeable for uint256; - using CountersUpgradeable for CountersUpgradeable.Counter; - - struct MintBatch { - uint256 startTokenId; - uint256 endTokenId; - string baseURI; - } + using SafeMathUpgradeable for uint256; + using StringsUpgradeable for uint256; + using CountersUpgradeable for CountersUpgradeable.Counter; - bool public disabled; + struct MintBatch { + uint256 startTokenId; + uint256 endTokenId; + string baseURI; + } - uint256 public maxTokens; + bool public disabled; - // Mapping from token ID to the creator's address - mapping(uint256 => address) private tokenCreators; + // Global lock for all token URIs + bool public tokenURIsLocked; - // Mapping from tokenId to if it was burned or not (for batch minting) - mapping(uint256 => bool) private tokensBurned; + uint256 public maxTokens; - // Mapping from token ID to approved address - mapping(uint256 => address) private _tokenApprovals; + // Mapping from token ID to the creator's address + mapping(uint256 => address) private tokenCreators; - // Counter to keep track of the current token id. - CountersUpgradeable.Counter private tokenIdCounter; + // Mapping from tokenId to if it was burned or not (for batch minting) + mapping(uint256 => bool) private tokensBurned; - MintBatch[] private mintBatches; + // Mapping from token ID to approved address + mapping(uint256 => address) private _tokenApprovals; - // Optional mapping for token URIs - mapping(uint256 => string) private _tokenURIs; + // Counter to keep track of the current token id. + CountersUpgradeable.Counter private tokenIdCounter; - event ContractDisabled(address indexed user); + MintBatch[] private mintBatches; - event ConsecutiveTransfer( - uint256 indexed fromTokenId, - uint256 toTokenId, - address indexed fromAddress, - address indexed toAddress - ); + // Optional mapping for token URIs + mapping(uint256 => string) private _tokenURIs; - function init( - string calldata _name, - string calldata _symbol, - address _creator, - uint256 _maxTokens - ) public initializer { - require(_creator != address(0), "creator cannot be null address"); - _setDefaultRoyaltyPercentage(10); - disabled = false; - maxTokens = _maxTokens; - - __Ownable_init(); - __ERC721_init(_name, _symbol); - __ERC165_init(); - __ERC2981__init(); - - _setDefaultRoyaltyReceiver(_creator); - - super.transferOwnership(_creator); - } + // Mapping for overridden batch token URIs + mapping(uint256 => string) private _overriddenBatchURIs; - modifier onlyTokenOwner(uint256 _tokenId) { - require(ownerOf(_tokenId) == msg.sender, "Must be owner of token."); - _; - } + event ContractDisabled(address indexed user); + event TokenURIUpdated(uint256 indexed tokenId, string newURI); + event BatchBaseURIUpdated(uint256 indexed batchIndex, string newBaseURI); + event TokenURIsLocked(); - modifier ifNotDisabled() { - require(!disabled, "Contract must not be disabled."); - _; - } + event ConsecutiveTransfer( + uint256 indexed fromTokenId, + uint256 toTokenId, + address indexed fromAddress, + address indexed toAddress + ); - function batchMint(string calldata _baseURI, uint256 _numberOfTokens) - public - onlyOwner - ifNotDisabled - { - uint256 startTokenId = tokenIdCounter.current() + 1; - uint256 endTokenId = startTokenId + _numberOfTokens - 1; + function init( + string calldata _name, + string calldata _symbol, + address _creator, + uint256 _maxTokens + ) public initializer { + require(_creator != address(0), "creator cannot be null address"); + _setDefaultRoyaltyPercentage(10); + disabled = false; + tokenURIsLocked = false; + maxTokens = _maxTokens; - tokenIdCounter = CountersUpgradeable.Counter(endTokenId); + __Ownable_init(); + __ERC721_init(_name, _symbol); + __ERC165_init(); + __ERC2981__init(); - require( - tokenIdCounter.current() <= maxTokens, - "batchMint::exceeded maxTokens" - ); + _setDefaultRoyaltyReceiver(_creator); - mintBatches.push(MintBatch(startTokenId, endTokenId, _baseURI)); + super.transferOwnership(_creator); + } - emit ConsecutiveTransfer(startTokenId, endTokenId, address(0), owner()); - } + modifier onlyTokenOwner(uint256 _tokenId) { + require(ownerOf(_tokenId) == msg.sender, "Must be owner of token."); + _; + } - function addNewToken(string memory _uri) public onlyOwner ifNotDisabled { - _createToken( - _uri, - msg.sender, - msg.sender, - getDefaultRoyaltyPercentage(), - msg.sender - ); - } + modifier ifNotDisabled() { + require(!disabled, "Contract must not be disabled."); + _; + } - function mintTo( - string calldata _uri, - address _receiver, - address _royaltyReceiver - ) external onlyOwner ifNotDisabled { - _createToken( - _uri, - msg.sender, - _receiver, - getDefaultRoyaltyPercentage(), - _royaltyReceiver - ); - } + function batchMint(string calldata _baseURI, uint256 _numberOfTokens) public onlyOwner ifNotDisabled { + uint256 startTokenId = tokenIdCounter.current() + 1; + uint256 endTokenId = startTokenId + _numberOfTokens - 1; - function deleteToken(uint256 _tokenId) public onlyTokenOwner(_tokenId) { - burn(_tokenId); - } + tokenIdCounter = CountersUpgradeable.Counter(endTokenId); - function burn(uint256 _tokenId) public virtual override { - (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + require(tokenIdCounter.current() <= maxTokens, "batchMint::exceeded maxTokens"); - tokensBurned[_tokenId] = true; + mintBatches.push(MintBatch(startTokenId, endTokenId, _baseURI)); - if (wasBatchMinted && !ERC721Upgradeable._exists(_tokenId)) { - return; - } + emit ConsecutiveTransfer(startTokenId, endTokenId, address(0), owner()); + } - ERC721BurnableUpgradeable.burn(_tokenId); - } + function addNewToken(string memory _uri) public onlyOwner ifNotDisabled { + _createToken(_uri, msg.sender, msg.sender, getDefaultRoyaltyPercentage(), msg.sender); + } - function tokenCreator(uint256) - public - view - override - returns (address payable) - { - return payable(owner()); - } + function mintTo(string calldata _uri, address _receiver, address _royaltyReceiver) external onlyOwner ifNotDisabled { + _createToken(_uri, msg.sender, _receiver, getDefaultRoyaltyPercentage(), _royaltyReceiver); + } - function disableContract() public onlyOwner { - disabled = true; - emit ContractDisabled(msg.sender); - } + function deleteToken(uint256 _tokenId) public onlyTokenOwner(_tokenId) { + burn(_tokenId); + } - function setDefaultRoyaltyReceiver(address _receiver) external onlyOwner { - _setDefaultRoyaltyReceiver(_receiver); - } + function burn(uint256 _tokenId) public virtual override { + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); - function setRoyaltyReceiverForToken(address _receiver, uint256 _tokenId) - external - onlyOwner - { - royaltyReceivers[_tokenId] = _receiver; - } + tokensBurned[_tokenId] = true; - function _setTokenCreator(uint256 _tokenId, address _creator) internal { - tokenCreators[_tokenId] = _creator; + if (wasBatchMinted && !ERC721Upgradeable._exists(_tokenId)) { + return; } - function _createToken( - string memory _uri, - address _creator, - address _to, - uint256 _royaltyPercentage, - address _royaltyReceiver - ) internal returns (uint256) { - tokenIdCounter.increment(); - uint256 tokenId = tokenIdCounter.current(); - require(tokenId <= maxTokens, "_createToken::exceeded maxTokens"); - _safeMint(_to, tokenId); - _tokenURIs[tokenId] = _uri; - _setTokenCreator(tokenId, _creator); - _setRoyaltyPercentage(tokenId, _royaltyPercentage); - _setRoyaltyReceiver(tokenId, _royaltyReceiver); - return tokenId; + ERC721BurnableUpgradeable.burn(_tokenId); + } + + function tokenCreator(uint256) public view override returns (address payable) { + return payable(owner()); + } + + function disableContract() public onlyOwner { + disabled = true; + emit ContractDisabled(msg.sender); + } + + function setDefaultRoyaltyReceiver(address _receiver) external onlyOwner { + _setDefaultRoyaltyReceiver(_receiver); + } + + function setRoyaltyReceiverForToken(address _receiver, uint256 _tokenId) external onlyOwner { + royaltyReceivers[_tokenId] = _receiver; + } + + function _setTokenCreator(uint256 _tokenId, address _creator) internal { + tokenCreators[_tokenId] = _creator; + } + + function _createToken( + string memory _uri, + address _creator, + address _to, + uint256 _royaltyPercentage, + address _royaltyReceiver + ) internal returns (uint256) { + tokenIdCounter.increment(); + uint256 tokenId = tokenIdCounter.current(); + require(tokenId <= maxTokens, "_createToken::exceeded maxTokens"); + _safeMint(_to, tokenId); + _tokenURIs[tokenId] = _uri; + _setTokenCreator(tokenId, _creator); + _setRoyaltyPercentage(tokenId, _royaltyPercentage); + _setRoyaltyReceiver(tokenId, _royaltyReceiver); + return tokenId; + } + + /////////////////////////////////////////////// + // Overriding Methods to support batch mints + /////////////////////////////////////////////// + function tokenURI(uint256 _tokenId) public view virtual override returns (string memory) { + // Check for overridden batch URI first + if (bytes(_overriddenBatchURIs[_tokenId]).length > 0) { + return _overriddenBatchURIs[_tokenId]; } - /////////////////////////////////////////////// - // Overriding Methods to support batch mints - /////////////////////////////////////////////// - function tokenURI(uint256 _tokenId) - public - view - virtual - override - returns (string memory) - { - (bool wasBatchMinted, , string memory baseTokenUri) = _batchMintInfo( - _tokenId - ); - - if (!wasBatchMinted) { - return _tokenURIs[_tokenId]; - } else { - return - string( - abi.encodePacked( - baseTokenUri, - "/", - _tokenId.toString(), - ".json" - ) - ); - } - } + (bool wasBatchMinted, , string memory baseTokenUri) = _batchMintInfo(_tokenId); - function ownerOf(uint256 _tokenId) - public - view - virtual - override - returns (address) - { - (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); - - if (!wasBatchMinted) { - return ERC721Upgradeable.ownerOf(_tokenId); - } else if (tokensBurned[_tokenId]) { - return ERC721Upgradeable.ownerOf(_tokenId); - } else { - if (!ERC721Upgradeable._exists(_tokenId)) { - return owner(); - } else { - return ERC721Upgradeable.ownerOf(_tokenId); - } - } + if (!wasBatchMinted) { + return _tokenURIs[_tokenId]; + } else { + return string(abi.encodePacked(baseTokenUri, "/", _tokenId.toString(), ".json")); } + } + + function ownerOf(uint256 _tokenId) public view virtual override returns (address) { + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + + if (!wasBatchMinted) { + return ERC721Upgradeable.ownerOf(_tokenId); + } else if (tokensBurned[_tokenId]) { + return ERC721Upgradeable.ownerOf(_tokenId); + } else { + if (!ERC721Upgradeable._exists(_tokenId)) { + return owner(); + } else { + return ERC721Upgradeable.ownerOf(_tokenId); + } + } + } - function approve(address to, uint256 tokenId) public virtual override { - address owner = ownerOf(tokenId); - require(to != owner, "ERC721: approval to current owner"); + function approve(address to, uint256 tokenId) public virtual override { + address owner = ownerOf(tokenId); + require(to != owner, "ERC721: approval to current owner"); - require( - _msgSender() == owner || isApprovedForAll(owner, _msgSender()), - "ERC721: approve caller is not owner nor approved for all" - ); + require( + _msgSender() == owner || isApprovedForAll(owner, _msgSender()), + "ERC721: approve caller is not owner nor approved for all" + ); - _approve(to, tokenId); - } + _approve(to, tokenId); + } - function _isApprovedOrOwner(address _spender, uint256 _tokenId) - internal - view - virtual - override - returns (bool) - { - address owner = ownerOf(_tokenId); - return (_spender == owner || - getApproved(_tokenId) == _spender || - isApprovedForAll(owner, _spender)); - } + function _isApprovedOrOwner(address _spender, uint256 _tokenId) internal view virtual override returns (bool) { + address owner = ownerOf(_tokenId); + return (_spender == owner || getApproved(_tokenId) == _spender || isApprovedForAll(owner, _spender)); + } - /** - * @dev Approve `to` to operate on `tokenId` - * - * Emits an {Approval} event. - */ - function _approve(address to, uint256 tokenId) internal override { - _tokenApprovals[tokenId] = to; - emit Approval(ERC721Upgradeable.ownerOf(tokenId), to, tokenId); // internal owner - } + /** + * @dev Approve `to` to operate on `tokenId` + * + * Emits an {Approval} event. + */ + function _approve(address to, uint256 tokenId) internal override { + _tokenApprovals[tokenId] = to; + emit Approval(ERC721Upgradeable.ownerOf(tokenId), to, tokenId); // internal owner + } - /** - * @dev See {IERC721-getApproved}. - */ - function getApproved(uint256 _tokenId) - public - view - virtual - override - returns (address) - { - address receiver = royaltyReceivers[_tokenId]; - (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); - bool exists = (wasBatchMinted || receiver != address(0)) && - !tokensBurned[_tokenId]; - - require(exists, "ERC721: approved query for nonexistent token"); - - return _tokenApprovals[_tokenId]; - } + /** + * @dev See {IERC721-getApproved}. + */ + function getApproved(uint256 _tokenId) public view virtual override returns (address) { + address receiver = royaltyReceivers[_tokenId]; + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + bool exists = (wasBatchMinted || receiver != address(0)) && !tokensBurned[_tokenId]; - function _transfer( - address _from, - address _to, - uint256 _tokenId - ) internal virtual override { - require(_tokenId != 0); + require(exists, "ERC721: approved query for nonexistent token"); - (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + return _tokenApprovals[_tokenId]; + } - if ( - wasBatchMinted && - !ERC721Upgradeable._exists(_tokenId) && - !tokensBurned[_tokenId] - ) { - _mint(_from, _tokenId); - } + function _transfer(address _from, address _to, uint256 _tokenId) internal virtual override { + require(_tokenId != 0); - ERC721Upgradeable._transfer(_from, _to, _tokenId); - } + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); - function totalSupply() public view virtual returns (uint256) { - return tokenIdCounter.current(); + if (wasBatchMinted && !ERC721Upgradeable._exists(_tokenId) && !tokensBurned[_tokenId]) { + _mint(_from, _tokenId); } - function _batchMintInfo(uint256 _tokenId) - internal - view - returns ( - bool _wasBatchMinted, - uint256 _batchIndex, - string memory _baseTokenUri - ) - { - for (uint256 i = 0; i < mintBatches.length; i++) { - if ( - _tokenId >= mintBatches[i].startTokenId && - _tokenId <= mintBatches[i].endTokenId - ) { - return (true, i, mintBatches[i].baseURI); - } - } - - return (false, 0, ""); + ERC721Upgradeable._transfer(_from, _to, _tokenId); + } + + function totalSupply() public view virtual returns (uint256) { + return tokenIdCounter.current(); + } + + function _batchMintInfo( + uint256 _tokenId + ) internal view returns (bool _wasBatchMinted, uint256 _batchIndex, string memory _baseTokenUri) { + for (uint256 i = 0; i < mintBatches.length; i++) { + if (_tokenId >= mintBatches[i].startTokenId && _tokenId <= mintBatches[i].endTokenId) { + return (true, i, mintBatches[i].baseURI); + } } - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) - public - view - virtual - override(ERC165Upgradeable, ERC2981Upgradeable, ERC721Upgradeable) - returns (bool) - { - return - interfaceId == type(ITokenCreator).interfaceId || - ERC165Upgradeable.supportsInterface(interfaceId) || - ERC2981Upgradeable.supportsInterface(interfaceId) || - ERC721Upgradeable.supportsInterface(interfaceId); + return (false, 0, ""); + } + + /** + * @dev Returns the start and end token IDs and base URI for a specific batch. + */ + function getBatchInfo( + uint256 _batchIndex + ) external view returns (uint256 startTokenId, uint256 endTokenId, string memory baseURI) { + require(_batchIndex < mintBatches.length, "Batch index out of bounds"); + + MintBatch memory batch = mintBatches[_batchIndex]; + return (batch.startTokenId, batch.endTokenId, batch.baseURI); + } + + /** + * @dev Returns the total number of batches. + */ + function getBatchCount() external view returns (uint256) { + return mintBatches.length; + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface( + bytes4 interfaceId + ) public view virtual override(ERC165Upgradeable, ERC2981Upgradeable, ERC721Upgradeable) returns (bool) { + return + interfaceId == type(ITokenCreator).interfaceId || + ERC165Upgradeable.supportsInterface(interfaceId) || + ERC2981Upgradeable.supportsInterface(interfaceId) || + ERC721Upgradeable.supportsInterface(interfaceId); + } + + function updateTokenURI(uint256 _tokenId, string calldata _newURI) external ifNotDisabled { + require(msg.sender == tokenCreator(_tokenId), "Only token creator can update URI"); + require(!tokenURIsLocked, "Token URIs are locked"); + require(_exists(_tokenId) || _isBatchMintedToken(_tokenId), "Token does not exist"); + + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + + if (wasBatchMinted) { + _overriddenBatchURIs[_tokenId] = _newURI; + } else { + _tokenURIs[_tokenId] = _newURI; } + + emit TokenURIUpdated(_tokenId, _newURI); + } + + function updateBatchBaseURI(uint256 _batchIndex, string calldata _newBaseURI) external onlyOwner ifNotDisabled { + require(!tokenURIsLocked, "Token URIs are locked"); + require(_batchIndex < mintBatches.length, "Batch index out of bounds"); + + mintBatches[_batchIndex].baseURI = _newBaseURI; + + emit BatchBaseURIUpdated(_batchIndex, _newBaseURI); + } + + function lockTokenURIs() external onlyOwner { + require(!tokenURIsLocked, "Token URIs are already locked"); + + tokenURIsLocked = true; + + emit TokenURIsLocked(); + } + + function areTokenURIsLocked() external view returns (bool) { + return tokenURIsLocked; + } + + function _isBatchMintedToken(uint256 _tokenId) internal view returns (bool) { + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + return wasBatchMinted && !tokensBurned[_tokenId]; + } } diff --git a/src/token/ERC721/spaces/RareSpaceNFT.sol b/src/token/ERC721/spaces/RareSpaceNFT.sol index 647a475..f0eb39b 100644 --- a/src/token/ERC721/spaces/RareSpaceNFT.sol +++ b/src/token/ERC721/spaces/RareSpaceNFT.sol @@ -107,7 +107,7 @@ contract RareSpaceNFT is burn(_tokenId); } - function burn(uint256 tokenId) public virtual override onlyTokenOwner(_tokenId) { + function burn(uint256 tokenId) public virtual override onlyTokenOwner(tokenId) { super.burn(tokenId); } diff --git a/src/v2/approver/ERC20/ERC20ApprovalManager.sol b/src/v2/approver/ERC20/ERC20ApprovalManager.sol new file mode 100644 index 0000000..3fac441 --- /dev/null +++ b/src/v2/approver/ERC20/ERC20ApprovalManager.sol @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; +import {IERC20ApprovalManager} from "./IERC20ApprovalManager.sol"; +/// @title ERC20ApprovalManager +/// @notice A central approval manager for ERC20 tokens that allows whitelisted contracts to transfer tokens +/// @dev Uses role-based access control for operator management +contract ERC20ApprovalManager is IERC20ApprovalManager, AccessControl { + using SafeERC20 for IERC20; + + /// @notice Role for managing operators + bytes32 public constant MANAGER_ROLE = keccak256("MANAGER_ROLE"); + /// @notice Role for contracts allowed to transfer tokens + bytes32 public constant OPERATOR_ROLE = keccak256("OPERATOR_ROLE"); + + /// @notice Error thrown when caller is not an operator + error NotOperator(); + /// @notice Error thrown when contract is disabled + error ContractDisabledError(); + + /// @notice Whether the contract is disabled + bool public disabled; + + /// @notice Event emitted when contract is disabled + event ContractDisabled(address indexed disabler); + + constructor() { + _grantRole(DEFAULT_ADMIN_ROLE, msg.sender); + _grantRole(MANAGER_ROLE, msg.sender); + disabled = false; + } + + /// @notice Modifier to check if contract is not disabled + modifier whenNotDisabled() { + if (disabled) revert ContractDisabledError(); + _; + } + + /// @notice Disables the contract permanently + /// @dev Only callable by MANAGER_ROLE + function disable() external onlyRole(MANAGER_ROLE) { + disabled = true; + emit ContractDisabled(msg.sender); + } + + /// @notice Allows MANAGER_ROLE to grant OPERATOR_ROLE to a contract + /// @param operator The contract address to grant the role to + function grantOperatorRole(address operator) external onlyRole(MANAGER_ROLE) { + _grantRole(OPERATOR_ROLE, operator); + } + + /// @notice Allows MANAGER_ROLE to revoke OPERATOR_ROLE from a contract + /// @param operator The contract address to revoke the role from + function revokeOperatorRole(address operator) external onlyRole(MANAGER_ROLE) { + _revokeRole(OPERATOR_ROLE, operator); + } + + /// @notice Batch version of grantOperatorRole + /// @param operators Array of contract addresses to grant the role to + function batchGrantOperatorRole(address[] calldata operators) external onlyRole(MANAGER_ROLE) { + for (uint256 i = 0; i < operators.length; i++) { + _grantRole(OPERATOR_ROLE, operators[i]); + } + } + + /// @notice Batch version of revokeOperatorRole + /// @param operators Array of contract addresses to revoke the role from + function batchRevokeOperatorRole(address[] calldata operators) external onlyRole(MANAGER_ROLE) { + for (uint256 i = 0; i < operators.length; i++) { + _revokeRole(OPERATOR_ROLE, operators[i]); + } + } + + /// @notice Transfers tokens from one address to another + /// @dev Only operators can call this function + /// @param token The token contract address + /// @param from The address to transfer from + /// @param to The address to transfer to + /// @param amount The amount of tokens to transfer + function transferFrom(address token, address from, address to, uint256 amount) external whenNotDisabled { + if (!hasRole(OPERATOR_ROLE, msg.sender)) revert NotOperator(); + + IERC20 erc20 = IERC20(token); + erc20.safeTransferFrom(from, to, amount); + } +} diff --git a/src/v2/approver/ERC20/IERC20ApprovalManager.sol b/src/v2/approver/ERC20/IERC20ApprovalManager.sol new file mode 100644 index 0000000..5975445 --- /dev/null +++ b/src/v2/approver/ERC20/IERC20ApprovalManager.sol @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {IERC20} from "openzeppelin-contracts/token/ERC20/IERC20.sol"; + +/// @title IERC20ApprovalManager +/// @notice Interface for managing ERC20 token approvals and transfers +interface IERC20ApprovalManager { + /// @notice Transfer ERC20 tokens from a user to a recipient + /// @param token The token contract address + /// @param from The address to transfer from + /// @param to The recipient address + /// @param amount The amount of tokens to transfer + function transferFrom(address token, address from, address to, uint256 amount) external; +} diff --git a/src/v2/approver/ERC721/ERC721ApprovalManager.sol b/src/v2/approver/ERC721/ERC721ApprovalManager.sol new file mode 100644 index 0000000..48468e1 --- /dev/null +++ b/src/v2/approver/ERC721/ERC721ApprovalManager.sol @@ -0,0 +1,124 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; +import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol"; +import {IERC721ApprovalManager} from "./IERC721ApprovalManager.sol"; + +/// @title ERC721ApprovalManager +/// @notice A central approval manager for ERC721 tokens that allows whitelisted contracts to transfer tokens +/// @dev Uses role-based access control for operator management +contract ERC721ApprovalManager is IERC721ApprovalManager, AccessControl { + /// @notice Role for managing operators + bytes32 public constant MANAGER_ROLE = keccak256("MANAGER_ROLE"); + /// @notice Role for contracts allowed to transfer tokens + bytes32 public constant OPERATOR_ROLE = keccak256("OPERATOR_ROLE"); + + /// @notice Error thrown when caller is not an operator + error NotOperator(); + /// @notice Error thrown when contract is disabled + error ContractDisabledError(); + + /// @notice Whether the contract is disabled + bool public disabled; + + /// @notice Event emitted when contract is disabled + event ContractDisabled(address indexed disabler); + + constructor() { + _grantRole(DEFAULT_ADMIN_ROLE, msg.sender); + _grantRole(MANAGER_ROLE, msg.sender); + disabled = false; + } + + /// @notice Modifier to check if contract is not disabled + modifier whenNotDisabled() { + if (disabled) revert ContractDisabledError(); + _; + } + + /// @notice Disables the contract permanently + /// @dev Only callable by MANAGER_ROLE + function disable() external onlyRole(MANAGER_ROLE) { + disabled = true; + emit ContractDisabled(msg.sender); + } + + /// @notice Allows MANAGER_ROLE to grant OPERATOR_ROLE to a contract + /// @param operator The contract address to grant the role to + function grantOperatorRole(address operator) external onlyRole(MANAGER_ROLE) { + _grantRole(OPERATOR_ROLE, operator); + } + + /// @notice Allows MANAGER_ROLE to revoke OPERATOR_ROLE from a contract + /// @param operator The contract address to revoke the role from + function revokeOperatorRole(address operator) external onlyRole(MANAGER_ROLE) { + _revokeRole(OPERATOR_ROLE, operator); + } + + /// @notice Batch version of grantOperatorRole + /// @param operators Array of contract addresses to grant the role to + function batchGrantOperatorRole(address[] calldata operators) external onlyRole(MANAGER_ROLE) { + for (uint256 i = 0; i < operators.length; i++) { + _grantRole(OPERATOR_ROLE, operators[i]); + } + } + + /// @notice Batch version of revokeOperatorRole + /// @param operators Array of contract addresses to revoke the role from + function batchRevokeOperatorRole(address[] calldata operators) external onlyRole(MANAGER_ROLE) { + for (uint256 i = 0; i < operators.length; i++) { + _revokeRole(OPERATOR_ROLE, operators[i]); + } + } + + /// @notice Transfers an NFT from one address to another + /// @dev Only operators can call this function + /// @param token The NFT contract address + /// @param from The current owner of the token + /// @param to The recipient of the token + /// @param tokenId The ID of the token to transfer + function transferFrom( + address token, + address from, + address to, + uint256 tokenId + ) external whenNotDisabled onlyRole(OPERATOR_ROLE) { + IERC721 nft = IERC721(token); + nft.transferFrom(from, to, tokenId); + } + + /// @notice Safe transfers an NFT from one address to another + /// @dev Only operators can call this function + /// @param token The NFT contract address + /// @param from The current owner of the token + /// @param to The recipient of the token + /// @param tokenId The ID of the token to transfer + /// @param data Additional data with no specified format + function safeTransferFrom( + address token, + address from, + address to, + uint256 tokenId, + bytes calldata data + ) external whenNotDisabled onlyRole(OPERATOR_ROLE) { + IERC721 nft = IERC721(token); + nft.safeTransferFrom(from, to, tokenId, data); + } + + /// @notice Safe transfers an NFT from one address to another + /// @dev Only operators can call this function + /// @param token The NFT contract address + /// @param from The current owner of the token + /// @param to The recipient of the token + /// @param tokenId The ID of the token to transfer + function safeTransferFrom( + address token, + address from, + address to, + uint256 tokenId + ) external whenNotDisabled onlyRole(OPERATOR_ROLE) { + IERC721 nft = IERC721(token); + nft.safeTransferFrom(from, to, tokenId, ""); + } +} diff --git a/src/v2/approver/ERC721/IERC721ApprovalManager.sol b/src/v2/approver/ERC721/IERC721ApprovalManager.sol new file mode 100644 index 0000000..23b3fcb --- /dev/null +++ b/src/v2/approver/ERC721/IERC721ApprovalManager.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {IERC721} from "openzeppelin-contracts/token/ERC721/IERC721.sol"; + +/// @title IERC721ApprovalManager +/// @notice Interface for managing ERC721 token approvals and transfers +interface IERC721ApprovalManager { + /// @notice Transfer an ERC721 token from a user to a recipient + /// @param token The NFT contract address + /// @param from The address to transfer from + /// @param to The recipient address + /// @param tokenId The ID of the token to transfer + function transferFrom(address token, address from, address to, uint256 tokenId) external; + + /// @notice Safely transfer an ERC721 token from a user to a recipient + /// @param token The NFT contract address + /// @param from The address to transfer from + /// @param to The recipient address + /// @param tokenId The ID of the token to transfer + /// @param data Additional data with no specified format + function safeTransferFrom(address token, address from, address to, uint256 tokenId, bytes calldata data) external; + + /// @notice Safely transfer an ERC721 token from a user to a recipient without data + /// @param token The NFT contract address + /// @param from The address to transfer from + /// @param to The recipient address + /// @param tokenId The ID of the token to transfer + function safeTransferFrom(address token, address from, address to, uint256 tokenId) external; +} diff --git a/src/v2/auctionhouse/IMPLEMENTATION_ANALYSIS.md b/src/v2/auctionhouse/IMPLEMENTATION_ANALYSIS.md new file mode 100644 index 0000000..36543e4 --- /dev/null +++ b/src/v2/auctionhouse/IMPLEMENTATION_ANALYSIS.md @@ -0,0 +1,120 @@ +# SuperRare Auction House V2 Implementation Analysis + +## Contract Analysis Findings + +This document summarizes the analysis of existing contract implementations and outlines the key components to migrate to the new `SuperRareAuctionHouseV2` contract. + +### 1. Standard Auction Functions from SuperRare Bazaar + +#### Key Functions to Migrate: +- `configureAuction`: Configure auction parameters for a token +- `bid`: Place a bid on an auction +- `cancelAuction`: Cancel an auction that hasn't started +- `settleAuction`: Settle an auction after it's ended +- `getAuctionDetails`: Get the details of an existing auction + +#### Required Storage: +- `tokenAuctions`: Mapping from (token contract, token ID) to Auction struct +- `auctionBids`: Mapping from (token contract, token ID) to Bid struct +- Auction settings: + - `minimumBidIncreasePercentage`: Percentage increase required for new bids + - `maxAuctionLength`: Maximum allowed auction duration + - `auctionLengthExtension`: Time extension when bids are placed near expiration + +#### Constants: +- `NO_AUCTION`: Indicates no auction exists +- `SCHEDULED_AUCTION`: For auctions with a scheduled future start time +- `COLDIE_AUCTION`: For reserve price auctions (start immediately) + +### 2. Merkle Auction Functions from SuperRare Auction House + +#### Key Functions to Migrate: +- `registerAuctionMerkleRoot`: Register a new Merkle root for batched auctions +- `cancelAuctionMerkleRoot`: Cancel a Merkle root +- `bidWithAuctionMerkleProof`: Place a bid using a Merkle proof +- Getter functions: + - `getUserAuctionMerkleRoots`: Get all Merkle roots registered by a user + - `getCreatorAuctionMerkleRootNonce`: Get the nonce for a user's Merkle root + - `isTokenInRoot`: Check if a token is included in a Merkle root + - `getMerkleAuctionConfig`: Get auction configuration for a Merkle root + - `getTokenAuctionNonce`: Get the nonce for a token in a Merkle auction + +#### Required Storage: +- `creatorAuctionMerkleRoots`: Mapping from creator address to their Merkle roots +- `creatorRootToConfig`: Mapping from (creator, root) to MerkleAuctionConfig +- `creatorRootNonce`: Mapping from (creator, root) to nonce +- `tokenAuctionNonce`: Mapping from (creator, root, token contract, token ID) to nonce + +### 3. MarketUtilsV2 Integration + +#### Key Changes: +- Use `MarketUtilsV2` for all market operations: + - Currency approval checks + - NFT approval checks + - Token transfer handling + - Fee calculations + - Payout handling +- Use `MarketConfigV2` to manage marketplace configuration +- Eliminate dependencies on SuperRareBazaarBase and SuperRareBazaarStorage + +### 4. Differences in V2 Implementation + +#### Removed Components: +- `convertOfferToAuction`: This functionality will not be migrated +- Direct use of MarketUtils (V1) +- Direct dependency on Bazaar contracts + +#### Added or Modified Components: +- Centralized storage management in V2 contract +- Unified event definitions +- ETH fallback protection +- Explicit exclusivity between standard and Merkle auctions + +### 5. Interface Considerations + +- The V2 interface includes all necessary function signatures +- Struct definitions must be consistent with implementation +- Event signatures must match existing events for backward compatibility +- Removed deprecated functions from the interface + +### 6. Structs and Events + +#### Key Structs: +- `Auction`: Representing standard auction configurations +- `Bid`: Representing bids placed on auctions +- `MerkleAuctionConfig`: Representing Merkle auction configurations + +#### Key Events: +- `NewAuction`: When an auction is configured +- `CancelAuction`: When an auction is cancelled +- `AuctionBid`: When a bid is placed +- `AuctionSettled`: When an auction is settled +- `AuctionMerkleRootRegistered`: When a Merkle root is registered +- `AuctionMerkleRootCancelled`: When a Merkle root is cancelled +- `AuctionMerkleBid`: When a bid with Merkle proof is placed + +## Implementation Recommendations + +1. **Standard Auction Flow:** + - Create auction → Place bids → Settle or Cancel + - Use MarketUtilsV2 for token transfers and fee calculations + - Keep the auction mechanics consistent with existing Bazaar + +2. **Merkle Auction Flow:** + - Register root → Verify token with proof → Place bids → Settle + - Keep the nonce-based replay protection + - Utilize MarketUtilsV2 for payouts + +3. **Mutual Exclusivity:** + - A token cannot be in a standard auction and Merkle auction simultaneously + - This needs checks in both `configureAuction` and `bidWithAuctionMerkleProof` + +4. **Prioritize Robustness:** + - Thorough validation of inputs + - Edge case handling for auctions + - Reentrancy protection for all external functions + +5. **Storage Considerations:** + - All storage defined directly in the contract + - New variables appended to maintain upgradeability + - Clear separation between standard and Merkle auction storage \ No newline at end of file diff --git a/src/v2/auctionhouse/IRareBatchAuctionHouse.sol b/src/v2/auctionhouse/IRareBatchAuctionHouse.sol new file mode 100644 index 0000000..72358ab --- /dev/null +++ b/src/v2/auctionhouse/IRareBatchAuctionHouse.sol @@ -0,0 +1,204 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +/// @author SuperRare Labs +/// @title IRareBatchAuctionHouse +/// @notice The interface for the RareBatchAuctionHouse Functions. +interface IRareBatchAuctionHouse { + /// @notice Places a bid on a valid auction. + /// @param _originContract Contract address of asset being bid on. + /// @param _tokenId Token Id of the asset. + /// @param _currencyAddress Address of currency being used to bid. + /// @param _amount Amount of the currency being used for the bid. + function bid(address _originContract, uint256 _tokenId, address _currencyAddress, uint128 _amount) external payable; + + /// @notice Settles an auction that has ended. + /// @param _originContract Contract address of asset. + /// @param _tokenId Token Id of the asset. + function settleAuction(address _originContract, uint256 _tokenId) external; + + /// @notice Grabs the current auction details for a token. + /// @param _originContract Contract address of asset. + /// @param _tokenId Token Id of the asset. + /** @return Auction Struct: creatorAddress, creationBlock, startingTime, lengthOfAuction, + currencyAddress, minimumBid, splitRecipients array, and splitRatios array. + */ + function getAuctionDetails( + address _originContract, + uint256 _tokenId + ) external view returns (address, uint32, uint64, uint64, address, uint128, address payable[] memory, uint8[] memory); + + /// @notice Gets the current bid details for a specific token + /// @param _originContract Contract address of the asset + /// @param _tokenId Token Id of the asset + /// @return bidder The address of the current highest bidder + /// @return currencyAddress The currency address of the bid + /// @return amount The amount of the current highest bid + /// @return marketplaceFeeAtTime The marketplace fee percentage at the time of the bid + function getCurrentBid( + address _originContract, + uint256 _tokenId + ) external view returns (address bidder, address currencyAddress, uint128 amount, uint8 marketplaceFeeAtTime); + + // Merkle Auction Functions + + /// @notice Registers a new Merkle root for auction configuration + /// @param _merkleRoot The root hash of the Merkle tree containing token IDs + /// @param _currency The currency address for the auction + /// @param _startingAmount The minimum bid amount + /// @param _duration The length of the auction in seconds + /// @param _splitAddresses The addresses to split the proceeds with + /// @param _splitRatios The ratios for each split address + function registerAuctionMerkleRoot( + bytes32 _merkleRoot, + address _currency, + uint128 _startingAmount, + uint64 _duration, + address payable[] calldata _splitAddresses, + uint8[] calldata _splitRatios + ) external; + + /// @notice Cancels a previously registered Merkle root + /// @param _root The Merkle root to cancel + function cancelAuctionMerkleRoot(bytes32 _root) external; + + /// @notice Places a bid using a Merkle proof to verify token inclusion + /// @param _currencyAddress The currency address for the bid + /// @param _originContract The contract address of the token + /// @param _tokenId The ID of the token being bid on + /// @param _creator The creator of the auction + /// @param _merkleRoot The root hash of the Merkle tree + /// @param _bidAmount The amount of the bid + /// @param _proof The Merkle proof verifying token inclusion + function bidWithAuctionMerkleProof( + address _currencyAddress, + address _originContract, + uint256 _tokenId, + address _creator, + bytes32 _merkleRoot, + uint128 _bidAmount, + bytes32[] calldata _proof + ) external payable; + + /// @notice Gets all Merkle roots registered by a user + /// @param _user The address of the user + /// @return An array of Merkle roots + function getUserAuctionMerkleRoots(address _user) external view returns (bytes32[] memory); + + /// @notice Gets the current nonce for a user's Merkle root + /// @param _user The address of the user + /// @param _root The Merkle root + /// @return The current nonce value + function getCreatorAuctionMerkleRootNonce(address _user, bytes32 _root) external view returns (uint32); + + /// @notice Verifies if a token is included in a Merkle root + /// @param _root The Merkle root to check against + /// @param _origin The contract address of the token + /// @param _tokenId The ID of the token + /// @param _proof The Merkle proof for verification + /// @return True if the token is included in the root, false otherwise + function isTokenInRoot( + bytes32 _root, + address _origin, + uint256 _tokenId, + bytes32[] calldata _proof + ) external pure returns (bool); + + /// @notice Gets the Merkle auction configuration for a given creator and root + /// @param _creator The address of the creator + /// @param _root The Merkle root + /// @return The MerkleAuctionConfig struct containing the auction configuration + function getMerkleAuctionConfig(address _creator, bytes32 _root) external view returns (MerkleAuctionConfig memory); + + /// @notice Gets the nonce for a specific token under a Merkle root + /// @param _creator The creator of the auction + /// @param _root The Merkle root + /// @param _tokenContract The token contract address + /// @param _tokenId The token ID + /// @return The current nonce for this token + function getTokenAuctionNonce( + address _creator, + bytes32 _root, + address _tokenContract, + uint256 _tokenId + ) external view returns (uint32); + + // Structs + + /// @notice Struct for storing auction configuration information + struct Auction { + address payable auctionCreator; // 20 bytes + address currencyAddress; // 20 bytes + uint32 creationBlock; // 4 bytes (safe up to ~4.29 billion blocks) + uint64 startingTime; // 8 bytes + uint64 lengthOfAuction; // 8 bytes + uint128 minimumBid; // 16 bytes + address payable[] splitRecipients; // dynamic + uint8[] splitRatios; // dynamic + } + + /// @notice Struct for storing bid information + struct Bid { + address bidder; // 20 bytes + uint128 amount; // 16 bytes + uint8 marketplaceFeeAtTime; // 1 byte (percentage or basis points, capped at 255) + } + + /// @notice Struct for storing Merkle auction configuration + struct MerkleAuctionConfig { + address currency; // 20 bytes + uint128 startingAmount; // 16 bytes + uint64 duration; // 8 bytes (e.g., up to ~584 billion years in seconds) + uint32 nonce; // 4 bytes (allows 4B Merkle roots per creator) + address payable[] splitAddresses; // dynamic + uint8[] splitRatios; // dynamic + } + // Events + + /// @notice Emitted when a bid is placed + event AuctionBid( + address indexed contractAddress, + address indexed bidder, + uint256 indexed tokenId, + address currencyAddress, + uint128 amount, + uint8 marketplaceFee, + address previousBidder + ); + + /// @notice Emitted when an auction is settled + event AuctionSettled( + address indexed contractAddress, + uint256 indexed tokenId, + address seller, + address bidder, + uint128 amount, + address currencyAddress, + uint8 marketplaceFee + ); + + /// @notice Emitted when a Merkle auction root is registered + event AuctionMerkleRootRegistered( + address indexed creator, + bytes32 indexed merkleRoot, + address currencyAddress, + uint128 startingAmount, + uint64 duration, + uint32 nonce + ); + + /// @notice Emitted when a Merkle auction root is cancelled + event AuctionMerkleRootCancelled(address indexed creator, bytes32 indexed merkleRoot); + + /// @notice Emitted when a bid with Merkle proof is placed + event AuctionMerkleBid( + address indexed contractAddress, + uint256 indexed tokenId, + address indexed bidder, + address creator, + address currencyAddress, + bytes32 merkleRoot, + uint128 amount, + uint32 nonce + ); +} diff --git a/src/v2/auctionhouse/RareBatchAuctionHouse.sol b/src/v2/auctionhouse/RareBatchAuctionHouse.sol new file mode 100644 index 0000000..4821679 --- /dev/null +++ b/src/v2/auctionhouse/RareBatchAuctionHouse.sol @@ -0,0 +1,530 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {OwnableUpgradeable} from "openzeppelin-contracts-upgradeable/access/OwnableUpgradeable.sol"; +import {ReentrancyGuardUpgradeable} from "openzeppelin-contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol"; +import {IERC20} from "openzeppelin-contracts/token/ERC20/IERC20.sol"; +import {IERC721} from "openzeppelin-contracts/token/ERC721/IERC721.sol"; +import {MerkleProof} from "openzeppelin-contracts/utils/cryptography/MerkleProof.sol"; +import {EnumerableSet} from "openzeppelin-contracts/utils/structs/EnumerableSet.sol"; + +import {IMarketplaceSettings} from "../../marketplace/IMarketplaceSettings.sol"; +import {MarketUtilsV2} from "../utils/MarketUtilsV2.sol"; +import {MarketConfigV2} from "../utils/MarketConfigV2.sol"; +import {IRareBatchAuctionHouse} from "./IRareBatchAuctionHouse.sol"; + +/// @author SuperRare Labs +/// @title RareBatchAuctionHouse +/// @notice The logic for all functions related to the RareBatchAuctionHouse. +/// @dev This contract consolidates standard auction functionality from the SuperRare Bazaar +/// with the existing Merkle auction features, ensuring full adoption of MarketUtilsV2. +contract RareBatchAuctionHouse is IRareBatchAuctionHouse, OwnableUpgradeable, ReentrancyGuardUpgradeable { + using EnumerableSet for EnumerableSet.Bytes32Set; + using MarketConfigV2 for MarketConfigV2.Config; + using MarketUtilsV2 for MarketConfigV2.Config; + + // Config + MarketConfigV2.Config internal marketConfig; + + // Standard Auction Storage + mapping(address => mapping(uint256 => Auction)) public tokenAuctions; + mapping(address => mapping(uint256 => Bid)) public auctionBids; + + // Auction Settings + uint256 public minimumBidIncreasePercentage; + uint256 public maxAuctionLength; + uint256 public auctionLengthExtension; + + // Merkle Auction Storage + // Mapping from creator to all their auction Merkle roots + mapping(address => EnumerableSet.Bytes32Set) private creatorAuctionMerkleRoots; + + // Mapping from (creator, root) to MerkleAuctionConfig + mapping(address => mapping(bytes32 => MerkleAuctionConfig)) public creatorRootToConfig; + + // Mapping from (creator, root) to nonce for that root + mapping(address => mapping(bytes32 => uint32)) private creatorRootNonce; + + // Mapping of keccak256(creator, root, tokenContract, tokenId) to nonce + // Key is computed as: keccak256(abi.encodePacked(creator, root, tokenContract, tokenId)) + mapping(bytes32 => uint32) private tokenAuctionNonce; + + /*////////////////////////////////////////////////////////////////////////// + Constructor + //////////////////////////////////////////////////////////////////////////*/ + + /// @custom:oz-upgrades-unsafe-allow constructor + constructor() { + _disableInitializers(); + } + + /*////////////////////////////////////////////////////////////////////////// + Initializer + //////////////////////////////////////////////////////////////////////////*/ + + /** + * @dev Initializer function + */ + function initialize( + address _marketplaceSettings, + address _royaltyEngine, + address _spaceOperatorRegistry, + address _approvedTokenRegistry, + address _payments, + address _stakingRegistry, + address _stakingSettings, + address _networkBeneficiary, + address _erc20ApprovalManager, + address _erc721ApprovalManager + ) public initializer { + require(_marketplaceSettings != address(0), "initialize::marketplaceSettings cannot be 0 address"); + require(_royaltyEngine != address(0), "initialize::royaltyEngine cannot be 0 address"); + require(_spaceOperatorRegistry != address(0), "initialize::spaceOperatorRegistry cannot be 0 address"); + require(_approvedTokenRegistry != address(0), "initialize::approvedTokenRegistry cannot be 0 address"); + require(_payments != address(0), "initialize::payments cannot be 0 address"); + require(_stakingRegistry != address(0), "initialize::stakingRegistry cannot be 0 address"); + require(_stakingSettings != address(0), "initialize::stakingSettings cannot be 0 address"); + require(_networkBeneficiary != address(0), "initialize::networkBeneficiary cannot be 0 address"); + require(_erc20ApprovalManager != address(0), "initialize::erc20ApprovalManager cannot be 0 address"); + require(_erc721ApprovalManager != address(0), "initialize::erc721ApprovalManager cannot be 0 address"); + + // Initialize market config + marketConfig = MarketConfigV2.generateMarketConfig( + _networkBeneficiary, + _marketplaceSettings, + _spaceOperatorRegistry, + _royaltyEngine, + _payments, + _approvedTokenRegistry, + _stakingSettings, + _stakingRegistry, + _erc20ApprovalManager, + _erc721ApprovalManager + ); + + // Initialize auction settings + minimumBidIncreasePercentage = 1; + maxAuctionLength = 7 days; + auctionLengthExtension = 15 minutes; + + __Ownable_init(); + __ReentrancyGuard_init(); + } + + /// @notice Fallback function to prevent accidental ETH sends to this contract + receive() external payable { + revert("ETH payment not accepted directly"); + } + + /*////////////////////////////////////////////////////////////// + ADMIN FUNCTIONS + //////////////////////////////////////////////////////////////*/ + + /// @notice Sets the minimum bid increase percentage + /// @param _minimumBidIncreasePercentage The new minimum bid increase percentage + function setMinimumBidIncreasePercentage(uint8 _minimumBidIncreasePercentage) external onlyOwner { + minimumBidIncreasePercentage = _minimumBidIncreasePercentage; + } + + /// @notice Sets the maximum auction length + /// @param _maxAuctionLength The new maximum auction length in seconds + function setMaxAuctionLength(uint256 _maxAuctionLength) external onlyOwner { + maxAuctionLength = _maxAuctionLength; + } + + /// @notice Sets the auction length extension + /// @param _auctionLengthExtension The new auction length extension in seconds + function setAuctionLengthExtension(uint256 _auctionLengthExtension) external onlyOwner { + auctionLengthExtension = _auctionLengthExtension; + } + + /*////////////////////////////////////////////////////////////// + STANDARD AUCTION FUNCTIONS + //////////////////////////////////////////////////////////////*/ + + /// @notice Places a bid on a running auction. + /// @inheritdoc IRareBatchAuctionHouse + function bid( + address _originContract, + uint256 _tokenId, + address _currencyAddress, + uint128 _amount + ) external payable override nonReentrant { + // Calculate required amount (bid + marketplace fee) + uint128 requiredAmount = _amount + uint128(marketConfig.marketplaceSettings.calculateMarketplaceFee(_amount)); + + // Check that the sender has approved the marketplace for this amount + marketConfig.senderMustHaveMarketplaceApproved(_currencyAddress, requiredAmount); + + // Get the current auction + Auction memory auction = tokenAuctions[_originContract][_tokenId]; + + // Verify auction exists + require(auction.startingTime > 0, "bid::Must have a current auction"); + + // Verify bidder is not the auction creator + require(auction.auctionCreator != msg.sender, "bid::Cannot bid on your own auction"); + + require(block.timestamp < auction.startingTime + auction.lengthOfAuction, "bid::Auction has ended"); + + // Verify bid currency matches auction currency + require(_currencyAddress == auction.currencyAddress, "bid::Currency does not match auction currency"); + + // Verify bid amount is valid + require(_amount >= auction.minimumBid, "bid::Bid amount too low"); + require(_amount > 0, "bid::Bid amount must be greater than 0"); + require(_amount <= marketConfig.marketplaceSettings.getMarketplaceMaxValue(), "bid::Bid exceeds max value"); + + // Get current bid + Bid memory currentBid = auctionBids[_originContract][_tokenId]; + address previousBidder = currentBid.bidder; + + // If not first bid, verify minimum increase percentage + if (previousBidder != address(0)) { + uint256 minBidIncrease = (currentBid.amount * minimumBidIncreasePercentage) / 100; + require(_amount >= currentBid.amount + minBidIncrease, "bid::Must increase bid by minimum percentage"); + } + + // Transfer tokens for bid + marketConfig.checkAmountAndTransfer(auction.currencyAddress, requiredAmount); + + // Calculate auction extension if needed + uint256 newAuctionLength = 0; + + // If close to end, extend auction + if (auction.startingTime > 0) { + uint256 timeLeft = (auction.startingTime + auction.lengthOfAuction) - block.timestamp; + + if (timeLeft < auctionLengthExtension) { + newAuctionLength = auction.lengthOfAuction + auctionLengthExtension - timeLeft; + + // Update auction length + tokenAuctions[_originContract][_tokenId].lengthOfAuction = uint64(newAuctionLength); + } + } + + // Record bid (Effects before Interactions) + auctionBids[_originContract][_tokenId] = Bid({ + bidder: msg.sender, + amount: _amount, + marketplaceFeeAtTime: marketConfig.marketplaceSettings.getMarketplaceFeePercentage() + }); + + // Refund previous bidder (Interaction after Effects) + marketConfig.refund(auction.currencyAddress, currentBid.amount, currentBid.marketplaceFeeAtTime, previousBidder); + + // Emit event + emit AuctionBid( + _originContract, + msg.sender, + _tokenId, + _currencyAddress, + _amount, + marketConfig.marketplaceSettings.getMarketplaceFeePercentage(), + previousBidder + ); + } + + /// @notice Settles an auction that has ended. + /// @inheritdoc IRareBatchAuctionHouse + function settleAuction(address _originContract, uint256 _tokenId) external override { + // Get auction and bid + Auction memory auction = tokenAuctions[_originContract][_tokenId]; + Bid memory currentBid = auctionBids[_originContract][_tokenId]; + + // Verify auction exists + require(auction.startingTime > 0, "settleAuction::No auction exists"); + + // Verify auction has ended + require(block.timestamp >= auction.startingTime + auction.lengthOfAuction, "settleAuction::Auction has not ended"); + + // Delete auction and bid from storage + delete tokenAuctions[_originContract][_tokenId]; + delete auctionBids[_originContract][_tokenId]; + + if (currentBid.bidder != address(0)) { + // Transfer token to winning bidder + IERC721(_originContract).transferFrom(address(this), currentBid.bidder, _tokenId); + + // Execute payout using the marketplace fee that was in effect when the bid was placed + marketConfig.payoutWithMarketplaceFee( + _originContract, + _tokenId, + auction.currencyAddress, + currentBid.amount, + auction.auctionCreator, + auction.splitRecipients, + auction.splitRatios, + currentBid.marketplaceFeeAtTime + ); + try marketConfig.marketplaceSettings.markERC721Token(_originContract, _tokenId, true) {} catch {} + } else { + // If no bids, return token to creator + IERC721(_originContract).transferFrom(address(this), auction.auctionCreator, _tokenId); + } + + // Emit event + emit AuctionSettled( + _originContract, + _tokenId, + auction.auctionCreator, + currentBid.bidder, + currentBid.amount, + auction.currencyAddress, + currentBid.marketplaceFeeAtTime + ); + } + + /// @notice Grabs the current auction details for a token. + /// @inheritdoc IRareBatchAuctionHouse + function getAuctionDetails( + address _originContract, + uint256 _tokenId + ) + external + view + override + returns (address, uint32, uint64, uint64, address, uint128, address payable[] memory, uint8[] memory) + { + Auction memory auction = tokenAuctions[_originContract][_tokenId]; + + return ( + auction.auctionCreator, + auction.creationBlock, + auction.startingTime, + auction.lengthOfAuction, + auction.currencyAddress, + auction.minimumBid, + auction.splitRecipients, + auction.splitRatios + ); + } + + /*////////////////////////////////////////////////////////////// + MERKLE AUCTION FUNCTIONS + //////////////////////////////////////////////////////////////*/ + + /// @notice Registers a new Merkle root for auction configuration + /// @inheritdoc IRareBatchAuctionHouse + function registerAuctionMerkleRoot( + bytes32 _merkleRoot, + address _currency, + uint128 _startingAmount, + uint64 _duration, + address payable[] calldata _splitAddresses, + uint8[] calldata _splitRatios + ) external override { + // Check if currency is approved + marketConfig.checkIfCurrencyIsApproved(_currency); + + // Validate split configuration + MarketUtilsV2.checkSplits(_splitAddresses, _splitRatios); + + // Verify duration is greater than 0 + require(_duration > 0, "registerAuctionMerkleRoot::Duration must be greater than 0"); + + // Verify duration is not too long + require(_duration <= maxAuctionLength, "registerAuctionMerkleRoot::Duration too long"); + + // Verify starting amount is valid + require( + _startingAmount <= marketConfig.marketplaceSettings.getMarketplaceMaxValue(), + "registerAuctionMerkleRoot::Starting amount exceeds maximum value" + ); + + // Add root to user's set of roots + creatorAuctionMerkleRoots[msg.sender].add(_merkleRoot); + + // Calculate new nonce + uint32 newNonce = creatorRootNonce[msg.sender][_merkleRoot] + 1; + creatorRootNonce[msg.sender][_merkleRoot] = newNonce; + + creatorRootToConfig[msg.sender][_merkleRoot] = MerkleAuctionConfig({ + currency: _currency, + startingAmount: _startingAmount, + duration: _duration, + splitAddresses: _splitAddresses, + splitRatios: _splitRatios, + nonce: newNonce + }); + + emit AuctionMerkleRootRegistered(msg.sender, _merkleRoot, _currency, _startingAmount, _duration, newNonce); + } + + /// @notice Cancels a previously registered Merkle root + /// @inheritdoc IRareBatchAuctionHouse + function cancelAuctionMerkleRoot(bytes32 _root) external override { + // Check if caller owns the root + require(creatorAuctionMerkleRoots[msg.sender].contains(_root), "cancelAuctionMerkleRoot::Not root owner"); + + // Remove root from user's set + creatorAuctionMerkleRoots[msg.sender].remove(_root); + + // Clean up config data (note: we keep the nonce for security) + delete creatorRootToConfig[msg.sender][_root]; + + // Emit event + emit AuctionMerkleRootCancelled(msg.sender, _root); + } + + /// @notice Places a bid using a Merkle proof to verify token inclusion + /// @inheritdoc IRareBatchAuctionHouse + function bidWithAuctionMerkleProof( + address _currencyAddress, + address _originContract, + uint256 _tokenId, + address _creator, + bytes32 _merkleRoot, + uint128 _bidAmount, + bytes32[] calldata _proof + ) external payable override nonReentrant { + // Prevent zero-length proof bypass + require(_proof.length > 0, "bidWithAuctionMerkleProof::Proof cannot be empty"); + + // Verify token is in Merkle root + bytes32 leaf = keccak256(abi.encodePacked(_originContract, _tokenId)); + require(MerkleProof.verify(_proof, _merkleRoot, leaf), "bidWithAuctionMerkleProof::Invalid Merkle proof"); + + IMarketplaceSettings settings = marketConfig.marketplaceSettings; + // Verify Merkle root is registered and active + require( + creatorAuctionMerkleRoots[_creator].contains(_merkleRoot), + "bidWithAuctionMerkleProof::Merkle root not registered" + ); + + // Get config for this Merkle root + MerkleAuctionConfig memory config = creatorRootToConfig[_creator][_merkleRoot]; + require(config.currency == _currencyAddress, "bidWithAuctionMerkleProof::Currency does not match"); + + // Get token nonce key and verify it hasn't been used + bytes32 tokenNonceKey = keccak256(abi.encodePacked(_creator, _merkleRoot, _originContract, _tokenId)); + uint32 currentNonce = creatorRootNonce[_creator][_merkleRoot]; + require( + tokenAuctionNonce[tokenNonceKey] < currentNonce, + "bidWithAuctionMerkleProof::Token already used for this Merkle root" + ); + + // Verify no auction exists for this token + require( + tokenAuctions[_originContract][_tokenId].startingTime == 0, + "bidWithAuctionMerkleProof::Auction already exists" + ); + + // Verify bid amount is valid + require(_bidAmount > 0, "bidWithAuctionMerkleProof::Cannot be 0"); + require(_bidAmount <= settings.getMarketplaceMaxValue(), "bidWithAuctionMerkleProof::Must be less than max value"); + require(_bidAmount >= config.startingAmount, "bidWithAuctionMerkleProof::Cannot be lower than minimum bid"); + + // Verify creator owns the token + IERC721 erc721 = IERC721(_originContract); + require(erc721.ownerOf(_tokenId) == _creator, "bidWithAuctionMerkleProof::Not token owner"); + + // Check marketplace approval + marketConfig.addressMustHaveMarketplaceApprovedForNFT(_creator, _originContract, _tokenId); + + // Transfer bid amount + uint256 requiredAmount = _bidAmount + settings.calculateMarketplaceFee(_bidAmount); + MarketUtilsV2.checkAmountAndTransfer(marketConfig, config.currency, requiredAmount); + + // Update token nonce to current creatorRootNonce + tokenAuctionNonce[tokenNonceKey] = currentNonce; + + // Create auction + tokenAuctions[_originContract][_tokenId] = Auction({ + auctionCreator: payable(_creator), + currencyAddress: config.currency, + creationBlock: uint32(block.number), + startingTime: uint64(block.timestamp), + lengthOfAuction: uint64(config.duration), + minimumBid: uint128(config.startingAmount), + splitRecipients: config.splitAddresses, + splitRatios: config.splitRatios + }); + + // Record the bid + auctionBids[_originContract][_tokenId] = Bid({ + bidder: msg.sender, + amount: _bidAmount, + marketplaceFeeAtTime: settings.getMarketplaceFeePercentage() + }); + + // Transfer token from creator to this contract + MarketUtilsV2.transferERC721(marketConfig, _originContract, _creator, address(this), _tokenId); + + emit AuctionMerkleBid( + _originContract, + _tokenId, + msg.sender, + _creator, + _currencyAddress, + _merkleRoot, + _bidAmount, + currentNonce + ); + } + + /// @notice Verifies if a token is included in a Merkle root + /// @inheritdoc IRareBatchAuctionHouse + function isTokenInRoot( + bytes32 _root, + address _origin, + uint256 _tokenId, + bytes32[] calldata _proof + ) external pure override returns (bool) { + // Prevent zero-length proof bypass + if (_proof.length == 0) { + return false; + } + + bytes32 leaf = keccak256(abi.encodePacked(_origin, _tokenId)); + return MerkleProof.verify(_proof, _root, leaf); + } + + /// @notice Gets the nonce for a specific token under a Merkle root + /// @inheritdoc IRareBatchAuctionHouse + function getTokenAuctionNonce( + address _creator, + bytes32 _root, + address _tokenContract, + uint256 _tokenId + ) external view override returns (uint32) { + bytes32 tokenNonceKey = keccak256(abi.encodePacked(_creator, _root, _tokenContract, _tokenId)); + return tokenAuctionNonce[tokenNonceKey]; + } + + /// @notice Gets all Merkle roots registered by a user + /// @inheritdoc IRareBatchAuctionHouse + function getUserAuctionMerkleRoots(address _user) external view override returns (bytes32[] memory) { + return creatorAuctionMerkleRoots[_user].values(); + } + + /// @notice Gets the current nonce for a user's Merkle root + /// @inheritdoc IRareBatchAuctionHouse + function getCreatorAuctionMerkleRootNonce(address _user, bytes32 _root) external view override returns (uint32) { + return creatorRootNonce[_user][_root]; + } + + /// @notice Gets the Merkle auction configuration for a given creator and root + /// @inheritdoc IRareBatchAuctionHouse + function getMerkleAuctionConfig( + address _creator, + bytes32 _root + ) external view override returns (MerkleAuctionConfig memory) { + return creatorRootToConfig[_creator][_root]; + } + + /// @inheritdoc IRareBatchAuctionHouse + function getCurrentBid( + address _originContract, + uint256 _tokenId + ) + external + view + override + returns (address bidder, address currencyAddress, uint128 amount, uint8 marketplaceFeeAtTime) + { + Bid memory auctionBid = auctionBids[_originContract][_tokenId]; + Auction memory auction = tokenAuctions[_originContract][_tokenId]; + return (auctionBid.bidder, auction.currencyAddress, auctionBid.amount, auctionBid.marketplaceFeeAtTime); + } +} diff --git a/src/v2/marketplace/IRareBatchListingMarketplace.sol b/src/v2/marketplace/IRareBatchListingMarketplace.sol new file mode 100644 index 0000000..cfbadcf --- /dev/null +++ b/src/v2/marketplace/IRareBatchListingMarketplace.sol @@ -0,0 +1,157 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.18; + +/** + * @title IRareBatchListingMarketplace + * @notice Interface for the RareBatchListingMarketplace contract, combining standard and Merkle-based sale price functionality + */ +interface IRareBatchListingMarketplace { + /*////////////////////////////////////////////////////////////////////////// + Types + //////////////////////////////////////////////////////////////////////////*/ + + /// @notice Configuration for a Merkle sale price root + struct MerkleSalePriceConfig { + address currency; + uint256 amount; + address payable[] splitRecipients; + uint8[] splitRatios; + uint256 nonce; + } + + /// @notice Configuration for allowlist Merkle root + struct AllowListConfig { + bytes32 root; + uint256 endTimestamp; + } + + /*////////////////////////////////////////////////////////////////////////// + Events + //////////////////////////////////////////////////////////////////////////*/ + + event SalePriceMerkleRootRegistered( + address indexed creator, + bytes32 indexed merkleRoot, + address currency, + uint256 amount, + uint256 nonce + ); + + event MerkleSalePriceExecuted( + address indexed contractAddress, + uint256 indexed tokenId, + address indexed buyer, + address seller, + address currency, + uint256 amount, + bytes32 merkleRoot, + uint256 nonce + ); + + event AllowListConfigSet( + address indexed creator, + bytes32 indexed merkleRoot, + bytes32 indexed allowListRoot, + uint256 endTimestamp + ); + + event SalePriceMerkleRootCancelled(address indexed creator, bytes32 indexed merkleRoot); + + /*////////////////////////////////////////////////////////////////////////// + Merkle Sale Functions + //////////////////////////////////////////////////////////////////////////*/ + + /// @notice Register a new Merkle root for batch sale prices + /// @param _merkleRoot The Merkle root of the token set + /// @param _currency The currency address for the sale price (address(0) for ETH) + /// @param _amount The sale price amount + /// @param _splitAddresses Array of addresses to split the payment with + /// @param _splitRatios Array of ratios for payment splits + function registerSalePriceMerkleRoot( + bytes32 _merkleRoot, + address _currency, + uint256 _amount, + address payable[] calldata _splitAddresses, + uint8[] calldata _splitRatios + ) external; + + /// @notice Cancels a previously registered sale price Merkle root + /// @param _merkleRoot The Merkle root to cancel + function cancelSalePriceMerkleRoot(bytes32 _merkleRoot) external; + + /// @notice Set allowlist configuration for a sale price Merkle root + /// @param _merkleRoot The sale price Merkle root to set allowlist for + /// @param _allowListRoot The Merkle root of allowed addresses + /// @param _endTimestamp The timestamp after which the allowlist expires + function setAllowListConfig(bytes32 _merkleRoot, bytes32 _allowListRoot, uint256 _endTimestamp) external; + + /// @notice Buy a token using a Merkle proof + /// @param _originContract The contract address of the token + /// @param _tokenId The token ID + /// @param _currency The currency address for the sale price (address(0) for ETH) + /// @param _amount The sale price amount + /// @param _creator The creator who registered the Merkle root + /// @param _merkleRoot The Merkle root containing this token + /// @param _proof The Merkle proof for this token + /// @param _allowListProof The Merkle proof for the allowlist (empty if no allowlist) + function buyWithMerkleProof( + address _originContract, + uint256 _tokenId, + address _currency, + uint256 _amount, + address _creator, + bytes32 _merkleRoot, + bytes32[] calldata _proof, + bytes32[] calldata _allowListProof + ) external payable; + + /// @notice Verify if a token is included in a Merkle root + /// @param _root The Merkle root to check against + /// @param _origin The token contract address + /// @param _tokenId The token ID + /// @param _proof The Merkle proof to verify + function isTokenInRoot( + bytes32 _root, + address _origin, + uint256 _tokenId, + bytes32[] calldata _proof + ) external pure returns (bool); + + /// @notice Gets the nonce for a specific token under a Merkle root + /// @param _creator The creator who registered the root + /// @param _root The Merkle root + /// @param _tokenContract The token contract address + /// @param _tokenId The token ID + function getTokenSalePriceNonce( + address _creator, + bytes32 _root, + address _tokenContract, + uint256 _tokenId + ) external view returns (uint256); + + /// @notice Gets all Merkle roots registered by a user + /// @param _user The address of the user + /// @return An array of Merkle roots + function getUserSalePriceMerkleRoots(address _user) external view returns (bytes32[] memory); + + /// @notice Gets the current nonce for a user's Merkle root + /// @param _user The address of the user + /// @param _root The Merkle root + /// @return The current nonce value + function getCreatorSalePriceMerkleRootNonce(address _user, bytes32 _root) external view returns (uint256); + + /// @notice Gets the Merkle sale price configuration for a given creator and root + /// @param _creator The address of the creator + /// @param _root The Merkle root + /// @return The MerkleSalePriceConfig struct containing the sale price configuration + function getMerkleSalePriceConfig( + address _creator, + bytes32 _root + ) external view returns (MerkleSalePriceConfig memory); + + /// @notice Gets the allowlist configuration for a given creator and sale price root + /// @param _creator The address of the creator + /// @param _merkleRoot The sale price Merkle root + /// @return The AllowListConfig struct containing the allowlist configuration + function getAllowListConfig(address _creator, bytes32 _merkleRoot) external view returns (AllowListConfig memory); +} diff --git a/src/v2/marketplace/RareBatchListingMarketplace.sol b/src/v2/marketplace/RareBatchListingMarketplace.sol new file mode 100644 index 0000000..9be1f06 --- /dev/null +++ b/src/v2/marketplace/RareBatchListingMarketplace.sol @@ -0,0 +1,327 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {OwnableUpgradeable} from "openzeppelin-contracts-upgradeable/access/OwnableUpgradeable.sol"; +import {ReentrancyGuardUpgradeable} from "openzeppelin-contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol"; +import {IERC20} from "openzeppelin-contracts/token/ERC20/IERC20.sol"; +import {IERC721} from "openzeppelin-contracts/token/ERC721/IERC721.sol"; +import {MerkleProof} from "openzeppelin-contracts/utils/cryptography/MerkleProof.sol"; +import {EnumerableSet} from "openzeppelin-contracts/utils/structs/EnumerableSet.sol"; + +import {MarketUtilsV2} from "../utils/MarketUtilsV2.sol"; +import {MarketConfigV2} from "../utils/MarketConfigV2.sol"; +import {IRareBatchListingMarketplace} from "./IRareBatchListingMarketplace.sol"; + +/** + * @title RareBatchListingMarketplace + * @notice V2 implementation of the RareBatchListingMarketplace, using Merkle-based sale price functionality + */ +contract RareBatchListingMarketplace is IRareBatchListingMarketplace, OwnableUpgradeable, ReentrancyGuardUpgradeable { + using EnumerableSet for EnumerableSet.Bytes32Set; + using MarketUtilsV2 for MarketConfigV2.Config; + using MarketConfigV2 for MarketConfigV2.Config; + + /*////////////////////////////////////////////////////////////////////////// + Storage + //////////////////////////////////////////////////////////////////////////*/ + + /// @notice Market configuration + MarketConfigV2.Config internal _marketConfig; + + /// @notice Mapping from creator to all their sale price Merkle roots + mapping(address => EnumerableSet.Bytes32Set) private _creatorSalePriceMerkleRoots; + + /// @notice Mapping from (creator, root) to MerkleSalePriceConfig + mapping(address => mapping(bytes32 => MerkleSalePriceConfig)) public creatorRootToConfig; + + /// @notice Mapping from (creator, root) to nonce for that root + mapping(address => mapping(bytes32 => uint256)) private _creatorRootNonce; + + /// @notice Mapping of keccak256(creator, root, tokenContract, tokenId) to nonce + mapping(bytes32 => uint256) private _tokenSalePriceNonce; + + /// @notice Mapping from (creator, merkleRoot) to AllowListConfig + mapping(address => mapping(bytes32 => AllowListConfig)) private _allowListConfigs; + + /// @notice Delay required before an offer can be cancelled (in seconds) + uint256 public constant OFFER_CANCELATION_DELAY = 2 minutes; + + /*////////////////////////////////////////////////////////////////////////// + Constructor + //////////////////////////////////////////////////////////////////////////*/ + + /// @custom:oz-upgrades-unsafe-allow constructor + constructor() { + _disableInitializers(); + } + + /*////////////////////////////////////////////////////////////////////////// + Initializer + //////////////////////////////////////////////////////////////////////////*/ + + function initialize( + address _marketplaceSettings, + address _royaltyEngine, + address _spaceOperatorRegistry, + address _approvedTokenRegistry, + address _payments, + address _stakingRegistry, + address _stakingSettings, + address _networkBeneficiary, + address _erc20ApprovalManager, + address _erc721ApprovalManager + ) public initializer { + require(_marketplaceSettings != address(0), "initialize::marketplaceSettings cannot be 0 address"); + require(_royaltyEngine != address(0), "initialize::royaltyEngine cannot be 0 address"); + require(_spaceOperatorRegistry != address(0), "initialize::spaceOperatorRegistry cannot be 0 address"); + require(_approvedTokenRegistry != address(0), "initialize::approvedTokenRegistry cannot be 0 address"); + require(_payments != address(0), "initialize::payments cannot be 0 address"); + require(_stakingRegistry != address(0), "initialize::stakingRegistry cannot be 0 address"); + require(_stakingSettings != address(0), "initialize::stakingSettings cannot be 0 address"); + require(_networkBeneficiary != address(0), "initialize::networkBeneficiary cannot be 0 address"); + require(_erc20ApprovalManager != address(0), "initialize::erc20ApprovalManager cannot be 0 address"); + require(_erc721ApprovalManager != address(0), "initialize::erc721ApprovalManager cannot be 0 address"); + + // Initialize market config + _marketConfig = MarketConfigV2.generateMarketConfig( + _networkBeneficiary, + _marketplaceSettings, + _spaceOperatorRegistry, + _royaltyEngine, + _payments, + _approvedTokenRegistry, + _stakingSettings, + _stakingRegistry, + _erc20ApprovalManager, + _erc721ApprovalManager + ); + + __Ownable_init(); + __ReentrancyGuard_init(); + } + + /// @inheritdoc IRareBatchListingMarketplace + function registerSalePriceMerkleRoot( + bytes32 _merkleRoot, + address _currency, + uint256 _amount, + address payable[] calldata _splitAddresses, + uint8[] calldata _splitRatios + ) external override { + // Validate currency + _marketConfig.checkIfCurrencyIsApproved(_currency); + + // Validate amount within bounds + require( + _amount <= _marketConfig.marketplaceSettings.getMarketplaceMaxValue() && + _amount >= _marketConfig.marketplaceSettings.getMarketplaceMinValue(), + "registerSalePriceMerkleRoot::Amount outside bounds" + ); + + // Validate splits + MarketUtilsV2.checkSplits(_splitAddresses, _splitRatios); + + // Add root to user's set of roots + _creatorSalePriceMerkleRoots[msg.sender].add(_merkleRoot); + + // Calculate new nonce + uint256 newNonce = _creatorRootNonce[msg.sender][_merkleRoot] + 1; + _creatorRootNonce[msg.sender][_merkleRoot] = newNonce; + + // Store configuration + creatorRootToConfig[msg.sender][_merkleRoot] = MerkleSalePriceConfig({ + currency: _currency, + amount: _amount, + splitRecipients: _splitAddresses, + splitRatios: _splitRatios, + nonce: newNonce + }); + + emit SalePriceMerkleRootRegistered(msg.sender, _merkleRoot, _currency, _amount, newNonce); + } + + /// @inheritdoc IRareBatchListingMarketplace + function cancelSalePriceMerkleRoot(bytes32 _merkleRoot) external override { + // Verify caller owns the merkle root + require( + _creatorSalePriceMerkleRoots[msg.sender].contains(_merkleRoot), + "cancelSalePriceMerkleRoot::Not root owner" + ); + + // Remove root from user's set + _creatorSalePriceMerkleRoots[msg.sender].remove(_merkleRoot); + + // Clean up config data (note: we keep the nonce for security) + delete creatorRootToConfig[msg.sender][_merkleRoot]; + + // Clean up allowlist config if it exists + delete _allowListConfigs[msg.sender][_merkleRoot]; + + emit SalePriceMerkleRootCancelled(msg.sender, _merkleRoot); + } + + /// @inheritdoc IRareBatchListingMarketplace + function setAllowListConfig(bytes32 _merkleRoot, bytes32 _allowListRoot, uint256 _endTimestamp) external override { + // Verify caller owns the merkle root + require(_creatorSalePriceMerkleRoots[msg.sender].contains(_merkleRoot), "setAllowListConfig::Not root owner"); + + // Verify end timestamp is in the future + require(_endTimestamp > block.timestamp, "setAllowListConfig::Allow-list end must be in the future"); + + // Store configuration + _allowListConfigs[msg.sender][_merkleRoot] = AllowListConfig({root: _allowListRoot, endTimestamp: _endTimestamp}); + + emit AllowListConfigSet(msg.sender, _merkleRoot, _allowListRoot, _endTimestamp); + } + + /// @inheritdoc IRareBatchListingMarketplace + function buyWithMerkleProof( + address _originContract, + uint256 _tokenId, + address _currency, + uint256 _amount, + address _creator, + bytes32 _merkleRoot, + bytes32[] calldata _proof, + bytes32[] calldata _allowListProof + ) external payable override nonReentrant { + // Prevent zero-length proof bypass + require(_proof.length > 0, "buyWithMerkleProof::Proof cannot be empty"); + + // Verify token is in Merkle root + bytes32 leaf = keccak256(abi.encodePacked(_originContract, _tokenId)); + require(MerkleProof.verify(_proof, _merkleRoot, leaf), "buyWithMerkleProof::Invalid Merkle proof"); + + // Verify Merkle root is registered and active + require( + _creatorSalePriceMerkleRoots[_creator].contains(_merkleRoot), + "buyWithMerkleProof::Merkle root not registered" + ); + + // Check allowlist if configured + AllowListConfig memory allowListConfig = _allowListConfigs[_creator][_merkleRoot]; + if (allowListConfig.root != bytes32(0)) { + // Allowlist is configured, verify it hasn't expired + require(block.timestamp < allowListConfig.endTimestamp, "buyWithMerkleProof::Allowlist period has ended"); + + // Prevent zero-length allowlist proof bypass + require(_allowListProof.length > 0, "buyWithMerkleProof::Allowlist proof cannot be empty"); + + // Verify buyer is on allowlist + bytes32 allowListLeaf = keccak256(abi.encodePacked(msg.sender)); + require( + MerkleProof.verify(_allowListProof, allowListConfig.root, allowListLeaf), + "buyWithMerkleProof::Not on allowlist" + ); + } + + // Get config for this Merkle root + MerkleSalePriceConfig memory config = creatorRootToConfig[_creator][_merkleRoot]; + require(config.currency == _currency, "buyWithMerkleProof::Currency mismatch"); + require(config.amount == _amount, "buyWithMerkleProof::Amount mismatch"); + + // Get token nonce key and verify it hasn't been used + bytes32 tokenNonceKey = keccak256(abi.encodePacked(_creator, _merkleRoot, _originContract, _tokenId)); + uint256 currentNonce = _creatorRootNonce[_creator][_merkleRoot]; + require( + _tokenSalePriceNonce[tokenNonceKey] < currentNonce, + "buyWithMerkleProof::Token already used for this Merkle root" + ); + + // Verify creator owns the token + IERC721 erc721 = IERC721(_originContract); + address tokenOwner = erc721.ownerOf(_tokenId); + require(tokenOwner == _creator, "buyWithMerkleProof::Not token owner"); + + // Check marketplace approval + _marketConfig.addressMustHaveMarketplaceApprovedForNFT(_creator, _originContract, _tokenId); + + // Calculate and transfer payment + uint256 requiredAmount = config.amount + _marketConfig.marketplaceSettings.calculateMarketplaceFee(config.amount); + MarketUtilsV2.checkAmountAndTransfer(_marketConfig, config.currency, requiredAmount); + + // Update token nonce to current creatorRootNonce + _tokenSalePriceNonce[tokenNonceKey] = currentNonce; + + // Transfer NFT + MarketUtilsV2.transferERC721(_marketConfig, _originContract, _creator, msg.sender, _tokenId); + + // Process payment + _marketConfig.payout( + _originContract, + _tokenId, + config.currency, + config.amount, + _creator, + config.splitRecipients, + config.splitRatios + ); + + // Mark token as sold + try _marketConfig.marketplaceSettings.markERC721Token(_originContract, _tokenId, true) {} catch {} + + emit MerkleSalePriceExecuted( + _originContract, + _tokenId, + msg.sender, + _creator, + config.currency, + config.amount, + _merkleRoot, + currentNonce + ); + } + + /// @inheritdoc IRareBatchListingMarketplace + function isTokenInRoot( + bytes32 _root, + address _origin, + uint256 _tokenId, + bytes32[] calldata _proof + ) external pure override returns (bool) { + // Prevent zero-length proof bypass + if (_proof.length == 0) { + return false; + } + + bytes32 leaf = keccak256(abi.encodePacked(_origin, _tokenId)); + return MerkleProof.verify(_proof, _root, leaf); + } + + /// @inheritdoc IRareBatchListingMarketplace + function getTokenSalePriceNonce( + address _creator, + bytes32 _root, + address _tokenContract, + uint256 _tokenId + ) external view override returns (uint256) { + bytes32 tokenNonceKey = keccak256(abi.encodePacked(_creator, _root, _tokenContract, _tokenId)); + return _tokenSalePriceNonce[tokenNonceKey]; + } + + /// @inheritdoc IRareBatchListingMarketplace + function getUserSalePriceMerkleRoots(address _user) external view override returns (bytes32[] memory) { + return _creatorSalePriceMerkleRoots[_user].values(); + } + + /// @inheritdoc IRareBatchListingMarketplace + function getCreatorSalePriceMerkleRootNonce(address _user, bytes32 _root) external view override returns (uint256) { + return _creatorRootNonce[_user][_root]; + } + + /// @inheritdoc IRareBatchListingMarketplace + function getMerkleSalePriceConfig( + address _creator, + bytes32 _root + ) external view override returns (MerkleSalePriceConfig memory) { + return creatorRootToConfig[_creator][_root]; + } + + /// @inheritdoc IRareBatchListingMarketplace + function getAllowListConfig( + address _creator, + bytes32 _merkleRoot + ) external view override returns (AllowListConfig memory) { + return _allowListConfigs[_creator][_merkleRoot]; + } +} diff --git a/src/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol b/src/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol new file mode 100644 index 0000000..6995339 --- /dev/null +++ b/src/v2/token/ERC721/sovereign/SovereignNFTContractFactoryV2.sol @@ -0,0 +1,110 @@ +// contracts/token/ERC721/sovereign/SovereignNFTContractFactory.sol +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.15; + +import "openzeppelin-contracts/access/Ownable.sol"; +import "openzeppelin-contracts/proxy/Clones.sol"; +import "./SovereignNFTV2.sol"; +import "./extensions/SovereignNFTRoyaltyGuardV2.sol"; +import "./extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol"; + +contract SovereignNFTContractFactoryV2 is Ownable { + bytes32 public constant SOVEREIGN_NFT = keccak256("SOVEREIGN_NFT"); + bytes32 public constant ROYALTY_GUARD = keccak256("ROYALTY_GUARD"); + bytes32 public constant ROYALTY_GUARD_DEADMAN = keccak256("ROYALTY_GUARD_DEADMAN"); + + address public sovereignNFT; + address public sovereignNFTRoyaltyGuard; + address public sovereignNFTRoyaltyGuardDeadmanTrigger; + + event SovereignNFTContractCreatedV2( + address indexed contractAddress, + address indexed owner, + bytes32 indexed contractType + ); + + constructor() { + SovereignNFTV2 sovNFT = new SovereignNFTV2(); + sovereignNFT = address(sovNFT); + + SovereignNFTRoyaltyGuardV2 sovNFTRG = new SovereignNFTRoyaltyGuardV2(); + sovereignNFTRoyaltyGuard = address(sovNFTRG); + + SovereignNFTRoyaltyGuardDeadmanTriggerV2 sovNFTRGDT = new SovereignNFTRoyaltyGuardDeadmanTriggerV2(); + sovereignNFTRoyaltyGuardDeadmanTrigger = address(sovNFTRGDT); + } + + function setSovereignNFT(address _sovereignNFT) external onlyOwner { + require(_sovereignNFT != address(0)); + sovereignNFT = _sovereignNFT; + } + + function setSovereignNFT(address _sovereignNFT, bytes32 _contractType) external onlyOwner { + require(_sovereignNFT != address(0)); + if (_contractType == SOVEREIGN_NFT) { + sovereignNFT = _sovereignNFT; + return; + } + if (_contractType == ROYALTY_GUARD) { + sovereignNFTRoyaltyGuard = _sovereignNFT; + return; + } + if (_contractType == ROYALTY_GUARD_DEADMAN) { + sovereignNFTRoyaltyGuardDeadmanTrigger = _sovereignNFT; + return; + } + + require(false, "setSovereignNFT::Unsupported _contractType."); + } + + function createSovereignNFTContract( + string memory _name, + string memory _symbol, + uint256 _maxTokens + ) public returns (address) { + require(_maxTokens != 0, "createSovereignNFTContract::_maxTokens cant be zero"); + address sovAddr = Clones.clone(sovereignNFT); + SovereignNFTV2(sovAddr).init(_name, _symbol, msg.sender, _maxTokens); + + emit SovereignNFTContractCreatedV2(sovAddr, msg.sender, SOVEREIGN_NFT); + + return address(sovereignNFT); + } + + function createSovereignNFTContract(string memory _name, string memory _symbol) public returns (address) { + address sovAddr = Clones.clone(sovereignNFT); + SovereignNFTV2(sovAddr).init(_name, _symbol, msg.sender, type(uint256).max); + + emit SovereignNFTContractCreatedV2(sovAddr, msg.sender, SOVEREIGN_NFT); + + return address(sovereignNFT); + } + + function createSovereignNFTContract( + string memory _name, + string memory _symbol, + uint256 _maxTokens, + bytes32 _contractType + ) public returns (address) { + require(_maxTokens != 0, "createSovereignNFTContract::_maxTokens cant be zero"); + + address sovAddr; + if (_contractType == SOVEREIGN_NFT) { + sovAddr = Clones.clone(sovereignNFT); + SovereignNFTV2(sovAddr).init(_name, _symbol, msg.sender, _maxTokens); + } + if (_contractType == ROYALTY_GUARD) { + sovAddr = Clones.clone(sovereignNFTRoyaltyGuard); + SovereignNFTRoyaltyGuardV2(sovAddr).init(_name, _symbol, msg.sender, _maxTokens); + } + if (_contractType == ROYALTY_GUARD_DEADMAN) { + sovAddr = Clones.clone(sovereignNFTRoyaltyGuardDeadmanTrigger); + SovereignNFTRoyaltyGuardDeadmanTriggerV2(sovAddr).init(_name, _symbol, msg.sender, _maxTokens); + } + + require(sovAddr != address(0), "createSovereignNFTContract::_contractType unsupported contract type."); + emit SovereignNFTContractCreatedV2(sovAddr, msg.sender, _contractType); + + return address(sovAddr); + } +} diff --git a/src/v2/token/ERC721/sovereign/SovereignNFTV2.sol b/src/v2/token/ERC721/sovereign/SovereignNFTV2.sol new file mode 100644 index 0000000..4f943fe --- /dev/null +++ b/src/v2/token/ERC721/sovereign/SovereignNFTV2.sol @@ -0,0 +1,355 @@ +// contracts/token/ERC721/sovereign/SovereignNFT.sol +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.15; + +import "openzeppelin-contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; +import "openzeppelin-contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol"; +import "openzeppelin-contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol"; +import "openzeppelin-contracts-upgradeable/access/OwnableUpgradeable.sol"; +import "openzeppelin-contracts-upgradeable/utils/CountersUpgradeable.sol"; +import "openzeppelin-contracts-upgradeable/utils/math/SafeMathUpgradeable.sol"; + +import "../../../../token/extensions/ITokenCreator.sol"; +import "../../../../token/extensions/ERC2981Upgradeable.sol"; + +contract SovereignNFTV2 is + OwnableUpgradeable, + ERC165Upgradeable, + ERC721Upgradeable, + ITokenCreator, + ERC721BurnableUpgradeable, + ERC2981Upgradeable +{ + using SafeMathUpgradeable for uint256; + using StringsUpgradeable for uint256; + using CountersUpgradeable for CountersUpgradeable.Counter; + + struct MintBatch { + uint256 startTokenId; + uint256 endTokenId; + string baseURI; + } + + bool public disabled; + + // Global lock for all token URIs + bool public tokenURIsLocked; + + uint256 public maxTokens; + + // Mapping from token ID to the creator's address + mapping(uint256 => address) private tokenCreators; + + // Mapping from tokenId to if it was burned or not (for batch minting) + mapping(uint256 => bool) private tokensBurned; + + // Mapping from token ID to approved address + mapping(uint256 => address) private _tokenApprovals; + + // Counter to keep track of the current token id. + CountersUpgradeable.Counter private tokenIdCounter; + + MintBatch[] private mintBatches; + + // Optional mapping for token URIs + mapping(uint256 => string) private _tokenURIs; + + // Mapping for overridden batch token URIs + mapping(uint256 => string) private _overriddenBatchURIs; + + event ContractDisabled(address indexed user); + event TokenURIUpdated(uint256 indexed tokenId, string newURI); + event BatchBaseURIUpdated(uint256 indexed batchIndex, string newBaseURI); + event TokenURIsLocked(); + + event ConsecutiveTransfer( + uint256 indexed fromTokenId, + uint256 toTokenId, + address indexed fromAddress, + address indexed toAddress + ); + + function init( + string calldata _name, + string calldata _symbol, + address _creator, + uint256 _maxTokens + ) public initializer { + require(_creator != address(0), "creator cannot be null address"); + _setDefaultRoyaltyPercentage(10); + disabled = false; + tokenURIsLocked = false; + maxTokens = _maxTokens; + + __Ownable_init(); + __ERC721_init(_name, _symbol); + __ERC165_init(); + __ERC2981__init(); + + _setDefaultRoyaltyReceiver(_creator); + + super.transferOwnership(_creator); + } + + modifier onlyTokenOwner(uint256 _tokenId) { + require(ownerOf(_tokenId) == msg.sender, "Must be owner of token."); + _; + } + + modifier ifNotDisabled() { + require(!disabled, "Contract must not be disabled."); + _; + } + + function batchMint(string calldata _baseURI, uint256 _numberOfTokens) public onlyOwner ifNotDisabled { + uint256 startTokenId = tokenIdCounter.current() + 1; + uint256 endTokenId = startTokenId + _numberOfTokens - 1; + + tokenIdCounter = CountersUpgradeable.Counter(endTokenId); + + require(tokenIdCounter.current() <= maxTokens, "batchMint::exceeded maxTokens"); + + mintBatches.push(MintBatch(startTokenId, endTokenId, _baseURI)); + + emit ConsecutiveTransfer(startTokenId, endTokenId, address(0), owner()); + } + + function addNewToken(string memory _uri) public onlyOwner ifNotDisabled { + _createToken(_uri, msg.sender, msg.sender, getDefaultRoyaltyPercentage(), msg.sender); + } + + function mintTo(string calldata _uri, address _receiver, address _royaltyReceiver) external onlyOwner ifNotDisabled { + _createToken(_uri, msg.sender, _receiver, getDefaultRoyaltyPercentage(), _royaltyReceiver); + } + + function deleteToken(uint256 _tokenId) public onlyTokenOwner(_tokenId) { + burn(_tokenId); + } + + function burn(uint256 _tokenId) public virtual override { + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + + tokensBurned[_tokenId] = true; + + if (wasBatchMinted && !ERC721Upgradeable._exists(_tokenId)) { + return; + } + + ERC721BurnableUpgradeable.burn(_tokenId); + } + + function tokenCreator(uint256) public view override returns (address payable) { + return payable(owner()); + } + + function disableContract() public onlyOwner { + disabled = true; + emit ContractDisabled(msg.sender); + } + + function setDefaultRoyaltyReceiver(address _receiver) external onlyOwner { + _setDefaultRoyaltyReceiver(_receiver); + } + + function setRoyaltyReceiverForToken(address _receiver, uint256 _tokenId) external onlyOwner { + royaltyReceivers[_tokenId] = _receiver; + } + + function _setTokenCreator(uint256 _tokenId, address _creator) internal { + tokenCreators[_tokenId] = _creator; + } + + function _createToken( + string memory _uri, + address _creator, + address _to, + uint256 _royaltyPercentage, + address _royaltyReceiver + ) internal returns (uint256) { + tokenIdCounter.increment(); + uint256 tokenId = tokenIdCounter.current(); + require(tokenId <= maxTokens, "_createToken::exceeded maxTokens"); + _safeMint(_to, tokenId); + _tokenURIs[tokenId] = _uri; + _setTokenCreator(tokenId, _creator); + _setRoyaltyPercentage(tokenId, _royaltyPercentage); + _setRoyaltyReceiver(tokenId, _royaltyReceiver); + return tokenId; + } + + /////////////////////////////////////////////// + // Overriding Methods to support batch mints + /////////////////////////////////////////////// + function tokenURI(uint256 _tokenId) public view virtual override returns (string memory) { + // Check for overridden batch URI first + if (bytes(_overriddenBatchURIs[_tokenId]).length > 0) { + return _overriddenBatchURIs[_tokenId]; + } + + (bool wasBatchMinted, , string memory baseTokenUri) = _batchMintInfo(_tokenId); + + if (!wasBatchMinted) { + return _tokenURIs[_tokenId]; + } else { + return string(abi.encodePacked(baseTokenUri, "/", _tokenId.toString(), ".json")); + } + } + + function ownerOf(uint256 _tokenId) public view virtual override returns (address) { + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + + if (!wasBatchMinted) { + return ERC721Upgradeable.ownerOf(_tokenId); + } else if (tokensBurned[_tokenId]) { + return ERC721Upgradeable.ownerOf(_tokenId); + } else { + if (!ERC721Upgradeable._exists(_tokenId)) { + return owner(); + } else { + return ERC721Upgradeable.ownerOf(_tokenId); + } + } + } + + function approve(address to, uint256 tokenId) public virtual override { + address owner = ownerOf(tokenId); + require(to != owner, "ERC721: approval to current owner"); + + require( + _msgSender() == owner || isApprovedForAll(owner, _msgSender()), + "ERC721: approve caller is not owner nor approved for all" + ); + + _approve(to, tokenId); + } + + function _isApprovedOrOwner(address _spender, uint256 _tokenId) internal view virtual override returns (bool) { + address owner = ownerOf(_tokenId); + return (_spender == owner || getApproved(_tokenId) == _spender || isApprovedForAll(owner, _spender)); + } + + /** + * @dev Approve `to` to operate on `tokenId` + * + * Emits an {Approval} event. + */ + function _approve(address to, uint256 tokenId) internal override { + _tokenApprovals[tokenId] = to; + emit Approval(ERC721Upgradeable.ownerOf(tokenId), to, tokenId); // internal owner + } + + /** + * @dev See {IERC721-getApproved}. + */ + function getApproved(uint256 _tokenId) public view virtual override returns (address) { + address receiver = royaltyReceivers[_tokenId]; + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + bool exists = (wasBatchMinted || receiver != address(0)) && !tokensBurned[_tokenId]; + + require(exists, "ERC721: approved query for nonexistent token"); + + return _tokenApprovals[_tokenId]; + } + + function _transfer(address _from, address _to, uint256 _tokenId) internal virtual override { + require(_tokenId != 0); + + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + + if (wasBatchMinted && !ERC721Upgradeable._exists(_tokenId) && !tokensBurned[_tokenId]) { + _mint(_from, _tokenId); + } + + ERC721Upgradeable._transfer(_from, _to, _tokenId); + } + + function totalSupply() public view virtual returns (uint256) { + return tokenIdCounter.current(); + } + + function _batchMintInfo( + uint256 _tokenId + ) internal view returns (bool _wasBatchMinted, uint256 _batchIndex, string memory _baseTokenUri) { + for (uint256 i = 0; i < mintBatches.length; i++) { + if (_tokenId >= mintBatches[i].startTokenId && _tokenId <= mintBatches[i].endTokenId) { + return (true, i, mintBatches[i].baseURI); + } + } + + return (false, 0, ""); + } + + /** + * @dev Returns the start and end token IDs and base URI for a specific batch. + */ + function getBatchInfo( + uint256 _batchIndex + ) external view returns (uint256 startTokenId, uint256 endTokenId, string memory baseURI) { + require(_batchIndex < mintBatches.length, "Batch index out of bounds"); + + MintBatch memory batch = mintBatches[_batchIndex]; + return (batch.startTokenId, batch.endTokenId, batch.baseURI); + } + + /** + * @dev Returns the total number of batches. + */ + function getBatchCount() external view returns (uint256) { + return mintBatches.length; + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface( + bytes4 interfaceId + ) public view virtual override(ERC165Upgradeable, ERC2981Upgradeable, ERC721Upgradeable) returns (bool) { + return + interfaceId == type(ITokenCreator).interfaceId || + ERC165Upgradeable.supportsInterface(interfaceId) || + ERC2981Upgradeable.supportsInterface(interfaceId) || + ERC721Upgradeable.supportsInterface(interfaceId); + } + + function updateTokenURI(uint256 _tokenId, string calldata _newURI) external ifNotDisabled { + require(msg.sender == tokenCreator(_tokenId), "Only token creator can update URI"); + require(!tokenURIsLocked, "Token URIs are locked"); + require(_exists(_tokenId) || _isBatchMintedToken(_tokenId), "Token does not exist"); + + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + + if (wasBatchMinted) { + _overriddenBatchURIs[_tokenId] = _newURI; + } else { + _tokenURIs[_tokenId] = _newURI; + } + + emit TokenURIUpdated(_tokenId, _newURI); + } + + function updateBatchBaseURI(uint256 _batchIndex, string calldata _newBaseURI) external onlyOwner ifNotDisabled { + require(!tokenURIsLocked, "Token URIs are locked"); + require(_batchIndex < mintBatches.length, "Batch index out of bounds"); + + mintBatches[_batchIndex].baseURI = _newBaseURI; + + emit BatchBaseURIUpdated(_batchIndex, _newBaseURI); + } + + function lockTokenURIs() external onlyOwner { + require(!tokenURIsLocked, "Token URIs are already locked"); + + tokenURIsLocked = true; + + emit TokenURIsLocked(); + } + + function areTokenURIsLocked() external view returns (bool) { + return tokenURIsLocked; + } + + function _isBatchMintedToken(uint256 _tokenId) internal view returns (bool) { + (bool wasBatchMinted, , ) = _batchMintInfo(_tokenId); + return wasBatchMinted && !tokensBurned[_tokenId]; + } +} diff --git a/src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol b/src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol new file mode 100644 index 0000000..e81e9a1 --- /dev/null +++ b/src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardDeadmanTriggerV2.sol @@ -0,0 +1,39 @@ +// contracts/token/ERC721/sovereign/SovereignNFT.sol +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "royalty-guard/extensions/RoyaltyGuardDeadmanTrigger.sol"; + +import "../SovereignNFTV2.sol"; + +contract SovereignNFTRoyaltyGuardDeadmanTriggerV2 is SovereignNFTV2, RoyaltyGuardDeadmanTrigger { + /*////////////////////////////////////////////////////////////////////////// + ERC165 LOGIC + //////////////////////////////////////////////////////////////////////////*/ + + /// @dev See {IERC165-supportsInterface}. + function supportsInterface( + bytes4 _interfaceId + ) public view virtual override(SovereignNFTV2, RoyaltyGuard) returns (bool) { + return RoyaltyGuard.supportsInterface(_interfaceId) || SovereignNFTV2.supportsInterface(_interfaceId); + } + + /*////////////////////////////////////////////////////////////////////////// + RoyaltyGuard LOGIC + //////////////////////////////////////////////////////////////////////////*/ + + /// @inheritdoc RoyaltyGuard + function hasAdminPermission(address _addr) public view virtual override(IRoyaltyGuard, RoyaltyGuard) returns (bool) { + return _addr == owner(); + } + + /// @dev Guards {approve} based on the type of list and depending if {_spender} is on the list. + function approve(address _spender, uint256 _id) public virtual override checkList(_spender) { + super.approve(_spender, _id); + } + + /// @dev Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list. + function setApprovalForAll(address _operator, bool _approved) public virtual override checkList(_operator) { + super.setApprovalForAll(_operator, _approved); + } +} diff --git a/src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol b/src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol new file mode 100644 index 0000000..13b2766 --- /dev/null +++ b/src/v2/token/ERC721/sovereign/extensions/SovereignNFTRoyaltyGuardV2.sol @@ -0,0 +1,39 @@ +// contracts/token/ERC721/sovereign/SovereignNFT.sol +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "royalty-guard/RoyaltyGuard.sol"; + +import "../SovereignNFTV2.sol"; + +contract SovereignNFTRoyaltyGuardV2 is SovereignNFTV2, RoyaltyGuard { + /*////////////////////////////////////////////////////////////////////////// + ERC165 LOGIC + //////////////////////////////////////////////////////////////////////////*/ + + /// @dev See {IERC165-supportsInterface}. + function supportsInterface( + bytes4 _interfaceId + ) public view virtual override(SovereignNFTV2, RoyaltyGuard) returns (bool) { + return RoyaltyGuard.supportsInterface(_interfaceId) || SovereignNFTV2.supportsInterface(_interfaceId); + } + + /*////////////////////////////////////////////////////////////////////////// + RoyaltyGuard LOGIC + //////////////////////////////////////////////////////////////////////////*/ + + /// @inheritdoc RoyaltyGuard + function hasAdminPermission(address _addr) public view virtual override returns (bool) { + return _addr == owner(); + } + + /// @dev Guards {approve} based on the type of list and depending if {_spender} is on the list. + function approve(address _spender, uint256 _id) public virtual override checkList(_spender) { + super.approve(_spender, _id); + } + + /// @dev Guards {setApprovalForAll} based on the type of list and depending if {_operator} is on the list. + function setApprovalForAll(address _operator, bool _approved) public virtual override checkList(_operator) { + super.setApprovalForAll(_operator, _approved); + } +} diff --git a/src/v2/utils/IMPLEMENTATION_PLAN.md b/src/v2/utils/IMPLEMENTATION_PLAN.md new file mode 100644 index 0000000..b08e480 --- /dev/null +++ b/src/v2/utils/IMPLEMENTATION_PLAN.md @@ -0,0 +1,157 @@ +# Market V2 Implementation Plan + +## Overview +Create a V2 version of MarketUtils that maintains all existing functionality while adding support for token transfers via approval managers. All existing token transfers in the system will be updated to use these managers. + +## 1. MarketConfig V2 Structure + +### Progress +- [x] Create MarketConfigV2.sol +- [x] Add approval manager fields +- [x] Add new getters/setters +- [x] Update initialization logic + +### New Config Fields +```solidity +struct MarketConfigV2 { + // Existing fields from V1 + address networkBeneficiary; + IMarketplaceSettings marketplaceSettings; + ISpaceOperatorRegistry spaceOperatorRegistry; + IRoyaltyEngineV1 royaltyEngine; + IPayments payments; + IApprovedTokenRegistry approvedTokenRegistry; + IStakingSettings stakingSettings; + IRareStakingRegistry stakingRegistry; + + // New V2 fields + IERC20ApprovalManager erc20ApprovalManager; + IERC721ApprovalManager erc721ApprovalManager; +} +``` + +## 2. MarketUtils V2 Library + +### Implementation Notes +1. **File Creation** + - [x] Create v2 directory + - [x] Copy V1 files to v2 directory + - [x] Update file names to V2 + - [x] Verify file structure + +2. **Code Migration** + - [x] Copy and verify all imports + - [x] Verify all error messages preserved + - [x] Verify all events maintained + - [x] Check function signatures match + - [x] Verify natspec comments + +3. **Critical Preservation Points** + - [x] Verify ETH handling unchanged + - [x] Verify all checks/requires maintained + - [x] Verify event emission order + - [ ] Check gas optimizations + +### Functions to Update +1. `checkAmountAndTransfer` + - [x] Modify ERC20 transfer portion + - [x] Verify ETH handling preserved + - [x] Implement approval manager + - [ ] Add tests + +2. `refund` + - [x] Keep ETH refund logic + - [x] Update ERC20 transfers + - [x] Verify existing checks + - [ ] Add tests + +3. `payout` + - [x] Preserve split calculations + - [x] Update transfer mechanism + - [x] Verify events maintained + - [ ] Add tests + +4. `performPayouts` + - [x] Update ERC20 transfers + - [x] Verify ETH/IPayments handling + - [x] Check error messages + - [ ] Add tests + +### New Token Transfer Functions +- [x] Implement transferERC20ForUser (via approval manager) +- [x] Implement transferERC721ForUser (via approval manager) +- [x] Add comprehensive tests +- [x] Add integration tests + +## 3. Implementation Steps + +1. **Setup Phase** + - [x] Create v2 directory + - [x] Copy MarketConfig.sol → MarketConfigV2.sol + - [x] Copy MarketUtils.sol → MarketUtilsV2.sol + - [x] Update imports + - [x] Add approval manager interfaces + +2. **Config Updates** + - [x] Add new config fields + - [x] Preserve helper functions + - [x] Add manager getters/setters + - [x] Update initialization + +3. **Utils Updates** + - [x] Update token transfers + - [x] Add new functions + - [x] Test modifications + - [x] Verify functionality + +4. **Testing** + - [x] Copy existing tests + - [x] Add approval manager tests + - [x] Verify ETH handling + - [x] Test edge cases + - [x] Check gas usage + +## 4. Security Considerations + +Progress: +- [x] Approval manager initialization verified +- [x] Token transfer routing checked +- [x] Edge cases tested +- [x] ETH handling verified +- [x] Security checks maintained +- [x] Attack vectors analyzed + +## 5. Verification Checklist + +Before considering implementation complete: +- [x] All existing tests pass +- [x] New tests added and passing +- [x] All ETH handling unchanged +- [x] All events maintained +- [x] Gas efficiency verified +- [x] All error messages preserved +- [x] Approval managers properly integrated + +## 6. Implementation Progress Summary + +### Files Created +- [x] src/utils/v2/MarketConfigV2.sol +- [x] src/utils/v2/MarketUtilsV2.sol +- [x] src/utils/interfaces/IERC20ApprovalManager.sol +- [x] src/utils/interfaces/IERC721ApprovalManager.sol +- [x] test/utils/v2/MarketUtilsV2.t.sol + +### Core Features +- [x] Config V2 Structure +- [x] Approval Manager Integration +- [x] Token Transfer Functions +- [x] Existing Functionality Preserved + +### Testing +- [x] Unit Tests +- [x] Gas Optimization Tests +- [x] Security Tests + +### Documentation +- [x] Code Comments +- [x] NatSpec Updated \ No newline at end of file diff --git a/src/v2/utils/MarketConfigV2.sol b/src/v2/utils/MarketConfigV2.sol new file mode 100644 index 0000000..601c406 --- /dev/null +++ b/src/v2/utils/MarketConfigV2.sol @@ -0,0 +1,143 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {IApprovedTokenRegistry} from "rareprotocol/aux/registry/interfaces/IApprovedTokenRegistry.sol"; +import {IStakingSettings} from "rareprotocol/aux/marketplace/IStakingSettings.sol"; +import {IMarketplaceSettings} from "rareprotocol/aux/marketplace/IMarketplaceSettings.sol"; +import {ISpaceOperatorRegistry} from "rareprotocol/aux/registry/interfaces/ISpaceOperatorRegistry.sol"; +import {IPayments} from "rareprotocol/aux/payments/IPayments.sol"; +import {IRoyaltyEngineV1} from "royalty-registry/IRoyaltyEngineV1.sol"; + +import {IERC20ApprovalManager} from "../approver/ERC20/IERC20ApprovalManager.sol"; +import {IERC721ApprovalManager} from "../approver/ERC721/IERC721ApprovalManager.sol"; +import {IRareStakingRegistry} from "../../staking/registry/IRareStakingRegistry.sol"; + +library MarketConfigV2 { + struct Config { + // Existing fields from V1 + address networkBeneficiary; + IMarketplaceSettings marketplaceSettings; + ISpaceOperatorRegistry spaceOperatorRegistry; + IRoyaltyEngineV1 royaltyEngine; + IPayments payments; + IApprovedTokenRegistry approvedTokenRegistry; + IStakingSettings stakingSettings; + IRareStakingRegistry stakingRegistry; + // New V2 fields + IERC20ApprovalManager erc20ApprovalManager; + IERC721ApprovalManager erc721ApprovalManager; + } + + // Events from V1 + event NetworkBeneficiaryUpdated(address indexed newNetworkBeneficiary); + event MarketplaceSettingsUpdated(address indexed newMarketplaceSettings); + event SpaceOperatorRegistryUpdated(address indexed newSpaceOperatorRegistry); + event RoyaltyEngineUpdated(address indexed newRoyaltyEngine); + event PaymentsUpdated(address indexed newPayments); + event ApprovedTokenRegistryUpdated(address indexed newApprovedTokenRegistry); + event StakingSettingsUpdated(address indexed newStakingSettings); + event StakingRegistryUpdated(address indexed newStakingRegistry); + + // New V2 events + event ERC20ApprovalManagerUpdated(address indexed newERC20ApprovalManager); + event ERC721ApprovalManagerUpdated(address indexed newERC721ApprovalManager); + + function generateMarketConfig( + address _networkBeneficiary, + address _marketplaceSettings, + address _spaceOperatorRegistry, + address _royaltyEngine, + address _payments, + address _approvedTokenRegistry, + address _stakingSettings, + address _stakingRegistry, + address _erc20ApprovalManager, + address _erc721ApprovalManager + ) public pure returns (Config memory) { + require(_networkBeneficiary != address(0), "generateMarketConfig::Network beneficiary address cannot be zero"); + require(_marketplaceSettings != address(0), "generateMarketConfig::Marketplace settings address cannot be zero"); + require( + _spaceOperatorRegistry != address(0), + "generateMarketConfig::Space operator registry address cannot be zero" + ); + require(_royaltyEngine != address(0), "generateMarketConfig::Royalty engine address cannot be zero"); + require(_payments != address(0), "generateMarketConfig::Payments address cannot be zero"); + require( + _approvedTokenRegistry != address(0), + "generateMarketConfig::Approved token registry address cannot be zero" + ); + require(_stakingSettings != address(0), "generateMarketConfig::Staking settings address cannot be zero"); + require(_stakingRegistry != address(0), "generateMarketConfig::Staking registry address cannot be zero"); + require(_erc20ApprovalManager != address(0), "generateMarketConfig::ERC20 approval manager address cannot be zero"); + require( + _erc721ApprovalManager != address(0), + "generateMarketConfig::ERC721 approval manager address cannot be zero" + ); + + return + MarketConfigV2.Config( + _networkBeneficiary, + IMarketplaceSettings(_marketplaceSettings), + ISpaceOperatorRegistry(_spaceOperatorRegistry), + IRoyaltyEngineV1(_royaltyEngine), + IPayments(_payments), + IApprovedTokenRegistry(_approvedTokenRegistry), + IStakingSettings(_stakingSettings), + IRareStakingRegistry(_stakingRegistry), + IERC20ApprovalManager(_erc20ApprovalManager), + IERC721ApprovalManager(_erc721ApprovalManager) + ); + } + + // Existing V1 update functions + function updateNetworkBeneficiary(Config storage _config, address _networkBeneficiary) public { + _config.networkBeneficiary = _networkBeneficiary; + emit NetworkBeneficiaryUpdated(_networkBeneficiary); + } + + function updateMarketplaceSettings(Config storage _config, address _marketplaceSettings) public { + _config.marketplaceSettings = IMarketplaceSettings(_marketplaceSettings); + emit MarketplaceSettingsUpdated(_marketplaceSettings); + } + + function updateSpaceOperatorRegistry(Config storage _config, address _spaceOperatorRegistry) public { + _config.spaceOperatorRegistry = ISpaceOperatorRegistry(_spaceOperatorRegistry); + emit SpaceOperatorRegistryUpdated(_spaceOperatorRegistry); + } + + function updateRoyaltyEngine(Config storage _config, address _royaltyEngine) public { + _config.royaltyEngine = IRoyaltyEngineV1(_royaltyEngine); + emit RoyaltyEngineUpdated(_royaltyEngine); + } + + function updatePayments(Config storage _config, address _payments) public { + _config.payments = IPayments(_payments); + emit PaymentsUpdated(_payments); + } + + function updateApprovedTokenRegistry(Config storage _config, address _approvedTokenRegistry) public { + _config.approvedTokenRegistry = IApprovedTokenRegistry(_approvedTokenRegistry); + emit ApprovedTokenRegistryUpdated(_approvedTokenRegistry); + } + + function updateStakingSettings(Config storage _config, address _stakingSettings) public { + _config.stakingSettings = IStakingSettings(_stakingSettings); + emit StakingSettingsUpdated(_stakingSettings); + } + + function updateStakingRegistry(Config storage _config, address _stakingRegistry) public { + _config.stakingRegistry = IRareStakingRegistry(_stakingRegistry); + emit StakingRegistryUpdated(_stakingRegistry); + } + + // New V2 update functions + function updateERC20ApprovalManager(Config storage _config, address _erc20ApprovalManager) public { + _config.erc20ApprovalManager = IERC20ApprovalManager(_erc20ApprovalManager); + emit ERC20ApprovalManagerUpdated(_erc20ApprovalManager); + } + + function updateERC721ApprovalManager(Config storage _config, address _erc721ApprovalManager) public { + _config.erc721ApprovalManager = IERC721ApprovalManager(_erc721ApprovalManager); + emit ERC721ApprovalManagerUpdated(_erc721ApprovalManager); + } +} diff --git a/src/v2/utils/MarketUtilsV2.sol b/src/v2/utils/MarketUtilsV2.sol new file mode 100644 index 0000000..d2a245b --- /dev/null +++ b/src/v2/utils/MarketUtilsV2.sol @@ -0,0 +1,350 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {IERC20} from "openzeppelin-contracts/token/ERC20/IERC20.sol"; +import {IERC721} from "openzeppelin-contracts/token/ERC721/IERC721.sol"; +import {SafeERC20} from "openzeppelin-contracts/token/ERC20/utils/SafeERC20.sol"; +import {IPayments} from "rareprotocol/aux/payments/IPayments.sol"; +import {MarketConfigV2} from "./MarketConfigV2.sol"; + +library MarketUtilsV2 { + using SafeERC20 for IERC20; + + /// @notice Maximum number of royalty recipients allowed to prevent DoS attacks + uint256 public constant MAX_ROYALTY_RECIPIENTS = 5; + + /// @notice Checks to see if the currency address is eth or an approved erc20 token. + /// @param _currencyAddress Address of currency (Zero address if eth). + function checkIfCurrencyIsApproved(MarketConfigV2.Config storage _config, address _currencyAddress) internal view { + require( + _currencyAddress == address(0) || _config.approvedTokenRegistry.isApprovedToken(_currencyAddress), + "Not approved currency" + ); + } + + /// @notice Checks to see if the msg sender owns the token. + /// @param _originContract Contract address of the token being checked. + /// @param _tokenId Token Id of the asset. + function senderMustBeTokenOwner(address _originContract, uint256 _tokenId) internal view { + IERC721 erc721 = IERC721(_originContract); + require(erc721.ownerOf(_tokenId) == msg.sender, "sender must be the token owner"); + } + + /// @notice Checks to see if the approval manager has approval to transfer the NFT + /// @param _originContract Contract address of the token being checked. + /// @param _tokenId Token Id of the asset. + function addressMustHaveMarketplaceApprovedForNFT( + MarketConfigV2.Config storage _config, + address _address, + address _originContract, + uint256 _tokenId + ) internal view { + IERC721 nft = IERC721(_originContract); + require(nft.isApprovedForAll(_address, address(_config.erc721ApprovalManager)), "owner must have approved token"); + } + + /// @notice Verifies that the splits supplied are valid. + /// @dev A valid split has the same number of splits and ratios. + /// @dev There can only be a max of 5 parties split with. + /// @dev Total of the ratios should be 100 which is relative. + /// @param _splitAddrs The addresses the amount is being split with. + /// @param _splitRatios The ratios each address in _splits is getting. + function checkSplits(address payable[] calldata _splitAddrs, uint8[] calldata _splitRatios) internal pure { + require(_splitAddrs.length > 0, "checkSplits::Must have at least 1 split"); + require(_splitAddrs.length <= 5, "checkSplits::Split exceeded max size"); + require(_splitAddrs.length == _splitRatios.length, "checkSplits::Splits and ratios must be equal"); + uint256 totalRatio = 0; + + for (uint256 i = 0; i < _splitRatios.length; i++) { + totalRatio += _splitRatios[i]; + } + + require(totalRatio == 100, "checkSplits::Total must be equal to 100"); + } + + /// @notice Checks to see if the approval manager has approval to transfer tokens + /// @dev This is for offers/buys/bids and the allowance of erc20 tokens. + /// @dev Returns on zero address because no allowance is needed for eth. + /// @param _currency The address of the currency being checked. + /// @param _amount The total amount being checked. + function senderMustHaveMarketplaceApproved( + MarketConfigV2.Config storage _config, + address _currency, + uint256 _amount + ) internal view { + if (_currency == address(0)) { + return; + } + + IERC20 erc20 = IERC20(_currency); + require( + erc20.allowance(msg.sender, address(_config.erc20ApprovalManager)) >= _amount, + "sender needs to approve ERC20ApprovalManager for currency" + ); + } + + /// @notice Checks the user has the correct amount and transfers to the marketplace. + /// @dev If the currency used is eth (zero address) the msg value is checked. + /// @dev If eth isnt used and eth is sent we revert the txn. + /// @dev We need to check this contracts balance before and after the transfer to ensure no fee. + /// @param _config The market config + /// @param _currencyAddress Currency address being checked and transfered. + /// @param _amount Total amount of currency. + function checkAmountAndTransfer( + MarketConfigV2.Config storage _config, + address _currencyAddress, + uint256 _amount + ) internal { + if (_currencyAddress == address(0)) { + require(msg.value == _amount, "not enough eth sent"); + return; + } + + require(msg.value == 0, "msg.value should be 0 when not using eth"); + + IERC20 erc20 = IERC20(_currencyAddress); + uint256 balanceBefore = erc20.balanceOf(address(this)); + + _config.erc20ApprovalManager.transferFrom(_currencyAddress, msg.sender, address(this), _amount); + + uint256 balanceAfter = erc20.balanceOf(address(this)); + + require(balanceAfter - balanceBefore == _amount, "not enough tokens transfered"); + } + + /// @notice Refunds an address the designated amount. + /// @dev Return if amount being refunded is zero. + /// @dev Forwards to payment contract if eth is being refunded. + /// @param _currencyAddress Address of currency being refunded. + /// @param _amount Amount being refunded. + /// @param _marketplaceFee Marketplace Fee (percentage) paid by _recipient. + /// @param _recipient Address amount is being refunded to. + function refund( + MarketConfigV2.Config storage _config, + address _currencyAddress, + uint256 _amount, + uint256 _marketplaceFee, + address _recipient + ) internal { + if (_amount == 0) { + return; + } + + uint256 requiredAmount = _amount + ((_amount * _marketplaceFee) / 100); + + if (_currencyAddress == address(0)) { + (bool success, bytes memory data) = address(_config.payments).call{value: requiredAmount}( + abi.encodeWithSignature("refund(address,uint256)", _recipient, requiredAmount) + ); + + require(success, string(data)); + return; + } + + IERC20 erc20 = IERC20(_currencyAddress); + erc20.safeTransfer(_recipient, requiredAmount); + } + + /// @notice Sends a payout to all the necessary parties. + /// @dev Note that _splitAddrs and _splitRatios are not checked for validity. Make sure supplied values are correct by using _checkSplits. + /// @dev Sends payments to the network, royalty if applicable, and splits for the rest. + /// @dev Forwards payments to the payment contract if payout is happening in eth. + /// @dev Total amount of ratios should be 100 and is relative to the total ratio left. + /// @param _originContract Contract address of asset triggering a payout. + /// @param _tokenId Token Id of the asset. + /// @param _currencyAddress Address of currency being paid out. + /// @param _amount Total amount to be paid out. + /// @param _seller Address of the person selling the asset. + /// @param _splitAddrs Addresses that funds need to be split against. + /// @param _splitRatios Ratios for split pertaining to each address. + function payout( + MarketConfigV2.Config storage _config, + address _originContract, + uint256 _tokenId, + address _currencyAddress, + uint256 _amount, + address _seller, + address payable[] memory _splitAddrs, + uint8[] memory _splitRatios + ) internal { + payoutWithMarketplaceFee( + _config, + _originContract, + _tokenId, + _currencyAddress, + _amount, + _seller, + _splitAddrs, + _splitRatios, + _config.marketplaceSettings.getMarketplaceFeePercentage() + ); + } + + /// @notice Sends a payout to all the necessary parties with a specific marketplace fee percentage. + /// @dev Note that _splitAddrs and _splitRatios are not checked for validity. Make sure supplied values are correct by using _checkSplits. + /// @dev Sends payments to the network, royalty if applicable, and splits for the rest. + /// @dev Forwards payments to the payment contract if payout is happening in eth. + /// @dev Total amount of ratios should be 100 and is relative to the total ratio left. + /// @param _originContract Contract address of asset triggering a payout. + /// @param _tokenId Token Id of the asset. + /// @param _currencyAddress Address of currency being paid out. + /// @param _amount Total amount to be paid out. + /// @param _seller Address of the person selling the asset. + /// @param _splitAddrs Addresses that funds need to be split against. + /// @param _splitRatios Ratios for split pertaining to each address. + /// @param _marketplaceFeePercentage The marketplace fee percentage to use for this payout. + function payoutWithMarketplaceFee( + MarketConfigV2.Config storage _config, + address _originContract, + uint256 _tokenId, + address _currencyAddress, + uint256 _amount, + address _seller, + address payable[] memory _splitAddrs, + uint8[] memory _splitRatios, + uint8 _marketplaceFeePercentage + ) internal { + require(_splitAddrs.length == _splitRatios.length, "Number of split addresses and ratios must be equal."); + + /* + The overall flow for payouts is: + 1. Payout marketplace fee + 2. Primary/Secondary Payouts + a. Primary -> If space sale, query space operator registry for platform comission and payout + Else query marketplace setting for primary sale comission and payout + b. Secondary -> Query global royalty registry for recipients and amounts and payout + 3. Calculate the amount for each _splitAddr based on remaining amount and payout + */ + + uint256 remainingAmount = _amount; + + // Marketplace fee - use the provided fee percentage instead of current settings + uint256 marketplaceFee = (_amount * _marketplaceFeePercentage) / 100; + + address payable[] memory mktFeeRecip = new address payable[](2); + mktFeeRecip[0] = payable(_config.networkBeneficiary); + mktFeeRecip[1] = payable(_config.stakingRegistry.getRewardAccumulatorAddressForUser(_seller)); + mktFeeRecip[1] = mktFeeRecip[1] == address(0) ? payable(_config.networkBeneficiary) : mktFeeRecip[1]; + uint256[] memory mktFee = new uint256[](2); + require( + marketplaceFee - _config.stakingSettings.calculateStakingFee(_amount) >= 0, + "Marketplace fee is less than staking fee" + ); + mktFee[0] = marketplaceFee - _config.stakingSettings.calculateStakingFee(_amount); // All marketplace fee goes to network beneficiary + mktFee[1] = _config.stakingSettings.calculateStakingFee(_amount); // Staking fee for this implementation + + performPayouts(_config, _currencyAddress, marketplaceFee, mktFeeRecip, mktFee); + + if (!_config.marketplaceSettings.hasERC721TokenSold(_originContract, _tokenId)) { + uint256[] memory platformFee = new uint256[](1); + address payable[] memory platformRecip = new address payable[](1); + platformRecip[0] = mktFeeRecip[0]; + + if (_config.spaceOperatorRegistry.isApprovedSpaceOperator(_seller)) { + uint256 platformCommission = _config.spaceOperatorRegistry.getPlatformCommission(_seller); + + remainingAmount = remainingAmount - ((_amount * platformCommission) / 100); + + platformFee[0] = (_amount * platformCommission) / 100; + + performPayouts(_config, _currencyAddress, platformFee[0], platformRecip, platformFee); + } else { + uint256 platformCommission = _config.marketplaceSettings.getERC721ContractPrimarySaleFeePercentage( + _originContract + ); + + remainingAmount = remainingAmount - ((_amount * platformCommission) / 100); + + platformFee[0] = (_amount * platformCommission) / 100; + + performPayouts(_config, _currencyAddress, platformFee[0], platformRecip, platformFee); + } + } else { + // Get royalty recipients and amounts for secondary sale + (address payable[] memory recipients, uint256[] memory amounts) = _config.royaltyEngine.getRoyalty( + _originContract, + _tokenId, + _amount + ); + + // Check for maximum royalty recipients to prevent DoS attacks + if (recipients.length > MAX_ROYALTY_RECIPIENTS) { + // Create new arrays with truncated recipients + address payable[] memory truncatedRecipients = new address payable[](MAX_ROYALTY_RECIPIENTS); + uint256[] memory truncatedAmounts = new uint256[](MAX_ROYALTY_RECIPIENTS); + + for (uint256 i = 0; i < MAX_ROYALTY_RECIPIENTS; i++) { + truncatedRecipients[i] = recipients[i]; + truncatedAmounts[i] = amounts[i]; + } + + recipients = truncatedRecipients; + amounts = truncatedAmounts; + } + + // Calculate total royalty amount + uint256 totalRoyaltyAmount = 0; + for (uint256 i = 0; i < amounts.length; i++) { + totalRoyaltyAmount += amounts[i]; + } + + remainingAmount = remainingAmount - totalRoyaltyAmount; + + // Pay out royalties + performPayouts(_config, _currencyAddress, totalRoyaltyAmount, recipients, amounts); + } + + // Calculate and pay out splits + uint256[] memory splitAmounts = new uint256[](_splitRatios.length); + for (uint256 i = 0; i < _splitRatios.length; i++) { + splitAmounts[i] = (remainingAmount * _splitRatios[i]) / 100; + } + + performPayouts(_config, _currencyAddress, remainingAmount, _splitAddrs, splitAmounts); + } + + /// @notice Performs payouts to recipients. + /// @dev If eth is being paid out, forwards to payment contract. + /// @dev If erc20 is being paid out, transfers directly. + /// @param _currencyAddress Address of currency being paid out. + /// @param _totalAmount Total amount being paid out. + /// @param _recipients Recipients of the payouts. + /// @param _amounts Amounts pertaining to each recipient. + function performPayouts( + MarketConfigV2.Config storage _config, + address _currencyAddress, + uint256 _totalAmount, + address payable[] memory _recipients, + uint256[] memory _amounts + ) internal { + if (_currencyAddress == address(0)) { + (bool success, bytes memory data) = address(_config.payments).call{value: _totalAmount}( + abi.encodeWithSignature("payout(address[],uint256[])", _recipients, _amounts) + ); + + require(success, string(data)); + return; + } + + IERC20 erc20 = IERC20(_currencyAddress); + for (uint256 i = 0; i < _recipients.length; i++) { + erc20.safeTransfer(_recipients[i], _amounts[i]); + } + } + + /// @notice Transfers an ERC721 token using the approval manager + /// @param _config The market config + /// @param _originContract The address of the ERC721 contract + /// @param _from The current owner of the token + /// @param _to The recipient of the token + /// @param _tokenId The ID of the token being transferred + function transferERC721( + MarketConfigV2.Config storage _config, + address _originContract, + address _from, + address _to, + uint256 _tokenId + ) internal { + _config.erc721ApprovalManager.transferFrom(_originContract, _from, _to, _tokenId); + } +} diff --git a/superrare-auctionhouse-implementation-plan.md b/superrare-auctionhouse-implementation-plan.md new file mode 100644 index 0000000..cc3158c --- /dev/null +++ b/superrare-auctionhouse-implementation-plan.md @@ -0,0 +1,90 @@ +## 3. Proposed Structure & Changes + +* **Target Contract:** `src/auctionhouse/SuperRareAuctionHouse.sol` + * This contract will be the primary focus, receiving migrated logic and updates. +* **Key Utility:** `src/utils/v2/MarketUtilsV2.sol` + * All fee calculations, payouts, and market interactions must go through this library. +* **Source Contract (for Migration):** `src/bazaar/SuperRareBazaar.sol` (and potentially `SuperRareBazaarBase.sol`) + * Identify and copy relevant functions/logic related to standard auctions. +* **Storage:** `src/bazaar/SuperRareBazaarStorage.sol` vs. **New `SuperRareAuctionHouseStorage.sol`** + * **Recommendation:** Lean towards creating a **dedicated `SuperRareAuctionHouseStorage.sol`** contract. This promotes isolation, clarity, avoids inheriting potentially unused legacy state, and allows the Auction House to evolve independently. While potentially duplicating a few fields initially, the long-term benefits for maintainability and avoiding tight coupling are significant. The final decision can be confirmed during early implementation analysis. + * **Upgradeability Note:** If modifying existing storage or creating a new one that inherits, ensure new state variables are appended at the end to maintain storage layout compatibility for proxies (UUPS, Transparent). +* **Interfaces:** `src/auctionhouse/ISuperRareAuctionHouse.sol` + * Update this interface to reflect the consolidated functionality (standard + Merkle auctions). +* **Tests:** `src/test/auctionhouse/` + +* **To Be Modified/Extended:** + * `src/auctionhouse/SuperRareAuctionHouse.sol`: Add standard auction logic, refactor to `MarketUtilsV2`. + * `src/auctionhouse/ISuperRareAuctionHouse.sol`: Update interface definitions. + * Potentially `src/bazaar/SuperRareBazaarStorage.sol` OR (Recommended) create `SuperRareAuctionHouseStorage.sol`. +* **To Be Referenced/Used:** + * `src/utils/v2/MarketUtilsV2.sol`: Core utility for market operations. + +1. **[ ] Analyze `SuperRareBazaar.sol` / `SuperRareBazaarBase.sol`:** Identify exact functions, events, and storage related to standard auctions (`configureAuction`, `bid`, `cancelAuction`, `settleAuction`, associated events/structs). +2. **[ ] Decide & Define Storage Strategy:** Finalize whether to use/modify `SuperRareBazaarStorage.sol` or create a dedicated `SuperRareAuctionHouseStorage.sol` (preferred). Define the required storage variables, ensuring upgradeability rules are followed if applicable. +3. **[ ] Refactor `SuperRareAuctionHouse.sol` - `MarketUtilsV2` Integration:** + * Replace all instances of fee calculation (e.g., `marketplaceSettings.calculateMarketplaceFee`) with `MarketUtilsV2.calculateFee`. + +4. **[ ] Update `ISuperRareAuctionHouse.sol`:** Add function signatures for standard auctions (`configureAuction`, `bid`, `cancelAuction`, `settleAuction`) and any associated events/structs. Ensure consistency (see Task 9). +5. **[ ] Clarify Auction Exclusivity & Implement Guards:** Determine if standard and Merkle auctions can coexist for the same token ID. **Recommendation:** Enforce mutual exclusivity (only one active auction per token). Implement necessary checks (e.g., in `configureAuction` and `bidWithAuctionMerkleProof`) to prevent conflicts. + +**Phase 2: Standard Auction Logic Migration** + +6. **[ ] Copy & Adapt `configureAuction`:** + * Migrate `configureAuction` logic from Bazaar to `SuperRareAuctionHouse.sol`. + * Ensure it uses `MarketUtilsV2` for any relevant checks/interactions. + * Adapt storage interactions based on the decided storage strategy. + * Verify compatibility with existing Merkle logic (no conflicts in state/functionality, respects exclusivity rule from Task 5). +7. **[ ] Copy & Adapt `bid`:** + * Migrate `bid` logic from Bazaar to `SuperRareAuctionHouse.sol`. + * Ensure full `MarketUtilsV2` integration (fee calculation, payment handling, refunds). + * Adapt storage. + * Ensure correct event emission (consistent naming - see Task 9). + * Respect exclusivity rule from Task 5. +8. **[ ] Copy & Adapt `cancelAuction`:** + * Migrate `cancelAuction` logic from Bazaar to `SuperRareAuctionHouse.sol`. + * **Refine Permissions:** Default to requiring `msg.sender == auctionCreator`. Explicitly discuss and decide if `tokenOwner` or specific curator roles should also have cancellation rights (see Open Question). + * Adapt storage. + * Ensure correct event emission (consistent naming - see Task 9). +9. **[ ] Copy & Adapt `settleAuction`:** + * Migrate `settleAuction` logic from Bazaar to `SuperRareAuctionHouse.sol`. + * Ensure payout uses `MarketUtilsV2._handlePayout`. + * Adapt storage and NFT transfer logic. + * Ensure correct event emission (consistent naming - see Task 9). +10. **[ ] Harmonize Auction Structs & Events:** Review and standardize structs (e.g., `Auction`, `Bid`) and events (`NewAuction` vs `AuctionMerkleBid`, `AuctionBid`, `CancelAuction`, `AuctionSettled`, etc.) across standard and Merkle flows. Aim for consistent naming and parameter patterns (e.g., use a common `AuctionConfigured` event with a flag/parameter). + +**Phase 3: Testing** + +11. **[ ] Write Tests for `configureAuction`:** Create tests in a new file (e.g., `SuperRareAuctionHouseStandard.t.sol`) covering various scenarios (coldie, scheduled, valid/invalid inputs, permissions, exclusivity checks). +12. **[ ] Write Tests for `bid`:** Add tests covering bidding logic (first bid, subsequent bids, minimum increase, currency validation, end-of-auction extension, `MarketUtilsV2` integration, exclusivity checks). +13. **[ ] Write Tests for `cancelAuction`:** Add tests covering cancellation logic (permissions based on refined rules, timing constraints, state changes). +14. **[ ] Write Tests for `settleAuction`:** Add tests covering settlement logic (auction ended, winner payout via `MarketUtilsV2`, token transfer, no-bidder scenario). +15. **[ ] Review Existing Merkle Tests:** Ensure `SuperRareAuctionHouseMerkle.t.sol` still passes after refactoring and adding standard auction logic. +16. **[ ] Add Interaction & Exclusivity Tests:** Explicitly test interactions between standard and Merkle flows, ensuring exclusivity rules are enforced (e.g., cannot `configureAuction` if Merkle auction started via `bidWithAuctionMerkleProof`, cannot `bid` on Merkle auction, etc.). +17. **[ ] Add `tokenAuctionNonce` Tests:** Write specific tests to ensure the `tokenAuctionNonce` logic (critical for Merkle replay protection) is correctly handled, updated, and cannot be improperly influenced by standard auction flows. +18. **[ ] Perform Gas Benchmarking:** Run gas benchmarks (e.g., using `forge snapshot` or similar tooling on a local fork) for key functions (`configureAuction`, `bid`, `settleAuction`, `bidWithAuctionMerkleProof`, `registerAuctionMerkleRoot`) under realistic scenarios. Record results. + +**Phase 4: Cleanup & Review** + +19. **[ ] Code Review:** Perform a thorough review focusing on `MarketUtilsV2` integration, security (reentrancy, access control, input validation, fallback guard), correctness, gas efficiency, event consistency, storage layout, and adherence to the plan. +20. **[ ] Add Fallback ETH Guard:** Implement a `receive() external payable { revert("Direct ETH transfers not allowed"); }` (and potentially `fallback()`) to prevent accidental ETH locking. +21. **[ ] Document State Transitions:** Create a simple diagram or document explaining the possible states of an auction (e.g., `NotCreated`, `ConfiguredScheduled`, `Active`, `Ended`, `Settled`) and the functions that trigger transitions. +22. **[ ] Remove Redundant Bazaar Logic:** Once confident in the `SuperRareAuctionHouse` implementation, identify and mark for removal (or comment out initially) the now-redundant auction logic within `SuperRareBazaar.sol`. +23. **[ ] Documentation:** Update any relevant documentation (READMEs, NatSpec comments) to reflect the consolidated auction house, storage strategy, event structure, and state transitions. + +* **Storage Strategy:** As discussed, creating a dedicated `SuperRareAuctionHouseStorage.sol` is preferred for isolation and long-term maintainability, despite potential initial duplication. The impact on upgradeability needs careful management. +* **Curator Cancellation:** The current logic allows `tokenOwner` cancellation. **Recommendation:** Change default to `creator == msg.sender`. Should specific curator roles/permissions be added for cancellation, especially considering complex ownership (vaults, etc.)? Needs explicit decision. +* **Auction Exclusivity:** Can a token have both a standard configured auction *and* be part of an active Merkle root simultaneously? **Recommendation:** Enforce mutual exclusivity (one auction active per token ID). Needs implementation. +* **Fallback Function:** Does the `SuperRareAuctionHouse` require specific `receive()` or `fallback()` logic? **Recommendation:** Yes, add a `revert()`-guarded function to prevent accidental ETH locking (Task 20). +* **Event Naming/Consistency:** Event names/structures differ between standard (`NewAuction`, `AuctionBid`) and Merkle (`NewAuctionMerkleRoot`, `AuctionMerkleBid`). **Recommendation:** Harmonize these for consistency (Task 10). +* **Access Control:** Beyond `OwnableUpgradeable` and creator/owner checks, are other roles (e.g., admin, pauser) required? +* **Upgradeability:** If the contract is intended to be upgradeable, storage layout rules *must* be strictly followed (Task 2 & general awareness). + +* **Security Hardening:** + * Ensure robust reentrancy guards (`nonReentrant`) on all functions involving external calls or state changes after interactions (bids, settlements). + * Double-check access control modifiers on all functions (including refined cancellation logic). + * Validate all external inputs thoroughly (amounts, addresses, timestamps, splits). + * Verify correct NFT ownership and approval checks throughout the auction lifecycle. + * Ensure Merkle proof verification and replay protection (`tokenAuctionNonce`) are correctly implemented and explicitly tested (Task 17). + * Include fallback ETH guard (Task 20). + * Consider storage slot collision possibilities if modifying existing storage. \ No newline at end of file diff --git a/tasks/merkle-auctions-and-listings/SuperRareAuctionHouse_Plan.md b/tasks/merkle-auctions-and-listings/SuperRareAuctionHouse_Plan.md new file mode 100644 index 0000000..1537671 --- /dev/null +++ b/tasks/merkle-auctions-and-listings/SuperRareAuctionHouse_Plan.md @@ -0,0 +1,44 @@ +# 🧠 Implementation Strategy Request for SuperRare Auction House + +## 📦 Overview + +We're creating a new `SuperRareAuctionHouse` contract to **replace the auction functionality** currently implemented in the **SuperRare Bazaar**. + +The new auction house will: + +- Integrate **Merkle root-based auctions** (already implemented and tested). +- Support new auction features (e.g. upgraded logic from the Bazaar, minus deprecated functionality). +- Migrate and clean up code from the old auction system. +- Switch to using **MarketUtilsV2**. +- Be implemented **test-first**, with **explicit outlines of logic and responsibilities**. +- Avoid testing old auction logic again. +- Remove features like `convertOfferToAuction()` (legacy paths). +- Become the new canonical auction house contract for SuperRare. + +## ✅ My Goals for You + +1. **Read the codebase deeply** – understand which modules need to be copied over, what should be refactored or removed. +2. **Identify and outline all the changes** required to spin up the new `SuperRareAuctionHouse`. +3. **Propose a full implementation plan**: + - Suggested folder/module structure. + - New contracts, interfaces, and libraries required. + - Contracts that should be removed/ignored. + - Enum/function/struct name changes if needed. +4. **Write a checklist of tasks** with explicit action items (like “copy `createAuction` but refactor to use `MarketUtilsV2.calculateFee`”, etc.) +5. **Ensure everything is test-driven**: + - For all *new* logic, define how it will be tested. + - For *existing* logic (Merkle auction), note that it is already covered. + - Skip test migration for old Bazaar auction logic. +6. **Raise any open questions** (e.g. “should this still support auction cancellation via curator?”, “do you want fallback functions?”, etc.) +7. Make sure we **don’t implement anything yet**—this is a pure planning and analysis pass. + +## 🧰 Key Constraints + +- We will **not** re-test or refactor the old auction logic. +- We will **not** use `convertOfferToAuction` at all. +- We **will** adopt `MarketUtilsV2` throughout the new contract. +- The new auction house will **live alongside** the existing Bazaar contract, but serve as its **eventual replacement**. + +## ✨ Bonus + +You should surface and annotate **gas optimization**, **modularity**, and **security hardening** opportunities during the planning phase—especially with regards to how MarketUtils is wired, calldata layout for Merkle proofs, etc. diff --git a/tasks/merkle-auctions-and-listings/superrare-auctionhouse-implementation-plan.md b/tasks/merkle-auctions-and-listings/superrare-auctionhouse-implementation-plan.md new file mode 100644 index 0000000..b64dc38 --- /dev/null +++ b/tasks/merkle-auctions-and-listings/superrare-auctionhouse-implementation-plan.md @@ -0,0 +1,167 @@ +# SuperRare Auction House V2 Implementation Plan + +## Implementation Rules: +You are not allowed to make assumptions if any information or context is missing. +You must ask clarifying questions before proceeding with the task. +If there are any files, schemas, types, or data relevant to the task, you must re-read and refer to them carefully rather than relying on memory or guesswork. +Prioritize correctness and context awareness over speed. Always double-check that you have complete and accurate information. + +## Implementation Status +**Current Status:** Phase 3 completed. Ready to begin Phase 4 (Cleanup & Review). + +**Completed:** +- Initial V2 directory structure and contract skeletons +- Interface definition +- Storage variable definition +- Implementation analysis +- ETH fallback guard implementation +- Test file structure +- Merkle auction logic implementation with MarketUtilsV2 integration +- Standard auction functionality migration +- Exclusivity guards between standard and Merkle auctions +- Comprehensive test suite for both standard and Merkle auction functionality +- Gas benchmarking + +**Next Steps:** +- Perform final code review +- Document state transitions + +## 1. Overview + +This document outlines the plan to create a **new** `SuperRareAuctionHouseV2` contract, intended to become the canonical auction house for SuperRare. This new contract will consolidate standard auction functionality (migrated from the SuperRare Bazaar) with the existing Merkle auction features (copied from the current `SuperRareAuctionHouse`), ensuring full adoption of `MarketUtilsV2`. + +**Note:** This plan involves creating a **new contract** (`SuperRareAuctionHouseV2.sol`) within a `v2` directory structure, rather than modifying the existing `src/auctionhouse/SuperRareAuctionHouse.sol`. The existing contract will eventually be superseded. + +## 2. Core Objectives + +* **Create New V2 Contract:** Implement `src/v2/auctionhouse/SuperRareAuctionHouseV2.sol`. +* **Consolidate Standard Auctions:** Migrate relevant standard auction functionalities (create, bid, cancel, settle) from `src/bazaar/SuperRareBazaar.sol` (or its base contracts) into the new V2 contract. +* **Integrate Merkle Auctions:** Copy and integrate the existing Merkle auction logic (`registerAuctionMerkleRoot`, `bidWithAuctionMerkleProof`, etc.) from `src/auctionhouse/SuperRareAuctionHouse.sol` into the new V2 contract. +* **Adopt MarketUtilsV2:** Ensure all market interactions (fee calculation, payouts, approvals) within the new V2 contract use `src/utils/v2/MarketUtilsV2.sol`. +* **Self-Contained Storage:** Define and manage all necessary state variables directly within `SuperRareAuctionHouseV2.sol`. +* **Remove Deprecated Logic:** Do not migrate `convertOfferToAuction` logic. +* **Test-Driven Development:** Write comprehensive tests for all logic within the new V2 contract, potentially adapting existing Merkle tests. + +## 3. Proposed Structure & Changes + +* **Target Contract:** `src/v2/auctionhouse/SuperRareAuctionHouseV2.sol` (New file) + * This contract will contain consolidated standard and Merkle auction logic, use `MarketUtilsV2`, and manage its own storage. +* **Key Utility:** `src/utils/v2/MarketUtilsV2.sol` + * All fee calculations, payouts, and market interactions must go through this library. +* **Source Contract (Standard Auctions):** `src/bazaar/SuperRareBazaar.sol` (and potentially `SuperRareBazaarBase.sol`) + * Identify and copy relevant functions/logic related to standard auctions. +* **Source Contract (Merkle Auctions):** `src/auctionhouse/SuperRareAuctionHouse.sol` + * Identify and copy relevant functions, events, and storage definitions related to Merkle auctions. +* **Storage:** Defined directly within `SuperRareAuctionHouseV2.sol`. + * The V2 contract will manage its own state variables internally. + * **Upgradeability Note:** As this contract might be upgradeable, new state variables must be appended at the end of the variable declarations to maintain storage layout compatibility for proxies (UUPS, Transparent). +* **Interfaces:** `src/v2/auctionhouse/ISuperRareAuctionHouseV2.sol` (New file) + * Define the interface for the new V2 contract, including both standard and Merkle auction functions. +* **Tests:** `src/test/v2/auctionhouse/` (New directory) + * Create new test files (e.g., `SuperRareAuctionHouseV2Standard.t.sol`, `SuperRareAuctionHouseV2Merkle.t.sol`) for the V2 contract. + +## 4. Contracts/Modules Analysis + +* **To Be Created:** + * `src/v2/auctionhouse/SuperRareAuctionHouseV2.sol`: The main V2 contract. + * `src/v2/auctionhouse/ISuperRareAuctionHouseV2.sol`: The V2 interface. + * New test files under `src/test/v2/auctionhouse/` (e.g., `SuperRareAuctionHouseV2Standard.t.sol`, `SuperRareAuctionHouseV2Merkle.t.sol`). +* **To Be Referenced/Used:** + * `src/utils/v2/MarketUtilsV2.sol`: Core utility for market operations. + * `src/bazaar/SuperRareBazaar.sol` / `SuperRareBazaarBase.sol`: Source for migrating standard auction logic. + * `src/auctionhouse/SuperRareAuctionHouse.sol`: Source for copying Merkle auction logic. + * `src/test/auctionhouse/SuperRareAuctionHouseMerkle.t.sol`: Source for adapting Merkle auction tests. +* **To Be Ignored/Removed (Functionality):** + * `convertOfferToAuction` logic from Bazaar/original AuctionHouse. + * Auction logic remaining *only* in `SuperRareBazaar.sol` after migration. +* **To Be Deprecated/Superseded:** + * `src/auctionhouse/SuperRareAuctionHouse.sol` and `src/auctionhouse/ISuperRareAuctionHouse.sol`. + +## 5. Implementation Task Checklist + +**Phase 1: Setup & Initial V2 Contract Structure** + +1. **[x] Create V2 Directory Structure:** Create `src/v2/auctionhouse/` and `src/test/v2/auctionhouse/`. +2. **[x] Create Initial `SuperRareAuctionHouseV2.sol`:** Set up the basic contract structure (imports, OwnableUpgradeable, ReentrancyGuardUpgradeable, inherits V2 interface). +3. **[x] Create `ISuperRareAuctionHouseV2.sol`:** Define initial interface structure. +4. **[x] Analyze `SuperRareBazaar.sol` / `SuperRareBazaarBase.sol`:** Identify standard auction functions, events, and storage needs for migration. +5. **[x] Analyze `SuperRareAuctionHouse.sol`:** Identify Merkle auction functions, events, and storage needs for copying. +6. **[x] Define Internal Storage for `SuperRareAuctionHouseV2.sol`:** Based on analysis (Tasks 4 & 5), define the required internal storage variables (mappings, structs) within `SuperRareAuctionHouseV2.sol`, respecting upgradeability rules. +7. **[x] Create Implementation Analysis Document:** Document findings and create a detailed analysis of required components, storage, and functionality for reference during implementation phases. +8. **[x] Create Test File Skeletons:** Create basic structure for test files (`SuperRareAuctionHouseV2Standard.t.sol` and `SuperRareAuctionHouseV2Merkle.t.sol`). + +**Phase 1 Summary:** All Phase 1 tasks have been completed. The initial structure for the V2 contract has been set up including directory structure, interface definition, and implementation skeleton. Storage variables have been defined based on the analysis of existing contracts. The ETH fallback guard has also been implemented. Test file skeletons are in place, and a comprehensive implementation analysis document has been created to guide the implementation in subsequent phases. + +**Phase 2: Logic Implementation (Standard & Merkle)** + +9. **[x] Copy & Adapt Merkle Auction Logic:** + * Copy relevant functions (`registerAuctionMerkleRoot`, `bidWithAuctionMerkleProof`, `cancelAuctionMerkleRoot`, getters, etc.), events, and structs from `src/auctionhouse/SuperRareAuctionHouse.sol` to `SuperRareAuctionHouseV2.sol`. + * Adapt storage interactions to use the internally defined V2 variables (Task 6). + * **Refactor copied Merkle logic to use `MarketUtilsV2`** for fees, payments, approvals, etc. +10. **[x] Copy & Adapt Standard Auction Logic (`configureAuction`):** + * Migrate `configureAuction` logic from Bazaar to `SuperRareAuctionHouseV2.sol`. + * Ensure it uses `MarketUtilsV2`. + * Adapt storage interactions to use internal V2 variables. + * Implement exclusivity guards (Task 7). +11. **[x] Copy & Adapt Standard Auction Logic (`bid`):** + * Migrate `bid` logic from Bazaar to `SuperRareAuctionHouseV2.sol`. + * Ensure full `MarketUtilsV2` integration. + * Adapt storage interactions. + * Implement exclusivity guards. +12. **[x] Copy & Adapt Standard Auction Logic (`cancelAuction`):** + * Migrate `cancelAuction` logic from Bazaar to `SuperRareAuctionHouseV2.sol`. + * **Refine Permissions:** Default to `msg.sender == auctionCreator`. Decide on `tokenOwner`/curator roles. + * Adapt storage interactions. +13. **[x] Copy & Adapt Standard Auction Logic (`settleAuction`):** + * Migrate `settleAuction` logic from Bazaar to `SuperRareAuctionHouseV2.sol`. + * Ensure payout uses `MarketUtilsV2._handlePayout`. + * Adapt storage interactions and NFT transfer logic. +14. **[x] Harmonize Structs & Events in V2:** Review and standardize structs (`Auction`, `Bid`, etc.) and events across standard and Merkle flows within `SuperRareAuctionHouseV2.sol` and `ISuperRareAuctionHouseV2.sol`. Aim for consistent naming and parameters. +15. **[x] Update `ISuperRareAuctionHouseV2.sol`:** Finalize the V2 interface with all public/external function signatures and event definitions. + +**Phase 2 Summary:** All Phase 2 tasks have been completed. The Merkle auction logic has been successfully copied from the existing SuperRareAuctionHouse contract and adapted to use MarketUtilsV2. The standard auction functionality has been migrated from the Bazaar contract and also refactored to use MarketUtilsV2. Exclusivity guards have been implemented to ensure a token can't participate in both standard and Merkle auctions simultaneously. All functions are now fully implemented, including the getter methods. + +**Phase 3: Testing** + +16. **[x] Write/Adapt Tests for Merkle Logic (`SuperRareAuctionHouseV2Merkle.t.sol`):** + * Copy tests from `src/test/auctionhouse/SuperRareAuctionHouseMerkle.t.sol` with minimal changes. + * Focus on reusing as much of the existing test code as possible, only modifying what's necessary for: + * Contract references (from SuperRareAuctionHouse to SuperRareAuctionHouseV2) + * Setup functions to use the new initialization parameters + * MarketUtilsV2 integration + * Updated storage patterns (especially the tokenAuctionNonce mapping) + * Keep all existing test cases and scenarios intact to maintain coverage. + * Ensure the `tokenAuctionNonce` logic with the new bytes32 mapping is thoroughly tested. +17. **[x] Write Tests for Standard `configureAuction` (`SuperRareAuctionHouseV2Standard.t.sol`):** Cover scenarios, permissions, exclusivity checks for the V2 implementation. +18. **[x] Write Tests for Standard `bid` (`SuperRareAuctionHouseV2Standard.t.sol`):** Cover bidding logic, `MarketUtilsV2` integration, exclusivity checks for V2. +19. **[x] Write Tests for Standard `cancelAuction` (`SuperRareAuctionHouseV2Standard.t.sol`):** Cover refined permissions, timing, state changes for V2. +20. **[x] Write Tests for Standard `settleAuction` (`SuperRareAuctionHouseV2Standard.t.sol`):** Cover settlement logic, `MarketUtilsV2` payouts, token transfer for V2. +21. **[x] Add Interaction & Exclusivity Tests (`SuperRareAuctionHouseV2*.t.sol`):** Explicitly test interactions and exclusivity rules between standard and Merkle flows in the V2 contract. +22. **[x] Perform Gas Benchmarking:** Run gas benchmarks for key V2 functions. + +**Phase 4: Cleanup & Review** + +23. **[ ] Code Review:** Perform a thorough review of `SuperRareAuctionHouseV2.sol`, `ISuperRareAuctionHouseV2.sol`, and tests. Focus on correctness, `MarketUtilsV2` integration, security, gas efficiency, event consistency, storage layout, and adherence to the plan. +24. **[x] Add Fallback ETH Guard:** Implement `receive()`/`fallback()` guard in `SuperRareAuctionHouseV2.sol`. +25. **[ ] Document State Transitions:** Document the V2 auction states (`Configured`, `Running`, `Unsettled`, Cleared). + +## 6. Testing Strategy + +* **V2 Contract Logic:** Implement comprehensive unit and integration tests using Foundry for *all* functions (standard and Merkle) within `SuperRareAuctionHouseV2.sol`. Adapt existing Merkle tests where possible. +* **Focus Areas:** Edge cases, permissions, `MarketUtilsV2` integration, exclusivity rules, event emission, state transitions, Merkle replay protection (`tokenAuctionNonce`). +* **Excluded Logic:** Do *not* test deprecated Bazaar functions or the original `src/auctionhouse/SuperRareAuctionHouse.sol`. + +## 7. Open Questions + +* **Curator Cancellation:** Define final permissions for `cancelAuction` in V2 (creator only, owner, specific roles?). +* **Auction Exclusivity:** Confirm mutual exclusivity approach for V2 implementation. +* **Access Control:** Are roles beyond `Ownable` needed for V2 (admin, pauser)? +* **Upgradeability:** Confirm V2 contract is intended to be upgradeable and ensure storage rules are strictly followed. +* **Naming:** Finalize naming for V2 contract (`SuperRareAuctionHouseV2.sol`?) and interface. + +## 8. Potential Optimizations & Considerations + +* **Gas Optimization:** Review V2 storage, calldata, `MarketUtilsV2` usage. +* **Modularity:** Consider internal libraries for shared logic within V2. +* **Security Hardening:** Apply all previous points (reentrancy, access control, input validation, ownership checks, Merkle proof/nonce, fallback guard) to the new V2 contract. Strictly follow storage layout rules for upgradeability. +